@mono-agent/agent-runtime 0.20.10 → 0.20.14

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.
Files changed (101) hide show
  1. package/MIGRATION.md +264 -25
  2. package/README.md +139 -448
  3. package/package.json +7 -43
  4. package/src/agent/tools/agent-tool.js +5 -5
  5. package/src/agent/tools/bash.js +1 -24
  6. package/src/agent/tools/codex-subscription-search.js +1 -1
  7. package/src/agent/tools/index.js +7 -0
  8. package/src/agent/tools/monitor.js +140 -0
  9. package/src/agent/tools/pi-bridge.js +92 -7
  10. package/src/agent/tools/shared/bash-environment.js +31 -0
  11. package/src/agent/tools/shared/monitors.js +274 -0
  12. package/src/agent/tools/shared/process-runner.js +23 -5
  13. package/src/ai/cost.js +13 -68
  14. package/src/ai/index.js +4 -17
  15. package/src/ai/pi-interop.js +65 -1
  16. package/src/ai/pi-oauth-compat.js +1 -1
  17. package/src/ai/providers/codex/app-server-client.js +592 -0
  18. package/src/ai/providers/pi-models.js +18 -10
  19. package/src/ai/providers/pi-native/compaction-driver.js +49 -21
  20. package/src/ai/providers/pi-native/harness-adapter.js +338 -0
  21. package/src/ai/providers/pi-native/result-builder.js +10 -10
  22. package/src/ai/providers/pi-native/session-lifecycle.js +95 -40
  23. package/src/ai/providers/pi-native/stream-subscriber.js +23 -5
  24. package/src/ai/providers/pi-native/turn-runner.js +34 -15
  25. package/src/ai/providers/pi-native.js +48 -22
  26. package/src/ai/runtime/capabilities.js +11 -56
  27. package/src/ai/runtime/model-refs.js +118 -153
  28. package/src/ai/runtime/registry.js +22 -56
  29. package/src/ai/runtime/router.js +48 -408
  30. package/src/ai/runtime/session-liveness.js +3 -4
  31. package/src/ai/runtime/sessions.js +4 -5
  32. package/src/ai/runtime/tool-policy.js +0 -2
  33. package/src/ai/types.js +12 -108
  34. package/src/index.js +0 -6
  35. package/src/runtime.js +8 -14
  36. package/types/agent/tools/agent-tool.d.ts +1 -2
  37. package/types/agent/tools/codex-subscription-search.d.ts +1 -1
  38. package/types/agent/tools/index.d.ts +1 -0
  39. package/types/agent/tools/monitor.d.ts +44 -0
  40. package/types/agent/tools/pi-bridge.d.ts +3 -2
  41. package/types/agent/tools/shared/bash-environment.d.ts +4 -0
  42. package/types/agent/tools/shared/monitors.d.ts +83 -0
  43. package/types/agent/tools/shared/process-runner.d.ts +11 -2
  44. package/types/ai/cost.d.ts +1 -2
  45. package/types/ai/index.d.ts +1 -4
  46. package/types/ai/pi-interop.d.ts +20 -0
  47. package/types/ai/providers/codex/app-server-client.d.ts +37 -0
  48. package/types/ai/providers/pi-native/harness-adapter.d.ts +56 -0
  49. package/types/ai/providers/pi-native/result-builder.d.ts +3 -3
  50. package/types/ai/providers/pi-native/session-lifecycle.d.ts +2 -1
  51. package/types/ai/providers/pi-native/stream-subscriber.d.ts +2 -2
  52. package/types/ai/providers/pi-native/turn-runner.d.ts +33 -6
  53. package/types/ai/providers/pi-native.d.ts +21 -4
  54. package/types/ai/runtime/capabilities.d.ts +21 -70
  55. package/types/ai/runtime/model-refs.d.ts +0 -24
  56. package/types/ai/runtime/router.d.ts +3 -10
  57. package/types/ai/runtime/tool-policy.d.ts +0 -2
  58. package/types/ai/types.d.ts +28 -250
  59. package/types/index.d.ts +0 -1
  60. package/src/ai/providers/acp-client.js +0 -1149
  61. package/src/ai/providers/acp-privacy.js +0 -124
  62. package/src/ai/providers/acp-public.js +0 -21
  63. package/src/ai/providers/acp-session-tokens.js +0 -282
  64. package/src/ai/providers/acp-transport.js +0 -356
  65. package/src/ai/providers/acp.js +0 -543
  66. package/src/ai/providers/claude-cli.js +0 -883
  67. package/src/ai/providers/claude-sandbox.js +0 -71
  68. package/src/ai/providers/claude-sdk-discovery-worker.js +0 -53
  69. package/src/ai/providers/claude-sdk-discovery.js +0 -352
  70. package/src/ai/providers/claude-sdk.js +0 -1127
  71. package/src/ai/providers/claude-subagent-activity.js +0 -719
  72. package/src/ai/providers/claude-subagents.js +0 -88
  73. package/src/ai/providers/codex-app.js +0 -2946
  74. package/src/ai/providers/opencode-app.js +0 -1109
  75. package/src/ai/providers/opencode-discovery.js +0 -39
  76. package/src/ai/providers/opencode-server.js +0 -508
  77. package/src/ai/runtime/context-windows.js +0 -46
  78. package/src/ai/runtime/fast-mode.js +0 -8
  79. package/src/ai/streaming/codex-events.js +0 -146
  80. package/src/ai/streaming/opencode-events.js +0 -59
  81. package/types/ai/providers/acp-client.d.ts +0 -227
  82. package/types/ai/providers/acp-privacy.d.ts +0 -25
  83. package/types/ai/providers/acp-public.d.ts +0 -7
  84. package/types/ai/providers/acp-session-tokens.d.ts +0 -41
  85. package/types/ai/providers/acp-transport.d.ts +0 -45
  86. package/types/ai/providers/acp.d.ts +0 -93
  87. package/types/ai/providers/claude-cli.d.ts +0 -305
  88. package/types/ai/providers/claude-sandbox.d.ts +0 -79
  89. package/types/ai/providers/claude-sdk-discovery-worker.d.ts +0 -1
  90. package/types/ai/providers/claude-sdk-discovery.d.ts +0 -97
  91. package/types/ai/providers/claude-sdk.d.ts +0 -138
  92. package/types/ai/providers/claude-subagent-activity.d.ts +0 -53
  93. package/types/ai/providers/claude-subagents.d.ts +0 -18
  94. package/types/ai/providers/codex-app.d.ts +0 -151
  95. package/types/ai/providers/opencode-app.d.ts +0 -96
  96. package/types/ai/providers/opencode-discovery.d.ts +0 -4
  97. package/types/ai/providers/opencode-server.d.ts +0 -20
  98. package/types/ai/runtime/context-windows.d.ts +0 -9
  99. package/types/ai/runtime/fast-mode.d.ts +0 -2
  100. package/types/ai/streaming/codex-events.d.ts +0 -40
  101. package/types/ai/streaming/opencode-events.d.ts +0 -42
