@mono-agent/agent-runtime 0.20.11 → 0.21.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/ARCHITECTURE.md +50 -11
- package/MIGRATION.md +288 -26
- package/README.md +352 -477
- package/package.json +13 -44
- package/src/agent/tool-bloat.js +145 -9
- package/src/agent/tools/agent-tool.js +108 -9
- package/src/agent/tools/bash.js +11 -26
- package/src/agent/tools/codex-subscription-search.js +123 -29
- package/src/agent/tools/exec.js +10 -2
- package/src/agent/tools/index.js +7 -0
- package/src/agent/tools/monitor.js +149 -0
- package/src/agent/tools/pi-bridge.js +123 -19
- package/src/agent/tools/shared/bash-environment.js +31 -0
- package/src/agent/tools/shared/monitors.js +293 -0
- package/src/agent/tools/shared/path-resolver.js +25 -6
- package/src/agent/tools/shared/process-jobs.js +6 -1
- package/src/agent/tools/shared/process-runner.js +26 -6
- package/src/agent/tools/shared/tool-context.js +8 -0
- package/src/agent/tools/web-access-interstitial.js +70 -0
- package/src/agent/tools/web-browser-render.js +83 -58
- package/src/agent/tools/web-controller.js +112 -21
- package/src/agent/tools/web-document-extractor.js +379 -0
- package/src/agent/tools/web-fetch.js +271 -243
- package/src/agent/tools/web-request.js +65 -0
- package/src/agent/tools/web-search-output.js +165 -0
- package/src/agent/tools/web-search-state.js +75 -0
- package/src/agent/tools/web-search.js +532 -71
- package/src/ai/cost.js +13 -68
- package/src/ai/failure.js +3 -3
- package/src/ai/index.js +5 -17
- package/src/ai/observer.js +8 -0
- package/src/ai/pi-interop.js +221 -1
- package/src/ai/pi-oauth-compat.js +1 -1
- package/src/ai/provider-check.js +131 -0
- package/src/ai/providers/codex/app-server-client.js +592 -0
- package/src/ai/providers/pi-models.js +18 -10
- package/src/ai/providers/pi-native/compaction-driver.js +94 -42
- package/src/ai/providers/pi-native/compaction-summary.js +140 -0
- package/src/ai/providers/pi-native/harness-adapter.js +376 -0
- package/src/ai/providers/pi-native/prompt-cache-diagnostics.js +103 -0
- package/src/ai/providers/pi-native/provider-attribution.js +102 -0
- package/src/ai/providers/pi-native/result-builder.js +38 -14
- package/src/ai/providers/pi-native/session-lifecycle.js +253 -55
- package/src/ai/providers/pi-native/stream-subscriber.js +52 -6
- package/src/ai/providers/pi-native/terminal-recovery.js +40 -0
- package/src/ai/providers/pi-native/turn-runner.js +279 -28
- package/src/ai/providers/pi-native.js +206 -61
- package/src/ai/runtime/capabilities.js +11 -56
- package/src/ai/runtime/live-input-events.js +250 -54
- package/src/ai/runtime/model-refs.js +118 -153
- package/src/ai/runtime/registry.js +22 -56
- package/src/ai/runtime/router.js +76 -417
- package/src/ai/runtime/session-liveness.js +3 -4
- package/src/ai/runtime/sessions.js +4 -5
- package/src/ai/runtime/tool-policy.js +0 -2
- package/src/ai/tool-lifecycle.js +32 -18
- package/src/ai/types.js +37 -112
- package/src/index.js +0 -6
- package/src/runtime.js +29 -16
- package/types/agent/tool-bloat.d.ts +1 -1
- package/types/agent/tools/agent-tool.d.ts +4 -2
- package/types/agent/tools/bash.d.ts +5 -3
- package/types/agent/tools/codex-subscription-search.d.ts +7 -3
- package/types/agent/tools/exec.d.ts +5 -3
- package/types/agent/tools/index.d.ts +1 -0
- package/types/agent/tools/monitor.d.ts +47 -0
- package/types/agent/tools/pi-bridge.d.ts +7 -4
- package/types/agent/tools/shared/bash-environment.d.ts +4 -0
- package/types/agent/tools/shared/monitors.d.ts +98 -0
- package/types/agent/tools/shared/process-jobs.d.ts +5 -1
- package/types/agent/tools/shared/process-runner.d.ts +14 -4
- package/types/agent/tools/shared/tool-context.d.ts +2 -0
- package/types/agent/tools/web-access-interstitial.d.ts +23 -0
- package/types/agent/tools/web-browser-render.d.ts +4 -1
- package/types/agent/tools/web-controller.d.ts +4 -2
- package/types/agent/tools/web-document-extractor.d.ts +27 -0
- package/types/agent/tools/web-fetch.d.ts +19 -24
- package/types/agent/tools/web-request.d.ts +20 -0
- package/types/agent/tools/web-search-output.d.ts +31 -0
- package/types/agent/tools/web-search-state.d.ts +21 -0
- package/types/agent/tools/web-search.d.ts +10 -45
- package/types/ai/cost.d.ts +1 -2
- package/types/ai/index.d.ts +2 -4
- package/types/ai/observer.d.ts +6 -0
- package/types/ai/pi-interop.d.ts +81 -0
- package/types/ai/provider-check.d.ts +53 -0
- package/types/ai/providers/codex/app-server-client.d.ts +37 -0
- package/types/ai/providers/pi-native/compaction-driver.d.ts +2 -1
- package/types/ai/providers/pi-native/compaction-summary.d.ts +19 -0
- package/types/ai/providers/pi-native/harness-adapter.d.ts +58 -0
- package/types/ai/providers/pi-native/prompt-cache-diagnostics.d.ts +3 -0
- package/types/ai/providers/pi-native/provider-attribution.d.ts +26 -0
- package/types/ai/providers/pi-native/result-builder.d.ts +14 -4
- package/types/ai/providers/pi-native/session-lifecycle.d.ts +25 -6
- package/types/ai/providers/pi-native/stream-subscriber.d.ts +2 -2
- package/types/ai/providers/pi-native/terminal-recovery.d.ts +2 -0
- package/types/ai/providers/pi-native/turn-runner.d.ts +68 -10
- package/types/ai/providers/pi-native.d.ts +21 -4
- package/types/ai/runtime/capabilities.d.ts +21 -70
- package/types/ai/runtime/live-input-events.d.ts +32 -8
- package/types/ai/runtime/model-refs.d.ts +0 -24
- package/types/ai/runtime/router.d.ts +3 -10
- package/types/ai/runtime/tool-policy.d.ts +0 -2
- package/types/ai/tool-lifecycle.d.ts +4 -3
- package/types/ai/types.d.ts +162 -256
- package/types/index.d.ts +0 -1
- package/src/ai/providers/acp-client.js +0 -1149
- package/src/ai/providers/acp-privacy.js +0 -124
- package/src/ai/providers/acp-public.js +0 -21
- package/src/ai/providers/acp-session-tokens.js +0 -282
- package/src/ai/providers/acp-transport.js +0 -356
- package/src/ai/providers/acp.js +0 -543
- package/src/ai/providers/claude-cli.js +0 -883
- package/src/ai/providers/claude-sandbox.js +0 -71
- package/src/ai/providers/claude-sdk-discovery-worker.js +0 -53
- package/src/ai/providers/claude-sdk-discovery.js +0 -352
- package/src/ai/providers/claude-sdk.js +0 -1127
- package/src/ai/providers/claude-subagent-activity.js +0 -719
- package/src/ai/providers/claude-subagents.js +0 -88
- package/src/ai/providers/codex-app.js +0 -2946
- package/src/ai/providers/opencode-app.js +0 -1109
- package/src/ai/providers/opencode-discovery.js +0 -39
- package/src/ai/providers/opencode-server.js +0 -508
- package/src/ai/runtime/context-windows.js +0 -46
- package/src/ai/runtime/fast-mode.js +0 -8
- package/src/ai/streaming/codex-events.js +0 -146
- package/src/ai/streaming/opencode-events.js +0 -59
- package/types/ai/providers/acp-client.d.ts +0 -227
- package/types/ai/providers/acp-privacy.d.ts +0 -25
- package/types/ai/providers/acp-public.d.ts +0 -7
- package/types/ai/providers/acp-session-tokens.d.ts +0 -41
- package/types/ai/providers/acp-transport.d.ts +0 -45
- package/types/ai/providers/acp.d.ts +0 -93
- package/types/ai/providers/claude-cli.d.ts +0 -305
- package/types/ai/providers/claude-sandbox.d.ts +0 -79
- package/types/ai/providers/claude-sdk-discovery-worker.d.ts +0 -1
- package/types/ai/providers/claude-sdk-discovery.d.ts +0 -97
- package/types/ai/providers/claude-sdk.d.ts +0 -138
- package/types/ai/providers/claude-subagent-activity.d.ts +0 -53
- package/types/ai/providers/claude-subagents.d.ts +0 -18
- package/types/ai/providers/codex-app.d.ts +0 -151
- package/types/ai/providers/opencode-app.d.ts +0 -96
- package/types/ai/providers/opencode-discovery.d.ts +0 -4
- package/types/ai/providers/opencode-server.d.ts +0 -20
- package/types/ai/runtime/context-windows.d.ts +0 -9
- package/types/ai/runtime/fast-mode.d.ts +0 -2
- package/types/ai/streaming/codex-events.d.ts +0 -40
- package/types/ai/streaming/opencode-events.d.ts +0 -42
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { runtimeCapabilities } from "./capabilities.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* `RuntimeModelRef` is referenced inline (not aliased with a top-level
|
|
@@ -20,64 +20,19 @@ import { COMMON_CAPABILITIES, runtimeCapabilities } from "./capabilities.js";
|
|
|
20
20
|
* @property {(options?: Object) => Promise<RuntimeBridge>} load
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
// CLI bridges are checked first when execution_mode='cli'. Without that flag
|
|
24
|
-
// the resolver falls through to the SDK bridges below, preserving the
|
|
25
|
-
// pre-Phase-2 behaviour for any agent that hasn't opted in.
|
|
26
23
|
/** @type {Object<string, BridgeSpec>} */
|
|
27
24
|
const builtinBridgeSpecs = {
|
|
28
|
-
"acp-stdio": {
|
|
29
|
-
id: "acp-stdio",
|
|
30
|
-
supports: (ref, options) => ref?.sdk === "acp" && options?.executionMode === "acp",
|
|
31
|
-
capabilities: () => runtimeCapabilities("acp"),
|
|
32
|
-
load: async () => (await import("../providers/acp.js")).acpRuntimeBridge,
|
|
33
|
-
},
|
|
34
|
-
"claude-code": {
|
|
35
|
-
id: "claude-code",
|
|
36
|
-
supports: (ref, options) => ref?.sdk === "claude" && options?.executionMode === "cli",
|
|
37
|
-
// The claude CLI resumes prior sessions via `--resume <sessionId>`.
|
|
38
|
-
capabilities: () => ({
|
|
39
|
-
kind: "claude-code",
|
|
40
|
-
runtime: "cli",
|
|
41
|
-
...COMMON_CAPABILITIES,
|
|
42
|
-
supports_session_resume: true,
|
|
43
|
-
// The one-shot CLI bridge has no bidirectional stdin steering channel.
|
|
44
|
-
supports_live_input: false,
|
|
45
|
-
}),
|
|
46
|
-
load: async () => (await import("../providers/claude-cli.js")).claudeCodeRuntimeBridge,
|
|
47
|
-
},
|
|
48
|
-
"codex-app": {
|
|
49
|
-
id: "codex-app",
|
|
50
|
-
supports: (ref, options) => ref?.sdk === "codex" && options?.executionMode === "cli",
|
|
51
|
-
// The codex-app bridge keeps the app-server subprocess + thread alive
|
|
52
|
-
// across turns when options.sessionKeepAlive is set.
|
|
53
|
-
capabilities: () => {
|
|
54
|
-
const { kind: _sdkKind, ...capabilities } = runtimeCapabilities("codex");
|
|
55
|
-
return { kind: "codex-app", ...capabilities };
|
|
56
|
-
},
|
|
57
|
-
load: async () => (await import("../providers/codex-app.js")).codexAppRuntimeBridge,
|
|
58
|
-
},
|
|
59
|
-
"opencode-app": {
|
|
60
|
-
id: "opencode-app",
|
|
61
|
-
supports: (ref, options) => ref?.sdk === "opencode" && options?.executionMode === "cli",
|
|
62
|
-
capabilities: () => {
|
|
63
|
-
const { kind: _sdkKind, ...capabilities } = runtimeCapabilities("opencode");
|
|
64
|
-
return { kind: "opencode-app", ...capabilities };
|
|
65
|
-
},
|
|
66
|
-
load: async () => (await import("../providers/opencode-app.js")).opencodeAppRuntimeBridge,
|
|
67
|
-
},
|
|
68
|
-
claude: {
|
|
69
|
-
id: "claude",
|
|
70
|
-
supports: (ref) => ref?.sdk === "claude",
|
|
71
|
-
capabilities: () => runtimeCapabilities("claude"),
|
|
72
|
-
load: async () => (await import("../providers/claude-sdk.js")).claudeRuntimeBridge,
|
|
73
|
-
},
|
|
74
25
|
pi: {
|
|
75
26
|
id: "pi",
|
|
76
|
-
supports: (
|
|
77
|
-
capabilities: () => runtimeCapabilities(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
27
|
+
supports: () => true,
|
|
28
|
+
capabilities: () => runtimeCapabilities(),
|
|
29
|
+
load: async () => {
|
|
30
|
+
const { piNativeRuntimeBridge } = await import("../providers/pi-native.js");
|
|
31
|
+
// JavaScript widens the bridge object's `id` property to string. Keep the
|
|
32
|
+
// literal-safe registry contract here so the Pi provider module remains
|
|
33
|
+
// untouched by this bridge-removal work package.
|
|
34
|
+
return /** @type {RuntimeBridge} */ (piNativeRuntimeBridge);
|
|
35
|
+
},
|
|
81
36
|
},
|
|
82
37
|
};
|
|
83
38
|
|
|
@@ -98,10 +53,21 @@ export function listRuntimeBridges() {
|
|
|
98
53
|
* @returns {Promise<RuntimeBridge>}
|
|
99
54
|
*/
|
|
100
55
|
export async function resolveRuntimeBridge(modelRef, options = {}) {
|
|
56
|
+
// Direct kernel callers may bypass the parser, so malformed references must
|
|
57
|
+
// still fail before the sole bridge receives them.
|
|
58
|
+
if (
|
|
59
|
+
typeof modelRef?.provider !== "string"
|
|
60
|
+
|| modelRef.provider.length === 0
|
|
61
|
+
|| typeof modelRef.model !== "string"
|
|
62
|
+
|| modelRef.model.length === 0
|
|
63
|
+
|| modelRef.reference !== `${modelRef.provider}:${modelRef.model}`
|
|
64
|
+
) {
|
|
65
|
+
throw new Error("unsupported model reference: expected <provider>:<model>");
|
|
66
|
+
}
|
|
101
67
|
for (const spec of Object.values(builtinBridgeSpecs)) {
|
|
102
68
|
if (spec.supports(modelRef, options)) return spec.load(options);
|
|
103
69
|
}
|
|
104
|
-
throw new Error(`unsupported
|
|
70
|
+
throw new Error(`unsupported model reference: ${modelRef.reference}`);
|
|
105
71
|
}
|
|
106
72
|
|
|
107
73
|
export { RUNTIME_CAPABILITIES, runtimeCapabilities } from "./capabilities.js";
|