@polpo-ai/server 0.15.57 → 0.15.59

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 (38) hide show
  1. package/dist/deps.d.ts +1 -0
  2. package/dist/deps.d.ts.map +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/routes/chat.d.ts +2 -3
  7. package/dist/routes/chat.d.ts.map +1 -1
  8. package/dist/routes/chat.js +94 -25
  9. package/dist/routes/chat.js.map +1 -1
  10. package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
  11. package/dist/routes/completions/agent-step-runner.js +33 -4
  12. package/dist/routes/completions/agent-step-runner.js.map +1 -1
  13. package/dist/routes/completions/agent-step-runner.test.js +77 -0
  14. package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
  15. package/dist/routes/completions/chat-handler.d.ts +4 -0
  16. package/dist/routes/completions/chat-handler.d.ts.map +1 -1
  17. package/dist/routes/completions/chat-handler.js +4 -2
  18. package/dist/routes/completions/chat-handler.js.map +1 -1
  19. package/dist/routes/completions/chat-via-run-handler.d.ts.map +1 -1
  20. package/dist/routes/completions/chat-via-run-handler.js +3 -0
  21. package/dist/routes/completions/chat-via-run-handler.js.map +1 -1
  22. package/dist/routes/completions/chat-via-run-handler.test.js +117 -0
  23. package/dist/routes/completions/chat-via-run-handler.test.js.map +1 -1
  24. package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
  25. package/dist/routes/completions/conversation-turn.js +35 -1
  26. package/dist/routes/completions/conversation-turn.js.map +1 -1
  27. package/dist/routes/completions/tool-disclosure.d.ts +44 -0
  28. package/dist/routes/completions/tool-disclosure.d.ts.map +1 -0
  29. package/dist/routes/completions/tool-disclosure.js +330 -0
  30. package/dist/routes/completions/tool-disclosure.js.map +1 -0
  31. package/dist/routes/completions/tool-disclosure.test.d.ts +2 -0
  32. package/dist/routes/completions/tool-disclosure.test.d.ts.map +1 -0
  33. package/dist/routes/completions/tool-disclosure.test.js +176 -0
  34. package/dist/routes/completions/tool-disclosure.test.js.map +1 -0
  35. package/dist/routes/completions.d.ts +6 -0
  36. package/dist/routes/completions.d.ts.map +1 -1
  37. package/dist/routes/completions.js.map +1 -1
  38. package/package.json +6 -6
@@ -1,12 +1,13 @@
1
1
  import { nanoid } from "nanoid";
2
2
  import { agentMemoryScope, createRuntimePromptContextSegment, compileExecutionRouteManifest, createExecutionRouteResolvedEvent, createExplicitExecutionRoute, createRuntimePlanResolvedEvent, executionRouteRuntimePlanFields, normalizeRuntimeContextTrustMode, normalizeRuntimePlan, renderRuntimePromptContextSegment, renderRuntimePromptContextSegments, renderRuntimeContextPrompt, replacesLegacyAgentMemory, replacesLegacySharedMemory, resolveRuntimeContext, resolveExecutionRoute, resolveLoopSelection, validateExecutionRouterConfig, } from "@polpo-ai/core";
3
3
  import { convertMessages, extractText } from "./message-mapping.js";
4
- import { toAIToolChoice } from "./tool-mapping.js";
4
+ import { CLIENT_SIDE_TOOL_NAMES, toAIToolChoice } from "./tool-mapping.js";
5
5
  import { createGuardedCompletionToolExecutor, } from "./tool-guardrails.js";
6
6
  import { assertCompletionMessageContent, assertModelPreflightValue, assertRuntimeContextResolution, } from "./preflight-validation.js";
7
7
  import { agentConfigForModelPrimary, modelSelectionForAgent, modelSelectionForResolvedModel, } from "./agent-step-runner.js";
8
8
  import { runChatTurnViaRun, } from "./chat-via-run-handler.js";
9
9
  import { guardrailErrorEnvelope } from "./sse.js";
