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
@@ -18,6 +18,8 @@ export declare const VERYFRONT_STUDIO_MCP_SOURCE_ID = "studio-mcp";
18
18
  export declare const VERYFRONT_STUDIO_TOOL_PREFIX = "studio_";
19
19
  /** Canonical naming prefix for Studio MCP tools. */
20
20
  export declare const VERYFRONT_CANONICAL_STUDIO_TOOL_PREFIX = "veryfront__studio_";
21
+ /** Release only sources created for this loop; inherited sources belong to their caller. */
22
+ export declare function createRuntimeMcpSourceCleanup(sources: readonly RemoteToolSource[] | undefined): AsyncDisposable;
21
23
  export declare function getRuntimeUnavailableOptionalRemoteTools(config: AgentConfig & RuntimeRemoteToolConfig, remoteToolSources: readonly RemoteToolSource[] | undefined): {
22
24
  names: string[];
23
25
  prefixes: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-tool-sources.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/mcp-server-tool-sources.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAY1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3C,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,2BAA2B,CAAC,EAAE,+BAA+B,CAAC;IAC9D,sCAAsC,CAAC,EAAE,MAAM,EAAE,CAAC;IAClD,yCAAyC,CAAC,EAAE,MAAM,EAAE,CAAC;CACtD,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,+DAA+D;AAC/D,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,0CAA0C;AAC1C,eAAO,MAAM,4BAA4B,YAAY,CAAC;AACtD,oDAAoD;AACpD,eAAO,MAAM,sCAAsC,uBAAuB,CAAC;AA8B3E,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,WAAW,GAAG,uBAAuB,EAC7C,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GACzD;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBzC;AAkBD,kFAAkF;AAClF,wBAAgB,sCAAsC,CAAC,KAAK,EAAE;IAC5D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,MAAM,EAAE,CAeX;AAsED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAGhG;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAErF;AAcD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,GACrC,gBAAgB,EAAE,GAAG,SAAS,CAiBhC;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACvC,OAAO,EAAE,oBAAoB,GAC5B,gBAAgB,EAAE,GAAG,SAAS,CAqBhC;AAED,MAAM,MAAM,sCAAsC,GAAG;IACnD,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,qBAAqB,CAAC,EAAE,MAAM,uBAAuB,CAAC;CACvD,CAAC;AAoBF,yEAAyE;AACzE,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAsBlB;AAyHD,kEAAkE;AAClE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,sCAA2C,EACzD,OAAO,qBAAY,GAClB,gBAAgB,EAAE,GAAG,SAAS,CAqKhC"}
1
+ {"version":3,"file":"mcp-server-tool-sources.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/mcp-server-tool-sources.ts"],"names":[],"mappings":"AAsBA,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAa1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3C,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,2BAA2B,CAAC,EAAE,+BAA+B,CAAC;IAC9D,sCAAsC,CAAC,EAAE,MAAM,EAAE,CAAC;IAClD,yCAAyC,CAAC,EAAE,MAAM,EAAE,CAAC;CACtD,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,+DAA+D;AAC/D,eAAO,MAAM,8BAA8B,eAAe,CAAC;AAC3D,0CAA0C;AAC1C,eAAO,MAAM,4BAA4B,YAAY,CAAC;AACtD,oDAAoD;AACpD,eAAO,MAAM,sCAAsC,uBAAuB,CAAC;AAO3E,4FAA4F;AAC5F,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GAC/C,eAAe,CAejB;AA8BD,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,WAAW,GAAG,uBAAuB,EAC7C,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GACzD;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBzC;AAkBD,kFAAkF;AAClF,wBAAgB,sCAAsC,CAAC,KAAK,EAAE;IAC5D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAAG,MAAM,EAAE,CAeX;AAsED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAGhG;AAED,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAErF;AAcD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,GACrC,gBAAgB,EAAE,GAAG,SAAS,CAiBhC;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACvC,OAAO,EAAE,oBAAoB,GAC5B,gBAAgB,EAAE,GAAG,SAAS,CAqBhC;AAED,MAAM,MAAM,sCAAsC,GAAG;IACnD,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,gBAAgB,CAAC;IACjF,qBAAqB,CAAC,EAAE,MAAM,uBAAuB,CAAC;CACvD,CAAC;AAoBF,yEAAyE;AACzE,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA4BlB;AAyHD,kEAAkE;AAClE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,sCAA2C,EACzD,OAAO,qBAAY,GAClB,gBAAgB,EAAE,GAAG,SAAS,CAsKhC"}
@@ -11,6 +11,7 @@ import { createAgentServiceRemoteMcpConfig } from "../service/mcp-server-config.
11
11
  import { wrapRemoteToolSourceWithMcpPolicy } from "../mcp-tool-policy.js";
