@qduc/term2 0.24.1 → 0.25.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.
Files changed (215) hide show
  1. package/dist/agent.d.ts +3 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +2 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts +10 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +33 -6
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +43 -1
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/mcp-login-command.d.ts +24 -0
  12. package/dist/commands/mcp-login-command.d.ts.map +1 -0
  13. package/dist/commands/mcp-login-command.js +65 -0
  14. package/dist/commands/mcp-login-command.js.map +1 -0
  15. package/dist/commands/mcp-status-command.d.ts +19 -0
  16. package/dist/commands/mcp-status-command.d.ts.map +1 -0
  17. package/dist/commands/mcp-status-command.js +19 -0
  18. package/dist/commands/mcp-status-command.js.map +1 -0
  19. package/dist/components/input/ApplicationInputSurface.d.ts +4 -0
  20. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  21. package/dist/components/input/ApplicationInputSurface.js +2 -0
  22. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  23. package/dist/components/input/McpMenuSession.d.ts +9 -0
  24. package/dist/components/input/McpMenuSession.d.ts.map +1 -0
  25. package/dist/components/input/McpMenuSession.js +370 -0
  26. package/dist/components/input/McpMenuSession.js.map +1 -0
  27. package/dist/components/input/mcp-intent-host.d.ts +10 -0
  28. package/dist/components/input/mcp-intent-host.d.ts.map +1 -0
  29. package/dist/components/input/mcp-intent-host.js +31 -0
  30. package/dist/components/input/mcp-intent-host.js.map +1 -0
  31. package/dist/components/input/menu-controller.d.ts.map +1 -1
  32. package/dist/components/input/menu-controller.js +8 -5
  33. package/dist/components/input/menu-controller.js.map +1 -1
  34. package/dist/components/input/menu-registry.d.ts.map +1 -1
  35. package/dist/components/input/menu-registry.js +2 -0
  36. package/dist/components/input/menu-registry.js.map +1 -1
  37. package/dist/components/input/menu-types.d.ts +22 -1
  38. package/dist/components/input/menu-types.d.ts.map +1 -1
  39. package/dist/components/layout/BottomArea.d.ts +6 -1
  40. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  41. package/dist/components/layout/BottomArea.js +9 -6
  42. package/dist/components/layout/BottomArea.js.map +1 -1
  43. package/dist/components/menu/McpSelectionMenu.d.ts +15 -0
  44. package/dist/components/menu/McpSelectionMenu.d.ts.map +1 -0
  45. package/dist/components/menu/McpSelectionMenu.js +19 -0
  46. package/dist/components/menu/McpSelectionMenu.js.map +1 -0
  47. package/dist/components/message/command-message-helpers.d.ts +2 -2
  48. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  49. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  50. package/dist/components/prompt/ApprovalPrompt.js +3 -0
  51. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  52. package/dist/contracts/conversation.d.ts +2 -0
  53. package/dist/contracts/conversation.d.ts.map +1 -1
  54. package/dist/contracts/conversation.js.map +1 -1
  55. package/dist/hooks/conversation-ui-reducer.d.ts +1 -1
  56. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  57. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  58. package/dist/hooks/settings-completion-config.js +1 -0
  59. package/dist/hooks/settings-completion-config.js.map +1 -1
  60. package/dist/hooks/use-app-commands.d.ts +9 -1
  61. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  62. package/dist/hooks/use-app-commands.js +14 -1
  63. package/dist/hooks/use-app-commands.js.map +1 -1
  64. package/dist/hooks/use-conversation.d.ts +1 -1
  65. package/dist/hooks/use-mcp-notices.d.ts +10 -0
  66. package/dist/hooks/use-mcp-notices.d.ts.map +1 -0
  67. package/dist/hooks/use-mcp-notices.js +47 -0
  68. package/dist/hooks/use-mcp-notices.js.map +1 -0
  69. package/dist/hooks/use-settings-value-completion.d.ts +3 -2
  70. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  71. package/dist/hooks/use-settings-value-completion.js +21 -3
  72. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  73. package/dist/hooks/use-shell-mode.d.ts +1 -0
  74. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  75. package/dist/hooks/use-shell-mode.js +1 -0
  76. package/dist/hooks/use-shell-mode.js.map +1 -1
  77. package/dist/lib/agent-client.d.ts +1 -0
  78. package/dist/lib/agent-client.d.ts.map +1 -1
  79. package/dist/lib/agent-client.js +2 -0
  80. package/dist/lib/agent-client.js.map +1 -1
  81. package/dist/lib/agent-configuration.d.ts +4 -0
  82. package/dist/lib/agent-configuration.d.ts.map +1 -1
  83. package/dist/lib/agent-configuration.js +8 -0
  84. package/dist/lib/agent-configuration.js.map +1 -1
  85. package/dist/lib/agent-factory.d.ts +2 -0
  86. package/dist/lib/agent-factory.d.ts.map +1 -1
  87. package/dist/lib/agent-factory.js +1 -0
  88. package/dist/lib/agent-factory.js.map +1 -1
  89. package/dist/lib/oauth-loopback.d.ts +79 -0
  90. package/dist/lib/oauth-loopback.d.ts.map +1 -0
  91. package/dist/lib/oauth-loopback.js +221 -0
  92. package/dist/lib/oauth-loopback.js.map +1 -0
  93. package/dist/non-interactive.d.ts +2 -0
  94. package/dist/non-interactive.d.ts.map +1 -1
  95. package/dist/non-interactive.js +19 -0
  96. package/dist/non-interactive.js.map +1 -1
  97. package/dist/providers/oauth-pkce.d.ts +5 -1
  98. package/dist/providers/oauth-pkce.d.ts.map +1 -1
  99. package/dist/providers/oauth-pkce.js +28 -208
  100. package/dist/providers/oauth-pkce.js.map +1 -1
  101. package/dist/providers/openrouter-decisions.d.ts +15 -0
  102. package/dist/providers/openrouter-decisions.d.ts.map +1 -0
  103. package/dist/providers/openrouter-decisions.js +25 -0
  104. package/dist/providers/openrouter-decisions.js.map +1 -0
  105. package/dist/services/approval/decision-shadow.d.ts +15 -0
  106. package/dist/services/approval/decision-shadow.d.ts.map +1 -0
  107. package/dist/services/approval/decision-shadow.js +77 -0
  108. package/dist/services/approval/decision-shadow.js.map +1 -0
  109. package/dist/services/approval/non-interactive-approval-policy.d.ts +5 -0
  110. package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
  111. package/dist/services/approval/non-interactive-approval-policy.js +14 -0
  112. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  113. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  114. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  115. package/dist/services/approval/shell-auto-approval-evaluator.js +80 -4
  116. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  117. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  118. package/dist/services/conversation/conversation-orchestrator.js +16 -2
  119. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  120. package/dist/services/conversation/conversation-orchestrator.types.d.ts +1 -1
  121. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  122. package/dist/services/mcp/mcp-config-controller.d.ts +32 -0
  123. package/dist/services/mcp/mcp-config-controller.d.ts.map +1 -0
  124. package/dist/services/mcp/mcp-config-controller.js +89 -0
  125. package/dist/services/mcp/mcp-config-controller.js.map +1 -0
  126. package/dist/services/mcp/mcp-config.d.ts +61 -0
  127. package/dist/services/mcp/mcp-config.d.ts.map +1 -0
  128. package/dist/services/mcp/mcp-config.js +232 -0
  129. package/dist/services/mcp/mcp-config.js.map +1 -0
  130. package/dist/services/mcp/mcp-connection-manager.d.ts +126 -0
  131. package/dist/services/mcp/mcp-connection-manager.d.ts.map +1 -0
  132. package/dist/services/mcp/mcp-connection-manager.js +488 -0
  133. package/dist/services/mcp/mcp-connection-manager.js.map +1 -0
  134. package/dist/services/mcp/mcp-oauth-login.d.ts +79 -0
  135. package/dist/services/mcp/mcp-oauth-login.d.ts.map +1 -0
  136. package/dist/services/mcp/mcp-oauth-login.js +126 -0
  137. package/dist/services/mcp/mcp-oauth-login.js.map +1 -0
  138. package/dist/services/mcp/mcp-oauth-provider.d.ts +77 -0
  139. package/dist/services/mcp/mcp-oauth-provider.d.ts.map +1 -0
  140. package/dist/services/mcp/mcp-oauth-provider.js +121 -0
  141. package/dist/services/mcp/mcp-oauth-provider.js.map +1 -0
  142. package/dist/services/mcp/mcp-oauth-store.d.ts +106 -0
  143. package/dist/services/mcp/mcp-oauth-store.d.ts.map +1 -0
  144. package/dist/services/mcp/mcp-oauth-store.js +278 -0
  145. package/dist/services/mcp/mcp-oauth-store.js.map +1 -0
  146. package/dist/services/mcp/mcp-status.d.ts +41 -0
  147. package/dist/services/mcp/mcp-status.d.ts.map +1 -0
  148. package/dist/services/mcp/mcp-status.js +69 -0
  149. package/dist/services/mcp/mcp-status.js.map +1 -0
  150. package/dist/services/mcp/mcp-stdio-launcher.d.ts +26 -0
  151. package/dist/services/mcp/mcp-stdio-launcher.d.ts.map +1 -0
  152. package/dist/services/mcp/mcp-stdio-launcher.js +8 -0
  153. package/dist/services/mcp/mcp-stdio-launcher.js.map +1 -0
  154. package/dist/services/mcp/mcp-tool-source.d.ts +77 -0
  155. package/dist/services/mcp/mcp-tool-source.d.ts.map +1 -0
  156. package/dist/services/mcp/mcp-tool-source.js +10 -0
  157. package/dist/services/mcp/mcp-tool-source.js.map +1 -0
  158. package/dist/services/mcp/test-fixtures/fake-authorization-server.d.ts +25 -0
  159. package/dist/services/mcp/test-fixtures/fake-authorization-server.d.ts.map +1 -0
  160. package/dist/services/mcp/test-fixtures/fake-authorization-server.js +147 -0
  161. package/dist/services/mcp/test-fixtures/fake-authorization-server.js.map +1 -0
  162. package/dist/services/mcp/test-fixtures/protected-mcp-server.d.ts +29 -0
  163. package/dist/services/mcp/test-fixtures/protected-mcp-server.d.ts.map +1 -0
  164. package/dist/services/mcp/test-fixtures/protected-mcp-server.js +87 -0
  165. package/dist/services/mcp/test-fixtures/protected-mcp-server.js.map +1 -0
  166. package/dist/services/mcp/turn-stable-mcp-tool-source.d.ts +19 -0
  167. package/dist/services/mcp/turn-stable-mcp-tool-source.d.ts.map +1 -0
  168. package/dist/services/mcp/turn-stable-mcp-tool-source.js +37 -0
  169. package/dist/services/mcp/turn-stable-mcp-tool-source.js.map +1 -0
  170. package/dist/services/models/decision-model-listing.d.ts +26 -0
  171. package/dist/services/models/decision-model-listing.d.ts.map +1 -0
  172. package/dist/services/models/decision-model-listing.js +61 -0
  173. package/dist/services/models/decision-model-listing.js.map +1 -0
  174. package/dist/services/profiles/registry.d.ts +1 -1
  175. package/dist/services/profiles/registry.d.ts.map +1 -1
  176. package/dist/services/profiles/registry.js +2 -1
  177. package/dist/services/profiles/registry.js.map +1 -1
  178. package/dist/services/settings/settings-schema.d.ts +4 -0
  179. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  180. package/dist/services/settings/settings-schema.js +8 -0
  181. package/dist/services/settings/settings-schema.js.map +1 -1
  182. package/dist/services/settings/settings-sources.d.ts +2 -0
  183. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  184. package/dist/services/settings/settings-sources.js +2 -0
  185. package/dist/services/settings/settings-sources.js.map +1 -1
  186. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
  187. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  188. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +1 -0
  189. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  190. package/dist/services/shell/shell-interaction-session.d.ts +2 -0
  191. package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
  192. package/dist/services/shell/shell-interaction-session.js +11 -2
  193. package/dist/services/shell/shell-interaction-session.js.map +1 -1
  194. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  195. package/dist/tools/system/run-code/mcp-script-surface.d.ts +28 -0
  196. package/dist/tools/system/run-code/mcp-script-surface.d.ts.map +1 -0
  197. package/dist/tools/system/run-code/mcp-script-surface.js +165 -0
  198. package/dist/tools/system/run-code/mcp-script-surface.js.map +1 -0
  199. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  200. package/dist/tools/system/run-code/run-code-runtime.js +13 -1
  201. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  202. package/dist/tools/system/run-code/run-code.d.ts +3 -0
  203. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  204. package/dist/tools/system/run-code/run-code.js +32 -4
  205. package/dist/tools/system/run-code/run-code.js.map +1 -1
  206. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  207. package/dist/utils/conversation/conversation-utils.d.ts +1 -5
  208. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  209. package/dist/utils/conversation/conversation-utils.js +4 -1
  210. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  211. package/dist/utils/value-suggestions.d.ts +14 -0
  212. package/dist/utils/value-suggestions.d.ts.map +1 -1
  213. package/dist/utils/value-suggestions.js +31 -0
  214. package/dist/utils/value-suggestions.js.map +1 -1
  215. package/package.json +3 -1
