veryfront 0.1.1289-rc.25708 → 0.1.1289-rc.25721

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 (75) hide show
  1. package/docs/README.md +1 -1
  2. package/docs/config.json +1 -1
  3. package/docs/guides/tools.md +27 -2
  4. package/docs/manifest.json +6 -6
  5. package/esm/deno.js +1 -1
  6. package/esm/src/agent/ag-ui/connected-local-platform-tools.d.ts.map +1 -1
  7. package/esm/src/agent/ag-ui/connected-local-platform-tools.js +9 -2
  8. package/esm/src/agent/ag-ui/tool-shared.d.ts +2 -0
  9. package/esm/src/agent/ag-ui/tool-shared.d.ts.map +1 -1
  10. package/esm/src/agent/ag-ui/tool-shared.js +7 -0
  11. package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts +2 -0
  12. package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts.map +1 -1
  13. package/esm/src/agent/hosted/chat-runtime-tool-assembly.js +18 -2
  14. package/esm/src/agent/hosted/child-fork-tool-sources.d.ts +1 -0
  15. package/esm/src/agent/hosted/child-fork-tool-sources.d.ts.map +1 -1
  16. package/esm/src/agent/hosted/child-fork-tool-sources.js +49 -12
  17. package/esm/src/agent/hosted/default-chat-runtime.d.ts.map +1 -1
  18. package/esm/src/agent/hosted/default-chat-runtime.js +26 -1
  19. package/esm/src/agent/hosted/executor-runtime-facades.d.ts.map +1 -1
  20. package/esm/src/agent/hosted/executor-runtime-facades.js +3 -0
  21. package/esm/src/agent/hosted/executor-tool-schema.d.ts.map +1 -1
  22. package/esm/src/agent/hosted/executor-tool-schema.js +7 -1
  23. package/esm/src/agent/hosted/platform-dependency-credential.d.ts.map +1 -1
  24. package/esm/src/agent/hosted/platform-dependency-credential.js +26 -1
  25. package/esm/src/agent/hosted/project-remote-tool-source.d.ts.map +1 -1
  26. package/esm/src/agent/hosted/project-remote-tool-source.js +18 -0
  27. package/esm/src/agent/hosted/terminal-credential.d.ts.map +1 -1
  28. package/esm/src/agent/hosted/terminal-credential.js +9 -3
  29. package/esm/src/agent/platform-mcp-tool-source.d.ts.map +1 -1
  30. package/esm/src/agent/platform-mcp-tool-source.js +4 -0
  31. package/esm/src/agent/project/live-studio-mcp-tools.d.ts.map +1 -1
  32. package/esm/src/agent/project/live-studio-mcp-tools.js +14 -2
  33. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  34. package/esm/src/agent/runtime/index.js +2269 -2191
  35. package/esm/src/agent/runtime/mcp-server-tool-sources.d.ts +2 -0
  36. package/esm/src/agent/runtime/mcp-server-tool-sources.d.ts.map +1 -1
  37. package/esm/src/agent/runtime/mcp-server-tool-sources.js +27 -0
  38. package/esm/src/agent/runtime/runtime-tool-config.d.ts +1 -0
  39. package/esm/src/agent/runtime/runtime-tool-config.d.ts.map +1 -1
  40. package/esm/src/agent/runtime/runtime-tool-config.js +4 -0
  41. package/esm/src/agent/runtime/tool-exposure.d.ts +4 -2
  42. package/esm/src/agent/runtime/tool-exposure.d.ts.map +1 -1
  43. package/esm/src/agent/runtime/tool-exposure.js +17 -4
  44. package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
  45. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  46. package/esm/src/internal-agents/run-stream.js +95 -23
  47. package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
  48. package/esm/src/server/handlers/request/agent-stream.handler.d.ts +2 -0
  49. package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
  50. package/esm/src/server/handlers/request/agent-stream.handler.js +24 -3
  51. package/esm/src/server/handlers/request/run-terminal-tool-source.d.ts.map +1 -1
  52. package/esm/src/server/handlers/request/run-terminal-tool-source.js +12 -3
  53. package/esm/src/tool/factory.d.ts +2 -0
  54. package/esm/src/tool/factory.d.ts.map +1 -1
  55. package/esm/src/tool/factory.js +7 -0
  56. package/esm/src/tool/host-tools.d.ts +2 -0
  57. package/esm/src/tool/host-tools.d.ts.map +1 -1
  58. package/esm/src/tool/host-tools.js +14 -0
  59. package/esm/src/tool/project-scoped-remote-tools.d.ts.map +1 -1
  60. package/esm/src/tool/project-scoped-remote-tools.js +12 -0
  61. package/esm/src/tool/registry.d.ts.map +1 -1
  62. package/esm/src/tool/registry.js +3 -0
  63. package/esm/src/tool/remote-mcp.d.ts +11 -0
  64. package/esm/src/tool/remote-mcp.d.ts.map +1 -1
  65. package/esm/src/tool/remote-mcp.js +685 -85
  66. package/esm/src/tool/remote-source-tools.d.ts.map +1 -1
  67. package/esm/src/tool/remote-source-tools.js +1 -0
  68. package/esm/src/tool/remote-tool-source-owner.d.ts +14 -0
  69. package/esm/src/tool/remote-tool-source-owner.d.ts.map +1 -0
  70. package/esm/src/tool/remote-tool-source-owner.js +65 -0
  71. package/esm/src/tool/types.d.ts +4 -0
  72. package/esm/src/tool/types.d.ts.map +1 -1
  73. package/esm/src/utils/version-constant.d.ts +1 -1
  74. package/esm/src/utils/version-constant.js +1 -1
  75. package/package.json +9 -9