12
12
  import { getActiveRuntimeRemoteToolSources } from "./remote-tool-source-context.js";
13
13
  import { createPrivateWeakStore } from "../../security/private-weak-store.js";
14
+ import { disposeRemoteToolSources } from "../../tool/remote-tool-source-owner.js";
14
15
  import { compareStrings } from "../../utils/compare.js";
15
16
  import { createAgentKnowledgeSource, inheritAgentKnowledgeSource, isAgentKnowledgeSource, } from "./knowledge-tools.js";
16
17
  /** Canonical source id for the Veryfront API MCP server. */
@@ -21,6 +22,26 @@ export const VERYFRONT_STUDIO_MCP_SOURCE_ID = "studio-mcp";
21
22
  export const VERYFRONT_STUDIO_TOOL_PREFIX = "studio_";
22
23
  /** Canonical naming prefix for Studio MCP tools. */
23
24
  export const VERYFRONT_CANONICAL_STUDIO_TOOL_PREFIX = "veryfront__studio_";
25
+ const runtimeOwnedMcpSources = createPrivateWeakStore();
26
+ /** Release only sources created for this loop; inherited sources belong to their caller. */
27
+ export function createRuntimeMcpSourceCleanup(sources) {
28
+ const ownedSources = sources === undefined ? [] : runtimeOwnedMcpSources.get(sources) ?? [];
29
+ return {
30
+ async [Symbol.asyncDispose]() {
31
+ const disposable = [];
32
+ for (let index = 0; index < ownedSources.length; index++) {
33
+ if (hasOwn(ownedSources, index))
34
+ disposable[disposable.length] = ownedSources[index];
35
+ }
36
+ try {
37
+ await disposeRemoteToolSources(disposable);
38
+ }
39
+ catch {
40
+ // Session termination is best effort and must preserve the run result.
41
+ }
42
+ },
43
+ };
44
+ }
24
45
  const RUNTIME_PROVIDED_BOOLEAN_TOOL_NAMES = new Set(["bash", "invoke_agent"]);
25
46
  const FRAMEWORK_KNOWLEDGE_TOOL_NAME = "veryfront__search_knowledge";
26
47
  const hasOwn = Object.hasOwn;
@@ -228,6 +249,11 @@ export function bindRemoteToolSourceToProject(source, projectId) {
228
249
  });