@@ -0,0 +1,165 @@
1
+ import { McpCallError, } from '../../../services/mcp/mcp-tool-source.js';
2
+ import { renderCompactSignature } from './tools-header.js';
3
+ export const MCP_TOOL_BINDING = Symbol('term2.mcpToolBinding');
4
+ const MAX_DESCRIPTION_CHARS = 2000;
5
+ /**
6
+ * Cuts an over-long description and says so. Without the marker a clipped
7
+ * description is byte-for-byte indistinguishable from a complete one, so the
8
+ * model cannot tell that a tool's usage notes stop mid-sentence.
9
+ */
10
+ const clampWithMarker = (value, limit) => value.length <= limit ? value : `${value.slice(0, limit)}… [truncated]`;
11
+ const clampOneLine = (value, limit) => {
12
+ const compact = value.replace(/\s+/g, ' ').trim();
13
+ return compact.length <= limit ? compact : compact.slice(0, limit);
14
+ };
15
+ const noopFormatter = (() => []);
16
+ /** The only names MCP may contribute to the flat `tools` namespace. */
17
+ export const mcpMemberName = (server, tool) => {
18
+ const raw = `${server}__${tool}`.replace(/[^A-Za-z0-9_$]/g, '_');
19
+ return /^[0-9]/.test(raw) ? `_${raw}` : raw;
20
+ };
21
+ const isObjectSchema = (schema) => schema.type === undefined || schema.type === 'object';
22
+ const primitiveMatches = (value, type) => {
23
+ if (type === undefined)
24
+ return true;
25
+ if (Array.isArray(type))
26
+ return type.some((entry) => primitiveMatches(value, entry));
27
+ if (type === 'null')
28
+ return value === null;
29
+ if (type === 'array')
30
+ return Array.isArray(value);
31
+ if (type === 'object')
32
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
33
+ if (type === 'integer')
34
+ return typeof value === 'number' && Number.isInteger(value);
35
+ if (type === 'number')
36
+ return typeof value === 'number' && Number.isFinite(value);
37
+ return typeof value === type;
38
+ };
39
+ /** Boundary validation without adding a JSON Schema dependency. */
40
+ export const validateMcpArguments = (schema, value) => {
41
+ if (!isObjectSchema(schema))
42
+ return 'arguments must satisfy an object-root JSON Schema';
43
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
44
+ return 'arguments must be an object';
45
+ const record = value;
46
+ const required = Array.isArray(schema.required) ? schema.required : [];
47
+ for (const key of required)
48
+ if (typeof key === 'string' && !Object.prototype.hasOwnProperty.call(record, key))
49
+ return `missing required property "${key}"`;
50
+ const properties = schema.properties;
51
+ if (properties && typeof properties === 'object') {
52
+ for (const [key, property] of Object.entries(properties)) {
53
+ if (Object.prototype.hasOwnProperty.call(record, key) &&
54
+ property &&
55
+ typeof property === 'object' &&
56
+ !primitiveMatches(record[key], property.type)) {
57
+ return `property "${key}" must be ${String(property.type)}`;
58
+ }
59
+ }
60
+ }
61
+ return null;
62
+ };
63
+ export const describeMcpTool = (binding) => ({
64
+ name: mcpMemberName(binding.server, binding.tool),
65
+ server: binding.server,
66
+ tool: binding.tool,
67
+ signature: renderCompactSignature({
68
+ name: mcpMemberName(binding.server, binding.tool),
69
+ parameters: binding.descriptor.inputSchema,
70
+ }),
71
+ description: `[server-provided text] ${clampWithMarker(binding.descriptor.description ?? '', MAX_DESCRIPTION_CHARS)}`,
72
+ parameters: binding.descriptor.inputSchema,
73
+ ...(binding.descriptor.outputSchema ? { outputSchema: binding.descriptor.outputSchema } : {}),
74
+ });
75
+ export const isMcpToolDefinition = (tool) => tool[MCP_TOOL_BINDING] !== undefined;
76
+ export const createMcpCatalog = (source, builtInNames) => {
77
+ const snapshots = source.snapshot();
78
+ const candidates = [];
79
+ const collisions = [];
80
+ const seen = new Map();
81
+ for (const server of snapshots) {
82
+ if (server.state !== 'ready')
83
+ continue;
84
+ for (const descriptor of server.tools) {
85
+ const member = mcpMemberName(server.name, descriptor.name);
86
+ const previous = seen.get(member);
87
+ if (builtInNames.has(member) || previous) {
88
+ collisions.push(`${server.name}/${descriptor.name} -> ${member} collides with ${previous ?? 'built-in tool'}`);
89
+ if (previous) {
90
+ const index = candidates.findIndex((candidate) => candidate.name === member);
91
+ if (index >= 0)
92
+ candidates.splice(index, 1);
93
+ }
94
+ seen.set(member, `${server.name}/${descriptor.name}`);
95
+ continue;
96
+ }
97
+ seen.set(member, `${server.name}/${descriptor.name}`);
98
+ const binding = {
99
+ [MCP_TOOL_BINDING]: true,
100
+ source,
101
+ server: server.name,
102
+ tool: descriptor.name,
103
+ descriptor,
104
+ };
105
+ candidates.push({
106
+ name: member,
107
+ description: `MCP tool ${server.name}/${descriptor.name}`,
108
+ parameters: descriptor.inputSchema,
109
+ effect: descriptor.annotations?.readOnlyHint === true ? undefined : 'mutating',
110
+ needsApproval: () => true,
111
+ execute: async (args, context) => {
112
+ try {
113
+ const result = await source.callTool(server.name, descriptor.name, args, {
114
+ signal: context?.signal ?? new AbortController().signal,
115
+ });
116
+ if (result.isError)
117
+ throw new Error(mcpTextResult(result.content));
118
+ if (result.structuredContent !== undefined)
119
+ return result.structuredContent;
120
+ return mcpTextResult(result.content);
121
+ }
122
+ catch (error) {
123
+ if (error instanceof McpCallError)
124
+ throw new Error(`[${error.code}] ${error.message}`);
125
+ throw error;
126
+ }
127
+ },
128
+ formatCommandMessage: noopFormatter,
129
+ [MCP_TOOL_BINDING]: binding,
130
+ });
131
+ }
132
+ }
133
+ return { snapshots, tools: candidates, collisions };
134
+ };
135
+ export const mcpTextResult = (content) => content
136
+ .map((block) => {
137
+ if (block && typeof block === 'object' && block.type === 'text') {
138
+ return typeof block.text === 'string' ? block.text : '';
139
+ }
140
+ return `[${String(block?.type ?? 'unknown')} content omitted]`;
141
+ })
142
+ .join('\n');
143
+ export const renderMcpCatalog = (catalog) => {
144
+ if (catalog.snapshots.length === 0)
145
+ return '';
146
+ const lines = ['MCP tools (script-only; use tools.describe("<member>") for server-provided schema):'];
147
+ for (const server of catalog.snapshots) {
148
+ const members = catalog.tools
149
+ .filter((tool) => tool[MCP_TOOL_BINDING].server === server.name)
150
+ .map((tool) => clampOneLine(tool.name, 80));
151
+ const serverName = clampOneLine(server.name, 80);
152
+ // `needs-auth` carries the login instruction, so it is shown for the same
153
+ // reason a failure is: without it the model only sees an unusable server.
154
+ const error = (server.state === 'failed' || server.state === 'needs-auth') && server.error
155
+ ? ` — [server-provided error] ${clampOneLine(server.error, 160)}`
156
+ : '';
157
+ lines.push(`- ${serverName}: ${server.state}, ${server.tools.length} tool${server.tools.length === 1 ? '' : 's'}${error}`);
158
+ if (members.length)
159
+ lines.push(` members: ${members.join(', ')}`);
160
+ }
161
+ for (const collision of catalog.collisions)
162
+ lines.push(`- collision: ${clampOneLine(collision, 160)}`);
163
+ return lines.join('\n');
164
+ };
165
+ //# sourceMappingURL=mcp-script-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-script-surface.js","sourceRoot":"","sources":["../../../../source/tools/system/run-code/mcp-script-surface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-code-runtime.d.ts","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-code-runtime.d.ts","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code-runtime.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { resolveOutsideWorkspaceEdit } from '../../../services/approval/approval
8
8
  import { normalizeToolParameters } from '../../../lib/tool-invoke.js';
