@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.
- package/dist/deps.d.ts +1 -0
- package/dist/deps.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/chat.d.ts +2 -3
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +94 -25
- package/dist/routes/chat.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
- package/dist/routes/completions/agent-step-runner.js +33 -4
- package/dist/routes/completions/agent-step-runner.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.test.js +77 -0
- package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
- package/dist/routes/completions/chat-handler.d.ts +4 -0
- package/dist/routes/completions/chat-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-handler.js +4 -2
- package/dist/routes/completions/chat-handler.js.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.js +3 -0
- package/dist/routes/completions/chat-via-run-handler.js.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.test.js +117 -0
- package/dist/routes/completions/chat-via-run-handler.test.js.map +1 -1
- package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
- package/dist/routes/completions/conversation-turn.js +35 -1
- package/dist/routes/completions/conversation-turn.js.map +1 -1
- package/dist/routes/completions/tool-disclosure.d.ts +44 -0
- package/dist/routes/completions/tool-disclosure.d.ts.map +1 -0
- package/dist/routes/completions/tool-disclosure.js +330 -0
- package/dist/routes/completions/tool-disclosure.js.map +1 -0
- package/dist/routes/completions/tool-disclosure.test.d.ts +2 -0
- package/dist/routes/completions/tool-disclosure.test.d.ts.map +1 -0
- package/dist/routes/completions/tool-disclosure.test.js +176 -0
- package/dist/routes/completions/tool-disclosure.test.js.map +1 -0
- package/dist/routes/completions.d.ts +6 -0
- package/dist/routes/completions.d.ts.map +1 -1
- package/dist/routes/completions.js.map +1 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"tool-disclosure.test.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/tool-disclosure.test.ts"],"names":[],"mappings":""}
|