Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
0e0c75e
🏛️ Scope native capability advertisement to proved builds
taras Sep 6, 2026
f6d195e
🔒 Admit a native capability per proved build, not per adapter name
taras Sep 6, 2026
7c0abd1
🔒 Prove a launch's own teardown before releasing its session
taras Sep 6, 2026
a69f8c3
🏛️ Admit native capabilities by observed protocol shape
taras Sep 6, 2026
1ee5393
🏛️ Admit a native capability by protocol and profile, not by release
taras Sep 6, 2026
c17f8d2
🔒 Admit a Claude operation by the value its option takes
taras Sep 6, 2026
056eeed
🔒 Recognize what a Claude help entry states, not what it mentions
taras Sep 6, 2026
a1e9dda
🏗️ Continue client-native sessions across compatible releases
taras Sep 6, 2026
d5e03d4
🔓 Continue a client-native session across compatible releases
taras Sep 6, 2026
937c514
🔒 Pin a V2 route's native protocol to its route contract (#717)
taras Sep 6, 2026
a88bcd7
🔒 Settle a client-native route's protocol before the race (#717)
taras Sep 6, 2026
8f48884
🏗️ Compose Codex native launch with terminal grids
taras Sep 6, 2026
f99ab62
🐛 Align the extracted terminal package's @effectionx/node pin (#717)
taras Sep 7, 2026
8b641ca
🐛 Bind the terminal stack's event listeners to their owners (#717)
taras Sep 7, 2026
4309bf5
feat: certify Codex native sessions on the terminal stack (#755)
taras Sep 7, 2026
4fd821e
🐛 Confirm Codex native identity at live ACP reconnect (#755)
taras Sep 7, 2026
e14a8c7
🐛 Confirm Codex identity before returning an eager Session (#755)
taras Sep 7, 2026
c63d44c
🐛 Keep mixed-grid evidence portable to the Node target (#755)
taras Sep 7, 2026
68148b8
🐛 Stage terminal in the JSR consumer dependency closure (#755)
taras Sep 7, 2026
5b2121d
🐛 Keep terminal workers and package tests portable (#755)
taras Sep 7, 2026
ba9047f
Fix Node terminal grid journey worker startup (#755)
taras Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions architecture.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion deno.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
"@executablemd/code-review-agent": "workspace:*",
"@executablemd/core": "workspace:*",
"@executablemd/durable-streams": "workspace:*",
"@executablemd/grid": "workspace:*",
"@executablemd/grid-tmux": "workspace:*",
"@executablemd/runtime": "workspace:*",
"@executablemd/test-agent": "workspace:*",
"@executablemd/test-support": "workspace:*",
Expand Down
11 changes: 5 additions & 6 deletions packages/acp/THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@ license.
## acpx

The ACP runtime under `vendor/acpx/generated` is npm `acpx@0.12.0`, carried in
source with one local patch. `vendor/acpx/PROVENANCE.md` states the patch, the
source with local patches. `vendor/acpx/PROVENANCE.md` states each patch, the
upstream release commit it is taken from, and why it exists. dnt inlines this
closure into the npm artifact, so the notice belongs with it.

The snapshot is carried by issue #561 and removed by issue #566,
<https://github.com/taras/executable.md/issues/566>, once a released upstream
package set provides the same scoped, non-retaining transient agent-environment
input the patch supplies and passes that issue's stated removal gate. Until then
the patch is maintained here rather than upstreamed piecemeal.
The patches supply a transient agent environment (#561), completing-turn
metadata (#622), backend-accepted materialization (#648), and canonical native
identity confirmation at reconnect (#755). Their independent upstream removal
gates are recorded in the provenance; removing one does not remove the others.

- Project: <https://github.com/openclaw/acpx>
- Copyright (c) 2025 OpenClaw Team
Expand Down
30 changes: 27 additions & 3 deletions packages/acp/mod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,23 +34,46 @@ export { DEFAULT_AGENT_NAME } from "./src/acpx-runtime.ts";

/**
* Native session launch: the adapters whose resume command shape this package
* knows, and the two separate sets it is willing to use them for — handing a
* session to a native UI, and attaching ACP to one a native process made.
* knows, and the separate capabilities each host may admit.
*/
export {
ADVERTISED_CLIENT_NATIVE_ATTACHMENT,
ADVERTISED_NATIVE_LAUNCH,
ADVERTISED_PROVIDER_NATIVE_CONTINUATION,
knownNativeAdapters,
nativeAdapterFor,
nativeCapabilityPolicy,
} from "./src/native-launch.ts";
export { allocatesIdentity } from "./src/native-launch.ts";
export { allocatesIdentity, bindsBuild } from "./src/native-launch.ts";
export type {
ClientAllocatedAdapter,
BoundProviderReturnedAdapter,
BuildBoundAdapter,
MaterializationContract,
NativeAdapter,
NativeBinding,
NativeCapabilityProbe,
ProbedNativeCapabilities,
ProviderReturnedAdapter,
} from "./src/native-launch.ts";

/**
* Which protocol shapes and machines a native capability is admitted on.
*
* Public because the host is what states them: it supplies its own OS and
* architecture beside the coordinator and the observer, and shared provider
* code must not detect either for itself.
*/
export { admitsNativeCapability } from "./src/native-capability.ts";
export type {
NativeCapability,
NativeCapabilityAdmission,
NativeCapabilityHost,
NativeCapabilityPolicy,
ObservedNativeCapability,
ProvedNativeCapability,
} from "./src/native-capability.ts";

/**
* ACPX's own runtime types.
*
Expand Down Expand Up @@ -109,4 +132,5 @@ export type {
AgentSessionRouteStore,
AgentSessionRouteV1,
AgentSessionRouteV2,
AgentSessionRouteV3,
} from "./src/session-route.ts";
Loading
Loading