10
+ import { MODEL_CONTROLLED_TOOL_PROMPT, createModelControlledToolPool, forcedModelToolName, } from "./tool-disclosure.js";
10
11
  function completionError(message, status, code, type = "invalid_request_error") {
11
12
  return {
12
13
  kind: "error",
@@ -264,6 +265,9 @@ export async function prepareChatCompletionExecution(deps, body, options = {}) {
264
265
  let modelToolChoice;
265
266
  let effectiveTools;
266
267
  let effectiveToolExecutor;
268
+ let toolDisclosure;
269
+ let activeToolNames;
270
+ let activeCompactionTools;
267
271
  let extraAiTools;
268
272
  let isInteractiveFn;
269
273
  let projectLoopRuntime;
@@ -458,6 +462,7 @@ export async function prepareChatCompletionExecution(deps, body, options = {}) {
458
462
  const resolvedTools = await deps.resolveAgentTools(agentConfig);
459
463
  effectiveTools = resolvedTools.tools;
460
464
  effectiveToolExecutor = resolvedTools.executor;
465
+ toolDisclosure = resolvedTools.disclosure;
461
466
  onResponseFinished = resolvedTools.cleanup;
462
467
  extraAiTools = resolvedTools.extraAiTools;
463
468
  }
@@ -524,6 +529,33 @@ export async function prepareChatCompletionExecution(deps, body, options = {}) {
524
529
  sessionId: sessionId ?? undefined,
525
530
  },
526
531
  });
532
+ if (toolDisclosure?.mode === "model-controlled") {
533
+ const configuredInitial = [...(toolDisclosure.initiallyLoaded ?? [])];
534
+ const forcedTool = forcedModelToolName(modelToolChoice);
535
+ if (forcedTool && effectiveTools.some((tool) => tool?.name === forcedTool)) {
536
+ configuredInitial.push(forcedTool);
537
+ }
538
+ const pool = createModelControlledToolPool({
539
+ tools: effectiveTools,
540
+ executor: effectiveToolExecutor,
541
+ initiallyLoaded: [...new Set(configuredInitial)],
542
+ maxLoadedTools: toolDisclosure.maxLoadedTools,
543
+ maxLoadBatch: toolDisclosure.maxLoadBatch,
544
+ maxSearchResults: toolDisclosure.maxSearchResults,
545
+ });
546
+ const alwaysActive = [
547
+ ...Object.keys(extraAiTools ?? {}),
548
+ ...CLIENT_SIDE_TOOL_NAMES,
549
+ ];
550
+ effectiveTools = pool.tools;
551
+ effectiveToolExecutor = pool.executor;
552
+ fullSystemPrompt = `${fullSystemPrompt}\n\n${MODEL_CONTROLLED_TOOL_PROMPT}`;
553
+ activeToolNames = () => [...new Set([
554
+ ...pool.startModelTurn(),
555
+ ...alwaysActive,
556
+ ])];
557
+ activeCompactionTools = pool.activeTools;
558
+ }
527
559
  }