package/docs/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Veryfront Code documentation
2
2
 
3
- These docs ship with veryfront 0.1.1289-rc.25708. Read the relevant guide before changing framework code in a consuming project. Start with [Local quickstart](./getting-started/quickstart.md), then use the task guides or generated API reference below.
3
+ These docs ship with veryfront 0.1.1289-rc.25721. Read the relevant guide before changing framework code in a consuming project. Start with [Local quickstart](./getting-started/quickstart.md), then use the task guides or generated API reference below.
4
4
 
5
5
  Edit source comments and regenerate API reference; do not edit generated reference directly. Website docs may describe a newer version.
6
6
 
package/docs/config.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "concepts",
11
11
  "api-reference"
12
12
  ],
13
- "version": "0.1.1289-rc.25708",
13
+ "version": "0.1.1289-rc.25721",
14
14
  "landing": "getting-started/overview.mdx"
15
15
  }
16
16
  ],
@@ -172,8 +172,9 @@ separate, and execution rechecks authorization.
172
172
  `veryfront__tool_search` accepts exactly one of four mode fields. All arguments are
173
173
  top-level strings or integers:
174
174
 
175
- - `schema: "<exact name>"` returns one exact tool's input schema and loads it
176
- for the next model step.
175
+ - `schema: "<exact name>"` returns one exact tool's input schema and declared
176
+ output schema, then loads it for the next model step. A `null` output schema
177
+ means the tool source did not declare an output contract.
177
178
  - `search: "<phrase>"` finds tools by a short capability phrase without loading
178
179
  schemas.
179
180
  - `inventory: "all" | "platform"` browses tool metadata pages. `platform` lists
@@ -336,6 +337,30 @@ export default agent({
336
337
  });
