@frontmcp/plugin-codecall 1.8.2 → 1.8.4
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 +16 -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 +389 -183
- package/esm/package.json +6 -6
- package/index.js +382 -178
- 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 +5 -0
- 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 +25 -21
- 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.4",
|
|
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.4",
|
|
53
|
+
"@frontmcp/sdk": "1.8.4",
|
|
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.4",
|
|
58
|
+
"@frontmcp/plugin-cache": "1.8.4"
|
|
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":"AAMA;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,+BAA+B;;IAE/B,8CAA8C;;IAE9C,8BAA8B;;IAE9B,iCAAiC;;IAGjC,sCAAsC;;IAEtC,uCAAuC;;IAEvC,uBAAuB;;IAGvB,oCAAoC;;IAEpC,yBAAyB;;IAEzB,mDAAmD;;IAGnD,uBAAuB;;IAEvB,qBAAqB;;IAErB,8BAA8B;;CAEtB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,EACA,OAAO,iBAAiB,CAAC,eAAe,GACxC,OAAO,iBAAiB,CAAC,iBAAiB,GAC1C,OAAO,iBAAiB,CAAC,iBAAiB,GAC1C,OAAO,iBAAiB,CAAC,iBAAiB,CAAC;IAC/C,IAAI,EAAE;QACJ,oDAAoD;QACpD,UAAU,EAAE,MAAM,CAAC;QACnB,kCAAkC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,gCAAgC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,0CAA0C;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,IAAI,EACA,OAAO,iBAAiB,CAAC,eAAe,GACxC,OAAO,iBAAiB,CAAC,iBAAiB,GAC1C,OAAO,iBAAiB,CAAC,iBAAiB,CAAC;IAC/C,IAAI,EAAE;QACJ,gBAAgB;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,gCAAgC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,2BAA2B;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,IAAI,EACA,OAAO,iBAAiB,CAAC,uBAAuB,GAChD,OAAO,iBAAiB,CAAC,sBAAsB,GAC/C,OAAO,iBAAiB,CAAC,oBAAoB,CAAC;IAClD,IAAI,EAAE;QACJ,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,0BAA0B;QAC1B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,qBAIa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,gBAAgB,CAAK;IAE7B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAOnD;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAO7B;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5D;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAczG;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAcjG;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAalF;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAYhF;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAatG;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,IAAI;IAcP;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYrE;;OAEG;IACH,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYpF;;OAEG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYjF;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAa5F;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAa/E;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAa5F;;OAEG;IACH,OAAO,CAAC,IAAI;IAaZ;;;OAGG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,aAAa;CAgBtB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -14,6 +14,11 @@ export interface EnclaveExecutionResult {
|
|
|
14
14
|
toolName?: string;
|
|
15
15
|
toolInput?: unknown;
|
|
16
16
|
details?: unknown;
|
|
17
|
+
/** For a script that doesn't parse (`code: 'SYNTAX_ERROR'`): where, in the script's own lines. */
|
|
18
|
+
location?: {
|
|
19
|
+
line: number;
|
|
20
|
+
column: number;
|
|
21
|
+
};
|
|
17
22
|
/**
|
|
18
23
|
* Distinct AST-validation issue codes, for the `codecall:security:ast-blocked` audit event.
|
|
19
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enclave.service.d.ts","sourceRoot":"","sources":["../../src/services/enclave.service.ts"],"names":[],"mappings":"AAYA,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,kGAAkG;QAClG,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C;;;;;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;AAkDD;;;;;;;;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;IAwGhG;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAsFzB"}
|
|
@@ -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;CA4VvE"}
|
|
@@ -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,17 +5,17 @@ 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
|
|
21
14
|
* caller can surface diagnostics without re-deriving the rules.
|
|
22
15
|
*/
|
|
23
|
-
export type NamespaceSkipReason = 'no-namespace-prefix' | 'invalid-identifier' | 'reserved-namespace' | 'prototype-key' | 'duplicate-method';
|
|
16
|
+
export type NamespaceSkipReason = 'no-namespace-prefix' | 'invalid-identifier' | 'reserved-namespace' | 'prototype-key' | 'unsupported-name' | 'duplicate-method';
|
|
24
17
|
export interface BuildToolNamespacesResult {
|
|
25
|
-
/** The namespaces
|
|
18
|
+
/** The namespaces a script may use, as plain data (the sandbox's `toolNamespaces`). */
|
|
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,30 @@ 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.
|
|
35
|
+
* - Methods AgentScript refuses as property names (`fetch`, `Map`, `__x`), and tool names the
|
|
36
|
+
* sandbox can't carry (outside letters, digits, `:`, `.`, `_` and `-`, or not starting with a
|
|
37
|
+
* letter), are skipped.
|
|
42
38
|
* - First registration wins on duplicate `{ns}.{method}` (subsequent are reported as skipped).
|
|
43
39
|
*
|
|
44
|
-
* The
|
|
45
|
-
*
|
|
46
|
-
*
|
|
40
|
+
* The result is plain data (method → tool name), handed to the sandbox as its `toolNamespaces`
|
|
41
|
+
* (see `toSandboxToolNamespaces`): the sandbox builds the namespace objects itself, and a method
|
|
42
|
+
* call `ns.method(args, options)` is exactly `callTool('ns.method', args, options)`, with the
|
|
43
|
+
* sandbox's tool-call cap, rate limit, suspicious-sequence checks and `throwOnError` handling.
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildToolNamespaces(tools: ReadonlyArray<NamespaceableTool>): BuildToolNamespacesResult;
|
|
46
|
+
/**
|
|
47
|
+
* The namespaces to hand the sandbox as its `toolNamespaces`: every namespace and method it can
|
|
48
|
+
* bind, next to custom globals named `reservedGlobals` (`getTool`, `mcpLog`, ...). Rechecks what
|
|
49
|
+
* `buildToolNamespaces` guarantees, since the sandbox refuses the whole configuration, and so fails
|
|
50
|
+
* every script, over a single name it can't bind. Returns undefined when nothing is left.
|
|
47
51
|
*/
|
|
48
|
-
export declare function
|
|
52
|
+
export declare function toSandboxToolNamespaces(namespaces: ToolNamespaces | undefined, reservedGlobals?: Iterable<string>): ToolNamespaces | undefined;
|
|
49
53
|
//# 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,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,yBAAyB;IACxC,uFAAuF;IACvF,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;AAiFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAsDtG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,eAAe,GAAE,QAAQ,CAAC,MAAM,CAAM,GACrC,cAAc,GAAG,SAAS,CAsB5B"}
|
|
@@ -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"}
|