229
250
  return inheritTrustedPlatformSource(source, {
230
251
  id: source.id,
252
+ ...(source.dispose
253
+ ? {
254
+ dispose: (context) => source.dispose(context ? withServerProject(context, projectId) : undefined),
255
+ }
256
+ : {}),
231
257
  listTools: (context) => catalog.listTools(withServerProject(context, projectId)),
232
258
  async executeTool(toolName, args, context) {
233
259
  const execution = await catalog.prepareExecution({
@@ -447,6 +473,7 @@ export function getRuntimeRemoteToolSources(config, dependencies = {}, agentId =
447
473
  const guardedKnowledgeSources = mapPrivateArray(selectedKnowledgeSources, (source, sourceIndex, sources) => guardFrameworkKnowledgeSource(source, concatPrivateArrays(nonKnowledgeSources, filterPrivateArray(sources, (_sibling, siblingIndex) => siblingIndex !== sourceIndex))));
448
474
  const remoteToolSources = concatPrivateArrays(guardedKnowledgeSources, nonKnowledgeSources);
449
475
  if (remoteToolSources.length > 0) {
476
+ runtimeOwnedMcpSources.set(remoteToolSources, configuredSources);
450
477
  return remoteToolSources;
451
478
  }
452
479
  return configuredInjectedSources !== undefined || hasExplicitMcpServers ? [] : undefined;
@@ -35,6 +35,7 @@ export type RuntimeToolFilterConfig = AgentConfig & {
35
35
  name: string;
36
36
  description: string;
37
37
  parameters: Record<string, unknown>;
38
+ outputSchema?: Record<string, unknown>;
38
39
  discovery?: ToolDiscoveryMetadata;
39
40
  }>;
40
41
  __vfToolExposureCheckpoint?: ToolExposureCheckpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-tool-config.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/runtime-tool-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-tool-config.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/runtime-tool-config.ts"],"names":[],"mappings":"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"}
@@ -251,6 +251,10 @@ export function getRuntimeForwardedIntegrationToolDefs(config) {
251
251
  !Array.isArray(def.parameters)
252
252
  ? def.parameters
253
253
  : { type: "object", properties: {} },
254
+ ...(def.outputSchema && typeof def.outputSchema === "object" &&
255
+ !Array.isArray(def.outputSchema)
256
+ ? { outputSchema: def.outputSchema }
257
+ : {}),
254
258
  };
255
259
  copyToolDiscoveryMetadata(def, definition);
256
260
  return definition;
@@ -102,14 +102,16 @@ export declare function listToolExposure(input: {
102
102
  }): ToolInventoryPage;
103
103
  /** Create fresh run-local tool exposure state. */
104
104
  export declare function createToolExposureState(loadedToolNames?: Iterable<string>): ToolExposureState;
105
- /** Exact advertised input contract for one authorized executable tool. */
105
+ /** Exact advertised contracts for one authorized executable tool. */
106
106
  export type ToolExposureContract = {
107
107
  name: string;
108
108
  description: string;
109
109
  inputSchema: BoundedJsonValue;
110
+ /** Null means that the source did not declare an output contract. */
111
+ outputSchema: BoundedJsonValue | null;
110
112
  };
111
113
  /**
112
- * Read one authorized tool's bounded input contract by exact name without
114
+ * Read one authorized tool's bounded declared contracts by exact name without
113
115
  * executing the tool or reading accessors. Returns undefined when no
114
116
  * authorized, schema-visible tool has that name.
115
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-exposure.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/tool-exposure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-exposure.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/tool-exposure.ts"],"names":[],"mappings":"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"}
@@ -665,7 +665,7 @@ function pruneLoadedToolNames(state, loadableToolNames) {
665
665
  }
666
666
  }
667
667
  /**
668
- * Read one authorized tool's bounded input contract by exact name without
668
+ * Read one authorized tool's bounded declared contracts by exact name without
669
669
  * executing the tool or reading accessors. Returns undefined when no
670
670
  * authorized, schema-visible tool has that name.
671
671
  */
@@ -693,7 +693,20 @@ export function readToolExposureContract(input) {
693
693
  if (!snapshot.success) {
694
694
  throw new Error("Executable tool contract exceeds safe inspection limits");
695
695
  }
696
- return { name: metadata.name, description: metadata.description, inputSchema: snapshot.value };
696
+ const declaredOutput = ObjectGetOwnPropertyDescriptor(tool, "outputSchema");
697
+ if (declaredOutput && !isOwnDataPropertyDescriptor(declaredOutput)) {
698
+ throw new Error("Executable tool output contract is not available as data");
699
+ }
700
+ const output = declaredOutput?.value === undefined ? undefined : snapshotBoundedJsonValue(declaredOutput.value, TOOL_CONTRACT_MAX_BYTES, TOOL_CONTRACT_MAX_BYTES);
701
+ if (output && !output.success) {
702
+ throw new Error("Executable tool output contract exceeds safe inspection limits");
703
+ }
704
+ return {
705
+ name: metadata.name,
706
+ description: metadata.description,
707
+ inputSchema: snapshot.value,
708
+ outputSchema: output?.success ? output.value : null,
709
+ };
697
710
  }
698
711
  return undefined;
699
712
  }
@@ -707,7 +720,7 @@ export function readToolExposureContract(input) {
707
720
  export function createToolSearchDefinition() {
708
721
  return {
709
722
  name: TOOL_SEARCH_TOOL_NAME,
710
- description: 'Find and load this run\'s executable tools. Provide exactly one of: schema (exact tool name) to read its input schema and load it; search (short phrase) to find tools without loading; inventory ("all" or "platform") to browse metadata pages; query to search and load matches. Check discovery before declaring a requested tool unavailable.',
723
+ description: 'Find and load this run\'s executable tools. Provide exactly one of: schema (exact tool name) to read its input and declared output schemas and load it; search (short phrase) to find tools without loading; inventory ("all" or "platform") to browse metadata pages; query to search and load matches. Check discovery before declaring a requested tool unavailable.',
711
724
  parameters: {
712
725
  type: "object",
713
726
  additionalProperties: false,
@@ -715,7 +728,7 @@ export function createToolSearchDefinition() {
715
728
  schema: {
716
729
  type: "string",
717
730
  minLength: 1,
718
- description: "Mode. One exact executable tool name. Returns its input schema and loads it for the next step.",
731
+ description: "Mode. One exact executable tool name. Returns its input schema and declared output schema, or null when absent, and loads it for the next step.",
719
732
  },
720
733
  search: {
721
734
  type: "string",