528
560
  if (projectLoopRuntime) {
529
561
  return {
@@ -557,6 +589,8 @@ export async function prepareChatCompletionExecution(deps, body, options = {}) {
557
589
  modelToolChoice,
558
590
  effectiveTools,
559
591
  effectiveToolExecutor,
592
+ activeToolNames,
593
+ activeCompactionTools,
560
594
  extraAiTools,
561
595
  isInteractiveFn,
562
596
  aiMessages,
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-turn.js","sourceRoot":"","sources":["../../../src/routes/completions/conversation-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-turn.js","sourceRoot":"","sources":["../../../src/routes/completions/conversation-turn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CompletionToolExecutor } from "./tool-guardrails.js";
2
+ export declare const MODEL_CONTROLLED_TOOL_NAMES: readonly ["tool_list", "tool_search", "tool_load"];
3
+ /** Host-owned opt-in for model-controlled progressive tool disclosure. */
4
+ export interface ModelControlledToolDisclosureConfig {
5
+ mode: "model-controlled";
6
+ initiallyLoaded?: readonly string[];
7
+ maxLoadedTools?: number;
8
+ maxLoadBatch?: number;
9
+ maxSearchResults?: number;
10
+ }
11
+ export interface ModelControlledToolPoolOptions {
12
+ tools: readonly any[];
13
+ executor: CompletionToolExecutor;
14
+ initiallyLoaded?: readonly string[];
15
+ maxLoadedTools?: number;
16
+ maxLoadBatch?: number;
17
+ maxSearchResults?: number;
18
+ }
19
+ export interface ModelControlledToolPool {
20
+ /** Complete authorized catalog plus the disclosure meta-tools. */
21
+ tools: any[];
22
+ /** Executes meta-tools locally and rejects calls to real tools until loaded. */
23
+ executor: CompletionToolExecutor;
24
+ /** Names to pass to AI SDK `activeTools` for the next model turn. */
25
+ activeToolNames: () => string[];
26
+ /** Freeze and return the model-visible pool for one model turn. */
27
+ startModelTurn: () => string[];
28
+ /** Polpo tool definitions active for compaction/token estimation. */
29
+ activeTools: () => any[];
30
+ /** Real tools currently visible to the model, excluding meta-tools. */
31
+ loadedToolNames: () => string[];
32
+ }
33
+ /**
34
+ * Create one request-scoped, model-controlled progressive tool pool.
35
+ *
36
+ * `tools` must already be authorization-filtered by the host. Loading only
37
+ * changes model visibility; execution is still checked against both the
38
+ * authorized catalog and the current pool before reaching the host executor.
39
+ */
40
+ export declare function createModelControlledToolPool(options: ModelControlledToolPoolOptions): ModelControlledToolPool;
41
+ /** Extract an exact forced AI SDK tool choice, if one is configured. */
42
+ export declare function forcedModelToolName(toolChoice: unknown): string | undefined;
43
+ export declare const MODEL_CONTROLLED_TOOL_PROMPT: string;
44
+ //# sourceMappingURL=tool-disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-disclosure.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/tool-disclosure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,eAAO,MAAM,2BAA2B,oDAI9B,CAAC;AAIX,0EAA0E;AAC1E,MAAM,WAAW,mCAAmC;IAClD,IAAI,EAAE,kBAAkB,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;IACtB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,kEAAkE;IAClE,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,gFAAgF;IAChF,QAAQ,EAAE,sBAAsB,CAAC;IACjC,qEAAqE;IACrE,eAAe,EAAE,MAAM,MAAM,EAAE,CAAC;IAChC,mEAAmE;IACnE,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,qEAAqE;IACrE,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC;IACzB,uEAAuE;IACvE,eAAe,EAAE,MAAM,MAAM,EAAE,CAAC;CACjC;AAiLD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CA8HzB;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ3E;AAED,eAAO,MAAM,4BAA4B,QAQ7B,CAAC"}
@@ -0,0 +1,330 @@
1
+ export const MODEL_CONTROLLED_TOOL_NAMES = [
2
+ "tool_list",
3
+ "tool_search",
4
+ "tool_load",
5
+ ];
6
+ const MODEL_CONTROLLED_TOOL_NAME_SET = new Set(MODEL_CONTROLLED_TOOL_NAMES);
7
+ function positiveInteger(value, fallback) {
8
+ return Number.isInteger(value) && Number(value) > 0 ? Number(value) : fallback;
9
+ }
10
+ function toolName(tool) {
11
+ return typeof tool?.name === "string" ? tool.name.trim() : "";
12
+ }
13
+ function toolSource(tool) {
14
+ const name = toolName(tool);
15
+ if (name === "skill_list" || name === "skill_read")
16
+ return "skill";
17
+ if (name.startsWith("mcp__") || typeof tool?.serverName === "string" || typeof tool?.mcpServer === "string")
18
+ return "mcp";
19
+ if (typeof tool?.connectionId === "string" || typeof tool?.providerId === "string")
20
+ return "connection";
21
+ if (typeof tool?.clientSide === "boolean")
22
+ return "custom";
23
+ return "runtime";
24
+ }
25
+ function toolCategory(tool) {
26
+ const name = toolName(tool);
27
+ const source = toolSource(tool);
28
+ if (source !== "runtime")
29
+ return source;
30
+ if (name.startsWith("memory_"))
31
+ return "memory";
32
+ if (name === "brain_search" || name === "source_read")
33
+ return "knowledge";
34
+ if (["read", "write", "edit", "ls", "glob", "grep"].includes(name) || name.startsWith("file_")) {
35
+ return "filesystem";
36
+ }
37
+ if (name === "bash" || name.startsWith("shell_"))
38
+ return "execution";
39
+ if (name.startsWith("browser_"))
40
+ return "browser";
41
+ if (name.startsWith("search_") || name === "http_fetch")
42
+ return "search_http";
43
+ if (name.startsWith("image_") || name.startsWith("video_") || name.startsWith("vision_"))
44
+ return "media";
45
+ if (name.startsWith("audio_"))
46
+ return "audio";
47
+ return "runtime";
48
+ }
49
+ function compactMetadata(tool) {
50
+ const description = typeof tool?.description === "string"
51
+ ? tool.description.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g, " ").trim().slice(0, 240)
52
+ : "";
53
+ const label = typeof tool?.label === "string" ? tool.label.trim().slice(0, 120) : "";
54
+ return {
55
+ name: toolName(tool),
56
+ ...(label ? { label } : {}),
57
+ ...(description ? { description } : {}),
58
+ source: toolSource(tool),
59
+ category: toolCategory(tool),
60
+ };
61
+ }
62
+ function normalizedSearchText(value) {
63
+ return String(value ?? "")
64
+ .replace(/[_-]+/g, " ")
65
+ .toLowerCase();
66
+ }
67
+ const GENERIC_SEARCH_TERMS = new Set([
68
+ "a", "an", "and", "api", "call", "create", "delete", "fetch", "file",
69
+ "find", "for", "get", "list", "message", "read", "run", "search", "send",
70
+ "show", "the", "tool", "tools", "update", "use", "with",
71
+ ]);
72
+ function matchesSignificantSearchTerm(tool, rawQuery) {
73
+ const terms = normalizedSearchText(rawQuery)
74
+ .split(/\s+/)
75
+ .filter((term) => term.length > 2 && !GENERIC_SEARCH_TERMS.has(term));
76
+ if (terms.length === 0)
77
+ return true;
78
+ const metadata = compactMetadata(tool);
79
+ const haystack = normalizedSearchText([
80
+ metadata.name,
81
+ metadata.label,
82
+ metadata.description,
83
+ metadata.source,
84
+ metadata.category,
85
+ ].filter(Boolean).join(" "));
86
+ const tokens = new Set(haystack.split(/\s+/).filter(Boolean));
87
+ return terms.some((term) => tokens.has(term)
88
+ || haystack.includes(term)
89
+ || [...tokens].some((token) => token.startsWith(term) || term.startsWith(token)));
90
+ }
91
+ function searchScore(tool, rawQuery) {
92
+ const query = normalizedSearchText(rawQuery).trim();
93
+ if (!query)
94
+ return 0;
95
+ const terms = query.split(/\s+/).filter(Boolean);
96
+ const metadata = compactMetadata(tool);
97
+ const name = normalizedSearchText(metadata.name);
98
+ const label = normalizedSearchText(metadata.label);
99
+ const haystack = normalizedSearchText([
100
+ metadata.name,
101
+ metadata.label,
102
+ metadata.description,
103
+ metadata.source,
104
+ metadata.category,
105
+ ].filter(Boolean).join(" "));
106
+ const tokens = new Set(haystack.split(/\s+/).filter(Boolean));
107
+ let score = haystack.includes(query) ? 8 : 0;
108
+ if (name.includes(query) || label.includes(query))
109
+ score += 6;
110
+ for (const term of terms) {
111
+ if (tokens.has(term)) {
112
+ score += 4;
113
+ }
114
+ else if (haystack.includes(term)) {
115
+ score += 2;
116
+ }
117
+ else if ([...tokens].some((token) => token.startsWith(term) || term.startsWith(token))) {
118
+ score += 1;
119
+ }
120
+ }
121
+ return score;
122
+ }
123
+ function disclosureTools() {
124
+ return [
125
+ {
126
+ name: "tool_list",
127
+ label: "List Tools",
128
+ description: "List compact metadata for tools available to this agent. This does not load or execute tools.",
129
+ parameters: {
130
+ type: "object",
131
+ properties: {
132
+ category: { type: "string", description: "Optional exact category filter." },
133
+ source: { type: "string", description: "Optional exact source filter." },
134
+ loaded: { type: "boolean", description: "When true, return only tools already loaded in this run." },
135
+ limit: { type: "number", description: "Maximum results. Defaults to 40." },
136
+ },
137
+ additionalProperties: false,
138
+ },
139
+ },
140
+ {
141
+ name: "tool_search",
142
+ label: "Search Tools",
143
+ description: "Search compact metadata for tools available to this agent. Review the results, then explicitly load exact tool names with tool_load.",
144
+ parameters: {
145
+ type: "object",
146
+ properties: {
147
+ query: { type: "string", description: "Capability or tool name to search for." },
148
+ limit: { type: "number", description: "Maximum matching tools. Defaults to 20." },
149
+ },
150
+ required: ["query"],
151
+ additionalProperties: false,
152
+ },
153
+ },
154
+ {
155
+ name: "tool_load",
156
+ label: "Load Tools",
157
+ description: "Load one or more exact authorized tool names into the model's active tool pool for this run. Loading does not execute a tool or grant new permissions.",
158
+ parameters: {
159
+ type: "object",
160
+ properties: {
161
+ names: {
162
+ type: "array",
163
+ items: { type: "string" },
164
+ minItems: 1,
165
+ description: "Exact tool names returned by tool_search or tool_list.",
166
+ },
167
+ },
168
+ required: ["names"],
169
+ additionalProperties: false,
170
+ },
171
+ },
172
+ ];
173
+ }
174
+ function boundedLimit(value, fallback, maximum) {
175
+ if (typeof value !== "number" || !Number.isFinite(value))
176
+ return fallback;
177
+ return Math.max(1, Math.min(maximum, Math.trunc(value)));
178
+ }
179
+ /**
180
+ * Create one request-scoped, model-controlled progressive tool pool.
181
+ *
182
+ * `tools` must already be authorization-filtered by the host. Loading only
183
+ * changes model visibility; execution is still checked against both the
184
+ * authorized catalog and the current pool before reaching the host executor.
185
+ */
186
+ export function createModelControlledToolPool(options) {
187
+ const catalog = new Map();
188
+ const catalogOrder = [];
189
+ for (const tool of options.tools) {
190
+ const name = toolName(tool);
191
+ if (!name)
192
+ continue;
193
+ if (MODEL_CONTROLLED_TOOL_NAME_SET.has(name)) {
194
+ throw new Error(`Tool catalog contains reserved disclosure name "${name}".`);
195
+ }
196
+ if (catalog.has(name)) {
197
+ throw new Error(`Tool catalog contains duplicate tool name "${name}".`);
198
+ }
199
+ catalog.set(name, tool);
200
+ catalogOrder.push(name);
201
+ }
202
+ const maxLoadedTools = positiveInteger(options.maxLoadedTools, 16);
203
+ const maxLoadBatch = positiveInteger(options.maxLoadBatch, 8);
204
+ const maxSearchResults = positiveInteger(options.maxSearchResults, 20);
205
+ const loaded = new Set();
206
+ for (const rawName of options.initiallyLoaded ?? []) {
207
+ const name = String(rawName).trim();
208
+ if (!catalog.has(name)) {
209
+ throw new Error(`Initially loaded tool "${name}" is not in the authorized catalog.`);
210
+ }
211
+ loaded.add(name);
212
+ }
213
+ if (loaded.size > maxLoadedTools) {
214
+ throw new Error(`Initial tool pool exceeds the ${maxLoadedTools}-tool limit.`);
215
+ }
216
+ let executableThisTurn = new Set(loaded);
217
+ const metaTools = disclosureTools();
218
+ const metaToolsByName = new Map(metaTools.map((tool) => [tool.name, tool]));
219
+ const activeToolNames = () => [
220
+ ...catalogOrder.filter((name) => loaded.has(name)),
221
+ ...MODEL_CONTROLLED_TOOL_NAMES,
222
+ ];
223
+ const startModelTurn = () => {
224
+ executableThisTurn = new Set(loaded);
225
+ return activeToolNames();
226
+ };
227
+ const activeTools = () => activeToolNames()
228
+ .map((name) => catalog.get(name) ?? metaToolsByName.get(name))
229
+ .filter(Boolean);
230
+ const loadedToolNames = () => catalogOrder.filter((name) => loaded.has(name));
231
+ const executor = async (name, args, execution) => {
232
+ if (name === "tool_list") {
233
+ const category = typeof args.category === "string" ? args.category.trim() : "";
234
+ const source = typeof args.source === "string" ? args.source.trim() : "";
235
+ const loadedOnly = args.loaded === true;
236
+ const limit = boundedLimit(args.limit, 40, 100);
237
+ const matches = catalogOrder
238
+ .filter((toolNameValue) => !loadedOnly || loaded.has(toolNameValue))
239
+ .map((toolNameValue) => catalog.get(toolNameValue))
240
+ .filter((tool) => !category || toolCategory(tool) === category)
241
+ .filter((tool) => !source || toolSource(tool) === source);
242
+ return JSON.stringify({
243
+ tools: matches.slice(0, limit).map(compactMetadata),
244
+ total: matches.length,
245
+ truncated: matches.length > limit,
246
+ });
247
+ }
248
+ if (name === "tool_search") {
249
+ const query = typeof args.query === "string" ? args.query.trim() : "";
250
+ if (!query)
251
+ return "Error: tool_search requires a non-empty query.";
252
+ const limit = boundedLimit(args.limit, maxSearchResults, 50);
253
+ const matches = catalogOrder
254
+ .map((toolNameValue) => catalog.get(toolNameValue))
255
+ .filter((tool) => matchesSignificantSearchTerm(tool, query))
256
+ .map((tool) => ({ tool, score: searchScore(tool, query) }))
257
+ .filter((entry) => entry.score > 0)
258
+ .sort((left, right) => right.score - left.score || toolName(left.tool).localeCompare(toolName(right.tool)));
259
+ return JSON.stringify({
260
+ query,
261
+ tools: matches.slice(0, limit).map((entry) => compactMetadata(entry.tool)),
262
+ total: matches.length,
263
+ truncated: matches.length > limit,
264
+ });
265
+ }
266
+ if (name === "tool_load") {
267
+ if (!Array.isArray(args.names)) {
268
+ return "Error: tool_load requires an array of exact tool names.";
269
+ }
270
+ const names = [...new Set(args.names.map((value) => typeof value === "string" ? value.trim() : ""))];
271
+ if (names.length === 0 || names.some((value) => !value)) {
272
+ return "Error: tool_load requires at least one exact tool name.";
273
+ }
274
+ if (names.length > maxLoadBatch) {
275
+ return `Error: tool_load accepts at most ${maxLoadBatch} names per call.`;
276
+ }
277
+ for (const requested of names) {
278
+ if (!catalog.has(requested)) {
279
+ return `Error: Tool "${requested}" is not available to this agent.`;
280
+ }
281
+ }
282
+ const additions = names.filter((requested) => !loaded.has(requested));
283
+ if (loaded.size + additions.length > maxLoadedTools) {
284
+ return `Error: Tool pool limit reached (${maxLoadedTools} loaded tools).`;
285
+ }
286
+ for (const requested of additions)
287
+ loaded.add(requested);
288
+ return JSON.stringify({
289
+ loaded: names,
290
+ active: loadedToolNames(),
291
+ remainingCapacity: maxLoadedTools - loaded.size,
292
+ });
293
+ }
294
+ if (!catalog.has(name))
295
+ return `Error: Unknown tool "${name}".`;
296
+ if (!executableThisTurn.has(name)) {
297
+ return `Error: Tool "${name}" is not active in this model turn. Use tool_search and tool_load, then call it on the next turn.`;
298
+ }
299
+ return options.executor(name, args, execution);
300
+ };
301
+ return {
302
+ tools: [...catalogOrder.map((name) => catalog.get(name)), ...metaTools],
303
+ executor,
304
+ activeToolNames,
305
+ startModelTurn,
306
+ activeTools,
307
+ loadedToolNames,
308
+ };
309
+ }
310
+ /** Extract an exact forced AI SDK tool choice, if one is configured. */
311
+ export function forcedModelToolName(toolChoice) {
312
+ if (!toolChoice || typeof toolChoice !== "object" || Array.isArray(toolChoice))
313
+ return undefined;
314
+ const candidate = toolChoice;
315
+ return candidate.type === "tool"
316
+ && typeof candidate.toolName === "string"
317
+ && candidate.toolName.trim()
318
+ ? candidate.toolName.trim()
319
+ : undefined;
320
+ }
321
+ export const MODEL_CONTROLLED_TOOL_PROMPT = [
322
+ "## Tool discovery",
323
+ "",
324
+ "Only a compact discovery catalog is initially visible for most tools.",
325
+ "Use tool_search or tool_list to inspect available capabilities. Discovery is read-only.",
326
+ "After reviewing the returned names and descriptions, explicitly call tool_load with only the exact tools you need.",
327
+ "Loaded tools become directly callable with their original schemas on the next turn.",
328
+ "You may search and load additional tools later in the same run. Loading never grants permissions or executes a tool.",
329
+ ].join("\n");
330
+ //# sourceMappingURL=tool-disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-disclosure.js","sourceRoot":"","sources":["../../../src/routes/completions/tool-disclosure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-disclosure.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-disclosure.test.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/tool-disclosure.test.ts"],"names":[],"mappings":""}