@frontmcp/plugin-codecall 1.8.2 → 1.8.3
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/codecall.symbol.d.ts +14 -14
- package/codecall.symbol.d.ts.map +1 -1
- package/codecall.types.d.ts +28 -5
- package/codecall.types.d.ts.map +1 -1
- package/errors/tool-call.errors.d.ts.map +1 -1
- package/esm/index.mjs +269 -123
- package/esm/package.json +6 -6
- package/index.js +265 -119
- package/package.json +6 -6
- package/security/codecall-tool-policy.d.ts +30 -2
- package/security/codecall-tool-policy.d.ts.map +1 -1
- package/services/audit-logger.service.d.ts.map +1 -1
- package/services/enclave.service.d.ts.map +1 -1
- package/services/output-sanitizer.d.ts.map +1 -1
- package/services/tool-search.service.d.ts +8 -12
- package/services/tool-search.service.d.ts.map +1 -1
- package/tools/describe.tool.d.ts.map +1 -1
- package/tools/execute.schema.d.ts.map +1 -1
- package/tools/execute.tool.d.ts.map +1 -1
- package/tools/invoke.tool.d.ts.map +1 -1
- package/tools/search.tool.d.ts.map +1 -1
- package/utils/build-tool-namespaces.d.ts +27 -20
- package/utils/build-tool-namespaces.d.ts.map +1 -1
- package/utils/client-error-message.d.ts +11 -0
- package/utils/client-error-message.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontmcp/plugin-codecall",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.3",
|
|
4
4
|
"description": "CodeCall plugin for FrontMCP - AgentScript-based meta-tools for orchestrating MCP tools",
|
|
5
5
|
"author": "AgentFront <info@agentfront.dev>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@enclave-vm/core": "^2.15.
|
|
52
|
-
"@frontmcp/protocol": "1.8.
|
|
53
|
-
"@frontmcp/sdk": "1.8.
|
|
51
|
+
"@enclave-vm/core": "^2.15.3",
|
|
52
|
+
"@frontmcp/protocol": "1.8.3",
|
|
53
|
+
"@frontmcp/sdk": "1.8.3",
|
|
54
54
|
"vectoriadb": "^2.3.2"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@frontmcp/lazy-zod": "1.8.
|
|
58
|
-
"@frontmcp/plugin-cache": "1.8.
|
|
57
|
+
"@frontmcp/lazy-zod": "1.8.3",
|
|
58
|
+
"@frontmcp/plugin-cache": "1.8.3"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"reflect-metadata": "^0.2.2"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodeCallMode, CodeCallToolMetadata, DirectCallsFilterFn, IncludeToolsFilterFn, IncludeToolsFilterToolInfo } from '../codecall.types';
|
|
1
|
+
import type { CodeCallFilterToolAnnotations, CodeCallFilterToolMetadata, CodeCallMode, CodeCallToolMetadata, DirectCallsFilterFn, IncludeToolsFilterFn, IncludeToolsFilterToolInfo } from '../codecall.types';
|
|
2
2
|
/** An owner in a registry entry's lineage: an app, adapter, plugin or the scope. */
|
|
3
3
|
interface CodeCallPolicyOwner {
|
|
4
4
|
kind?: string;
|
|
@@ -15,8 +15,22 @@ export interface CodeCallPolicyEntry {
|
|
|
15
15
|
hideFromDiscovery?: boolean;
|
|
16
16
|
visibility?: string;
|
|
17
17
|
codecall?: CodeCallToolMetadata;
|
|
18
|
+
annotations?: CodeCallFilterToolAnnotations;
|
|
19
|
+
availableWhen?: {
|
|
20
|
+
surface?: readonly string[];
|
|
21
|
+
};
|
|
18
22
|
};
|
|
19
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Whether the caller CodeCall acts for may reach a tool, by its `availableWhen.surface`.
|
|
26
|
+
*
|
|
27
|
+
* CodeCall runs tools on behalf of the client that called `codecall:*`, so a tool that client's own
|
|
28
|
+
* `tools/call` would not find (an agent-only tool, for an MCP client) must not be reachable, or
|
|
29
|
+
* even visible, through CodeCall. A caller with no surface (in-process dispatch) is not restricted.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isOfferedToCaller(availableWhen: {
|
|
32
|
+
surface?: readonly string[];
|
|
33
|
+
} | undefined, surface: string | undefined): boolean;
|
|
20
34
|
/** The policy's view of one tool. Build it with `toCodeCallPolicyTool`. */
|
|
21
35
|
export interface CodeCallPolicyTool {
|
|
22
36
|
/** The tool's own name: the `name` search indexes and `includeTools` receives. */
|
|
@@ -35,6 +49,10 @@ export interface CodeCallPolicyTool {
|
|
|
35
49
|
tags?: string[];
|
|
36
50
|
hidden?: boolean;
|
|
37
51
|
codecall?: CodeCallToolMetadata;
|
|
52
|
+
/** The tool's MCP annotations, for `includeTools` and `directCalls.filter`. */
|
|
53
|
+
annotations?: CodeCallFilterToolAnnotations;
|
|
54
|
+
/** The tool's declared metadata, for `includeTools` and `directCalls.filter`. */
|
|
55
|
+
metadata?: CodeCallFilterToolMetadata;
|
|
38
56
|
}
|
|
39
57
|
export interface CodeCallPolicyConfig {
|
|
40
58
|
mode: CodeCallMode;
|
|
@@ -75,7 +93,13 @@ export declare function codeCallAppIdOf(scope: unknown, entry: CodeCallPolicyEnt
|
|
|
75
93
|
* adapters or plugins provide.
|
|
76
94
|
*/
|
|
77
95
|
export declare function toCodeCallPolicyTool(entry: CodeCallPolicyEntry, requestedName?: string, scope?: unknown): CodeCallPolicyTool;
|
|
78
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* The object `includeTools` and `directCalls.filter` receive, wherever the policy runs.
|
|
98
|
+
*
|
|
99
|
+
* It carries the tool's annotations and metadata as well as its name, app and tags: a filter
|
|
100
|
+
* written against `tool.metadata.annotations.destructiveHint` (or `tool.annotations`) must see
|
|
101
|
+
* the value, or it silently excludes nothing. Everything in it is a read-only copy.
|
|
102
|
+
*/
|
|
79
103
|
export declare function toToolFilterInfo(tool: CodeCallPolicyTool): IncludeToolsFilterToolInfo;
|
|
80
104
|
/**
|
|
81
105
|
* Decide whether CodeCall may reach `tool`.
|
|
@@ -133,9 +157,13 @@ export declare function readCodeCallPolicyConfig(config: PolicyConfigReader): Co
|
|
|
133
157
|
*
|
|
134
158
|
* An allow decision carries the resolved entry. Callers describe or run that entry rather than
|
|
135
159
|
* looking the name up again, which could land on a different tool than the one judged.
|
|
160
|
+
*
|
|
161
|
+
* Pass `surface`, the surface of the call CodeCall is serving (`getCallSurface()`), so a
|
|
162
|
+
* tool that caller could not call directly is denied here too.
|
|
136
163
|
*/
|
|
137
164
|
export declare function checkCodeCallToolAccess<T extends CodeCallPolicyEntry = CodeCallPolicyEntry>(scope: unknown, config: PolicyConfigReader, name: string, options?: {
|
|
138
165
|
directCall?: boolean;
|
|
166
|
+
surface?: string;
|
|
139
167
|
}): CodeCallToolAccess<T>;
|
|
140
168
|
export {};
|
|
141
169
|
//# sourceMappingURL=codecall-tool-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecall-tool-policy.d.ts","sourceRoot":"","sources":["../../src/security/codecall-tool-policy.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAK3B,oFAAoF;AACpF,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"codecall-tool-policy.d.ts","sourceRoot":"","sources":["../../src/security/codecall-tool-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-logger.service.d.ts","sourceRoot":"","sources":["../../src/services/audit-logger.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit-logger.service.d.ts","sourceRoot":"","sources":["../../src/services/audit-logger.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AAE3F,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AAE3F,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;WAKG;QACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CASpD;AAOD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,MAAM,EAAE,cAAc;IAOlC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAsFhG;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAgFzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-sanitizer.d.ts","sourceRoot":"","sources":["../../src/services/output-sanitizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output-sanitizer.d.ts","sourceRoot":"","sources":["../../src/services/output-sanitizer.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAQrC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC;IACT,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC1C,kBAAkB,CAAC,CAAC,CAAC,CAiCvB;AAyND;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgBzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAiB3E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ScopeEntry, type ToolEntry } from '@frontmcp/sdk';
|
|
2
2
|
import type { ToolSearchOptions as SymbolToolSearchOptions, ToolSearchResult as SymbolToolSearchResult, ToolSearch } from '../codecall.symbol';
|
|
3
|
-
import type { CodeCallEmbeddingOptions, CodeCallMode, EmbeddingStrategy } from '../codecall.types';
|
|
3
|
+
import type { CodeCallEmbeddingOptions, CodeCallMode, EmbeddingStrategy, IncludeToolsFilterToolInfo } from '../codecall.types';
|
|
4
4
|
import { type SynonymExpansionConfig } from './synonym-expansion.service';
|
|
5
5
|
/**
|
|
6
6
|
* Search result for tool search
|
|
@@ -24,13 +24,7 @@ export interface SearchOptions {
|
|
|
24
24
|
/**
|
|
25
25
|
* Filter function type for including tools
|
|
26
26
|
*/
|
|
27
|
-
export type IncludeToolsFilter = (info:
|
|
28
|
-
name: string;
|
|
29
|
-
appId?: string;
|
|
30
|
-
source?: string;
|
|
31
|
-
description?: string;
|
|
32
|
-
tags?: string[];
|
|
33
|
-
}) => boolean;
|
|
27
|
+
export type IncludeToolsFilter = (info: IncludeToolsFilterToolInfo) => boolean;
|
|
34
28
|
/**
|
|
35
29
|
* Configuration for tool search service
|
|
36
30
|
*/
|
|
@@ -99,6 +93,8 @@ export declare class ToolSearchService implements ToolSearch {
|
|
|
99
93
|
private subscriptionReject;
|
|
100
94
|
private retryTimeoutId;
|
|
101
95
|
private disposed;
|
|
96
|
+
/** `availableWhen` of each indexed tool, by indexed name, for per-caller surface filtering. */
|
|
97
|
+
private availabilityByTool;
|
|
102
98
|
constructor(config: ToolSearchServiceConfig | undefined, scope: ScopeEntry);
|
|
103
99
|
/**
|
|
104
100
|
* Ensures the service is subscribed to tool changes before proceeding.
|
|
@@ -166,13 +162,13 @@ export declare class ToolSearchService implements ToolSearch {
|
|
|
166
162
|
*/
|
|
167
163
|
getAllToolNames(): string[];
|
|
168
164
|
/**
|
|
169
|
-
* Gets the total number of indexed tools
|
|
165
|
+
* Gets the total number of indexed tools, or of those a caller on `surface` may reach
|
|
170
166
|
*/
|
|
171
|
-
getTotalCount(): number;
|
|
167
|
+
getTotalCount(surface?: string): number;
|
|
172
168
|
/**
|
|
173
|
-
* Checks if a tool exists in the index
|
|
169
|
+
* Checks if a tool exists in the index, for a caller on `surface` when given
|
|
174
170
|
*/
|
|
175
|
-
hasTool(toolName: string): boolean;
|
|
171
|
+
hasTool(toolName: string, surface?: string): boolean;
|
|
176
172
|
/**
|
|
177
173
|
* Clears the entire index
|
|
178
174
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-search.service.d.ts","sourceRoot":"","sources":["../../src/services/tool-search.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EACV,iBAAiB,IAAI,uBAAuB,EAC5C,gBAAgB,IAAI,sBAAsB,EAC1C,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-search.service.d.ts","sourceRoot":"","sources":["../../src/services/tool-search.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../src/tools/describe.tool.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"describe.tool.d.ts","sourceRoot":"","sources":["../../src/tools/describe.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,WAAW,EAAkB,MAAM,eAAe,CAAC;AAMlF,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAuB3B,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkEpE;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAuBtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAkDpB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;CAyBzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.schema.d.ts","sourceRoot":"","sources":["../../src/tools/execute.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAKvC,eAAO,MAAM,sBAAsB,o7BAoBe,CAAC;AAEnD,eAAO,MAAM,sBAAsB;;;CAclC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.schema.d.ts","sourceRoot":"","sources":["../../src/tools/execute.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAKvC,eAAO,MAAM,sBAAsB,o7BAoBe,CAAC;AAEnD,eAAO,MAAM,sBAAsB;;;CAclC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC;AA8CnF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;gCAIjC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;gCAG1C,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;gCAG5C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;gCAG3C,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;gCAGxC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;gCAGtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAOlC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,yBAAyB,GACzB,2BAA2B,GAC3B,0BAA0B,GAC1B,uBAAuB,GACvB,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.tool.d.ts","sourceRoot":"","sources":["../../src/tools/execute.tool.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"execute.tool.d.ts","sourceRoot":"","sources":["../../src/tools/execute.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,WAAW,EAAkB,MAAM,eAAe,CAAC;AAwBlF,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAyC1B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAIjB,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAgVvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.tool.d.ts","sourceRoot":"","sources":["../../src/tools/invoke.tool.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"invoke.tool.d.ts","sourceRoot":"","sources":["../../src/tools/invoke.tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAKlE,OAAO,EAEL,eAAe,EAEf,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAYzB;;;;;;;;;GASG;AAeH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+DjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"search.tool.d.ts","sourceRoot":"","sources":["../../src/tools/search.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAC;AAIlE,OAAO,EAEL,eAAe,EAEf,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AA6BzB,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuGjE"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import type { CallToolOptions, ToolCallResult } from '../errors';
|
|
2
|
-
/**
|
|
3
|
-
* Shape of the bound `callTool` handed to namespaced methods. Mirrors the
|
|
4
|
-
* signature on `CodeCallVmEnvironment.callTool` but in a form independent of
|
|
5
|
-
* call-site generics.
|
|
6
|
-
*/
|
|
7
|
-
export type NamespacedCallTool = (name: string, input: unknown, options?: CallToolOptions) => Promise<unknown | ToolCallResult<unknown>>;
|
|
8
1
|
/**
|
|
9
2
|
* Minimal shape needed from a registered tool to drive namespace generation.
|
|
10
3
|
* Accepts either the registry's `ToolEntry` or any object exposing `name`.
|
|
@@ -12,9 +5,9 @@ export type NamespacedCallTool = (name: string, input: unknown, options?: CallTo
|
|
|
12
5
|
export interface NamespaceableTool {
|
|
13
6
|
readonly name: string;
|
|
14
7
|
}
|
|
15
|
-
/** A single namespace
|
|
16
|
-
export type ToolNamespace = Record<string,
|
|
17
|
-
/** The full namespace map (e.g. `{ acme: { getUser
|
|
8
|
+
/** A single namespace: method name → the full tool name it calls (`{ getUser: 'acme.getUser' }`). */
|
|
9
|
+
export type ToolNamespace = Record<string, string>;
|
|
10
|
+
/** The full namespace map (e.g. `{ acme: { getUser: 'acme.getUser' }, billing: { ... } }`). */
|
|
18
11
|
export type ToolNamespaces = Record<string, ToolNamespace>;
|
|
19
12
|
/**
|
|
20
13
|
* Reasons a tool may be skipped during namespace generation. Returned so the
|
|
@@ -22,7 +15,7 @@ export type ToolNamespaces = Record<string, ToolNamespace>;
|
|
|
22
15
|
*/
|
|
23
16
|
export type NamespaceSkipReason = 'no-namespace-prefix' | 'invalid-identifier' | 'reserved-namespace' | 'prototype-key' | 'duplicate-method';
|
|
24
17
|
export interface BuildToolNamespacesResult {
|
|
25
|
-
/** The namespaces
|
|
18
|
+
/** The namespaces a script may use, as plain data. Render them with `wrapScriptWithToolNamespaces`. */
|
|
26
19
|
namespaces: ToolNamespaces;
|
|
27
20
|
/** Tools that were skipped, with the reason. Useful for logs / lint output. */
|
|
28
21
|
skipped: Array<{
|
|
@@ -31,19 +24,33 @@ export interface BuildToolNamespacesResult {
|
|
|
31
24
|
}>;
|
|
32
25
|
}
|
|
33
26
|
/**
|
|
34
|
-
* Build
|
|
35
|
-
*
|
|
27
|
+
* Build the namespace map from dotted tool names so AgentScript can call
|
|
28
|
+
* `await acme.getUser({...})` instead of `await callTool('acme.getUser', {...})`.
|
|
36
29
|
*
|
|
37
30
|
* - Tools whose name has no `.` are skipped (still callable via `callTool`).
|
|
38
31
|
* - Tools whose prefix or suffix is not a valid JS identifier are skipped.
|
|
39
|
-
* - Tools whose prefix collides with a reserved global are skipped.
|
|
40
|
-
* - Tools whose
|
|
41
|
-
* `prototype`) are skipped
|
|
32
|
+
* - Tools whose prefix collides with a reserved global or word are skipped.
|
|
33
|
+
* - Tools whose prefix or suffix is a prototype key (`__proto__`, `constructor`,
|
|
34
|
+
* `prototype`) are skipped.
|
|
42
35
|
* - First registration wins on duplicate `{ns}.{method}` (subsequent are reported as skipped).
|
|
43
36
|
*
|
|
44
|
-
* The
|
|
45
|
-
*
|
|
46
|
-
* and
|
|
37
|
+
* The result is plain data (method → tool name). The namespace functions themselves are
|
|
38
|
+
* written in AgentScript by `wrapScriptWithToolNamespaces`, so every call they make is a
|
|
39
|
+
* `callTool()` inside the sandbox and goes through the sandbox's tool-call cap, rate limit
|
|
40
|
+
* and suspicious-sequence checks, exactly like a direct `callTool()`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildToolNamespaces(tools: ReadonlyArray<NamespaceableTool>): BuildToolNamespacesResult;
|
|
43
|
+
/**
|
|
44
|
+
* Make the namespaces available to `script`, as AgentScript.
|
|
45
|
+
*
|
|
46
|
+
* Each namespace becomes a `const` object whose methods call `callTool('<ns>.<method>', input)`
|
|
47
|
+
* inside the sandbox, so the enclave counts, rate-limits and pattern-checks them like any
|
|
48
|
+
* other `callTool()`. (1.8.2 injected them as host functions, which reached the tool
|
|
49
|
+
* pipeline without passing any of those checks.) The user's script runs in a nested async
|
|
50
|
+
* function, so it can still declare its own variables with the same names.
|
|
51
|
+
*
|
|
52
|
+
* Only namespaces the script mentions are emitted; a script that uses none is returned as is.
|
|
53
|
+
* Everything is emitted on the script's first line, so line numbers in parse errors are kept.
|
|
47
54
|
*/
|
|
48
|
-
export declare function
|
|
55
|
+
export declare function wrapScriptWithToolNamespaces(script: string, namespaces: ToolNamespaces | undefined): string;
|
|
49
56
|
//# sourceMappingURL=build-tool-namespaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-tool-namespaces.d.ts","sourceRoot":"","sources":["../../src/utils/build-tool-namespaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-tool-namespaces.d.ts","sourceRoot":"","sources":["../../src/utils/build-tool-namespaces.ts"],"names":[],"mappings":"AA2DA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,kBAAkB,CAAC;AAEvB,MAAM,WAAW,yBAAyB;IACxC,uGAAuG;IACvG,UAAU,EAAE,cAAc,CAAC;IAC3B,+EAA+E;IAC/E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CAC/D;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAiDtG;AAgCD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CA0B3G"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The message a client may see for a script or tool error: no stack frames and no absolute
|
|
3
|
+
* server paths, in every environment. URLs other than `file:` URLs are kept.
|
|
4
|
+
*/
|
|
5
|
+
export declare function toClientErrorMessage(message: string | undefined): string;
|
|
6
|
+
/**
|
|
7
|
+
* `text` with every absolute path (POSIX, `~/`, Windows drive, UNC, `file:` URL, or quoted) replaced
|
|
8
|
+
* by `[path]`, and everything else, other URLs included, left as it is. Runs in linear time.
|
|
9
|
+
*/
|
|
10
|
+
export declare function redactAbsolutePaths(text: string): string;
|
|
11
|
+
//# sourceMappingURL=client-error-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-error-message.d.ts","sourceRoot":"","sources":["../../src/utils/client-error-message.ts"],"names":[],"mappings":"AAwDA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUxD"}
|