@automatalabs/acp-agents 1.3.0 → 3.0.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 +66 -21
- package/dist/acp-client.d.ts +15 -9
- package/dist/acp-client.d.ts.map +1 -1
- package/dist/acp-client.js +12 -10
- package/dist/agent/acp-agent.d.ts +84 -26
- package/dist/agent/acp-agent.d.ts.map +1 -1
- package/dist/agent/acp-agent.js +461 -168
- package/dist/agent/errors.d.ts +12 -2
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +38 -9
- package/dist/agent/fork.d.ts +7 -5
- package/dist/agent/fork.d.ts.map +1 -1
- package/dist/agent/fork.js +7 -5
- package/dist/agent/messages.d.ts +42 -0
- package/dist/agent/messages.d.ts.map +1 -0
- package/dist/agent/messages.js +225 -0
- package/dist/agent/probe.d.ts +1 -1
- package/dist/agent/probe.d.ts.map +1 -1
- package/dist/agent/probe.js +5 -1
- package/dist/agent/queue.js +2 -2
- package/dist/agent/routing.d.ts +19 -1
- package/dist/agent/routing.d.ts.map +1 -1
- package/dist/agent/routing.js +41 -4
- package/dist/agent/stream.d.ts +21 -0
- package/dist/agent/stream.d.ts.map +1 -0
- package/dist/agent/stream.js +93 -0
- package/dist/agent/structured.d.ts +7 -3
- package/dist/agent/structured.d.ts.map +1 -1
- package/dist/agent/structured.js +24 -14
- package/dist/agent/tool-host.d.ts +34 -0
- package/dist/agent/tool-host.d.ts.map +1 -0
- package/dist/agent/tool-host.js +138 -0
- package/dist/agent/tools.d.ts +26 -0
- package/dist/agent/tools.d.ts.map +1 -0
- package/dist/agent/tools.js +62 -0
- package/dist/agent/turn.d.ts +6 -3
- package/dist/agent/turn.d.ts.map +1 -1
- package/dist/agent/turn.js +15 -67
- package/dist/agent/types.d.ts +183 -29
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/backend.d.ts +13 -5
- package/dist/backend.d.ts.map +1 -1
- package/dist/backends/claude.d.ts +4 -0
- package/dist/backends/claude.d.ts.map +1 -1
- package/dist/backends/claude.js +40 -17
- package/dist/backends/codex.d.ts +5 -0
- package/dist/backends/codex.d.ts.map +1 -1
- package/dist/backends/codex.js +15 -9
- package/dist/backends/custom.d.ts.map +1 -1
- package/dist/backends/custom.js +3 -2
- package/dist/backends/opencode.d.ts +4 -0
- package/dist/backends/opencode.d.ts.map +1 -1
- package/dist/backends/opencode.js +5 -1
- package/dist/backends/pi.d.ts +5 -2
- package/dist/backends/pi.d.ts.map +1 -1
- package/dist/backends/pi.js +15 -3
- package/dist/config-catalog.d.ts +4 -0
- package/dist/config-catalog.d.ts.map +1 -1
- package/dist/config-catalog.js +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/interactive.d.ts +4 -5
- package/dist/interactive.d.ts.map +1 -1
- package/dist/local-mcp-host.d.ts +30 -0
- package/dist/local-mcp-host.d.ts.map +1 -0
- package/dist/local-mcp-host.js +151 -0
- package/dist/protocol-coverage.d.ts +34 -6
- package/dist/protocol-coverage.d.ts.map +1 -1
- package/dist/protocol-coverage.js +26 -1
- package/dist/registry.d.ts +3 -3
- package/dist/registry.d.ts.map +1 -1
- package/dist/runner.d.ts +5 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +13 -8
- package/dist/structured-output.d.ts +18 -0
- package/dist/structured-output.d.ts.map +1 -1
- package/dist/structured-output.js +19 -1
- package/dist/structured-tool.d.ts +7 -9
- package/dist/structured-tool.d.ts.map +1 -1
- package/dist/structured-tool.js +14 -102
- package/dist/system-prompt.d.ts +13 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +67 -0
- package/dist/traits.d.ts +51 -0
- package/dist/traits.d.ts.map +1 -0
- package/dist/traits.js +88 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/backends/opencode.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,OAAO,EACP,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,eAAe,CAAC;AA+DvB,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,EAAE,WAIjC,CAAC;AAEF,qBAAa,eAAgB,YAAW,OAAO;IAIjC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAH7C,QAAQ,CAAC,EAAE,EAAG,UAAU,CAAU;IAClC,QAAQ,CAAC,aAAa,EAAG,OAAO,CAAU;gBAErB,WAAW,GAAE,WAAiC;IAEnE,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,0BAA0B,QAAQ;IAE3C,qBAAqB,CACnB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,2BAA2B,GAAG,SAAS;IAW1C,WAAW,IAAI,WAAW;IA2B1B,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAKlD,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAO5E,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;CAKpD;AAED,eAAO,MAAM,yBAAyB,4DAoBpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/backends/opencode.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,OAAO,EACP,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,eAAe,CAAC;AA+DvB,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,EAAE,WAIjC,CAAC;AAEF,qBAAa,eAAgB,YAAW,OAAO;IAIjC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAH7C,QAAQ,CAAC,EAAE,EAAG,UAAU,CAAU;IAClC,QAAQ,CAAC,aAAa,EAAG,OAAO,CAAU;gBAErB,WAAW,GAAE,WAAiC;IAEnE,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,0BAA0B,QAAQ;IAE3C,qBAAqB,CACnB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,2BAA2B,GAAG,SAAS;IAW1C,WAAW,IAAI,WAAW;IA2B1B;;2FAEuF;IACvF,QAAQ,CAAC,YAAY,wDAAmC;IAExD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAKlD,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAO5E,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;CAKpD;AAED,eAAO,MAAM,yBAAyB,4DAoBpC,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { dirname, join } from "node:path";
|
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import { META_KEYS } from "@automatalabs/shared-types";
|
|
10
10
|
import { splitArgs } from "../backend.js";
|
|
11
|
-
import { BUILTIN_PROTOCOL_COVERAGE } from "../protocol-coverage.js";
|
|
11
|
+
import { BUILTIN_PROTOCOL_COVERAGE, systemPromptSupport } from "../protocol-coverage.js";
|
|
12
12
|
import { toJsonSchema } from "../schema-strict.js";
|
|
13
13
|
import { parseFinalJson } from "../structured-output.js";
|
|
14
14
|
import { defineBuiltinBackend } from "./define.js";
|
|
@@ -118,6 +118,10 @@ export class OpenCodeBackend {
|
|
|
118
118
|
const bin = resolveOpenCodePackageBin();
|
|
119
119
|
return { command: bin ?? "opencode", args: ["acp"], env };
|
|
120
120
|
}
|
|
121
|
+
/** `opencode acp` reads no session `_meta` (its ACP service consults `_meta` only for
|
|
122
|
+
* terminal-auth at initialize); system prompts live in OpenCode's own config and agent
|
|
123
|
+
* definitions. Declared unsupported so a `systemPrompt` is refused, never dropped. */
|
|
124
|
+
systemPrompt = systemPromptSupport("opencode");
|
|
121
125
|
sessionMeta() {
|
|
122
126
|
// OpenCode ignores session _meta today; there is no protocol-critical session channel.
|
|
123
127
|
return undefined;
|
package/dist/backends/pi.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TSchema } from "typebox";
|
|
2
2
|
import type { AuthProfile } from "../auth/auth-profile.js";
|
|
3
|
-
import type { Backend, ProviderErrorClassification, ProviderErrorMetadata, SpawnConfig } from "../backend.js";
|
|
3
|
+
import type { Backend, ProviderErrorClassification, ProviderErrorMetadata, SessionMetaInputs, SpawnConfig } from "../backend.js";
|
|
4
4
|
/** Pi auth adaptation for its ambient credential store (provider environment keys or ~/.pi/agent/auth.json). */
|
|
5
5
|
export declare const piAuthProfile: AuthProfile;
|
|
6
6
|
export declare class PiBackend implements Backend {
|
|
@@ -9,9 +9,12 @@ export declare class PiBackend implements Backend {
|
|
|
9
9
|
constructor(authProfile?: AuthProfile);
|
|
10
10
|
readonly embedSchemaInPrompt = true;
|
|
11
11
|
readonly injectStructuredOutputTool = true;
|
|
12
|
+
/** pi-acp reads `_meta.systemPrompt` `{ replace?, append? }` on session/new, resume, load, and
|
|
13
|
+
* fork and folds it into pi's `DefaultResourceLoader` system-prompt overrides. */
|
|
14
|
+
readonly systemPrompt: import("../protocol-coverage.js").SystemPromptSupport;
|
|
12
15
|
classifyProviderError(error: unknown, metadata?: ProviderErrorMetadata): ProviderErrorClassification | undefined;
|
|
13
16
|
spawnConfig(): SpawnConfig;
|
|
14
|
-
sessionMeta(): Record<string, unknown> | undefined;
|
|
17
|
+
sessionMeta(_schema: TSchema | undefined, inputs?: SessionMetaInputs): Record<string, unknown> | undefined;
|
|
15
18
|
promptMeta(_schema: TSchema | undefined): Record<string, unknown> | undefined;
|
|
16
19
|
}
|
|
17
20
|
export declare const piBackendDefinition: import("./define.js").BuiltinBackendDefinition<"pi">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/backends/pi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/backends/pi.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,OAAO,EACP,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACZ,MAAM,eAAe,CAAC;AAcvB,gHAAgH;AAChH,eAAO,MAAM,aAAa,EAAE,WAS3B,CAAC;AAEF,qBAAa,SAAU,YAAW,OAAO;IAG3B,QAAQ,CAAC,WAAW,EAAE,WAAW;IAF7C,QAAQ,CAAC,EAAE,EAAG,IAAI,CAAU;gBAEP,WAAW,GAAE,WAA2B;IAE7D,QAAQ,CAAC,mBAAmB,QAAQ;IACpC,QAAQ,CAAC,0BAA0B,QAAQ;IAC3C;uFACmF;IACnF,QAAQ,CAAC,YAAY,wDAA6B;IAElD,qBAAqB,CACnB,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,2BAA2B,GAAG,SAAS;IAkB1C,WAAW,IAAI,WAAW;IAkB1B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAY1G,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;CAG9E;AAED,eAAO,MAAM,mBAAmB,sDA0B9B,CAAC"}
|
package/dist/backends/pi.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
// pi-acp consumes the same client-hosted StructuredOutput MCP server as other HTTP-capable agents.
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
|
+
import { META_KEYS } from "@automatalabs/shared-types";
|
|
5
6
|
import { splitArgs } from "../backend.js";
|
|
6
|
-
import { BUILTIN_PROTOCOL_COVERAGE } from "../protocol-coverage.js";
|
|
7
|
+
import { BUILTIN_PROTOCOL_COVERAGE, systemPromptSupport } from "../protocol-coverage.js";
|
|
7
8
|
import { defineBuiltinBackend } from "./define.js";
|
|
8
9
|
const require = createRequire(import.meta.url);
|
|
9
10
|
// pi-acp advertises a single ambient method since ACP schema 1.21.0 removed the `env_var` variant
|
|
@@ -30,6 +31,9 @@ export class PiBackend {
|
|
|
30
31
|
}
|
|
31
32
|
embedSchemaInPrompt = true;
|
|
32
33
|
injectStructuredOutputTool = true;
|
|
34
|
+
/** pi-acp reads `_meta.systemPrompt` `{ replace?, append? }` on session/new, resume, load, and
|
|
35
|
+
* fork and folds it into pi's `DefaultResourceLoader` system-prompt overrides. */
|
|
36
|
+
systemPrompt = systemPromptSupport("pi");
|
|
33
37
|
classifyProviderError(error, metadata) {
|
|
34
38
|
const providerCode = errorDataString(error, "errorKind");
|
|
35
39
|
if (providerCode === "rate_limit" || providerCode === "billing_error") {
|
|
@@ -64,8 +68,16 @@ export class PiBackend {
|
|
|
64
68
|
return { command: "npx", args: ["-y", "@automatalabs/pi-acp"], env };
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
|
-
sessionMeta() {
|
|
68
|
-
|
|
71
|
+
sessionMeta(_schema, inputs) {
|
|
72
|
+
// The schema rides the client-hosted StructuredOutput tool and the prompt, never session
|
|
73
|
+
// `_meta`. The neutral instructions ride pi-acp's `_meta.systemPrompt` object VERBATIM (only
|
|
74
|
+
// the defined fields), so an unconfigured session sends no `_meta` at all.
|
|
75
|
+
const systemPrompt = inputs?.systemPrompt;
|
|
76
|
+
const value = {
|
|
77
|
+
...(systemPrompt?.replace !== undefined ? { replace: systemPrompt.replace } : {}),
|
|
78
|
+
...(systemPrompt?.append !== undefined ? { append: systemPrompt.append } : {}),
|
|
79
|
+
};
|
|
80
|
+
return Object.keys(value).length > 0 ? { [META_KEYS.systemPrompt]: value } : undefined;
|
|
69
81
|
}
|
|
70
82
|
promptMeta(_schema) {
|
|
71
83
|
return undefined;
|
package/dist/config-catalog.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionConfigOption, SessionModeState } from "@agentclientprotocol/sdk";
|
|
2
2
|
import { type CustomBackendConfig } from "./registry.js";
|
|
3
3
|
import { type ProbedConfigOptions } from "./runner.js";
|
|
4
|
+
import type { AcpAgentTraits } from "./traits.js";
|
|
4
5
|
export interface ValidateProbeRunner {
|
|
5
6
|
probeConfigOptions(spec?: string, opts?: {
|
|
6
7
|
cwd?: string;
|
|
@@ -32,6 +33,9 @@ export interface ValidateHarnessOptions {
|
|
|
32
33
|
/** Effective advertised ACP modes; null means this backend/model supports no session modes. */
|
|
33
34
|
modes?: SessionModeState | null;
|
|
34
35
|
options?: SessionConfigOption[];
|
|
36
|
+
/** Present when probed=true and the probe runner reports it (the runner and the SDK probe always
|
|
37
|
+
* do): the backend's traits refined by the live initialize advertisements. */
|
|
38
|
+
traits?: AcpAgentTraits;
|
|
35
39
|
}
|
|
36
40
|
type SelectConfigOption = Extract<SessionConfigOption, {
|
|
37
41
|
type: "select";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-catalog.d.ts","sourceRoot":"","sources":["../src/config-catalog.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config-catalog.d.ts","sourceRoot":"","sources":["../src/config-catalog.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAChB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnH,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,2EAA2E;IAC3E,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,kBAAkB,CAAC,IAAI,MAAM,EAAE,CAAC;IAChC,+DAA+D;IAC/D,gBAAgB,CAAC,IAAI,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,KACtD,mBAAmB,CAAC;AAIzB,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAMrF;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC;mFAC+E;IAC/E,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,KAAK,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE3E,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAIjG;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AASD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,CAkBtF;AAED,MAAM,WAAW,yBAAyB;IACxC;;4EAEwE;IACxE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;wDACoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C;yEACqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;sFACkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;uFACmF;IACnF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,EAAE,EAAE,OAAO,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,2FAA2F;IAC3F,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAqF9B;AAED;;2FAE2F;AAC3F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAYD;;yFAEyF;AACzF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAY3E;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,iBAAiB,EAAE,CAmBrB;AAsDD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;IAChC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,IAAI,CAAC;IAC3B,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,uFAAuF;IACvF,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAmCD;;kFAEkF;AAClF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAClD,oBAAoB,CAqFtB;AAED,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAmChF"}
|
package/dist/config-catalog.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,9 @@ export { LoadedTurnFailedError, LoadedTurnStillRunningError, isLoadedTurnFailedE
|
|
|
15
15
|
export type { InteractiveSessionOptions, InteractiveTurn } from "./interactive.js";
|
|
16
16
|
export { AcpAgent } from "./agent/acp-agent.js";
|
|
17
17
|
export { isAcpAgentTurnError } from "./agent/errors.js";
|
|
18
|
-
export
|
|
18
|
+
export { defineTool, AGENT_TOOL_NAME_PATTERN } from "./agent/tools.js";
|
|
19
|
+
export { AGENT_TOOLS_SERVER_NAME } from "./agent/tool-host.js";
|
|
20
|
+
export type { AcpAgentOptions, AcpAgentToolDefinition, AcpAgentToolContext, AcpAgentToolResult, AcpAgentPromptOptions, AcpAgentSteerOptions, AcpAgentForkOptions, AcpAgentReopenOptions, AcpAgentCloseOptions, AcpAgentProbeOptions, AcpAgentCatalog, AcpAgentTurn, AcpAgentTurnError, AcpAgentToolCall, AcpAgentMessage, AcpAgentUpdateRecord, AcpAgentRawRecord, AcpAgentTurnUsage, AcpAgentEventMap, AcpAgentEventName, AcpAgentEventListener, AcpAgentStream, AcpAgentStreamEvent, AcpAgentStreamEventName, AcpAgentState, } from "./agent/types.js";
|
|
19
21
|
export { AGENT_METHODS, CLIENT_METHODS } from "@agentclientprotocol/sdk";
|
|
20
22
|
export type { AgentNotificationMethod, AgentNotificationParamsByMethod, AgentAuthCapabilities, AgentRequestMethod, AgentRequestParamsByMethod, AgentRequestResponsesByMethod, AuthCapabilities, AuthenticateRequest, AuthenticateResponse, AuthMethod, AuthMethodAgent, AuthMethodId, AuthMethodTerminal, DisableProviderRequest, DisableProviderResponse, CompleteElicitationNotification, ConnectMcpRequest, ConnectMcpResponse, CreateElicitationRequest, CreateElicitationResponse, DeleteSessionRequest, DeleteSessionResponse, DisconnectMcpRequest, DisconnectMcpResponse, ElicitationAcceptAction, ElicitationCapabilities, ElicitationContentValue, ElicitationFormCapabilities, ElicitationFormMode, ElicitationId, ElicitationPropertySchema, ElicitationRequestScope, ElicitationSchema, ElicitationSchemaType, ElicitationSessionScope, ElicitationUrlCapabilities, ElicitationUrlMode, ForkSessionRequest, ForkSessionResponse, ListProvidersRequest, ListProvidersResponse, ListSessionsRequest, ListSessionsResponse, LlmProtocol, LoadSessionRequest, LoadSessionResponse, LogoutCapabilities, LogoutRequest, LogoutResponse, McpConnectionId, McpServerAcp, McpServerAcpId, MessageMcpNotification, MessageMcpRequest, MessageMcpResponse, PermissionOption, PermissionOptionId, PermissionOptionKind, RequestPermissionRequest, RequestPermissionResponse, ResumeSessionRequest, ResumeSessionResponse, ProviderCurrentConfig, ProviderId, ProviderInfo, ProvidersCapabilities, SessionMode, SessionModeState, SessionConfigOption, SessionInfo, SendRequestOptions, SetProviderRequest, SetProviderResponse, } from "@agentclientprotocol/sdk";
|
|
21
23
|
export { BACKENDS_ENV, registryWithRunBackends, resolveBackendRegistry } from "./registry.js";
|
|
@@ -24,8 +26,11 @@ export { probeHarnessConfig, buildHarnessModelsView, buildModelFilter, buildHarn
|
|
|
24
26
|
export type { ProbeHarnessConfigOptions, HarnessConfigReport, ValidateHarnessOptions, HarnessModelsView, HarnessConfigSummary, HarnessConfigSummaryEntry, HarnessConfigSummaryModel, HarnessConfigSummaryGroup, SelectChoiceGroup, SelectChoiceSummary, ValidateProbeRunner, } from "./config-catalog.js";
|
|
25
27
|
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";
|
|
26
28
|
export type { AcpSessionOptions, PooledConnectionDeps, SteeringRequest, SteeringResponse, LoadedTurnQueryRequest, LoadedTurnQueryResponse, LoadedTurnEndedNotification, LoadedTurnStatus, } from "./acp-client.js";
|
|
27
|
-
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, FORK_SESSION_TRAITS, FORK_SESSION_TRAIT_DEFAULT, PROMPT_USAGE_SCOPES, assertAuthCapabilityShape, forkSessionTrait, promptUsageScope, } from "./protocol-coverage.js";
|
|
28
|
-
export type { AgentMethodCoverage, AcpExtensionSupportMatrixRow, AuthMetaMatrixRow, BuiltinProtocolCoverageRow, ClientMethodCoverage, ForkSessionTraitRow, PromptUsageScopeRow, } from "./protocol-coverage.js";
|
|
29
|
+
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, FORK_SESSION_TRAITS, FORK_SESSION_TRAIT_DEFAULT, PROMPT_USAGE_SCOPES, SYSTEM_PROMPT_SUPPORT, SYSTEM_PROMPT_UNSUPPORTED, assertAuthCapabilityShape, forkSessionTrait, promptUsageScope, systemPromptSupport, } from "./protocol-coverage.js";
|
|
30
|
+
export type { AgentMethodCoverage, AcpExtensionSupportMatrixRow, AuthMetaMatrixRow, BuiltinProtocolCoverageRow, ClientMethodCoverage, ForkSessionTraitRow, PromptUsageScopeRow, SystemPromptSupport, SystemPromptSupportRow, } from "./protocol-coverage.js";
|
|
31
|
+
export { assertSystemPromptSupported, describeSystemPromptSupport } from "./system-prompt.js";
|
|
32
|
+
export { describeBackendTraits } from "./traits.js";
|
|
33
|
+
export type { AcpAgentTraits } from "./traits.js";
|
|
29
34
|
export { adaptPromptContent, isSupportedProtocolVersion, negotiateCapabilities, unsupportedMcpServer, } from "./capabilities.js";
|
|
30
35
|
export type { NegotiatedCapabilities } from "./capabilities.js";
|
|
31
36
|
export { AcpAgentPool, resolvePoolSize } 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":"AAMA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,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;AAInF,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,13 +23,21 @@ export { LoadedTurnFailedError, LoadedTurnStillRunningError, isLoadedTurnFailedE
|
|
|
23
23
|
// live forks, cold reopen from a session ref, and the no-prompt catalog probe.
|
|
24
24
|
export { AcpAgent } from "./agent/acp-agent.js";
|
|
25
25
|
export { isAcpAgentTurnError } from "./agent/errors.js";
|
|
26
|
+
// Client-side function tools: the definition helper and the injected `mcpServers` entry name.
|
|
27
|
+
export { defineTool, AGENT_TOOL_NAME_PATTERN } from "./agent/tools.js";
|
|
28
|
+
export { AGENT_TOOLS_SERVER_NAME } from "./agent/tool-host.js";
|
|
26
29
|
export { AGENT_METHODS, CLIENT_METHODS } from "@agentclientprotocol/sdk";
|
|
27
30
|
// The custom-backend registry: run ANY ACP agent as an agent() target.
|
|
28
31
|
export { BACKENDS_ENV, registryWithRunBackends, resolveBackendRegistry } from "./registry.js";
|
|
29
32
|
// Harness config catalog discovery (moved here from @automatalabs/workflows; the facade re-exports it).
|
|
30
33
|
export { probeHarnessConfig, buildHarnessModelsView, buildModelFilter, buildHarnessConfigSummary, formatHarnessConfigSummary, selectChoicePairs, summarizeSelectChoices, DEFAULT_PROBE_TIMEOUT_MS, } from "./config-catalog.js";
|
|
31
34
|
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";
|
|
32
|
-
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, FORK_SESSION_TRAITS, FORK_SESSION_TRAIT_DEFAULT, PROMPT_USAGE_SCOPES, assertAuthCapabilityShape, forkSessionTrait, promptUsageScope, } from "./protocol-coverage.js";
|
|
35
|
+
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, FORK_SESSION_TRAITS, FORK_SESSION_TRAIT_DEFAULT, PROMPT_USAGE_SCOPES, SYSTEM_PROMPT_SUPPORT, SYSTEM_PROMPT_UNSUPPORTED, assertAuthCapabilityShape, forkSessionTrait, promptUsageScope, systemPromptSupport, } from "./protocol-coverage.js";
|
|
36
|
+
// The one validator every front door runs on `systemPrompt` before a session opens.
|
|
37
|
+
export { assertSystemPromptSupported, describeSystemPromptSupport } from "./system-prompt.js";
|
|
38
|
+
// Per-agent traits: the tables before open, the live initialize advertisements after (`AcpAgent#traits`,
|
|
39
|
+
// `AcpAgent.traits()`, and the `traits` field of every probe result).
|
|
40
|
+
export { describeBackendTraits } from "./traits.js";
|
|
33
41
|
// ACP standard capability negotiation. Vendor initialize metadata stays raw for extension owners.
|
|
34
42
|
export { adaptPromptContent, isSupportedProtocolVersion, negotiateCapabilities, unsupportedMcpServer, } from "./capabilities.js";
|
|
35
43
|
export { AcpAgentPool, resolvePoolSize } from "./pool.js";
|
package/dist/interactive.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentNotificationMethod, AgentNotificationParamsByMethod, AgentRequestMethod, AgentRequestParamsByMethod, AgentRequestResponsesByMethod, ContentBlock, PromptResponse, SendRequestOptions, SessionModeState, StopReason } from "@agentclientprotocol/sdk";
|
|
2
|
-
import type { AgentHistoryEntry, AgentSessionRef, McpServerConfig, PromptImage } from "@automatalabs/shared-types";
|
|
2
|
+
import type { AgentHistoryEntry, AgentSessionRef, McpServerConfig, PromptImage, SystemPromptOptions } 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";
|
|
@@ -53,10 +53,9 @@ export interface InteractiveSessionOptions {
|
|
|
53
53
|
runId?: string;
|
|
54
54
|
/** Generic session-scoped `_meta` passthrough merged under backend-computed session meta. */
|
|
55
55
|
meta?: Record<string, unknown>;
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
developerInstructions?: string;
|
|
56
|
+
/** Backend-neutral system prompt instructions (`replace` / `append`), forwarded on the session
|
|
57
|
+
* `_meta` in the backend's own dialect; refused before open when the backend carries neither. */
|
|
58
|
+
systemPrompt?: SystemPromptOptions;
|
|
60
59
|
/** Client-provided MCP servers to attach at session/new. */
|
|
61
60
|
mcpServers?: McpServerConfig[];
|
|
62
61
|
/** Keep accumulated text/history after each prompt turn; default false for held-open sessions. */
|
|
@@ -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,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type IncomingMessage, type ServerResponse } from "node:http";
|
|
2
|
+
import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
|
+
export declare const LOCAL_MCP_HOST = "127.0.0.1";
|
|
4
|
+
export declare abstract class LocalMcpHttpHost {
|
|
5
|
+
private server;
|
|
6
|
+
/** The pending or settled bind of `server`, resolving with its port. */
|
|
7
|
+
private listenPromise;
|
|
8
|
+
private port;
|
|
9
|
+
private inFlightRequests;
|
|
10
|
+
private drained;
|
|
11
|
+
/** A human name for error messages (`<name> MCP server did not bind …`). */
|
|
12
|
+
protected abstract readonly hostName: string;
|
|
13
|
+
/** The MCP server that answers requests on `token`, or undefined for a 404. Called once per
|
|
14
|
+
* HTTP request; the returned server is connected to a fresh transport and closed with it. */
|
|
15
|
+
protected abstract mcpServerFor(token: string, req: IncomingMessage, res: ServerResponse): Server | undefined;
|
|
16
|
+
isListening(): boolean;
|
|
17
|
+
listeningPort(): number | undefined;
|
|
18
|
+
/** Stop listening. Idempotent; resolves once the HTTP server closed (immediately when it never
|
|
19
|
+
* bound). A close that lands while `ensureListening()` is still binding waits for that bind to
|
|
20
|
+
* settle and then closes the socket it produced — returning early would leave the socket to
|
|
21
|
+
* come up after the close with nothing left to close it (the racing `ensureListening()` sees
|
|
22
|
+
* the host closed and rejects). A peer's keep-alive socket never holds the close open: idle
|
|
23
|
+
* connections are closed at once, requests still being answered get a bounded grace to flush,
|
|
24
|
+
* then everything left is destroyed — the peer is the agent process, which is gone or going. */
|
|
25
|
+
protected closeServer(): Promise<void>;
|
|
26
|
+
protected urlFor(token: string, port: number): string;
|
|
27
|
+
protected ensureListening(): Promise<number>;
|
|
28
|
+
private handleRequest;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=local-mcp-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-mcp-host.d.ts","sourceRoot":"","sources":["../src/local-mcp-host.ts"],"names":[],"mappings":"AAOA,OAAa,EACX,KAAK,eAAe,EAEpB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGxE,eAAO,MAAM,cAAc,cAAc,CAAC;AAO1C,8BAAsB,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAyB;IACvC,wEAAwE;IACxE,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,OAAO,CAA2B;IAE1C,4EAA4E;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE7C;kGAC8F;IAC9F,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAE7G,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC;;;;;;qGAMiG;cACjF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB5C,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;cAIrC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;YAsCpC,aAAa;CA6B5B"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// The in-process Streamable HTTP MCP host both client-hosted tool servers share: bound to
|
|
2
|
+
// 127.0.0.1 on an ephemeral port, lazily (the first registration binds), serving one MCP server
|
|
3
|
+
// per unguessable token path. A request that names no live token is a 404; a request on a live
|
|
4
|
+
// token gets a fresh stateless transport + MCP `Server` pair for its lifetime (the SDK's stateless
|
|
5
|
+
// pattern, so concurrent calls never share protocol state). Subclasses own the token → server
|
|
6
|
+
// mapping (`StructuredOutputToolHost`: one slot per registered schema; `AgentToolHost`: one token
|
|
7
|
+
// for the agent's function tools) and the tool handlers.
|
|
8
|
+
import http from "node:http";
|
|
9
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
10
|
+
export const LOCAL_MCP_HOST = "127.0.0.1";
|
|
11
|
+
/** How long `closeServer()` lets requests that were mid-answer finish writing before every
|
|
12
|
+
* remaining connection is torn down (a tool run that ignores its abort signal must not keep the
|
|
13
|
+
* agent's `close()` hanging). */
|
|
14
|
+
const CLOSE_DRAIN_GRACE_MS = 1000;
|
|
15
|
+
export class LocalMcpHttpHost {
|
|
16
|
+
server;
|
|
17
|
+
/** The pending or settled bind of `server`, resolving with its port. */
|
|
18
|
+
listenPromise;
|
|
19
|
+
port;
|
|
20
|
+
inFlightRequests = 0;
|
|
21
|
+
drained;
|
|
22
|
+
isListening() {
|
|
23
|
+
return this.server?.listening === true;
|
|
24
|
+
}
|
|
25
|
+
listeningPort() {
|
|
26
|
+
return this.port;
|
|
27
|
+
}
|
|
28
|
+
/** Stop listening. Idempotent; resolves once the HTTP server closed (immediately when it never
|
|
29
|
+
* bound). A close that lands while `ensureListening()` is still binding waits for that bind to
|
|
30
|
+
* settle and then closes the socket it produced — returning early would leave the socket to
|
|
31
|
+
* come up after the close with nothing left to close it (the racing `ensureListening()` sees
|
|
32
|
+
* the host closed and rejects). A peer's keep-alive socket never holds the close open: idle
|
|
33
|
+
* connections are closed at once, requests still being answered get a bounded grace to flush,
|
|
34
|
+
* then everything left is destroyed — the peer is the agent process, which is gone or going. */
|
|
35
|
+
async closeServer() {
|
|
36
|
+
const server = this.server;
|
|
37
|
+
const binding = this.listenPromise;
|
|
38
|
+
this.server = undefined;
|
|
39
|
+
this.listenPromise = undefined;
|
|
40
|
+
this.port = undefined;
|
|
41
|
+
if (!server)
|
|
42
|
+
return;
|
|
43
|
+
if (binding)
|
|
44
|
+
await binding.then(noop, noop);
|
|
45
|
+
if (!server.listening)
|
|
46
|
+
return;
|
|
47
|
+
const closed = new Promise((resolve, reject) => {
|
|
48
|
+
server.close((error) => (error ? reject(error) : resolve()));
|
|
49
|
+
});
|
|
50
|
+
server.closeIdleConnections();
|
|
51
|
+
if (this.inFlightRequests > 0) {
|
|
52
|
+
await Promise.race([
|
|
53
|
+
new Promise((resolve) => (this.drained = resolve)),
|
|
54
|
+
new Promise((resolve) => setTimeout(resolve, CLOSE_DRAIN_GRACE_MS).unref()),
|
|
55
|
+
]);
|
|
56
|
+
this.drained = undefined;
|
|
57
|
+
}
|
|
58
|
+
server.closeIdleConnections();
|
|
59
|
+
if (this.inFlightRequests > 0)
|
|
60
|
+
server.closeAllConnections();
|
|
61
|
+
await closed;
|
|
62
|
+
}
|
|
63
|
+
urlFor(token, port) {
|
|
64
|
+
return `http://${LOCAL_MCP_HOST}:${port}/${token}`;
|
|
65
|
+
}
|
|
66
|
+
async ensureListening() {
|
|
67
|
+
if (!this.server) {
|
|
68
|
+
this.server = http.createServer((req, res) => {
|
|
69
|
+
void this.handleRequest(req, res);
|
|
70
|
+
});
|
|
71
|
+
this.server.unref();
|
|
72
|
+
}
|
|
73
|
+
const server = this.server;
|
|
74
|
+
if (!this.listenPromise) {
|
|
75
|
+
this.listenPromise = new Promise((resolve, reject) => {
|
|
76
|
+
const onError = (error) => {
|
|
77
|
+
server.off("listening", onListening);
|
|
78
|
+
reject(error);
|
|
79
|
+
};
|
|
80
|
+
const onListening = () => {
|
|
81
|
+
server.off("error", onError);
|
|
82
|
+
const address = server.address();
|
|
83
|
+
if (!address || typeof address === "string") {
|
|
84
|
+
reject(new Error(`${this.hostName} MCP server did not bind to a TCP port`));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
resolve(address.port);
|
|
88
|
+
};
|
|
89
|
+
server.once("error", onError);
|
|
90
|
+
server.once("listening", onListening);
|
|
91
|
+
server.listen(0, LOCAL_MCP_HOST);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const port = await this.listenPromise;
|
|
95
|
+
// `closeServer()` ran while the bind was pending: it waited for this bind and closed the
|
|
96
|
+
// server, so the port must not be handed out.
|
|
97
|
+
if (this.server !== server) {
|
|
98
|
+
throw new Error(`${this.hostName} MCP server was closed while it was binding`);
|
|
99
|
+
}
|
|
100
|
+
this.port = port;
|
|
101
|
+
return port;
|
|
102
|
+
}
|
|
103
|
+
async handleRequest(req, res) {
|
|
104
|
+
const token = tokenOf(req);
|
|
105
|
+
const server = token === undefined ? undefined : this.mcpServerFor(token, req, res);
|
|
106
|
+
if (!server) {
|
|
107
|
+
res.writeHead(404, { "content-type": "text/plain; charset=utf-8" });
|
|
108
|
+
res.end("not found");
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
|
|
112
|
+
this.inFlightRequests += 1;
|
|
113
|
+
try {
|
|
114
|
+
await server.connect(transport);
|
|
115
|
+
// Resolves once the response body has been written in full (the SDK's Node listener awaits
|
|
116
|
+
// the streamed body), so an async tool handler's result is on the wire before the teardown.
|
|
117
|
+
await transport.handleRequest(req, res);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (!res.headersSent) {
|
|
121
|
+
res.writeHead(500, { "content-type": "text/plain; charset=utf-8" });
|
|
122
|
+
res.end(error instanceof Error ? error.message : String(error));
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
res.destroy(error instanceof Error ? error : undefined);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
await Promise.allSettled([server.close(), transport.close()]);
|
|
130
|
+
this.inFlightRequests -= 1;
|
|
131
|
+
if (this.inFlightRequests === 0)
|
|
132
|
+
this.drained?.();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function noop() { }
|
|
137
|
+
/** The single path segment of the request URL, or undefined when the path is not exactly `/<token>`. */
|
|
138
|
+
function tokenOf(req) {
|
|
139
|
+
const rawUrl = req.url ?? "/";
|
|
140
|
+
let pathname;
|
|
141
|
+
try {
|
|
142
|
+
pathname = new URL(rawUrl, `http://${LOCAL_MCP_HOST}`).pathname;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
if (!pathname.startsWith("/") || pathname.slice(1).includes("/"))
|
|
148
|
+
return undefined;
|
|
149
|
+
const token = pathname.slice(1);
|
|
150
|
+
return token === "" ? undefined : token;
|
|
151
|
+
}
|
|
@@ -125,12 +125,14 @@ export declare const ACP_EXTENSION_SUPPORT_MATRIX: readonly AcpExtensionSupportM
|
|
|
125
125
|
/** How each installed agent answers `session/fork`, read from its adapter source, and what the
|
|
126
126
|
* AcpAgent SDK must do with the response. `id-only`: the response names a persisted copy that
|
|
127
127
|
* is not live — claude-agent-acp returns `{ sessionId }` from `dist/fork-session.js` and `prompt`
|
|
128
|
-
* on it throws "Session not found"
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
128
|
+
* on it throws "Session not found". `live`: the fork handle is the session — @automatalabs/codex-acp
|
|
129
|
+
* forks the thread through `thread/fork`, which subscribes the connection to the new thread
|
|
130
|
+
* exactly like `thread/resume` does, keeps that subscription (no `threadUnsubscribe`), and
|
|
131
|
+
* publishes the forked session's available commands and MCP startup status like a resumed one;
|
|
132
|
+
* pi constructs the fork in-process; OpenCode by live verification only. `reattach` names the
|
|
133
|
+
* reopen an `id-only` fork needs before its first turn. `cwd`: whether the fork may re-home —
|
|
134
|
+
* claude's transcript store is keyed by the source cwd. Data for the SDK's fork choreography;
|
|
135
|
+
* the runner's `forkSession()` returns the raw fork handle and never consults it. */
|
|
134
136
|
export interface ForkSessionTraitRow {
|
|
135
137
|
readonly agent: string;
|
|
136
138
|
readonly disposition: "id-only" | "live";
|
|
@@ -153,6 +155,32 @@ export declare function forkSessionTrait(agent: string, declared?: {
|
|
|
153
155
|
readonly disposition: ForkSessionTraitRow["disposition"];
|
|
154
156
|
readonly cwd?: ForkSessionTraitRow["cwd"];
|
|
155
157
|
}): ForkSessionTraitRow;
|
|
158
|
+
/** Which halves of the backend-neutral `SystemPromptOptions` (`replace` / `append`) each built-in
|
|
159
|
+
* can carry, and on which `session/new|resume|load|fork` `_meta` key — read from each adapter's
|
|
160
|
+
* source and pinned by the protocol coverage suite (claude/codex/pi dists) and the docs-drift
|
|
161
|
+
* suite. `replace` swaps the agent's built-in system prompt; `append` adds to it. A backend with
|
|
162
|
+
* both `false` (opencode: `opencode acp` reads no session `_meta`; system prompts live in its
|
|
163
|
+
* config and agent definitions) rejects any `systemPrompt` before a session opens. */
|
|
164
|
+
export interface SystemPromptSupport {
|
|
165
|
+
readonly replace: boolean;
|
|
166
|
+
readonly append: boolean;
|
|
167
|
+
}
|
|
168
|
+
export interface SystemPromptSupportRow extends SystemPromptSupport {
|
|
169
|
+
readonly agent: string;
|
|
170
|
+
/** The bare `_meta` key(s) the instructions ride on; empty when unsupported. */
|
|
171
|
+
readonly metaKeys: readonly string[];
|
|
172
|
+
/** Installed distributions whose `_meta` reader is probed by the protocol coverage suite. */
|
|
173
|
+
readonly distProbe?: "claude" | "codex" | "pi";
|
|
174
|
+
}
|
|
175
|
+
/** Per-built-in system-prompt instruction support. Executable data: the backends read their own
|
|
176
|
+
* row (`Backend.systemPrompt`), the validators reject what a row does not carry, and the drift
|
|
177
|
+
* suites pin the rows against the installed adapters and the public docs. */
|
|
178
|
+
export declare const SYSTEM_PROMPT_SUPPORT: readonly SystemPromptSupportRow[];
|
|
179
|
+
/** Unknown agents carry no system-prompt channel: a custom registry entry's own `_meta` keys
|
|
180
|
+
* travel through the generic `meta` passthrough instead. */
|
|
181
|
+
export declare const SYSTEM_PROMPT_UNSUPPORTED: SystemPromptSupport;
|
|
182
|
+
/** The built-in row for `agent`, or `SYSTEM_PROMPT_UNSUPPORTED` for an unknown agent. */
|
|
183
|
+
export declare function systemPromptSupport(agent: string): SystemPromptSupport;
|
|
156
184
|
/** What `PromptResponse.usage` covers on each installed agent, read from its adapter source.
|
|
157
185
|
* Every source-verified agent reports THE TURN (the SDK's own type doc says "across session";
|
|
158
186
|
* the adapters do not follow it): claude-agent-acp resets its accumulator at every turn
|
|
@@ -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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"}
|
|
@@ -186,7 +186,7 @@ const ACP_EXTENSION_SUPPORT_MATRIX_ROWS = [
|
|
|
186
186
|
export const ACP_EXTENSION_SUPPORT_MATRIX = Object.freeze(ACP_EXTENSION_SUPPORT_MATRIX_ROWS.map((row) => Object.freeze(row)));
|
|
187
187
|
const FORK_SESSION_TRAIT_ROWS = [
|
|
188
188
|
{ agent: "claude", disposition: "id-only", reattach: "resume-or-load", cwd: "source-only", distProbe: "claude" },
|
|
189
|
-
{ agent: "codex", disposition: "
|
|
189
|
+
{ agent: "codex", disposition: "live", reattach: "none", cwd: "free", distProbe: "codex" },
|
|
190
190
|
{ agent: "opencode", disposition: "live", reattach: "none", cwd: "free" },
|
|
191
191
|
{ agent: "pi", disposition: "live", reattach: "none", cwd: "free", distProbe: "pi" },
|
|
192
192
|
];
|
|
@@ -215,6 +215,31 @@ export function forkSessionTrait(agent, declared) {
|
|
|
215
215
|
}
|
|
216
216
|
return FORK_SESSION_TRAITS.find((row) => row.agent === agent) ?? FORK_SESSION_TRAIT_DEFAULT;
|
|
217
217
|
}
|
|
218
|
+
const SYSTEM_PROMPT_SUPPORT_ROWS = [
|
|
219
|
+
// claude-agent-acp `createSession`: `_meta.systemPrompt` string => replaces the prompt; object =>
|
|
220
|
+
// merged into the `claude_code` preset with type/preset locked (`{ append }` extends it).
|
|
221
|
+
{ agent: "claude", replace: true, append: true, metaKeys: ["systemPrompt"], distProbe: "claude" },
|
|
222
|
+
// @automatalabs/codex-acp: bare `_meta.baseInstructions` (base prompt replacement) and
|
|
223
|
+
// `_meta.developerInstructions` (developer-role instructions) => thread/{start,resume,fork} params
|
|
224
|
+
// (a Codex fork is live, so session/fork's own `_meta` is where a fork's instructions travel).
|
|
225
|
+
{ agent: "codex", replace: true, append: true, metaKeys: ["baseInstructions", "developerInstructions"], distProbe: "codex" },
|
|
226
|
+
{ agent: "opencode", replace: false, append: false, metaKeys: [] },
|
|
227
|
+
// @automatalabs/pi-acp: `_meta.systemPrompt` `{ replace?, append? }` (or a string = replace) =>
|
|
228
|
+
// pi's `DefaultResourceLoader` system-prompt overrides.
|
|
229
|
+
{ agent: "pi", replace: true, append: true, metaKeys: ["systemPrompt"], distProbe: "pi" },
|
|
230
|
+
];
|
|
231
|
+
/** Per-built-in system-prompt instruction support. Executable data: the backends read their own
|
|
232
|
+
* row (`Backend.systemPrompt`), the validators reject what a row does not carry, and the drift
|
|
233
|
+
* suites pin the rows against the installed adapters and the public docs. */
|
|
234
|
+
export const SYSTEM_PROMPT_SUPPORT = Object.freeze(SYSTEM_PROMPT_SUPPORT_ROWS.map((row) => Object.freeze({ ...row, metaKeys: Object.freeze([...row.metaKeys]) })));
|
|
235
|
+
/** Unknown agents carry no system-prompt channel: a custom registry entry's own `_meta` keys
|
|
236
|
+
* travel through the generic `meta` passthrough instead. */
|
|
237
|
+
export const SYSTEM_PROMPT_UNSUPPORTED = Object.freeze({ replace: false, append: false });
|
|
238
|
+
/** The built-in row for `agent`, or `SYSTEM_PROMPT_UNSUPPORTED` for an unknown agent. */
|
|
239
|
+
export function systemPromptSupport(agent) {
|
|
240
|
+
const row = SYSTEM_PROMPT_SUPPORT.find((candidate) => candidate.agent === agent);
|
|
241
|
+
return row ? { replace: row.replace, append: row.append } : SYSTEM_PROMPT_UNSUPPORTED;
|
|
242
|
+
}
|
|
218
243
|
const PROMPT_USAGE_SCOPE_ROWS = [
|
|
219
244
|
{ agent: "claude", scope: "turn", distProbe: "claude" },
|
|
220
245
|
{ agent: "codex", scope: "turn", distProbe: "codex" },
|