337
338
  ```
338
339
 
340
+ ### HTTP MCP compatibility
341
+
342
+ HTTP MCP sources send protocol version, client metadata and routing headers for
343
+ MCP 2026-07-28 tool discovery and calls. Schema-declared `x-mcp-header`
344
+ parameters are mirrored into request headers. Names and values that require
345
+ encoding use the protocol's Base64 format.
346
+
347
+ For a legacy server that rejects modern tool discovery with an unrecognized HTTP 400
348
+ response, the client initializes a session and reuses its negotiated protocol
349
+ version. Sessions are isolated by endpoint, credentials and run. A tool call for
350
+ a new run on such an endpoint initializes its session before the call is sent. An explicit
351
+ session-expiry HTTP 404 triggers one initialization and retry. Other failures
352
+ do not replay tool calls.
353
+
354
+ Agent runs release sessions for the MCP sources they create, including on
355
+ failure or cancellation. Hosts retain ownership of injected sources. If you
356
+ create a source with `createRemoteMCPToolSource`, call its optional `dispose()`
357
+ method when you finish using it. Session termination is best effort; a server
358
+ can reject termination with HTTP 405.
359
+
360
+ This transport supports remote tool discovery and execution. It does not
361
+ implement deprecated HTTP+SSE endpoint discovery, background subscriptions,
362
+ or server-initiated sampling and elicitation.
363
+
339
364
  ## Tool configuration
340
365
 
341
366
  | Property | Type | Description |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.1289-rc.25708",
2
+ "version": "0.1.1289-rc.25721",
3
3
  "pages": [
4
4
  {
5
5
  "path": "api-reference/index.md",
@@ -711,8 +711,8 @@
711
711
  "sources": [
712
712
  {
713
713
  "product": "code",
714
- "version": "0.1.1289-rc.25708",
715
- "revision": "63f22e24910d031462aba228b368680e51deef1f",
714
+ "version": "0.1.1289-rc.25721",
715
+ "revision": "380e821ed0ebd2955c7d13e20cc8738fe540a690",
716
716
  "dirty": false,
717
717
  "repository": "https://github.com/veryfront/veryfront-code",
718
718
  "versionPreparation": "ci-rc"
@@ -1009,7 +1009,7 @@
1009
1009
  },
1010
1010
  {
1011
1011
  "path": "config.json",
1012
- "sha256": "000a9c6be2f61d8ba4db693ebec6055ba114d740d186bdcfd657485224a46b1b"
1012
+ "sha256": "4cca2ee04115f91643aedeb40358246d52a9a37e8c2b54d6106f25ab8ad8fc52"
1013
1013
  },
1014
1014
  {
1015
1015
  "path": "getting-started/add-to-existing-project.md",
@@ -1269,7 +1269,7 @@
1269
1269
  },
1270
1270
  {
1271
1271
  "path": "guides/tools.md",
1272
- "sha256": "06f53cd3b7c8d7069c9cafa6b4d7f04767ea166a6c99a93f47f85e0eeea1d5fa"
1272
+ "sha256": "c34ab5b2422587d2715c3151b756641cfc0fdc7fecf1fb6a504176dc0d0a1f42"
1273
1273
  },
1274
1274
  {
1275
1275
  "path": "guides/ui-components.md",
@@ -1297,7 +1297,7 @@
1297
1297
  },
1298
1298
  {
1299
1299
  "path": "README.md",
1300
- "sha256": "8eb8abe44bda05c14c3dcb95613ca4590c66cce63ea89cb0dd2d5dd9c08f1d23"
1300
+ "sha256": "24874e7b34431690f422232592b07b74c41f3c88d971d7d67ce3cc386b2c8701"
1301
1301
  }
1302
1302
  ]
1303
1303
  }
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1289-rc.25708",
3
+ "version": "0.1.1289-rc.25721",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"connected-local-platform-tools.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/connected-local-platform-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAiBxE,OAAO,EAGL,KAAK,6BAA6B,EAInC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,2CAA2C,CAAC;AAmBnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAGrG,KAAK,KAAK,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAYnE,2FAA2F;AAC3F,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,KAAK,EACvB,YAAY,GAAE;IACZ,kBAAkB,CAAC,EAAE,OAAO,8BAA8B,CAAC;IAC3D,cAAc,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC5D;;oBAkBuB,6BAA6B;oBA+B/C,6BAA6B,SAC7B,KAAK,cACA,MAAM,aACP,MAAM,qBACE,MAAM;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;QAuItE,CAAC,SAAS;QACZ,KAAK,EAAE,6BAA6B,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,8BAA8B,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,CACL,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,EAClD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,gCAAgC,CAAC,CAAC;KAChD,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;EAqF9C"}
1
+ {"version":3,"file":"connected-local-platform-tools.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/connected-local-platform-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAiBxE,OAAO,EAGL,KAAK,6BAA6B,EAInC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,2CAA2C,CAAC;AAmBnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAGrG,KAAK,KAAK,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAYnE,2FAA2F;AAC3F,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,KAAK,EACvB,YAAY,GAAE;IACZ,kBAAkB,CAAC,EAAE,OAAO,8BAA8B,CAAC;IAC3D,cAAc,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC5D;;oBAkBuB,6BAA6B;oBA+B/C,6BAA6B,SAC7B,KAAK,cACA,MAAM,aACP,MAAM,qBACE,MAAM;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;QA4ItE,CAAC,SAAS;QACZ,KAAK,EAAE,6BAA6B,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,8BAA8B,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,WAAW,CAAC;QACpB,KAAK,EAAE,CACL,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,EAClD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,gCAAgC,CAAC,CAAC;KAChD,aAAa,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;EAqF9C"}
@@ -130,7 +130,7 @@ export function createConnectedLocalPlatformTools(apiUrl, transport, dependencie
130
130
  });
131
131
  credentials.set(childOwner, credential);
132
132
  const factory = hostedTerminalToolSourceFactory(childOwner, endpoint, createSource);
133
- let source = createLivePlatformMcpSource(factory({
133
+ const platformSource = factory({
134
134
  id: VERYFRONT_API_MCP_SOURCE_ID,
135
135
  endpoint,
136
136
  headers: () => {
@@ -144,7 +144,13 @@ export function createConnectedLocalPlatformTools(apiUrl, transport, dependencie
144
144
  : {}),
145
145
  };
146
146
  },
147
- }, { id: VERYFRONT_API_MCP_SOURCE_ID, kind: "veryfront-api" }));
147
+ }, { id: VERYFRONT_API_MCP_SOURCE_ID, kind: "veryfront-api" });
148
+ // The runtime receives this source as injected, so runtime cleanup
149
+ // never disposes it; revoking the owner terminates its sessions.
150
+ pushPrivateArray(ownerCleanup, async () => {
151
+ await platformSource.dispose?.();
152
+ });
153
+ let source = createLivePlatformMcpSource(platformSource);
148
154
  // The API issues this scope only for this child's sealed sandbox selection.
149
155
  let allowSandbox = false;
150
156
  try {
@@ -174,6 +180,7 @@ export function createConnectedLocalPlatformTools(apiUrl, transport, dependencie
174
180
  const mcp = source;
175
181
  source = markTrustedPlatformSource({
176
182
  id: mcp.id,
183
+ ...(mcp.dispose ? { dispose: (context) => mcp.dispose(context) } : {}),
177
184
  listTools: async (context) => [
178
185
  ...await mcp.listTools(context),
179
186
  ...mapPrivateArray(entries(native), ([name, tool]) => ({
@@ -10,6 +10,8 @@ export interface AgUiInjectedToolLike {
10
10
  name: string;
11
11
  description?: string;
12
12
  parameters?: unknown;
13
+ /** Declared result contract; disclosure metadata only, without result validation. */
14
+ outputSchema?: unknown;
13
15
  }
14
16
  /** Resolve a source agent's authored selection to its current owner-visible catalog. */
15
17
  export declare function buildExplicitAgUiSourceTools(agent: Agent): Exclude<Agent["config"]["tools"], true>;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-shared.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/tool-shared.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAIpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wFAAwF;AACxF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAWzC;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,EAC1B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,IAAI,CA4BN;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,EAAE,EAC7B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAgB1B"}
1
+ {"version":3,"file":"tool-shared.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/tool-shared.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAIpE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wFAAwF;AACxF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAWzC;AAOD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,EAC1B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,IAAI,CA8BN;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,EAAE,EAC7B,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,GACvD,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAgB1B"}
@@ -1,5 +1,6 @@
1
1
  import { defineSchema } from "../../schemas/index.js";
2
2
  import { AGENT_ERROR, INVALID_ARGUMENT } from "../../errors/index.js";
3
+ import { snapshotJsonSchemaObject } from "../../schemas/schema-input.js";
3
4
  import { toolRegistry } from "../../tool/registry.js";
4
5
  import { isToolVisibleTo } from "../../tool/executor.js";
5
6
  import { createAgentKnowledgeTool } from "../runtime/knowledge-tools.js";
@@ -21,7 +22,12 @@ export function buildExplicitAgUiSourceTools(agent) {
21
22
  tools[knowledgeTool.id] = knowledgeTool;
22
23
  return tools;
23
24
  }
25
+ /** Disclosure metadata only: an unusable declaration is omitted, never trusted or fatal. */
26
+ function snapshotInjectedOutputSchema(tool) {
27
+ return tool.outputSchema === undefined ? undefined : snapshotJsonSchemaObject(tool.outputSchema);
28
+ }
24
29
  export function createInjectedAgUiTool(runId, tool, sessionManager) {
30
+ const outputSchemaJson = snapshotInjectedOutputSchema(tool);
25
31
  return markRuntimeLocalTool({
26
32
  id: tool.name,
27
33
  type: "function",
@@ -29,6 +35,7 @@ export function createInjectedAgUiTool(runId, tool, sessionManager) {
29
35
  inputSchema: getAnyObjectSchema(),
30
36
  inputSchemaJson: (tool.parameters ??
31
37
  { type: "object", properties: {}, additionalProperties: true }),
38
+ ...(outputSchemaJson ? { outputSchemaJson } : {}),
32
39
  execute: async (_input, context) => {
33
40
  const toolCallId = typeof context?.toolCallId === "string" ? context.toolCallId : null;
34
41
  if (!toolCallId) {
@@ -36,6 +36,8 @@ export type HostedChatRuntimeToolAssemblyResult = {
36
36
  readonly sourceIntegrationPolicy: SourceIntegrationPolicyManifest;
37
37
  runtimeTools: ToolSet;
38
38
  remoteToolSources: RemoteToolSource[];
39
+ /** Release only the remote sources created by this assembly. */
40
+ closeRemoteToolSources?: () => Promise<void>;
39
41
  /** API-backed source used for framework research artifact mirroring. */
40
42
  researchArtifactRemoteToolSource?: RemoteToolSource;
41
43
  localToolNames: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"chat-runtime-tool-assembly.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-runtime-tool-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-runtime-tool-assembly.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-runtime-tool-assembly.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { applySourceIntegrationPolicy } from "../../integrations/source-policy.j
7
7
  import { isToolAllowedBySourcePolicy } from "../../tool/platform-tool-policy.js";
8
8
  import { observePrivatePromise } from "../../security/private-promise.js";
9
9
  import { createPrivateSet } from "../../security/private-set.js";
10
+ import { createRemoteToolSourceOwner } from "../../tool/remote-tool-source-owner.js";
10
11
  import { defineOwnDataProperty } from "../../security/own-data-property.js";
11
12
  import { createRemoteMCPToolSource, createToolsFromHostDefinitions, listProjectScopedRemoteToolNames, traceHostTools, } from "../../tool/index.js";
12
13
  import { fetchLatestConversationUserText, updateDefaultResearchArtifacts, } from "../artifacts/default-research-artifact-support.js";
@@ -816,13 +817,28 @@ async function prepareHostedChatRuntimeToolAssemblyInternal(input, configDerived
816
817
  objectSetPrototypeOf(result, null);
817
818
  return result;
818
819
  }
820
+ async function prepareOwnedHostedChatRuntimeToolAssembly(input, configDerivedSelector) {
821
+ const owner = createRemoteToolSourceOwner();
822
+ const createSource = input.createRemoteToolSource ?? createRemoteMCPToolSource;
823
+ try {
824
+ const result = await prepareHostedChatRuntimeToolAssemblyInternal({
825
+ ...input,
826
+ createRemoteToolSource: (config, server) => owner.own(createSource(config, server)),
827
+ }, configDerivedSelector);
828
+ result.closeRemoteToolSources = owner.dispose;
829
+ return result;
830
+ }
831
+ catch (error) {
832
+ return await owner.fail(error);
833
+ }
834
+ }
819
835
  /** Prepare hosted chat runtime tool assembly. */
820
836
  export function prepareHostedChatRuntimeToolAssembly(input) {
821
- return prepareHostedChatRuntimeToolAssemblyInternal(input, false);
837
+ return prepareOwnedHostedChatRuntimeToolAssembly(input, false);
822
838
  }
823
839
  /** @internal Prepare an assembly whose selector provenance was verified by the hosted runtime. */
824
840
  export function prepareConfigDerivedHostedChatRuntimeToolAssembly(input) {
825
- return prepareHostedChatRuntimeToolAssemblyInternal(input, input.includeRuntimeEssentialToolsWhenEmpty === true);
841
+ return prepareOwnedHostedChatRuntimeToolAssembly(input, input.includeRuntimeEssentialToolsWhenEmpty === true);
826
842
  }
827
843
  /** @internal Use prepared operation facades without constructing credentialed clients. */
828
844
  export function prepareFacadedHostedChatRuntimeToolAssembly(input) {
@@ -34,6 +34,7 @@ export type PrepareDefaultHostedChildForkToolSourcesInput = {
34
34
  export type DefaultHostedChildForkToolSourcesResult = {
35
35
  ok: true;
36
36
  forkTools: HostToolSet;
37
+ /** Closes the Studio tools and releases every MCP source created for the fork. */
37
38
  closeStudioMcpTools?: () => Promise<void>;
38
39
  } | {
39
40
  ok: false;
@@ -1 +1 @@
1
- {"version":3,"file":"child-fork-tool-sources.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-tool-sources.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EACL,KAAK,+BAA+B,EAErC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,8CAA8C,EACpD,MAAM,4BAA4B,CAAC;AAWpC,qEAAqE;AACrE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,6CAA6C,GAAG;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8BAA8B,CAAC,EAAE,+BAA+B,CAAC;IACjE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC;QACpE,KAAK,EAAE,WAAW,CAAC;QACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,gCAAgC,CAAC;CAC3C,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,uCAAuC,GAC/C;IACA,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,WAAW,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,GACC;IACA,EAAE,EAAE,KAAK,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ,gFAAgF;AAChF,MAAM,MAAM,oDAAoD,GAC5D,6CAA6C,GAC7C;IACA,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,+BAA+B,CAAC,cAAc,CAAC,CAAC;IAC/D,cAAc,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAClE,8BAA8B,CAAC,EAAE,CAC/B,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAC9C,CAAC;AAEJ,sDAAsD;AACtD,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,6CAA6C,GACnD,OAAO,CAAC,uCAAuC,CAAC,CAgIlD;AAED,8DAA8D;AAC9D,wBAAsB,+CAA+C,CACnE,KAAK,EAAE,oDAAoD,GAC1D,OAAO,CAAC,8CAA8C,CAAC,CAqDzD"}
1
+ {"version":3,"file":"child-fork-tool-sources.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-tool-sources.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,gCAAgC,EAChC,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAe7B,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EAEpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EACL,KAAK,+BAA+B,EAErC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,8CAA8C,EACpD,MAAM,4BAA4B,CAAC;AAWpC,qEAAqE;AACrE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,6CAA6C,GAAG;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACpD,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8BAA8B,CAAC,EAAE,+BAA+B,CAAC;IACjE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC;QACpE,KAAK,EAAE,WAAW,CAAC;QACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,gCAAgC,CAAC;CAC3C,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,uCAAuC,GAC/C;IACA,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,WAAW,CAAC;IACvB,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,GACC;IACA,EAAE,EAAE,KAAK,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ,gFAAgF;AAChF,MAAM,MAAM,oDAAoD,GAC5D,6CAA6C,GAC7C;IACA,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,+BAA+B,CAAC,cAAc,CAAC,CAAC;IAC/D,cAAc,EAAE,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAClE,8BAA8B,CAAC,EAAE,CAC/B,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAC9C,CAAC;AAEJ,sDAAsD;AACtD,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,6CAA6C,GACnD,OAAO,CAAC,uCAAuC,CAAC,CAuKlD;AAED,8DAA8D;AAC9D,wBAAsB,+CAA+C,CACnE,KAAK,EAAE,oDAAoD,GAC1D,OAAO,CAAC,8CAA8C,CAAC,CAqDzD"}
@@ -2,6 +2,9 @@ import { canonicalPlatformHostTools, withPlatformHostToolAliases } from "../plat
2
2
  import { createPlatformMcpCatalogSource, withPlatformMcpPolicyAliases, } from "../platform-mcp-tool-source.js";
3
3
  import { createRemoteMCPToolSource, createToolsFromRemoteDefinitions, } from "../../tool/index.js";
4
4
  import { markTrustedHostToolSet } from "../../tool/host-tool-provenance.js";
5
+ import { createRemoteToolSourceOwner } from "../../tool/remote-tool-source-owner.js";
6
+ import { allPrivatePromises, chainPrivatePromise, resolvePrivatePromise, } from "../../security/private-promise.js";
7
+ import { appendPrivateArray, mapPrivateArray, pushPrivateArray, } from "../../security/private-array.js";
5
8
  import { AGENT_ERROR } from "../../errors/index.js";
6
9
  import { isErrorAcrossRealms } from "../../platform/compat/error-introspection.js";
7
10
  import { createAgentServiceRemoteMcpConfig, defaultAgentServiceMcpServers, } from "../service/mcp-server-config.js";
@@ -15,11 +18,37 @@ import { createHostedMcpToolPolicySource, throwExplicitStudioMcpUnavailable, } f
15
18
  /** Prepare default hosted child fork tool sources. */
16
19
  export async function prepareDefaultHostedChildForkToolSources(input) {
17
20
  throwIfAborted(input.abortSignal);
18
- let closeStudioMcpTools;
21
+ // Every configured Studio entry negotiates its own session, so each closer is kept.
22
+ const studioClosers = [];
19
23
  let studioMcpTools = {};
20
24
  let remoteMcpTools = {};
21
25
  const createLiveStudioTools = input.createLiveStudioTools ?? createLiveStudioMcpTools;
22
- const createRemoteToolSource = input.createRemoteToolSource ?? createRemoteMCPToolSource;
26
+ // Raw sources created here may negotiate sessions; the returned closer and
27
+ // every failure path release them together with the Studio tools.
28
+ const remoteSources = createRemoteToolSourceOwner();
29
+ const createSource = input.createRemoteToolSource ?? createRemoteMCPToolSource;
30
+ const createRemoteToolSource = (config) => remoteSources.own(createSource(config));
31
+ const closeMcpTools = async () => {
32
+ // Every closer starts before any is awaited; the first failure wins.
33
+ const closers = [];
34
+ appendPrivateArray(closers, studioClosers);
35
+ pushPrivateArray(closers, () => remoteSources.dispose());
36
+ const failures = await allPrivatePromises(mapPrivateArray(closers, (close) => chainPrivatePromise(chainPrivatePromise(resolvePrivatePromise(), close), () => undefined, (error) => ({ error }))));
37
+ for (const failure of failures) {
38
+ if (failure)
39
+ throw failure.error;
40
+ }
41
+ };
42
+ const releaseAfterFailure = async () => {
43
+ try {
44
+ await closeMcpTools();
45
+ }
46
+ catch (cleanupError) {
47
+ input.logger?.error("Failed to close MCP tool sources after child fork setup failed", {
48
+ errorName: cleanupError instanceof Error ? cleanupError.name : typeof cleanupError,
49
+ });
50
+ }
51
+ };
23
52
  const materializeRemoteTools = input.createToolsFromRemoteDefinitions ??
24
53
  createToolsFromRemoteDefinitions;
25
54
  try {
@@ -50,6 +79,8 @@ export async function prepareDefaultHostedChildForkToolSources(input) {
50
79
  ? { createRemoteToolSource: input.createRemoteToolSource }
51
80
  : {}),
52
81
  });
82
+ // Retained before anything else can throw, so a failure below still closes it.
83
+ pushPrivateArray(studioClosers, studioTools.close);
53
84
  const policyTools = wrapHostToolSetWithMcpPolicy(studioTools.tools, withPlatformMcpPolicyAliases(server.toolPolicy), {
54
85
  deniedDetail: (toolName) => `Tool "${toolName}" is not allowed for this MCP server`,
55
86
  });
@@ -57,7 +88,6 @@ export async function prepareDefaultHostedChildForkToolSources(input) {
57
88
  ...studioMcpTools,
58
89
  ...canonicalPlatformHostTools(markTrustedHostToolSet(policyTools)),
59
90
  };
60
- closeStudioMcpTools = studioTools.close;
61
91
  continue;
62
92
  }
63
93
  const remoteConfig = createAgentServiceRemoteMcpConfig({
@@ -98,6 +128,7 @@ export async function prepareDefaultHostedChildForkToolSources(input) {
98
128
  }
99
129
  }
100
130
  catch (error) {
131
+ await releaseAfterFailure();
101
132
  if (input.abortSignal?.aborted || input.isAbortError?.(error)) {
102
133
  throw error;
103
134
  }
@@ -109,19 +140,25 @@ export async function prepareDefaultHostedChildForkToolSources(input) {
109
140
  errorMessage: `MCP tool setup failed: ${error instanceof Error ? error.message : "Unknown error"}`,
110
141
  };
111
142
  }
112
- throwIfAborted(input.abortSignal);
113
- if (input.onConfirmedStudioProjectSwitch) {
114
- wrapHostedChildProjectSwitchTool({
115
- tools: studioMcpTools,
116
- toolName: "veryfront__studio_open_project",
117
- onConfirmedProjectSwitch: input.onConfirmedStudioProjectSwitch,
118
- });
143
+ try {
144
+ throwIfAborted(input.abortSignal);
145
+ if (input.onConfirmedStudioProjectSwitch) {
146
+ wrapHostedChildProjectSwitchTool({
147
+ tools: studioMcpTools,
148
+ toolName: "veryfront__studio_open_project",
149
+ onConfirmedProjectSwitch: input.onConfirmedStudioProjectSwitch,
150
+ });
151
+ }
152
+ throwIfAborted(input.abortSignal);
153
+ }
154
+ catch (error) {
155
+ await releaseAfterFailure();
156
+ throw error;
119
157
  }
120
- throwIfAborted(input.abortSignal);
121
158
  return {
122
159
  ok: true,
123
160
  forkTools: buildDefaultHostedChildForkToolSet(remoteMcpTools, studioMcpTools, input.globalTools ?? {}),
124
- closeStudioMcpTools,
161
+ closeStudioMcpTools: closeMcpTools,
125
162
  };
126
163
  }
127
164
  /** Prepare default hosted child fork sandbox tool sources. */
@@ -1 +1 @@
1
- {"version":3,"file":"default-chat-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-chat-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-chat-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/default-chat-runtime.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,7 @@ async function buildToolAssembly(input) {
160
160
  }
161
161
  },
162
162
  });
163
+ input.retainRemoteToolSourceCleanup(toolAssembly.closeRemoteToolSources);
163
164
  return {
164
165
  ...toolAssembly,
165
166
  runtimeTools: scopeHostedRuntimeTools({
@@ -392,7 +393,28 @@ export async function createDefaultHostedChatRuntime(input, runtimeOptions = {})
392
393
  const toolSchemaTarget = runWithVeryfrontCloudContext(cloudContext, () => resolveProviderToolSchemaTarget(modelId, {
393
394
  catalogSettled: catalogLoaded && canVeryfrontCloudCatalogRefuse(),
394
395
  }));
395
- const cleanup = input.cleanup ?? (() => Promise.resolve());
396
+ let closeRemoteToolSources;
397
+ let cleanupPromise;
398
+ const cleanup = () => {
399
+ cleanupPromise ??= (async () => {
400
+ let firstError;
401
+ try {
402
+ await closeRemoteToolSources?.();
403
+ }
404
+ catch (error) {
405
+ firstError = error;
406
+ }
407
+ try {
408
+ await input.cleanup?.();
409
+ }
410
+ catch (error) {
411
+ firstError ??= error;
412
+ }
413
+ if (firstError !== undefined)
414
+ throw firstError;
415
+ })();
416
+ return cleanupPromise;
417
+ };
396
418
  try {
397
419
  const toolAssembly = await runWithHostedRunEventWriterCapability(effectiveRunEventWriterCapability, () => buildToolAssembly({
398
420
  ...input,
@@ -400,6 +422,9 @@ export async function createDefaultHostedChatRuntime(input, runtimeOptions = {})
400
422
  cloudContext,
401
423
  providerNativeToolNames,
402
424
  toolSchemaTarget,
425
+ retainRemoteToolSourceCleanup: (close) => {
426
+ closeRemoteToolSources = close;
427
+ },
403
428
  }));
404
429
  const selection = projectDefinitionSelection(taskContext);
405
430
  const lookupToolName = "veryfront__lookup_project_definitions";
@@ -1 +1 @@
1
- {"version":3,"file":"executor-runtime-facades.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/executor-runtime-facades.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAYnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,gGAAgG;AAChG,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2JlC"}
1
+ {"version":3,"file":"executor-runtime-facades.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/executor-runtime-facades.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAYnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,gGAAgG;AAChG,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,oFAAoF;IACpF,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8JlC"}
@@ -64,6 +64,9 @@ export async function createExecutorRuntimeFacades(options) {
64
64
  description: definition.description,
65
65
  discovery: readToolDiscoveryMetadata(definition),
66
66
  inputSchemaJson: definition.parameters,
67
+ ...(definition.outputSchema === undefined
68
+ ? {}
69
+ : { outputSchemaJson: definition.outputSchema }),
67
70
  async execute(args, context) {
68
71
  signal.throwIfAborted();
69
72
  if (!args || typeof args !== "object" || Array.isArray(args)) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor-tool-schema.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/executor-tool-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQ1F,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0BlF,eAAO,MAAM,+BAA+B,QAAkC,CAAC;AAC/E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;EAa/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,OAAO,oBAAoB,GAAG,MAAM;CAAE,CAAC;AAEhG,oEAAoE;AACpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;GAiBtC,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,CAQpB;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAKpB;AAED,eAAO,MAAM,uBAAuB,sBAAkD,CAAC;AACvF,eAAO,MAAM,0BAA0B,oFAA6C,CAAC;AAOrF,eAAO,MAAM,yBAAyB;;;;GAErC,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;GASrC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC;AASzF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;GAStC,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAE3F,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAI1D;AAED,kGAAkG;AAClG,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,QAAQ,SAAkC,GACzC,SAAS,CAMX;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAK7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,cAAc,CAoCjG;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,kBAAkB,GACzB,sBAAsB,CASxB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAcrE;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAE3E;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,UAAQ,GAAG,IAAI,CAQxF"}
1
+ {"version":3,"file":"executor-tool-schema.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/executor-tool-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAmB,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQ1F,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA2BlF,eAAO,MAAM,+BAA+B,QAAkC,CAAC;AAC/E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;EAa/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,OAAO,oBAAoB,GAAG,MAAM;CAAE,CAAC;AAEhG,oEAAoE;AACpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;GAiBtC,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,CAQpB;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAKpB;AAED,eAAO,MAAM,uBAAuB,sBAAkD,CAAC;AACvF,eAAO,MAAM,0BAA0B,oFAA6C,CAAC;AAOrF,eAAO,MAAM,yBAAyB;;;;GAErC,CAAC;AACF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;GASrC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC;AASzF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;GAStC,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAE3F,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAI1D;AAED,kGAAkG;AAClG,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,QAAQ,SAAkC,GACzC,SAAS,CAMX;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAK7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,cAAc,CA2CjG;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,kBAAkB,GACzB,sBAAsB,CASxB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAcrE;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAE3E;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,UAAQ,GAAG,IAAI,CAQxF"}
@@ -22,6 +22,7 @@ const definitionKeys = createPrivateSet([
22
22
  "name",
23
23
  "description",
24
24
  "parameters",
25
+ "outputSchema",
25
26
  "title",
26
27
  "annotations",
27
28
  "discovery",
@@ -155,7 +156,8 @@ export function executorToolDefinition(value, limits) {
155
156
  const record = {};
156
157
  for (let index = 0; index < entries.length; index++) {
157
158
  const key = entries[index][0], entry = entries[index][1];
158
- if (entry !== undefined || (key !== "title" && key !== "annotations" && key !== "discovery")) {
159
+ if (entry !== undefined ||
160
+ (key !== "title" && key !== "annotations" && key !== "discovery" && key !== "outputSchema")) {
159
161
  defineOwnDataProperty(record, key, entry, { enumerable: true });
160
162
  }
161
163
  }
@@ -165,6 +167,9 @@ export function executorToolDefinition(value, limits) {
165
167
  typeof data.name !== "string" || !getExecutorToolIdSchema().safeParse(data.name).success ||
166
168
  typeof data.description !== "string" ||
167
169
  !data.parameters || typeof data.parameters !== "object" || isArray(data.parameters) ||
170
+ (data.outputSchema !== undefined &&
171
+ (!data.outputSchema || typeof data.outputSchema !== "object" ||
172
+ isArray(data.outputSchema))) ||
168
173
  (data.title !== undefined && typeof data.title !== "string") ||
169
174
  (data.annotations !== undefined && !isToolAnnotations(data.annotations)))
170
175
  throw new TypeError("Invalid executor tool definition");
@@ -176,6 +181,7 @@ export function executorToolDefinition(value, limits) {
176
181
  name: data.name,
177
182
  description: data.description,
178
183
  parameters: data.parameters,
184
+ ...(data.outputSchema === undefined ? {} : { outputSchema: data.outputSchema }),
179
185
  ...(data.title === undefined ? {} : { title: data.title }),
180
186
  ...(data.annotations === undefined ? {} : { annotations: data.annotations }),
181
187
  ...(discovery === undefined ? {} : { discovery }),
@@ -1 +1 @@
1
- {"version":3,"file":"platform-dependency-credential.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/platform-dependency-credential.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-dependency-credential.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/platform-dependency-credential.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { appendPrivateArray } from "../../security/private-array.js";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  import { createPrivateWeakStore } from "../../security/private-weak-store.js";
4
+ import { serverLogger } from "../../utils/index.js";
4
5
  import { createVerifiedPlatformToolDependencyRunner, getVerifiedPlatformToolDependencies, hasVerifiedHostedPlatformDependencyWriter, toRunEventAppendTokenResult, } from "../service/auth.js";
5
6
  const owners = createPrivateWeakStore();
6
7
  const runtimeOwners = createPrivateWeakStore();
@@ -40,7 +41,13 @@ export async function configureHostedPlatformDependencySource(owner, factory, pa
40
41
  authority.sourceFactory = factory;
41
42
  if (authority.scope.agentId) {
42
43
  const source = await factory({ ...authority.scope, agentId: authority.scope.agentId }, authority.authToken, owner, parentOwner);
43
- if (source)
44
+ if (!source)
45
+ return;
46
+ authority.source = source;
47
+ // Revocation during creation already ran, so release the late source here.
48
+ if (!authority.active)
49
+ releaseAuthoritySource(authority);
50
+ else
44
51
  authority.runner?.captureSource(source);
45
52
  }
46
53
  }
@@ -113,8 +120,26 @@ export function captureHostedPlatformDependencyExecution() {
113
120
  const authority = Apply(Get, execution, []);
114
121
  return (operation) => runAuthority(authority, operation);
115
122
  }
123
+ /**
124
+ * Start terminating the owner's MCP sessions. Revocation is synchronous and
125
+ * runs from abort listeners, so a cleanup failure is logged, never thrown.
126
+ */
127
+ function releaseAuthoritySource(authority) {
128
+ const source = authority.source;
129
+ authority.source = undefined;
130
+ if (!source?.dispose)
131
+ return;
132
+ (async () => {
133
+ await source.dispose();
134
+ })().catch((error) => {
135
+ serverLogger.warn("Hosted platform MCP session cleanup failed", {
136
+ errorName: error instanceof Error ? error.name : typeof error,
137
+ });
138
+ });
139
+ }
116
140
  function revokeAuthority(authority) {
117
141
  authority.active = false;
142
+ releaseAuthoritySource(authority);
118
143
  authority.runner?.revoke();
119
144
  for (let index = 0; index < authority.children.length; index++) {
120
145
  revokeAuthority(authority.children[index]);