9
9
  import { isZodToolParameterSchema } from '../../types.js';
10
10
  import { renderCompactSignature } from './tools-header.js';
11
+ import { MCP_TOOL_BINDING, describeMcpTool, isMcpToolDefinition, validateMcpArguments } from './mcp-script-surface.js';
11
12
  import { getScriptedReturnContract, scriptedReturnContractJsonSchema, validateScriptedReturn, } from '../../scripted-return-contract.js';
12
13
  import { WORKFLOW_PROHIBITED_TOOLS } from '../../../services/agent-runtime/workflow/workflow-evaluator.js';
13
14
  import { resolveWorkspacePath, resolveWorkspacePathPhysically } from '../../utils.js';
@@ -475,7 +476,10 @@ export function createRunCodeRuntime(options) {
475
476
  return failed(`Unknown tool "${payload.params}". Available: ${registry.map((entry) => entry.name).join(', ')}`);
476
477
  }
477
478
  record(name, 'describe', started);
478
- return { kind: 'result', result: { ok: true, result: describeTool(described) } };
479
+ const describedValue = isMcpToolDefinition(described)
480
+ ? describeMcpTool(described[MCP_TOOL_BINDING])
481
+ : describeTool(described);
482
+ return { kind: 'result', result: { ok: true, result: describedValue } };
479
483
  }
