@automatalabs/acp-agents 0.38.1 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -9
- package/dist/acp-client.d.ts +18 -29
- package/dist/acp-client.d.ts.map +1 -1
- package/dist/acp-client.js +40 -58
- package/dist/backend.d.ts +5 -11
- package/dist/backend.d.ts.map +1 -1
- package/dist/backends/codex.d.ts +0 -4
- package/dist/backends/codex.d.ts.map +1 -1
- package/dist/backends/codex.js +1 -6
- package/dist/backends/custom.d.ts +0 -1
- package/dist/backends/custom.d.ts.map +1 -1
- package/dist/backends/custom.js +0 -3
- package/dist/backends/opencode.js +1 -1
- package/dist/capabilities.d.ts +2 -29
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +4 -88
- package/dist/events.d.ts +4 -3
- package/dist/events.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/interactive.d.ts +13 -8
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +19 -11
- package/dist/protocol-coverage.d.ts +4 -4
- package/dist/protocol-coverage.d.ts.map +1 -1
- package/dist/protocol-coverage.js +1 -1
- package/dist/registry.d.ts +0 -6
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +0 -19
- package/dist/runner.d.ts +6 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +9 -1
- package/package.json +3 -3
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { type AgentCapabilities, type AuthMethod, type ClientCapabilities, type ContentBlock, type Implementation, type InitializeResponse } from "@agentclientprotocol/sdk";
|
|
2
|
-
import {
|
|
3
|
-
import type { Backend } from "./backend.js";
|
|
4
|
-
/** The bare `_meta` keys whose emission is gated by Codex's custom-capability advertisement.
|
|
5
|
-
* Each is named EXACTLY like the advertised flag that gates it, so `support[key] === true` is the
|
|
6
|
-
* whole test. session/new carries baseInstructions/developerInstructions and session/prompt carries
|
|
7
|
-
* outputSchema — one list covers both (a key absent from a given `_meta` is simply skipped). */
|
|
8
|
-
export declare const GATED_CUSTOM_META_KEYS: readonly string[];
|
|
2
|
+
import type { McpServerConfig } from "@automatalabs/shared-types";
|
|
9
3
|
/** The capability state a pooled connection derives from its initialize response. */
|
|
10
4
|
export interface NegotiatedCapabilities {
|
|
11
5
|
/** The protocol version the agent selected (echoes the client's when supported, else the agent's
|
|
@@ -20,16 +14,6 @@ export interface NegotiatedCapabilities {
|
|
|
20
14
|
authMethods: AuthMethod[];
|
|
21
15
|
/** Initialize-response `_meta`, when the agent sent it. */
|
|
22
16
|
initializeMeta: InitializeResponse["_meta"] | undefined;
|
|
23
|
-
/** Whether the agent advertises the `_session/steering` vendor extension through the
|
|
24
|
-
* top-level initialize-response `_meta.steering.supported === true` contract. This is
|
|
25
|
-
* intentionally independent of agentCapabilities._meta, which gates outgoing custom metadata. */
|
|
26
|
-
supportsSteering: boolean;
|
|
27
|
-
/** Whether the agent advertises the `_session/loaded_turn` vendor extension through the
|
|
28
|
-
* top-level initialize-response `_meta.loadedTurn.supported === true` contract: the
|
|
29
|
-
* loaded-session founding-turn TERMINAL STATE channel (the re-attach arm's authoritative
|
|
30
|
-
* completion evidence — see `InteractiveSession.awaitCurrentTurn`). Same strict parse and
|
|
31
|
-
* same independence from agentCapabilities._meta as steering. */
|
|
32
|
-
supportsLoadedTurnTerminalState: boolean;
|
|
33
17
|
/** Whether session/close is advertised (gates the best-effort release-time close). */
|
|
34
18
|
supportsClose: boolean;
|
|
35
19
|
/** Whether session/load is advertised. The current SDK keeps this as the legacy top-level
|
|
@@ -47,15 +31,9 @@ export interface NegotiatedCapabilities {
|
|
|
47
31
|
supportsLogout: boolean;
|
|
48
32
|
/** Whether the unstable provider-configuration block is advertised. */
|
|
49
33
|
supportsProviders: boolean;
|
|
50
|
-
/** The parsed backend-declared custom-capability block (the namespaced `_meta` object), or
|
|
51
|
-
* undefined when the backend declared none or the agent did not advertise it — passthrough. */
|
|
52
|
-
customMetaSupport: Record<string, unknown> | undefined;
|
|
53
|
-
/** The backend-declared bare `_meta` keys gated by customMetaSupport; undefined when this backend
|
|
54
|
-
* has no custom-capability contract, so custom `_meta` is never gated. */
|
|
55
|
-
gatedKeys: readonly string[] | undefined;
|
|
56
34
|
}
|
|
57
35
|
/** Parse an initialize response into the connection's derived capability state. */
|
|
58
|
-
export declare function negotiateCapabilities(response: InitializeResponse
|
|
36
|
+
export declare function negotiateCapabilities(response: InitializeResponse): NegotiatedCapabilities;
|
|
59
37
|
/** Human-readable lifecycle advertisement summary for strict wrapper gate errors. */
|
|
60
38
|
export declare function describeLifecycleAdvertisement(agent: AgentCapabilities): string;
|
|
61
39
|
/** Human-readable auth/provider advertisement summary for strict wrapper gate errors. */
|
|
@@ -72,11 +50,6 @@ export declare function describeClientAuthAdvertisement(auth: ClientCapabilities
|
|
|
72
50
|
* the requested version when it supports it, else its own latest; we do NOT accept older versions
|
|
73
51
|
* (we cannot speak them) — the equality is the whole test. */
|
|
74
52
|
export declare function isSupportedProtocolVersion(version: number): boolean;
|
|
75
|
-
/** Remove the declared custom bare `_meta` keys the connected agent did NOT advertise support for.
|
|
76
|
-
* A no-op when the agent advertised no namespace (`support` undefined => legacy => every key
|
|
77
|
-
* passes) or the meta is empty/undefined. Never mutates its input; collapses to undefined if
|
|
78
|
-
* gating empties the object (so no `_meta` is sent at all). */
|
|
79
|
-
export declare function gateCustomMeta(meta: Record<string, unknown> | undefined, support: Record<string, unknown> | undefined, gatedKeys?: readonly string[]): Record<string, unknown> | undefined;
|
|
80
53
|
/** Adapt prompt content to the agent's PromptCapabilities. ACP baseline content (text and
|
|
81
54
|
* resource_link) is never gated; optional blocks follow the spec's capability table:
|
|
82
55
|
* image->promptCapabilities.image, audio->promptCapabilities.audio, and resource->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQlE,qFAAqF;AACrF,MAAM,WAAW,sBAAsB;IACrC;0FACsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB;4DACwD;IACxD,KAAK,EAAE,iBAAiB,CAAC;IACzB,+DAA+D;IAC/D,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,kGAAkG;IAClG,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,2DAA2D;IAC3D,cAAc,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD,sFAAsF;IACtF,aAAa,EAAE,OAAO,CAAC;IACvB;mGAC+F;IAC/F,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0CAA0C;IAC1C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,4CAA4C;IAC5C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gGAAgG;IAChG,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4CAA4C;IAC5C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,wEAAwE;IACxE,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,sBAAsB,CAmB1F;AAMD,qFAAqF;AACrF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAiB/E;AAED,yFAAyF;AACzF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,iBAAiB,EACxB,WAAW,GAAE,SAAS,UAAU,EAAO,GACtC,MAAM,CAOR;AAED;;;;kCAIkC;AAClC,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAChC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAChC,MAAM,CAQR;AAED;;;;+DAI+D;AAC/D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;;2EAK2E;AAC3E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CAchB;AAkCD;;;;kEAIkE;AAClE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,EACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;CAAE,GAAG,SAAS,CAkBpF"}
|
package/dist/capabilities.js
CHANGED
|
@@ -1,39 +1,14 @@
|
|
|
1
|
-
// Negotiated ACP capabilities for one pooled connection — the derived state the connection
|
|
2
|
-
// after its
|
|
3
|
-
//
|
|
4
|
-
// client speaks), its full advertised agentCapabilities + agentInfo, whether session/close is
|
|
5
|
-
// supported, and the declared custom-capability advertisement (the namespaced `_meta` block gating
|
|
6
|
-
// which backend-declared bare `_meta` inputs the client may send). The negotiated record is a pure
|
|
7
|
-
// parse of (response + declaration): `gatedKeys` captures the declaration at handshake time, and
|
|
8
|
-
// PooledConnection gates against that captured list.
|
|
9
|
-
//
|
|
10
|
-
// GATING PHILOSOPHY — backend-declared and lenient for legacy agents. A backend with NO declaration
|
|
11
|
-
// has NO custom-capability contract: its custom `_meta`, if any, is never gated, even when the agent
|
|
12
|
-
// advertises some other backend's namespace. Once a backend declares a namespace + bare keys, an
|
|
13
|
-
// agent that advertises NO usable namespace block is legacy passthrough (every declared key still
|
|
14
|
-
// sent); malformed namespace values (non-object or arrays) are treated as not advertised. Only once
|
|
15
|
-
// an agent DOES advertise the declared namespace object is each declared bare key gated on its
|
|
16
|
-
// same-named flag === true. Symmetrically, only once an agent advertises mcpCapabilities is an
|
|
17
|
-
// unsupported MCP transport rejected. Truthfully-advertised absence still gates WITHIN an advertised
|
|
18
|
-
// capability; total silence is the legacy passthrough.
|
|
1
|
+
// Negotiated standard ACP capabilities for one pooled connection — the derived state the connection
|
|
2
|
+
// acts on after its one-time `initialize` handshake. Vendor extension metadata is preserved verbatim
|
|
3
|
+
// in `initializeMeta`; it is interpreted only at the feature call site that owns the extension.
|
|
19
4
|
import { PROTOCOL_VERSION, } from "@agentclientprotocol/sdk";
|
|
20
|
-
import { CODEX_META_KEYS, META_KEYS, } from "@automatalabs/shared-types";
|
|
21
5
|
const PROMPT_CAPABILITY_BY_BLOCK_KIND = {
|
|
22
6
|
image: "image",
|
|
23
7
|
audio: "audio",
|
|
24
8
|
resource: "embeddedContext",
|
|
25
9
|
};
|
|
26
|
-
/** The bare `_meta` keys whose emission is gated by Codex's custom-capability advertisement.
|
|
27
|
-
* Each is named EXACTLY like the advertised flag that gates it, so `support[key] === true` is the
|
|
28
|
-
* whole test. session/new carries baseInstructions/developerInstructions and session/prompt carries
|
|
29
|
-
* outputSchema — one list covers both (a key absent from a given `_meta` is simply skipped). */
|
|
30
|
-
export const GATED_CUSTOM_META_KEYS = [
|
|
31
|
-
META_KEYS.outputSchema,
|
|
32
|
-
CODEX_META_KEYS.baseInstructions,
|
|
33
|
-
CODEX_META_KEYS.developerInstructions,
|
|
34
|
-
];
|
|
35
10
|
/** Parse an initialize response into the connection's derived capability state. */
|
|
36
|
-
export function negotiateCapabilities(response
|
|
11
|
+
export function negotiateCapabilities(response) {
|
|
37
12
|
const agent = response.agentCapabilities ?? {};
|
|
38
13
|
const sessionCapabilities = agent.sessionCapabilities;
|
|
39
14
|
return {
|
|
@@ -42,12 +17,6 @@ export function negotiateCapabilities(response, customCapabilities) {
|
|
|
42
17
|
agentInfo: response.agentInfo ?? undefined,
|
|
43
18
|
authMethods: response.authMethods ?? [],
|
|
44
19
|
initializeMeta: response._meta ?? undefined,
|
|
45
|
-
// Steering is an initialize-response extension advertisement. Never infer it from the
|
|
46
|
-
// backend name/version or from agentCapabilities._meta (the separate outgoing-meta gate).
|
|
47
|
-
supportsSteering: advertisesSteering(response._meta),
|
|
48
|
-
// The loaded-turn terminal-state extension rides the same initialize-response `_meta`
|
|
49
|
-
// advertisement channel (strict `loadedTurn.supported === true`), never inferred.
|
|
50
|
-
supportsLoadedTurnTerminalState: advertisesLoadedTurn(response._meta),
|
|
51
20
|
supportsClose: advertised(sessionCapabilities?.close),
|
|
52
21
|
supportsLoadSession: agent.loadSession === true || advertised(sessionCapabilities?.load),
|
|
53
22
|
supportsListSessions: advertised(sessionCapabilities?.list),
|
|
@@ -56,36 +25,8 @@ export function negotiateCapabilities(response, customCapabilities) {
|
|
|
56
25
|
supportsResumeSession: advertised(sessionCapabilities?.resume),
|
|
57
26
|
supportsLogout: advertised(agent.auth?.logout),
|
|
58
27
|
supportsProviders: advertised(agent.providers),
|
|
59
|
-
customMetaSupport: customCapabilities
|
|
60
|
-
? readCustomNamespace(agent._meta, customCapabilities.namespace)
|
|
61
|
-
: undefined,
|
|
62
|
-
gatedKeys: customCapabilities ? [...customCapabilities.gatedKeys] : undefined,
|
|
63
28
|
};
|
|
64
29
|
}
|
|
65
|
-
/** Strict, defensive parser for the top-level loaded-turn extension advertisement. Only the
|
|
66
|
-
* exact boolean true is support; absent, null, malformed, array, string, numeric, and truthy
|
|
67
|
-
* values are all unsupported. */
|
|
68
|
-
function advertisesLoadedTurn(meta) {
|
|
69
|
-
if (!meta || typeof meta !== "object" || Array.isArray(meta))
|
|
70
|
-
return false;
|
|
71
|
-
const loadedTurn = meta.loadedTurn;
|
|
72
|
-
return Boolean(loadedTurn &&
|
|
73
|
-
typeof loadedTurn === "object" &&
|
|
74
|
-
!Array.isArray(loadedTurn) &&
|
|
75
|
-
loadedTurn.supported === true);
|
|
76
|
-
}
|
|
77
|
-
/** Strict, defensive parser for the top-level steering extension advertisement. Only the exact
|
|
78
|
-
* boolean true is support; absent, null, malformed, array, string, numeric, and truthy values are
|
|
79
|
-
* all unsupported. */
|
|
80
|
-
function advertisesSteering(meta) {
|
|
81
|
-
if (!meta || typeof meta !== "object" || Array.isArray(meta))
|
|
82
|
-
return false;
|
|
83
|
-
const steering = meta.steering;
|
|
84
|
-
return Boolean(steering &&
|
|
85
|
-
typeof steering === "object" &&
|
|
86
|
-
!Array.isArray(steering) &&
|
|
87
|
-
steering.supported === true);
|
|
88
|
-
}
|
|
89
30
|
function advertised(capability) {
|
|
90
31
|
return capability !== undefined && capability !== null && capability !== false;
|
|
91
32
|
}
|
|
@@ -134,14 +75,6 @@ export function describeClientAuthAdvertisement(auth, meta) {
|
|
|
134
75
|
parts.push('_meta["terminal-auth"]=true');
|
|
135
76
|
return parts.length > 0 ? parts.join("; ") : "auth=none";
|
|
136
77
|
}
|
|
137
|
-
function readCustomNamespace(meta, namespace) {
|
|
138
|
-
if (!meta || typeof meta !== "object")
|
|
139
|
-
return undefined;
|
|
140
|
-
const block = meta[namespace];
|
|
141
|
-
return block && typeof block === "object" && !Array.isArray(block)
|
|
142
|
-
? block
|
|
143
|
-
: undefined;
|
|
144
|
-
}
|
|
145
78
|
/** True only when the agent selected EXACTLY PROTOCOL_VERSION. This client implements that one wire
|
|
146
79
|
* version and adapts its behavior to no other, so any other selected version — older or newer —
|
|
147
80
|
* means close the connection per the ACP spec's SHOULD-close rule. Per the spec the agent echoes
|
|
@@ -150,23 +83,6 @@ function readCustomNamespace(meta, namespace) {
|
|
|
150
83
|
export function isSupportedProtocolVersion(version) {
|
|
151
84
|
return version === PROTOCOL_VERSION;
|
|
152
85
|
}
|
|
153
|
-
/** Remove the declared custom bare `_meta` keys the connected agent did NOT advertise support for.
|
|
154
|
-
* A no-op when the agent advertised no namespace (`support` undefined => legacy => every key
|
|
155
|
-
* passes) or the meta is empty/undefined. Never mutates its input; collapses to undefined if
|
|
156
|
-
* gating empties the object (so no `_meta` is sent at all). */
|
|
157
|
-
export function gateCustomMeta(meta, support, gatedKeys = GATED_CUSTOM_META_KEYS) {
|
|
158
|
-
if (!meta || !support)
|
|
159
|
-
return meta;
|
|
160
|
-
let gated;
|
|
161
|
-
for (const key of gatedKeys) {
|
|
162
|
-
if (key in meta && support[key] !== true) {
|
|
163
|
-
gated ??= { ...meta };
|
|
164
|
-
delete gated[key];
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
const result = gated ?? meta;
|
|
168
|
-
return Object.keys(result).length > 0 ? result : undefined;
|
|
169
|
-
}
|
|
170
86
|
/** Adapt prompt content to the agent's PromptCapabilities. ACP baseline content (text and
|
|
171
87
|
* resource_link) is never gated; optional blocks follow the spec's capability table:
|
|
172
88
|
* image->promptCapabilities.image, audio->promptCapabilities.audio, and resource->
|
package/dist/events.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CompleteElicitationNotification, CreateElicitationRequest, CreateElicitationResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification } from "@agentclientprotocol/sdk";
|
|
2
2
|
import type { BackendId } from "./backend.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SteeringResponse } from "./acp-client.js";
|
|
4
4
|
/** The ACP session/update discriminated union (every real-time update an agent can stream). */
|
|
5
5
|
export type AcpSessionUpdate = SessionNotification["update"];
|
|
6
6
|
/** The `sessionUpdate` discriminant strings (agent_message_chunk | tool_call | usage_update | …). */
|
|
@@ -65,7 +65,8 @@ export interface AcpRawMessageEvent extends AcpEventContext {
|
|
|
65
65
|
/** A resolved `_session/steering` response. The originating prompt and request `_meta` are
|
|
66
66
|
* deliberately excluded: steering is observable without leaking user content or metadata. */
|
|
67
67
|
export interface AcpSteeringEvent extends AcpEventContext {
|
|
68
|
-
|
|
68
|
+
/** Complete server response; request prompt content and request `_meta` remain private. */
|
|
69
|
+
response: SteeringResponse;
|
|
69
70
|
}
|
|
70
71
|
/** A pooled backend process crashed (not a graceful dispose). The engine retries the run on a
|
|
71
72
|
* fresh process; this surfaces the crash for observability. Carries no session context. */
|
|
@@ -95,7 +96,7 @@ export type AcpRunnerEventMap = AcpSessionUpdateEvents & {
|
|
|
95
96
|
elicitation_complete: AcpElicitationCompleteEvent;
|
|
96
97
|
/** A vendor extension notification arrived for a session. */
|
|
97
98
|
raw_message: AcpRawMessageEvent;
|
|
98
|
-
/** A `_session/steering` request resolved, including the
|
|
99
|
+
/** A `_session/steering` request resolved, including the complete server response unchanged. */
|
|
99
100
|
steering: AcpSteeringEvent;
|
|
100
101
|
/** A new session was opened on a pooled connection. */
|
|
101
102
|
session_open: AcpEventContext;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,10 +16,10 @@ export type { AgentNotificationMethod, AgentNotificationParamsByMethod, AgentAut
|
|
|
16
16
|
export { BACKENDS_ENV, registryWithRunBackends, resolveBackendRegistry } from "./registry.js";
|
|
17
17
|
export type { BackendRegistry, CustomBackendConfig, RegisteredBackend } from "./registry.js";
|
|
18
18
|
export { CANCEL_NOT_HONORED_GRACE_MS, PI_CHILD_CLEANUP_DEADLINE_MS, PI_CLOSE_DELIVERY_MARGIN_MS, PI_CLOSE_SESSION_TIMEOUT_MS, PI_DISPOSE_SIGKILL_GRACE_MS, PI_PROCESS_EXIT_MARGIN_MS, PI_PROCESS_SHUTDOWN_ENVELOPE_MS, PooledConnection, SESSION_STEERING_METHOD, LOADED_TURN_QUERY_METHOD, LOADED_TURN_ENDED_METHOD, SessionHandle, isChildCleanupError, } from "./acp-client.js";
|
|
19
|
-
export type { AcpSessionOptions, PooledConnectionDeps,
|
|
19
|
+
export type { AcpSessionOptions, PooledConnectionDeps, SteeringRequest, SteeringResponse, LoadedTurnQueryRequest, LoadedTurnQueryResponse, LoadedTurnEndedNotification, LoadedTurnStatus, } from "./acp-client.js";
|
|
20
20
|
export { AGENT_METHOD_COVERAGE, ACP_EXTENSION_SUPPORT_MATRIX, ACP_AUTH_REQUIRED_CODE_EXCLUSIVE, AUTH_CAPABILITY_KEYS, AUTH_META_CONVENTION_KEYS, AUTH_META_MATRIX, CLIENT_METHOD_COVERAGE, CODEX_SPAWN_AUTH_ENV, HANDLED_AUTH_METHOD_TYPES, PI_ACP_PROTOCOL_CONTRACT, BUILTIN_PROTOCOL_COVERAGE, assertAuthCapabilityShape, } from "./protocol-coverage.js";
|
|
21
21
|
export type { AgentMethodCoverage, AcpExtensionSupportMatrixRow, AuthMetaMatrixRow, BuiltinProtocolCoverageRow, ClientMethodCoverage, } from "./protocol-coverage.js";
|
|
22
|
-
export {
|
|
22
|
+
export { adaptPromptContent, isSupportedProtocolVersion, negotiateCapabilities, unsupportedMcpServer, } from "./capabilities.js";
|
|
23
23
|
export type { NegotiatedCapabilities } from "./capabilities.js";
|
|
24
24
|
export { AcpAgentPool, resolvePoolSize } from "./pool.js";
|
|
25
25
|
export type { AcpPoolOptions, AcpPoolDeps } from "./pool.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtG,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClH,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EACV,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,aAAa,EACb,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9F,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE7F,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,OAAO,EACP,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClH,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKvD,OAAO,EACL,uCAAuC,EACvC,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,9 +21,8 @@ export { AGENT_METHODS, CLIENT_METHODS } from "@agentclientprotocol/sdk";
|
|
|
21
21
|
export { BACKENDS_ENV, registryWithRunBackends, resolveBackendRegistry } from "./registry.js";
|
|
22
22
|
export { CANCEL_NOT_HONORED_GRACE_MS, PI_CHILD_CLEANUP_DEADLINE_MS, PI_CLOSE_DELIVERY_MARGIN_MS, PI_CLOSE_SESSION_TIMEOUT_MS, PI_DISPOSE_SIGKILL_GRACE_MS, PI_PROCESS_EXIT_MARGIN_MS, PI_PROCESS_SHUTDOWN_ENVELOPE_MS, PooledConnection, SESSION_STEERING_METHOD, LOADED_TURN_QUERY_METHOD, LOADED_TURN_ENDED_METHOD, SessionHandle, isChildCleanupError, } from "./acp-client.js";
|
|
23
23
|
export { AGENT_METHOD_COVERAGE, ACP_EXTENSION_SUPPORT_MATRIX, ACP_AUTH_REQUIRED_CODE_EXCLUSIVE, AUTH_CAPABILITY_KEYS, AUTH_META_CONVENTION_KEYS, AUTH_META_MATRIX, CLIENT_METHOD_COVERAGE, CODEX_SPAWN_AUTH_ENV, HANDLED_AUTH_METHOD_TYPES, PI_ACP_PROTOCOL_CONTRACT, BUILTIN_PROTOCOL_COVERAGE, assertAuthCapabilityShape, } from "./protocol-coverage.js";
|
|
24
|
-
// ACP capability negotiation
|
|
25
|
-
|
|
26
|
-
export { GATED_CUSTOM_META_KEYS, adaptPromptContent, gateCustomMeta, isSupportedProtocolVersion, negotiateCapabilities, unsupportedMcpServer, } from "./capabilities.js";
|
|
24
|
+
// ACP standard capability negotiation. Vendor initialize metadata stays raw for extension owners.
|
|
25
|
+
export { adaptPromptContent, isSupportedProtocolVersion, negotiateCapabilities, unsupportedMcpServer, } from "./capabilities.js";
|
|
27
26
|
export { AcpAgentPool, resolvePoolSize } from "./pool.js";
|
|
28
27
|
// Consumer-provided client-side ACP handlers: fs/terminal routing plus truthful initialize
|
|
29
28
|
// clientCapabilities derived from the registered handler set.
|
package/dist/interactive.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AgentNotificationMethod, AgentNotificationParamsByMethod, AgentRequestMethod, AgentRequestParamsByMethod, AgentRequestResponsesByMethod, ContentBlock, SendRequestOptions, SessionModeState, StopReason } from "@agentclientprotocol/sdk";
|
|
1
|
+
import type { AgentNotificationMethod, AgentNotificationParamsByMethod, AgentRequestMethod, AgentRequestParamsByMethod, AgentRequestResponsesByMethod, ContentBlock, PromptResponse, SendRequestOptions, SessionModeState, StopReason } from "@agentclientprotocol/sdk";
|
|
2
2
|
import type { AgentHistoryEntry, AgentSessionRef, McpServerConfig, PromptImage } from "@automatalabs/shared-types";
|
|
3
3
|
import type { RunOptions } from "@automatalabs/shared-types";
|
|
4
4
|
import { WorkflowError } from "@automatalabs/shared-types";
|
|
5
5
|
import type { TSchema } from "typebox";
|
|
6
6
|
import type { Backend, BackendId } from "./backend.js";
|
|
7
7
|
import type { NegotiatedCapabilities } from "./capabilities.js";
|
|
8
|
-
import { type PooledConnection, type SessionHandle, type
|
|
8
|
+
import { type PooledConnection, type SessionHandle, type SteeringResponse } from "./acp-client.js";
|
|
9
9
|
import type { AcpEventListener, AcpEventName } from "./events.js";
|
|
10
10
|
import type { ElicitationResolver, PermissionResolver } from "./permissions.js";
|
|
11
11
|
/** Options for AcpAgentRunner.openSession(): backend selection and session/new inputs for one
|
|
@@ -70,10 +70,14 @@ export interface InteractiveSessionOptions {
|
|
|
70
70
|
}
|
|
71
71
|
/** One completed interactive prompt turn. `text` is the assistant text from THIS turn only:
|
|
72
72
|
* it is read from SessionHandle.currentTurnText(), the same turn-segmented accessor run() uses
|
|
73
|
-
* for structured-output repair turns.
|
|
73
|
+
* for structured-output repair turns. A live `prompt()` result also carries the complete ACP
|
|
74
|
+
* `PromptResponse`; typed-session failures remain exceptions and therefore produce no turn. */
|
|
74
75
|
export interface InteractiveTurn {
|
|
75
76
|
readonly stopReason: StopReason;
|
|
76
77
|
readonly text: string;
|
|
78
|
+
/** Complete terminal ACP response, including extension `_meta`. Absent only when a loaded-turn
|
|
79
|
+
* completion is reconstructed from persisted transcript state and no PromptResponse exists. */
|
|
80
|
+
readonly response?: PromptResponse;
|
|
77
81
|
}
|
|
78
82
|
type Subscribe = <K extends AcpEventName>(name: K, listener: AcpEventListener<K>) => () => void;
|
|
79
83
|
/** Internal construction bag for the runner-owned wrapper around an already-open ACP session. */
|
|
@@ -181,13 +185,14 @@ export declare class InteractiveSession {
|
|
|
181
185
|
promptMeta?: Record<string, unknown>;
|
|
182
186
|
onHandoff?: () => void;
|
|
183
187
|
}): Promise<InteractiveTurn>;
|
|
184
|
-
/** Inject
|
|
185
|
-
*
|
|
186
|
-
*
|
|
188
|
+
/** Inject content into the prompt currently in flight. Idle callers must use prompt(): steering
|
|
189
|
+
* has no client-owned turn, output, usage, or retry path. The complete raw response is returned
|
|
190
|
+
* for the host to validate; this layer does not gate on a parsed vendor capability. Concurrent
|
|
191
|
+
* steer calls are sent independently and left to the backend's ordering semantics. */
|
|
187
192
|
steer(content: string | ContentBlock[], opts?: {
|
|
188
193
|
images?: readonly PromptImage[];
|
|
189
194
|
promptMeta?: Record<string, unknown>;
|
|
190
|
-
}): Promise<
|
|
195
|
+
}): Promise<SteeringResponse>;
|
|
191
196
|
/** RAW protocol escape hatch for held-open sessions. Params carry `sessionId` explicitly;
|
|
192
197
|
* use `session.sessionId` so the wire call targets this session. Prefer named wrappers when
|
|
193
198
|
* they exist because they preserve engine semantics such as accumulation/drain and usage
|
|
@@ -261,7 +266,7 @@ export declare class InteractiveSession {
|
|
|
261
266
|
* broker re-issues under the same call id — no duplication
|
|
262
267
|
* possible).
|
|
263
268
|
*
|
|
264
|
-
* A QUERY FAILURE (
|
|
269
|
+
* A QUERY FAILURE (a wire or server error) is NOT the
|
|
265
270
|
* missing extension: the seam falls THROUGH to the observation path
|
|
266
271
|
* below instead of classifying unobservable (phase-F review round
|
|
267
272
|
* 2 — the loaded session may still be executing, and a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAqB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
|
package/dist/interactive.js
CHANGED
|
@@ -142,8 +142,8 @@ export class InteractiveSession {
|
|
|
142
142
|
try {
|
|
143
143
|
// Same request shaping as run(): a schema-bearing generic backend whose agent may
|
|
144
144
|
// ignore the `_meta` forward gets the contract stated in-band; the backend-computed
|
|
145
|
-
// turn meta (e.g. Codex's outputSchema forward)
|
|
146
|
-
// schema channel
|
|
145
|
+
// turn meta (e.g. Codex's outputSchema forward) wins only direct key collisions with
|
|
146
|
+
// user metadata so the schema channel cannot be clobbered; unrelated keys pass through.
|
|
147
147
|
const shaped = typeof content === "string" && this.schema !== undefined && this.backend.embedSchemaInPrompt
|
|
148
148
|
? buildRunPrompt(content, {}, this.schema, this.backend)
|
|
149
149
|
: content;
|
|
@@ -171,6 +171,7 @@ export class InteractiveSession {
|
|
|
171
171
|
return {
|
|
172
172
|
stopReason: response.stopReason,
|
|
173
173
|
text: this.session.currentTurnText(),
|
|
174
|
+
response,
|
|
174
175
|
};
|
|
175
176
|
}
|
|
176
177
|
catch (error) {
|
|
@@ -188,9 +189,10 @@ export class InteractiveSession {
|
|
|
188
189
|
this.promptInFlight = false;
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
|
-
/** Inject
|
|
192
|
-
*
|
|
193
|
-
*
|
|
192
|
+
/** Inject content into the prompt currently in flight. Idle callers must use prompt(): steering
|
|
193
|
+
* has no client-owned turn, output, usage, or retry path. The complete raw response is returned
|
|
194
|
+
* for the host to validate; this layer does not gate on a parsed vendor capability. Concurrent
|
|
195
|
+
* steer calls are sent independently and left to the backend's ordering semantics. */
|
|
194
196
|
async steer(content, opts = {}) {
|
|
195
197
|
if (this.releasePromise)
|
|
196
198
|
throw new Error("InteractiveSession has been released");
|
|
@@ -201,8 +203,7 @@ export class InteractiveSession {
|
|
|
201
203
|
validatePromptImages(opts.images, this.label);
|
|
202
204
|
try {
|
|
203
205
|
const steeringContent = appendPromptImages(content, opts.images);
|
|
204
|
-
|
|
205
|
-
return await this.session.steer(steeringContent, promptMeta);
|
|
206
|
+
return await this.session.steer(steeringContent, opts.promptMeta);
|
|
206
207
|
}
|
|
207
208
|
catch (error) {
|
|
208
209
|
if (this.signal?.aborted)
|
|
@@ -298,7 +299,7 @@ export class InteractiveSession {
|
|
|
298
299
|
* broker re-issues under the same call id — no duplication
|
|
299
300
|
* possible).
|
|
300
301
|
*
|
|
301
|
-
* A QUERY FAILURE (
|
|
302
|
+
* A QUERY FAILURE (a wire or server error) is NOT the
|
|
302
303
|
* missing extension: the seam falls THROUGH to the observation path
|
|
303
304
|
* below instead of classifying unobservable (phase-F review round
|
|
304
305
|
* 2 — the loaded session may still be executing, and a
|
|
@@ -380,8 +381,12 @@ export class InteractiveSession {
|
|
|
380
381
|
throw new Error("the loaded session's transcript shows no user message — the founding turn never reached the backend " +
|
|
381
382
|
"(its outcome is unobservable; re-issue is the honest fallback)");
|
|
382
383
|
}
|
|
383
|
-
|
|
384
|
-
|
|
384
|
+
// The extension choice is deliberately made HERE from the raw initialize metadata. Do not
|
|
385
|
+
// cache or recreate a connection-level boolean: this is the sole owner of loaded-turn parsing.
|
|
386
|
+
const initializeMeta = this.connection.capabilities?.initializeMeta;
|
|
387
|
+
if (isPlainObject(initializeMeta) &&
|
|
388
|
+
isPlainObject(initializeMeta.loadedTurn) &&
|
|
389
|
+
initializeMeta.loadedTurn.supported === true) {
|
|
385
390
|
// Subscribe to the ended channel BEFORE the query: a turn that ends
|
|
386
391
|
// between the query response and this wait must not be missed (the
|
|
387
392
|
// notification is recorded on the session state, first-wins).
|
|
@@ -390,7 +395,7 @@ export class InteractiveSession {
|
|
|
390
395
|
status = (await this.connection.queryLoadedTurn(this.sessionId, this.label)).status;
|
|
391
396
|
}
|
|
392
397
|
catch (error) {
|
|
393
|
-
// The wire query failed
|
|
398
|
+
// The wire query failed:
|
|
394
399
|
// the authoritative answer is unavailable, so the terminal state
|
|
395
400
|
// is classified by the OBSERVATION path instead (the same path a
|
|
396
401
|
// seam-less backend takes — the post-load continuation watch plus
|
|
@@ -881,6 +886,9 @@ export function isLoadedTurnFailedError(error) {
|
|
|
881
886
|
error !== null &&
|
|
882
887
|
error.loadedTurnFailed === true));
|
|
883
888
|
}
|
|
889
|
+
function isPlainObject(value) {
|
|
890
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
891
|
+
}
|
|
884
892
|
/** Normalize any thrown value into a message (the query-failure arm of
|
|
885
893
|
* the seam's degradation message). */
|
|
886
894
|
function thrownMessageOf(error) {
|
|
@@ -96,9 +96,9 @@ export interface AuthMetaMatrixRow {
|
|
|
96
96
|
readonly distProbe?: "claude" | "codex";
|
|
97
97
|
}
|
|
98
98
|
export declare const AUTH_META_MATRIX: readonly AuthMetaMatrixRow[];
|
|
99
|
-
/** One executable
|
|
100
|
-
* standard SDK AGENT_METHODS table.
|
|
101
|
-
*
|
|
99
|
+
/** One executable advertisement record for a vendor extension that is intentionally absent from
|
|
100
|
+
* the standard SDK AGENT_METHODS table. This matrix documents installed/built-in behavior only;
|
|
101
|
+
* it never gates or routes runtime extension calls. The loaded-turn
|
|
102
102
|
* extension (turn-terminal state for loaded sessions) is only served by the two in-repo
|
|
103
103
|
* servers (pi-acp, codex-acp); claude and opencode do not advertise it — the seam then
|
|
104
104
|
* classifies the loaded session's founding turn through the OBSERVATION path instead (the
|
|
@@ -112,7 +112,7 @@ export declare const AUTH_META_MATRIX: readonly AuthMetaMatrixRow[];
|
|
|
112
112
|
export interface AcpExtensionSupportMatrixRow {
|
|
113
113
|
readonly agent: string;
|
|
114
114
|
readonly method: typeof SESSION_STEERING_METHOD | typeof LOADED_TURN_QUERY_METHOD;
|
|
115
|
-
readonly disposition: "supported" | "
|
|
115
|
+
readonly disposition: "supported" | "not-advertised";
|
|
116
116
|
/** Installed distributions whose method + initialize advertisement are probed by the protocol
|
|
117
117
|
* coverage suite. Pi is workspace-owned and covered in its package tests instead. */
|
|
118
118
|
readonly distProbe?: "claude" | "codex";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-coverage.d.ts","sourceRoot":"","sources":["../src/protocol-coverage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocol-coverage.d.ts","sourceRoot":"","sources":["../src/protocol-coverage.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -10,12 +10,6 @@ export interface CustomBackendConfig {
|
|
|
10
10
|
/** Static `_meta` sent on every session/new for this backend (backend-level defaults).
|
|
11
11
|
* Per-call RunOptions.meta merges over these; backend-computed keys win over both. */
|
|
12
12
|
sessionMeta?: Record<string, unknown>;
|
|
13
|
-
/** agentCapabilities._meta namespace + bare `_meta` keys this custom agent negotiates.
|
|
14
|
-
* Undefined means the backend's custom `_meta`, if any, is never gated. */
|
|
15
|
-
customCapabilities?: {
|
|
16
|
-
readonly namespace: string;
|
|
17
|
-
readonly gatedKeys: readonly string[];
|
|
18
|
-
};
|
|
19
13
|
/** Enable client-hosted StructuredOutput MCP tool injection when schema runs negotiate HTTP MCP.
|
|
20
14
|
* Default true; set false for custom agents that should use only the generic prompt/_meta path. */
|
|
21
15
|
structuredOutputTool?: boolean;
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAIlD,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAIlD,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC;wGACoG;IACpG,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAErE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,eAAe,CAwBjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACxC,eAAe,CAQjB"}
|
package/dist/registry.js
CHANGED
|
@@ -78,7 +78,6 @@ function validateEntry(rawName, config, source) {
|
|
|
78
78
|
if (c.structuredOutputTool !== undefined && typeof c.structuredOutputTool !== "boolean") {
|
|
79
79
|
throw new Error(`${source}: backend "${rawName}" "structuredOutputTool" must be a boolean`);
|
|
80
80
|
}
|
|
81
|
-
const customCapabilities = validateCustomCapabilities(c.customCapabilities, source, rawName);
|
|
82
81
|
return [
|
|
83
82
|
name,
|
|
84
83
|
{
|
|
@@ -88,30 +87,12 @@ function validateEntry(rawName, config, source) {
|
|
|
88
87
|
...(c.env !== undefined ? { env: c.env } : {}),
|
|
89
88
|
...(c.sessionMeta !== undefined ? { sessionMeta: c.sessionMeta } : {}),
|
|
90
89
|
...(c.structuredOutputTool !== undefined ? { structuredOutputTool: c.structuredOutputTool } : {}),
|
|
91
|
-
...(customCapabilities !== undefined ? { customCapabilities } : {}),
|
|
92
90
|
},
|
|
93
91
|
];
|
|
94
92
|
}
|
|
95
93
|
function asciiLowercase(value) {
|
|
96
94
|
return value.replace(/[A-Z]/g, (character) => String.fromCharCode(character.charCodeAt(0) + 32));
|
|
97
95
|
}
|
|
98
|
-
function validateCustomCapabilities(value, source, rawName) {
|
|
99
|
-
if (value === undefined)
|
|
100
|
-
return undefined;
|
|
101
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
102
|
-
throw new Error(`${source}: backend "${rawName}" "customCapabilities" must be an object`);
|
|
103
|
-
}
|
|
104
|
-
const c = value;
|
|
105
|
-
if (typeof c.namespace !== "string" || c.namespace.trim() === "") {
|
|
106
|
-
throw new Error(`${source}: backend "${rawName}" "customCapabilities.namespace" must be a non-empty string`);
|
|
107
|
-
}
|
|
108
|
-
if (!Array.isArray(c.gatedKeys) ||
|
|
109
|
-
c.gatedKeys.length === 0 ||
|
|
110
|
-
!c.gatedKeys.every((key) => typeof key === "string" && key.trim() !== "")) {
|
|
111
|
-
throw new Error(`${source}: backend "${rawName}" "customCapabilities.gatedKeys" must be a non-empty array of non-empty strings`);
|
|
112
|
-
}
|
|
113
|
-
return { namespace: c.namespace, gatedKeys: [...c.gatedKeys] };
|
|
114
|
-
}
|
|
115
96
|
function isStringRecord(value) {
|
|
116
97
|
return (value !== null &&
|
|
117
98
|
typeof value === "object" &&
|