@@ -1,88 +0,0 @@
1
- function hasNativeClaudeSubagents(nativeSubagents) {
2
- return nativeSubagents?.provider === "claude"
3
- && Array.isArray(nativeSubagents.teammates)
4
- && nativeSubagents.teammates.length > 0;
5
- }
6
-
7
- function claudeSubagentModelAlias(teammate) {
8
- const raw = [
9
- teammate?.modelRef,
10
- teammate?.model?.reference,
11
- teammate?.model?.model,
12
- ].filter(Boolean).join(" ").toLowerCase();
13
- if (raw.includes("opus")) return "opus";
14
- if (raw.includes("haiku")) return "haiku";
15
- if (raw.includes("sonnet")) return "sonnet";
16
- return "inherit";
17
- }
18
-
19
- function claudeSubagentMcpServers(mcpServers = {}) {
20
- const servers = [];
21
- for (const [name, server] of Object.entries(mcpServers || {})) {
22
- if (!server || typeof server !== "object") continue;
23
- servers.push({ [name]: server });
24
- }
25
- return servers;
26
- }
27
-
28
- function cleanList(values = []) {
29
- return Array.from(new Set((Array.isArray(values) ? values : [])
30
- .map((value) => String(value || "").trim())
31
- .filter(Boolean)));
32
- }
33
-
34
- function withTaskTool(tools) {
35
- if (!Array.isArray(tools) || !tools.length) return tools;
36
- return cleanList([...tools, "Task"]);
37
- }
38
-
39
- export function claudeNativeAgentDefinitions(nativeSubagents) {
40
- if (!hasNativeClaudeSubagents(nativeSubagents)) return null;
41
- const definitions = {};
42
- for (const teammate of nativeSubagents.teammates) {
43
- const name = String(teammate?.name || "").trim();
44
- const prompt = String(teammate?.helperSystemPrompt || teammate?.instructions || "").trim();
45
- if (!name || !prompt) continue;
46
- const definition = {
47
- description: String(teammate.description || teammate.displayName || name),
48
- prompt,
49
- };
50
- const tools = cleanList(teammate.allowedTools);
51
- if (tools.length) definition.tools = tools;
52
- const disallowedTools = cleanList(teammate.disallowedTools);
53
- if (disallowedTools.length) definition.disallowedTools = disallowedTools;
54
- const model = claudeSubagentModelAlias(teammate);
55
- if (model) definition.model = model;
56
- const mcpServers = claudeSubagentMcpServers(teammate.mcpServers);
57
- if (mcpServers.length) definition.mcpServers = mcpServers;
58
- definitions[name] = definition;
59
- }
60
- return Object.keys(definitions).length ? definitions : null;
61
- }
62
-
63
- export function claudeToolsWithNativeSubagents(allowedTools, nativeSubagents) {
64
- return claudeNativeAgentDefinitions(nativeSubagents)
65
- ? withTaskTool(allowedTools)
66
- : allowedTools;
67
- }
68
-
69
- /**
70
- * Resolve the effective allowed-tools list for the Claude bridges, honoring the
71
- * `"*"` allow-all sentinel. Returns `{ allowAll, tools }` where `tools` is the
72
- * native-subagent-composed list with any bare `"*"` stripped, so a literal `"*"`
73
- * never reaches a CLI flag value or the SDK `query()`. When `allowAll` is true
74
- * the caller MUST defer to Claude's default toolset (omit `--tools` / pass
75
- * `allowedTools: undefined`) rather than pass `tools` as the tool set — the
76
- * default already carries every tool, incl. `Task`, so it is not double-added.
77
- * @param {any} allowedTools
78
- * @param {any} nativeSubagents
79
- * @returns {{allowAll: boolean, tools: any}}
80
- */
81
- export function resolveClaudeAllowedTools(allowedTools, nativeSubagents) {
82
- const composed = claudeToolsWithNativeSubagents(allowedTools, nativeSubagents);
83
- const allowAll = Array.isArray(composed) && composed.includes("*");
84
- const tools = Array.isArray(composed)
85
- ? composed.filter((tool) => tool !== "*")
86
- : composed;
87
- return { allowAll, tools };
88
- }