480
484
  if (!tool) {
481
485
  record(name || '(unnamed)', 'unknown_tool', started, undefined, undefined, 'unknown_tool');
@@ -487,6 +491,13 @@ export function createRunCodeRuntime(options) {
487
491
  }
488
492
  const targetSchema = tool.canonicalParameters ?? tool.parameters;
489
493
  let normalized = payload.params ?? {};
494
+ if (isMcpToolDefinition(tool)) {
495
+ const validationError = validateMcpArguments(tool[MCP_TOOL_BINDING].descriptor.inputSchema, normalized);
496
+ if (validationError) {
497
+ record(name, 'invalid_params', started, undefined, undefined, 'invalid_nested_input');
498
+ return failed(`Invalid parameters for "${name}": ${validationError}`);
499
+ }
500
+ }
490
501
  try {
491
502
  normalized = normalizeToolParameters(normalized, targetSchema);
492
503
  }
@@ -557,6 +568,7 @@ export function createRunCodeRuntime(options) {
557
568
  argumentsText: JSON.stringify(prepared.params),
558
569
  rawInterruption: null,
559
570
  callId,
571
+ workspaceRoot: prepared.authorityRoot,
560
572
  outsideWorkspaceEdit: resolveOutsideWorkspaceEdit(prepared.tool.name, prepared.params, prepared.authorityRoot),
561
573
  },
562
574
  signal: nestedContext.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"run-code-runtime.js","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-code-runtime.js","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code-runtime.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { ILoggingService } from '../../../services/service-interfaces.js';
4
4
  import type { ToolApprovalPolicyRegistry } from '../../../services/approval/tool-approval-policy-registry.js';
5
5
  import type { NestedApprovalOwner } from '../../../services/approval/nested-approval-owner.js';
6
6
  import { type FormatCommandMessage, type SchemaToolDefinition, type ToolRegistry } from '../../types.js';
7
+ import type { McpToolSource } from '../../../services/mcp/mcp-tool-source.js';
7
8
  import { RUN_CODE_EXECUTION_RESULT, type RunCodeExecution } from './run-code-execution.js';
8
9
  export { RUN_CODE_EXECUTION_RESULT, getRunCodeExecutionResult } from './run-code-execution.js';
9
10
  export { RUN_CODE_LIMITS, RUN_CODE_PROHIBITED_TOOLS, TOOL_NAME_DESCRIBE, TOOL_NAME_RUN_CODE, isDirectlyCallable, } from './run-code-runtime.js';
@@ -41,6 +42,8 @@ export interface CreateRunCodeToolOptions {
41
42
  nestedApprovalOwner?: NestedApprovalOwner;
42
43
  sessionAccess?: import('../../../services/session/session-access-state.js').SessionAccessState;
43
44
  nestedCompatibility?: import('../../../services/session/nested-tool-compatibility-state.js').NestedToolCompatibilityState;
45
+ /** Script-only MCP source; its tools are intentionally absent from the root registry. */
46
+ mcpToolSource?: McpToolSource;
44
47
  }
45
48
  /** Installs the wrapped registry into any `run_code` definition in `tools`. */
46
49
  export declare function bindRunCodeRegistry(tools: ToolRegistry): void;
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY3F,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA8CpH;;;;GAIG;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBA2BlC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAgCpE,MAAM,MAAM,sBAAsB,GAC9B,CAAC,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,GACrE,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAgB7F,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,eAAe,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,YAAY,CAAC;IACrC,0DAA0D;IAC1D,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,mDAAmD,EAAE,kBAAkB,CAAC;IAC/F,mBAAmB,CAAC,EAAE,OAAO,8DAA8D,EAAE,4BAA4B,CAAC;CAC3H;AAiBD,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI7D;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAIpG;AA0DD,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAsCpC,eAAO,MAAM,2BAA2B,EAAE,oBAmBzC,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,wBAAwB,GAChC,oBAAoB,CAAC,OAAO,uBAAuB,CAAC,CAqEtD"}
1
+ {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AAC9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAUxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAa3F,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA8CpH;;;;GAIG;AAEH,eAAO,MAAM,uBAAuB;;;;;;iBA2BlC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAgCpE,MAAM,MAAM,sBAAsB,GAC9B,CAAC,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,GACrE,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAgB7F,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,eAAe,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,YAAY,CAAC;IACrC,0DAA0D;IAC1D,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,mDAAmD,EAAE,kBAAkB,CAAC;IAC/F,mBAAmB,CAAC,EAAE,OAAO,8DAA8D,EAAE,4BAA4B,CAAC;IAC1H,yFAAyF;IACzF,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAiBD,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI7D;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAIpG;AA0DD,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAsCpC,eAAO,MAAM,2BAA2B,EAAE,oBAmBzC,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,wBAAwB,GAChC,oBAAoB,CAAC,OAAO,uBAAuB,CAAC,CAkGtD"}
@@ -2,9 +2,10 @@ import { z } from 'zod';
2
2
  import { relaxedNumber } from '../../utils.js';
3
3
  import { createBaseMessage, getCallIdFromItem, getOutputText, isSuccessOutput, normalizeToolArguments, } from '../../format-helpers.js';
4
4
  import { renderToolsHeader } from './tools-header.js';
5
+ import { createMcpCatalog, isMcpToolDefinition, renderMcpCatalog } from './mcp-script-surface.js';
5
6
  import { RUN_CODE_EXECUTION_RESULT } from './run-code-execution.js';
6
7
  import { formatFullOutputSavedNote, saveOutputArtifact } from '../../../utils/shell/shell-output.js';
7
- import { RUN_CODE_LIMITS, RUN_CODE_PROHIBITED_TOOLS, TOOL_NAME_RUN_CODE, createRunCodeRuntime, } from './run-code-runtime.js';
8
+ import { RUN_CODE_LIMITS, RUN_CODE_PROHIBITED_TOOLS, TOOL_NAME_DESCRIBE, TOOL_NAME_RUN_CODE, createRunCodeRuntime, } from './run-code-runtime.js';
8
9
  export { RUN_CODE_EXECUTION_RESULT, getRunCodeExecutionResult } from './run-code-execution.js';
9
10
  export { RUN_CODE_LIMITS, RUN_CODE_PROHIBITED_TOOLS, TOOL_NAME_DESCRIBE, TOOL_NAME_RUN_CODE, isDirectlyCallable, } from './run-code-runtime.js';
10
11
  const DEFAULT_TIMEOUT_MS = 120_000;
@@ -252,7 +253,31 @@ export function createRunCodeToolDefinition(options) {
252
253
  // Set by bindRunCodeRegistry once the policy layer has wrapped every tool.
253
254
  let boundRegistry;
254
255
  let nestedApprovalOwner = options.nestedApprovalOwner;
255
- const exposedTools = () => (options.getToolRegistry?.() ?? boundRegistry ?? []).filter((tool) => !RUN_CODE_PROHIBITED_TOOLS.has(tool.name));
256
+ const registeredMcpPolicies = new Set();
257
+ const getMcpCatalog = () => {
258
+ if (!options.mcpToolSource)
259
+ return undefined;
260
+ const builtIns = new Set([
261
+ ...(options.getToolRegistry?.() ?? boundRegistry ?? []).map((tool) => tool.name),
262
+ TOOL_NAME_DESCRIBE,
263
+ ]);
264
+ const catalog = createMcpCatalog(options.mcpToolSource, builtIns);
265
+ for (const tool of catalog.tools) {
266
+ if (!registeredMcpPolicies.has(tool.name)) {
267
+ approvalRegistry.register({
268
+ toolName: tool.name,
269
+ parameters: tool.parameters,
270
+ needsApproval: tool.needsApproval,
271
+ });
272
+ registeredMcpPolicies.add(tool.name);
273
+ }
274
+ }
275
+ return catalog;
276
+ };
277
+ const exposedTools = (mcpCatalog = getMcpCatalog()) => {
278
+ const tools = (options.getToolRegistry?.() ?? boundRegistry ?? []).filter((tool) => !RUN_CODE_PROHIBITED_TOOLS.has(tool.name));
279
+ return [...tools, ...(mcpCatalog?.tools ?? [])];
280
+ };
256
281
  const createRuntime = (registry) => createRunCodeRuntime({
257
282
  registry,
258
283
  graphIdentity: boundRegistry ?? registry,
@@ -269,8 +294,11 @@ export function createRunCodeToolDefinition(options) {
269
294
  // Read late, after bindRunCodeRegistry, so the model is told which tools
270
295
  // the script can actually reach rather than a guess made before wrapping.
271
296
  get description() {
272
- const header = renderToolsHeader(createRuntime(exposedTools()).discovery());
273
- return header ? `${RUN_CODE_DESCRIPTION}\n\n${header}` : RUN_CODE_DESCRIPTION;
297
+ const mcpCatalog = getMcpCatalog();
298
+ const registry = exposedTools(mcpCatalog);
299
+ const header = renderToolsHeader(createRuntime(registry.filter((tool) => !isMcpToolDefinition(tool))).discovery());
300
+ const mcpHeader = mcpCatalog ? renderMcpCatalog(mcpCatalog) : '';
301
+ return [RUN_CODE_DESCRIPTION, header, mcpHeader].filter(Boolean).join('\n\n');
274
302
  },
275
303
  parameters: runCodeParametersSchema,
276
304
  effect: 'mutating',
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../../source/tools/system/run-code/run-code.ts"],"names":[],"mappings":"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"}