@easynet/agent-tool 1.0.17 → 1.0.19
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/README.md +11 -4
- package/dist/api/createAgentTools.d.ts.map +1 -1
- package/dist/api/expose/mcpServer.d.ts.map +1 -1
- package/dist/api/expose/openapi.d.ts +2 -2
- package/dist/api/expose/openapi.d.ts.map +1 -1
- package/dist/api/main.cjs +17 -16
- package/dist/api/main.js +6 -5
- package/dist/api/runtimeFromConfig.d.ts +5 -0
- package/dist/api/runtimeFromConfig.d.ts.map +1 -1
- package/dist/canonicalCoreSchemas-DNBAHSUC.js +4 -0
- package/dist/{canonicalCoreSchemas-YLHVHYJZ.js.map → canonicalCoreSchemas-DNBAHSUC.js.map} +1 -1
- package/dist/canonicalCoreSchemas-IBTSIPJV.cjs +21 -0
- package/dist/{canonicalCoreSchemas-CTW6CCFY.cjs.map → canonicalCoreSchemas-IBTSIPJV.cjs.map} +1 -1
- package/dist/{chunk-FR2CXERF.js → chunk-46XYOB3H.js} +23 -20
- package/dist/chunk-46XYOB3H.js.map +1 -0
- package/dist/{chunk-6F5JHLZ7.cjs → chunk-EAI37B5W.cjs} +23 -20
- package/dist/chunk-EAI37B5W.cjs.map +1 -0
- package/dist/{chunk-SOFUWEZ6.cjs → chunk-FGGTT32N.cjs} +9 -3
- package/dist/chunk-FGGTT32N.cjs.map +1 -0
- package/dist/{chunk-SIN5JHMP.js → chunk-GGKQQR54.js} +9 -8
- package/dist/chunk-GGKQQR54.js.map +1 -0
- package/dist/{chunk-5SWSNVMI.js → chunk-GWBJEGS7.js} +9 -4
- package/dist/chunk-GWBJEGS7.js.map +1 -0
- package/dist/{chunk-PVVUTEZP.cjs → chunk-H2UMNHDE.cjs} +14 -13
- package/dist/chunk-H2UMNHDE.cjs.map +1 -0
- package/dist/{chunk-UDGQSHEO.cjs → chunk-HISF2FEL.cjs} +42 -19
- package/dist/{chunk-UDGQSHEO.cjs.map → chunk-HISF2FEL.cjs.map} +1 -1
- package/dist/{chunk-AE6FSNGY.js → chunk-IU35EFPK.js} +14 -10
- package/dist/chunk-IU35EFPK.js.map +1 -0
- package/dist/{chunk-CDTLERB6.cjs → chunk-NNOTTUB2.cjs} +31 -22
- package/dist/chunk-NNOTTUB2.cjs.map +1 -0
- package/dist/{chunk-ZNJBRLKN.cjs → chunk-ONIBCU2Y.cjs} +14 -10
- package/dist/chunk-ONIBCU2Y.cjs.map +1 -0
- package/dist/{chunk-LIERSUS5.js → chunk-QB5ALDM3.js} +4 -4
- package/dist/{chunk-LIERSUS5.js.map → chunk-QB5ALDM3.js.map} +1 -1
- package/dist/{chunk-RSDA7IAQ.cjs → chunk-TPWEGGKQ.cjs} +11 -11
- package/dist/{chunk-RSDA7IAQ.cjs.map → chunk-TPWEGGKQ.cjs.map} +1 -1
- package/dist/{chunk-BNHLMLDH.js → chunk-TTYAOTOR.js} +17 -8
- package/dist/chunk-TTYAOTOR.js.map +1 -0
- package/dist/{chunk-M2VNTQHS.js → chunk-Y33OLGAJ.js} +28 -5
- package/dist/{chunk-M2VNTQHS.js.map → chunk-Y33OLGAJ.js.map} +1 -1
- package/dist/core/index.cjs +4 -4
- package/dist/core/index.js +1 -1
- package/dist/core/registry/ToolRegistry.d.ts +2 -2
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/core/runtime/PTCRuntimePipeline.d.ts +1 -1
- package/dist/core/runtime/PTCRuntimePipeline.d.ts.map +1 -1
- package/dist/core/runtime.cjs +6 -5
- package/dist/core/runtime.js +2 -1
- package/dist/core/types/ToolSpec.d.ts +5 -0
- package/dist/core/types/ToolSpec.d.ts.map +1 -1
- package/dist/index.cjs +103 -76
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -14
- package/dist/index.js.map +1 -1
- package/dist/security/ssrf.d.ts +15 -3
- package/dist/security/ssrf.d.ts.map +1 -1
- package/dist/tools/util/canonicalCoreSchemas.d.ts.map +1 -1
- package/dist/tools/util/toolConfig.d.ts +7 -1
- package/dist/tools/util/toolConfig.d.ts.map +1 -1
- package/dist/tools/util/toolDescriptor.d.ts +2 -13
- package/dist/tools/util/toolDescriptor.d.ts.map +1 -1
- package/dist/utils/cli/index.cjs +23 -23
- package/dist/utils/cli/index.cjs.map +1 -1
- package/dist/utils/cli/index.js +8 -8
- package/dist/utils/cli/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/canonicalCoreSchemas-CTW6CCFY.cjs +0 -20
- package/dist/canonicalCoreSchemas-YLHVHYJZ.js +0 -3
- package/dist/chunk-5SWSNVMI.js.map +0 -1
- package/dist/chunk-6F5JHLZ7.cjs.map +0 -1
- package/dist/chunk-AE6FSNGY.js.map +0 -1
- package/dist/chunk-BNHLMLDH.js.map +0 -1
- package/dist/chunk-CDTLERB6.cjs.map +0 -1
- package/dist/chunk-FR2CXERF.js.map +0 -1
- package/dist/chunk-PVVUTEZP.cjs.map +0 -1
- package/dist/chunk-SIN5JHMP.js.map +0 -1
- package/dist/chunk-SOFUWEZ6.cjs.map +0 -1
- package/dist/chunk-ZNJBRLKN.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -50,13 +50,20 @@ npx agent-tool serve --path dist
|
|
|
50
50
|
|
|
51
51
|
### 2. Configure tool.yaml
|
|
52
52
|
|
|
53
|
-
Place `tool.yaml` at project root to list tools (used by `createAgentTools` and `agent-tool ls`):
|
|
53
|
+
Place `tool.yaml` at project root to list tools (used by `createAgentTools` and `agent-tool ls`). You can set **sandbox** and **HTTP host security** under `tools`. Host rule: allow iff (host in `allowedHosts`) AND (host not in `blockedHosts`). Lists are merged with programmatic config (union).
|
|
54
|
+
|
|
55
|
+
**When nothing is set** (no allowedHosts/blockedHosts/sandboxedPath in tool.yaml and no `coreTools` passed in code), it is equivalent to: `allowedHosts: []`, `blockedHosts: []`, `sandboxRoot: process.cwd()`. That means **no HTTP access is allowed** (all HTTP tools will error), and FS tools use the current directory as sandbox. To enable HTTP tools, configure `allowedHosts` (e.g. `["*"]` or specific hostnames).
|
|
54
56
|
|
|
55
57
|
```yaml
|
|
56
58
|
tools:
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
#
|
|
59
|
+
sandboxedPath: ~/.agent/sandbox # fs tools only access this dir
|
|
60
|
+
allowedHosts: ["*"] # allow all; or ["api.github.com", "api.duckduckgo.com"]
|
|
61
|
+
blockedHosts: [] # optional; block these even if allowed (e.g. ["*.internal"])
|
|
62
|
+
blockedCidrs: [] # optional; CIDR blocklist for resolved IPs
|
|
63
|
+
list:
|
|
64
|
+
- npm:@easynet/agent-tool-builtin#fs.readText
|
|
65
|
+
- npm:@easynet/agent-tool-builtin#fs.writeText
|
|
66
|
+
# ...
|
|
60
67
|
```
|
|
61
68
|
|
|
62
69
|
### 3. Programmatic: LangChain tools
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,sHAAsH;IACtH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,sHAAsH;IACtH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,uBAAuB,EAAE,CA2B3B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAyBpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../../src/api/expose/mcpServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../../../src/api/expose/mcpServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,WAAW,CAAC;CACxC;AAWD,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,EAAE;QAAE,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAChF,yEAAyE;IACzE,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,kJAAkJ;AAClJ,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,WAAW,6BAA6B;IAC5C,4EAA4E;IAC5E,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAA;KAAE,CAAC;IACzE,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qHAAqH;IACrH,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClF;AA6DD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAAC;AAE5B;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAAC;AAuB5B;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,wBAAwB,CAAC;AAE5B,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAsCrC,MAAM,WAAW,oCAAqC,SAAQ,gBAAgB;IAC5E,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAE1C,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oCAAoC,GAC7C,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAqC1C;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,UAAU,EACnB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAI1B"}
|
|
@@ -11,9 +11,9 @@ export interface OpenAPISpecOptions {
|
|
|
11
11
|
/** Base path for the API (default: "") */
|
|
12
12
|
basePath?: string;
|
|
13
13
|
}
|
|
14
|
-
/** Tool name to URL path segment: "core
|
|
14
|
+
/** Tool name to URL path segment: "core.fs.readText" -> "core~fs~readText" (dots to ~ in path) */
|
|
15
15
|
export declare function toolNameToSlug(name: string): string;
|
|
16
|
-
/** URL path segment back to tool name: "core~fs
|
|
16
|
+
/** URL path segment back to tool name: "core~fs~readText" -> "core.fs.readText" */
|
|
17
17
|
export declare function slugToToolName(slug: string): string;
|
|
18
18
|
/**
|
|
19
19
|
* Build OpenAPI 3.0 document from the tool registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/api/expose/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/api/expose/openapi.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2HzB"}
|
package/dist/api/main.cjs
CHANGED
|
@@ -1,56 +1,57 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
3
|
+
var chunkHISF2FEL_cjs = require('../chunk-HISF2FEL.cjs');
|
|
4
|
+
var chunkH2UMNHDE_cjs = require('../chunk-H2UMNHDE.cjs');
|
|
5
|
+
var chunkNNOTTUB2_cjs = require('../chunk-NNOTTUB2.cjs');
|
|
6
|
+
require('../chunk-ONIBCU2Y.cjs');
|
|
7
|
+
require('../chunk-EAI37B5W.cjs');
|
|
8
|
+
require('../chunk-FGGTT32N.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
Object.defineProperty(exports, "createAgentTools", {
|
|
12
13
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkHISF2FEL_cjs.createAgentTools; }
|
|
14
15
|
});
|
|
15
16
|
Object.defineProperty(exports, "createLangChainToolsAsync", {
|
|
16
17
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkHISF2FEL_cjs.createLangChainToolsAsync; }
|
|
18
19
|
});
|
|
19
20
|
Object.defineProperty(exports, "createHttpService", {
|
|
20
21
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkH2UMNHDE_cjs.createHttpService; }
|
|
22
23
|
});
|
|
23
24
|
Object.defineProperty(exports, "createMCPServer", {
|
|
24
25
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkH2UMNHDE_cjs.createMCPServer; }
|
|
26
27
|
});
|
|
27
28
|
Object.defineProperty(exports, "createMCPServerStreamableHttp", {
|
|
28
29
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkH2UMNHDE_cjs.createMCPServerStreamableHttp; }
|
|
30
31
|
});
|
|
31
32
|
Object.defineProperty(exports, "createMCPStreamableHttpHandler", {
|
|
32
33
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkH2UMNHDE_cjs.createMCPStreamableHttpHandler; }
|
|
34
35
|
});
|
|
35
36
|
Object.defineProperty(exports, "createOpenAPIServer", {
|
|
36
37
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkH2UMNHDE_cjs.createHttpService; }
|
|
38
39
|
});
|
|
39
40
|
Object.defineProperty(exports, "runMCPServerOverStdio", {
|
|
40
41
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkH2UMNHDE_cjs.runMCPServerOverStdio; }
|
|
42
43
|
});
|
|
43
44
|
Object.defineProperty(exports, "PTCRuntime", {
|
|
44
45
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkNNOTTUB2_cjs.PTCRuntime; }
|
|
46
47
|
});
|
|
47
48
|
Object.defineProperty(exports, "createRuntimeFromConfig", {
|
|
48
49
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkNNOTTUB2_cjs.createRuntimeFromConfig; }
|
|
50
51
|
});
|
|
51
52
|
Object.defineProperty(exports, "createRuntimeFromConfigSync", {
|
|
52
53
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkNNOTTUB2_cjs.createRuntimeFromConfigSync; }
|
|
54
55
|
});
|
|
55
56
|
//# sourceMappingURL=main.cjs.map
|
|
56
57
|
//# sourceMappingURL=main.cjs.map
|
package/dist/api/main.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { createAgentTools, createLangChainToolsAsync } from '../chunk-
|
|
2
|
-
export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-
|
|
3
|
-
export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
1
|
+
export { createAgentTools, createLangChainToolsAsync } from '../chunk-Y33OLGAJ.js';
|
|
2
|
+
export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-GGKQQR54.js';
|
|
3
|
+
export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-TTYAOTOR.js';
|
|
4
|
+
import '../chunk-IU35EFPK.js';
|
|
5
|
+
import '../chunk-46XYOB3H.js';
|
|
6
|
+
import '../chunk-GWBJEGS7.js';
|
|
6
7
|
//# sourceMappingURL=main.js.map
|
|
7
8
|
//# sourceMappingURL=main.js.map
|
|
@@ -13,7 +13,12 @@ export declare const BUILTIN_PKG_NAMES: string[];
|
|
|
13
13
|
/** Config for core (builtin) tools; matches @easynet/agent-tool-builtin-tools when present. */
|
|
14
14
|
export interface CoreToolsUserConfig {
|
|
15
15
|
sandboxRoot?: string;
|
|
16
|
+
/** Allowed hosts (e.g. ["*"] or ["api.github.com"]). Merged with tool.yaml. */
|
|
16
17
|
allowedHosts?: string[];
|
|
18
|
+
/** Block these hosts even if allowed. Merged with tool.yaml. */
|
|
19
|
+
blockedHosts?: string[];
|
|
20
|
+
/** CIDR ranges to block for HTTP (SSRF). Overrides builtin default when set. */
|
|
21
|
+
blockedCidrs?: string[];
|
|
17
22
|
}
|
|
18
23
|
/** Config for example tools; matches @easynet/agent-tool-example-tools when present. */
|
|
19
24
|
export interface ExampleToolsUserConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAc3D,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,UAI7B,CAAC;AAEF,+FAA+F;AAC/F,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,oEAAoE;IACpE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAmBD,qKAAqK;AACrK,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQjG;AA8ED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuDnG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAe9B"}
|
|
1
|
+
{"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAc3D,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,UAI7B,CAAC;AAEF,+FAA+F;AAC/F,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,oEAAoE;IACpE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAmBD,qKAAqK;AACrK,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQjG;AA8ED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuDnG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAe9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"canonicalCoreSchemas-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"canonicalCoreSchemas-DNBAHSUC.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkEAI37B5W_cjs = require('./chunk-EAI37B5W.cjs');
|
|
4
|
+
require('./chunk-FGGTT32N.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "CORE_TOOL_SCHEMAS", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunkEAI37B5W_cjs.CORE_TOOL_SCHEMAS; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "enrichSpecWithCanonicalSchema", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return chunkEAI37B5W_cjs.enrichSpecWithCanonicalSchema; }
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "isGenericSchema", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return chunkEAI37B5W_cjs.isGenericSchema; }
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=canonicalCoreSchemas-IBTSIPJV.cjs.map
|
|
21
|
+
//# sourceMappingURL=canonicalCoreSchemas-IBTSIPJV.cjs.map
|
package/dist/{canonicalCoreSchemas-CTW6CCFY.cjs.map → canonicalCoreSchemas-IBTSIPJV.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"canonicalCoreSchemas-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"canonicalCoreSchemas-IBTSIPJV.cjs"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { normalizeToolName } from './chunk-GWBJEGS7.js';
|
|
2
|
+
|
|
1
3
|
// src/tools/util/canonicalCoreSchemas.ts
|
|
2
4
|
var S = (o) => o;
|
|
3
5
|
var CORE_TOOL_SCHEMAS = {
|
|
@@ -25,7 +27,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
25
27
|
}
|
|
26
28
|
})
|
|
27
29
|
},
|
|
28
|
-
"core
|
|
30
|
+
"core.fs.writeText": {
|
|
29
31
|
inputSchema: S({
|
|
30
32
|
type: "object",
|
|
31
33
|
properties: {
|
|
@@ -36,7 +38,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
36
38
|
additionalProperties: false
|
|
37
39
|
})
|
|
38
40
|
},
|
|
39
|
-
"core
|
|
41
|
+
"core.fs.listDir": {
|
|
40
42
|
inputSchema: S({
|
|
41
43
|
type: "object",
|
|
42
44
|
properties: {
|
|
@@ -47,7 +49,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
47
49
|
additionalProperties: false
|
|
48
50
|
})
|
|
49
51
|
},
|
|
50
|
-
"core
|
|
52
|
+
"core.fs.searchText": {
|
|
51
53
|
inputSchema: S({
|
|
52
54
|
type: "object",
|
|
53
55
|
properties: {
|
|
@@ -59,7 +61,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
59
61
|
additionalProperties: false
|
|
60
62
|
})
|
|
61
63
|
},
|
|
62
|
-
"core
|
|
64
|
+
"core.fs.sha256": {
|
|
63
65
|
inputSchema: S({
|
|
64
66
|
type: "object",
|
|
65
67
|
properties: {
|
|
@@ -69,7 +71,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
69
71
|
additionalProperties: false
|
|
70
72
|
})
|
|
71
73
|
},
|
|
72
|
-
"core
|
|
74
|
+
"core.fs.deletePath": {
|
|
73
75
|
inputSchema: S({
|
|
74
76
|
type: "object",
|
|
75
77
|
properties: {
|
|
@@ -79,7 +81,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
79
81
|
additionalProperties: false
|
|
80
82
|
})
|
|
81
83
|
},
|
|
82
|
-
"core
|
|
84
|
+
"core.http.fetchText": {
|
|
83
85
|
inputSchema: S({
|
|
84
86
|
type: "object",
|
|
85
87
|
properties: {
|
|
@@ -91,7 +93,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
91
93
|
additionalProperties: false
|
|
92
94
|
})
|
|
93
95
|
},
|
|
94
|
-
"core
|
|
96
|
+
"core.http.fetchJson": {
|
|
95
97
|
inputSchema: S({
|
|
96
98
|
type: "object",
|
|
97
99
|
properties: {
|
|
@@ -102,7 +104,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
102
104
|
additionalProperties: false
|
|
103
105
|
})
|
|
104
106
|
},
|
|
105
|
-
"core
|
|
107
|
+
"core.http.downloadFile": {
|
|
106
108
|
inputSchema: S({
|
|
107
109
|
type: "object",
|
|
108
110
|
properties: {
|
|
@@ -114,7 +116,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
114
116
|
additionalProperties: false
|
|
115
117
|
})
|
|
116
118
|
},
|
|
117
|
-
"core
|
|
119
|
+
"core.http.head": {
|
|
118
120
|
inputSchema: S({
|
|
119
121
|
type: "object",
|
|
120
122
|
properties: {
|
|
@@ -124,7 +126,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
124
126
|
additionalProperties: false
|
|
125
127
|
})
|
|
126
128
|
},
|
|
127
|
-
"core
|
|
129
|
+
"core.http.duckduckgoSearch": {
|
|
128
130
|
inputSchema: S({
|
|
129
131
|
type: "object",
|
|
130
132
|
properties: {
|
|
@@ -135,7 +137,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
135
137
|
additionalProperties: false
|
|
136
138
|
})
|
|
137
139
|
},
|
|
138
|
-
"core
|
|
140
|
+
"core.http.fetchPageMainContent": {
|
|
139
141
|
inputSchema: S({
|
|
140
142
|
type: "object",
|
|
141
143
|
properties: {
|
|
@@ -146,7 +148,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
146
148
|
additionalProperties: false
|
|
147
149
|
})
|
|
148
150
|
},
|
|
149
|
-
"core
|
|
151
|
+
"core.util.json.select": {
|
|
150
152
|
inputSchema: S({
|
|
151
153
|
type: "object",
|
|
152
154
|
properties: {
|
|
@@ -157,7 +159,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
157
159
|
additionalProperties: false
|
|
158
160
|
})
|
|
159
161
|
},
|
|
160
|
-
"core
|
|
162
|
+
"core.util.text.truncate": {
|
|
161
163
|
inputSchema: S({
|
|
162
164
|
type: "object",
|
|
163
165
|
properties: {
|
|
@@ -168,7 +170,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
168
170
|
additionalProperties: false
|
|
169
171
|
})
|
|
170
172
|
},
|
|
171
|
-
"core
|
|
173
|
+
"core.util.hash.sha256Text": {
|
|
172
174
|
inputSchema: S({
|
|
173
175
|
type: "object",
|
|
174
176
|
properties: {
|
|
@@ -178,7 +180,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
178
180
|
additionalProperties: false
|
|
179
181
|
})
|
|
180
182
|
},
|
|
181
|
-
"core
|
|
183
|
+
"core.util.time.now": {
|
|
182
184
|
inputSchema: S({
|
|
183
185
|
type: "object",
|
|
184
186
|
properties: {
|
|
@@ -187,7 +189,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
187
189
|
additionalProperties: false
|
|
188
190
|
})
|
|
189
191
|
},
|
|
190
|
-
"core
|
|
192
|
+
"core.util.template.render": {
|
|
191
193
|
inputSchema: S({
|
|
192
194
|
type: "object",
|
|
193
195
|
properties: {
|
|
@@ -198,7 +200,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
198
200
|
additionalProperties: false
|
|
199
201
|
})
|
|
200
202
|
},
|
|
201
|
-
"core
|
|
203
|
+
"core.exec.runCommand": {
|
|
202
204
|
inputSchema: S({
|
|
203
205
|
type: "object",
|
|
204
206
|
properties: {
|
|
@@ -222,7 +224,8 @@ function isGenericSchema(schema) {
|
|
|
222
224
|
}
|
|
223
225
|
function enrichSpecWithCanonicalSchema(spec) {
|
|
224
226
|
if (spec.kind !== "core") return spec;
|
|
225
|
-
const
|
|
227
|
+
const key = normalizeToolName(spec.name);
|
|
228
|
+
const canonical = CORE_TOOL_SCHEMAS[key];
|
|
226
229
|
if (!canonical) return spec;
|
|
227
230
|
const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;
|
|
228
231
|
const useOutput = canonical.outputSchema && isGenericSchema(spec.outputSchema) ? canonical.outputSchema : spec.outputSchema;
|
|
@@ -235,5 +238,5 @@ function enrichSpecWithCanonicalSchema(spec) {
|
|
|
235
238
|
}
|
|
236
239
|
|
|
237
240
|
export { CORE_TOOL_SCHEMAS, enrichSpecWithCanonicalSchema, isGenericSchema };
|
|
238
|
-
//# sourceMappingURL=chunk-
|
|
239
|
-
//# sourceMappingURL=chunk-
|
|
241
|
+
//# sourceMappingURL=chunk-46XYOB3H.js.map
|
|
242
|
+
//# sourceMappingURL=chunk-46XYOB3H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tools/util/canonicalCoreSchemas.ts"],"names":[],"mappings":"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","file":"chunk-46XYOB3H.js","sourcesContent":["/**\n * Canonical input/output schemas for core (builtin) tools.\n * Used when the builtin package registers specs with generic schema\n * (type: object, additionalProperties: true) so CLI describe and OpenAPI show real schemas.\n */\n\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport { normalizeToolName } from \"../../core/types/ToolSpec.js\";\n\nconst S = (o: object) => o as Record<string, unknown>;\n\n/** Canonical inputSchema (and optional outputSchema) by tool name (e.g. core/fs.readText). */\nexport const CORE_TOOL_SCHEMAS: Record<\n string,\n { inputSchema: object; outputSchema?: object }\n> = {\n \"core/fs.readText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to the file (within sandbox)\" },\n maxBytes: { type: \"number\", description: \"Max bytes to read (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n outputSchema: S({\n type: \"object\",\n properties: {\n result: {\n type: \"object\",\n properties: {\n path: { type: \"string\" },\n text: { type: \"string\" },\n bytes: { type: \"number\" },\n },\n },\n },\n }),\n },\n \"core.fs.writeText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to write (within sandbox)\" },\n content: { type: \"string\", description: \"UTF-8 content to write\" },\n },\n required: [\"path\", \"content\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.listDir\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Directory path (within sandbox)\" },\n maxEntries: { type: \"number\", description: \"Max entries to return (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.searchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file or directory\" },\n pattern: { type: \"string\", description: \"Search pattern (regex or literal)\" },\n maxMatches: { type: \"number\", description: \"Max matches (optional)\" },\n },\n required: [\"path\", \"pattern\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.sha256\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.deletePath\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to delete (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" }, description: \"Optional request headers\" },\n timeoutMs: { type: \"number\", description: \"Request timeout in ms (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchJson\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.downloadFile\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to download\" },\n destPath: { type: \"string\", description: \"Destination path (within sandbox)\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\", \"destPath\"],\n additionalProperties: false,\n }),\n },\n \"core.http.head\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL for HEAD request\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.duckduckgoSearch\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"Search query\" },\n maxResults: { type: \"number\", description: \"Max results (optional)\" },\n },\n required: [\"query\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchPageMainContent\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"Page URL\" },\n maxLength: { type: \"number\", description: \"Max content length (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.util.json.select\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n json: { description: \"JSON value (object or string)\" },\n selector: { type: \"string\", description: \"JSONPath or selector\" },\n },\n required: [\"json\", \"selector\"],\n additionalProperties: false,\n }),\n },\n \"core.util.text.truncate\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to truncate\" },\n maxLength: { type: \"number\", description: \"Max length\" },\n },\n required: [\"text\", \"maxLength\"],\n additionalProperties: false,\n }),\n },\n \"core.util.hash.sha256Text\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to hash\" },\n },\n required: [\"text\"],\n additionalProperties: false,\n }),\n },\n \"core.util.time.now\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n timezone: { type: \"string\", description: \"IANA timezone (optional)\" },\n },\n additionalProperties: false,\n }),\n },\n \"core.util.template.render\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n template: { type: \"string\", description: \"Template string (e.g. Mustache)\" },\n data: { type: \"object\", description: \"Data object for template\" },\n },\n required: [\"template\", \"data\"],\n additionalProperties: false,\n }),\n },\n \"core.exec.runCommand\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n command: { type: \"string\", description: \"Command to run\" },\n args: { type: \"array\", items: { type: \"string\" }, description: \"Arguments (optional)\" },\n cwd: { type: \"string\", description: \"Working directory (optional)\" },\n timeoutMs: { type: \"number\", description: \"Timeout in ms (optional)\" },\n },\n required: [\"command\"],\n additionalProperties: false,\n }),\n },\n};\n\n/** True if schema looks like the generic permissive one. */\nexport function isGenericSchema(schema: unknown): boolean {\n if (schema === null || typeof schema !== \"object\") return false;\n const s = schema as Record<string, unknown>;\n if (s.type !== \"object\") return false;\n if (s.additionalProperties === true && !s.properties) return true;\n if (s.properties === undefined && s.required === undefined) return true;\n return false;\n}\n\n/**\n * If spec is a core tool with generic input/output schema, return spec with canonical schema.\n * Otherwise return spec unchanged.\n */\nexport function enrichSpecWithCanonicalSchema(spec: ToolSpec): ToolSpec {\n if (spec.kind !== \"core\") return spec;\n const key = normalizeToolName(spec.name);\n const canonical = CORE_TOOL_SCHEMAS[key];\n if (!canonical) return spec;\n const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;\n const useOutput =\n canonical.outputSchema && isGenericSchema(spec.outputSchema)\n ? canonical.outputSchema\n : spec.outputSchema;\n if (useInput === spec.inputSchema && useOutput === spec.outputSchema) return spec;\n return {\n ...spec,\n inputSchema: useInput,\n outputSchema: useOutput,\n };\n}\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkFGGTT32N_cjs = require('./chunk-FGGTT32N.cjs');
|
|
4
|
+
|
|
3
5
|
// src/tools/util/canonicalCoreSchemas.ts
|
|
4
6
|
var S = (o) => o;
|
|
5
7
|
var CORE_TOOL_SCHEMAS = {
|
|
@@ -27,7 +29,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
27
29
|
}
|
|
28
30
|
})
|
|
29
31
|
},
|
|
30
|
-
"core
|
|
32
|
+
"core.fs.writeText": {
|
|
31
33
|
inputSchema: S({
|
|
32
34
|
type: "object",
|
|
33
35
|
properties: {
|
|
@@ -38,7 +40,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
38
40
|
additionalProperties: false
|
|
39
41
|
})
|
|
40
42
|
},
|
|
41
|
-
"core
|
|
43
|
+
"core.fs.listDir": {
|
|
42
44
|
inputSchema: S({
|
|
43
45
|
type: "object",
|
|
44
46
|
properties: {
|
|
@@ -49,7 +51,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
49
51
|
additionalProperties: false
|
|
50
52
|
})
|
|
51
53
|
},
|
|
52
|
-
"core
|
|
54
|
+
"core.fs.searchText": {
|
|
53
55
|
inputSchema: S({
|
|
54
56
|
type: "object",
|
|
55
57
|
properties: {
|
|
@@ -61,7 +63,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
61
63
|
additionalProperties: false
|
|
62
64
|
})
|
|
63
65
|
},
|
|
64
|
-
"core
|
|
66
|
+
"core.fs.sha256": {
|
|
65
67
|
inputSchema: S({
|
|
66
68
|
type: "object",
|
|
67
69
|
properties: {
|
|
@@ -71,7 +73,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
71
73
|
additionalProperties: false
|
|
72
74
|
})
|
|
73
75
|
},
|
|
74
|
-
"core
|
|
76
|
+
"core.fs.deletePath": {
|
|
75
77
|
inputSchema: S({
|
|
76
78
|
type: "object",
|
|
77
79
|
properties: {
|
|
@@ -81,7 +83,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
81
83
|
additionalProperties: false
|
|
82
84
|
})
|
|
83
85
|
},
|
|
84
|
-
"core
|
|
86
|
+
"core.http.fetchText": {
|
|
85
87
|
inputSchema: S({
|
|
86
88
|
type: "object",
|
|
87
89
|
properties: {
|
|
@@ -93,7 +95,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
93
95
|
additionalProperties: false
|
|
94
96
|
})
|
|
95
97
|
},
|
|
96
|
-
"core
|
|
98
|
+
"core.http.fetchJson": {
|
|
97
99
|
inputSchema: S({
|
|
98
100
|
type: "object",
|
|
99
101
|
properties: {
|
|
@@ -104,7 +106,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
104
106
|
additionalProperties: false
|
|
105
107
|
})
|
|
106
108
|
},
|
|
107
|
-
"core
|
|
109
|
+
"core.http.downloadFile": {
|
|
108
110
|
inputSchema: S({
|
|
109
111
|
type: "object",
|
|
110
112
|
properties: {
|
|
@@ -116,7 +118,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
116
118
|
additionalProperties: false
|
|
117
119
|
})
|
|
118
120
|
},
|
|
119
|
-
"core
|
|
121
|
+
"core.http.head": {
|
|
120
122
|
inputSchema: S({
|
|
121
123
|
type: "object",
|
|
122
124
|
properties: {
|
|
@@ -126,7 +128,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
126
128
|
additionalProperties: false
|
|
127
129
|
})
|
|
128
130
|
},
|
|
129
|
-
"core
|
|
131
|
+
"core.http.duckduckgoSearch": {
|
|
130
132
|
inputSchema: S({
|
|
131
133
|
type: "object",
|
|
132
134
|
properties: {
|
|
@@ -137,7 +139,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
137
139
|
additionalProperties: false
|
|
138
140
|
})
|
|
139
141
|
},
|
|
140
|
-
"core
|
|
142
|
+
"core.http.fetchPageMainContent": {
|
|
141
143
|
inputSchema: S({
|
|
142
144
|
type: "object",
|
|
143
145
|
properties: {
|
|
@@ -148,7 +150,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
148
150
|
additionalProperties: false
|
|
149
151
|
})
|
|
150
152
|
},
|
|
151
|
-
"core
|
|
153
|
+
"core.util.json.select": {
|
|
152
154
|
inputSchema: S({
|
|
153
155
|
type: "object",
|
|
154
156
|
properties: {
|
|
@@ -159,7 +161,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
159
161
|
additionalProperties: false
|
|
160
162
|
})
|
|
161
163
|
},
|
|
162
|
-
"core
|
|
164
|
+
"core.util.text.truncate": {
|
|
163
165
|
inputSchema: S({
|
|
164
166
|
type: "object",
|
|
165
167
|
properties: {
|
|
@@ -170,7 +172,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
170
172
|
additionalProperties: false
|
|
171
173
|
})
|
|
172
174
|
},
|
|
173
|
-
"core
|
|
175
|
+
"core.util.hash.sha256Text": {
|
|
174
176
|
inputSchema: S({
|
|
175
177
|
type: "object",
|
|
176
178
|
properties: {
|
|
@@ -180,7 +182,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
180
182
|
additionalProperties: false
|
|
181
183
|
})
|
|
182
184
|
},
|
|
183
|
-
"core
|
|
185
|
+
"core.util.time.now": {
|
|
184
186
|
inputSchema: S({
|
|
185
187
|
type: "object",
|
|
186
188
|
properties: {
|
|
@@ -189,7 +191,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
189
191
|
additionalProperties: false
|
|
190
192
|
})
|
|
191
193
|
},
|
|
192
|
-
"core
|
|
194
|
+
"core.util.template.render": {
|
|
193
195
|
inputSchema: S({
|
|
194
196
|
type: "object",
|
|
195
197
|
properties: {
|
|
@@ -200,7 +202,7 @@ var CORE_TOOL_SCHEMAS = {
|
|
|
200
202
|
additionalProperties: false
|
|
201
203
|
})
|
|
202
204
|
},
|
|
203
|
-
"core
|
|
205
|
+
"core.exec.runCommand": {
|
|
204
206
|
inputSchema: S({
|
|
205
207
|
type: "object",
|
|
206
208
|
properties: {
|
|
@@ -224,7 +226,8 @@ function isGenericSchema(schema) {
|
|
|
224
226
|
}
|
|
225
227
|
function enrichSpecWithCanonicalSchema(spec) {
|
|
226
228
|
if (spec.kind !== "core") return spec;
|
|
227
|
-
const
|
|
229
|
+
const key = chunkFGGTT32N_cjs.normalizeToolName(spec.name);
|
|
230
|
+
const canonical = CORE_TOOL_SCHEMAS[key];
|
|
228
231
|
if (!canonical) return spec;
|
|
229
232
|
const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;
|
|
230
233
|
const useOutput = canonical.outputSchema && isGenericSchema(spec.outputSchema) ? canonical.outputSchema : spec.outputSchema;
|
|
@@ -239,5 +242,5 @@ function enrichSpecWithCanonicalSchema(spec) {
|
|
|
239
242
|
exports.CORE_TOOL_SCHEMAS = CORE_TOOL_SCHEMAS;
|
|
240
243
|
exports.enrichSpecWithCanonicalSchema = enrichSpecWithCanonicalSchema;
|
|
241
244
|
exports.isGenericSchema = isGenericSchema;
|
|
242
|
-
//# sourceMappingURL=chunk-
|
|
243
|
-
//# sourceMappingURL=chunk-
|
|
245
|
+
//# sourceMappingURL=chunk-EAI37B5W.cjs.map
|
|
246
|
+
//# sourceMappingURL=chunk-EAI37B5W.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tools/util/canonicalCoreSchemas.ts"],"names":["normalizeToolName"],"mappings":"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","file":"chunk-EAI37B5W.cjs","sourcesContent":["/**\n * Canonical input/output schemas for core (builtin) tools.\n * Used when the builtin package registers specs with generic schema\n * (type: object, additionalProperties: true) so CLI describe and OpenAPI show real schemas.\n */\n\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport { normalizeToolName } from \"../../core/types/ToolSpec.js\";\n\nconst S = (o: object) => o as Record<string, unknown>;\n\n/** Canonical inputSchema (and optional outputSchema) by tool name (e.g. core/fs.readText). */\nexport const CORE_TOOL_SCHEMAS: Record<\n string,\n { inputSchema: object; outputSchema?: object }\n> = {\n \"core/fs.readText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to the file (within sandbox)\" },\n maxBytes: { type: \"number\", description: \"Max bytes to read (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n outputSchema: S({\n type: \"object\",\n properties: {\n result: {\n type: \"object\",\n properties: {\n path: { type: \"string\" },\n text: { type: \"string\" },\n bytes: { type: \"number\" },\n },\n },\n },\n }),\n },\n \"core.fs.writeText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to write (within sandbox)\" },\n content: { type: \"string\", description: \"UTF-8 content to write\" },\n },\n required: [\"path\", \"content\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.listDir\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Directory path (within sandbox)\" },\n maxEntries: { type: \"number\", description: \"Max entries to return (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.searchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file or directory\" },\n pattern: { type: \"string\", description: \"Search pattern (regex or literal)\" },\n maxMatches: { type: \"number\", description: \"Max matches (optional)\" },\n },\n required: [\"path\", \"pattern\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.sha256\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.deletePath\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to delete (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" }, description: \"Optional request headers\" },\n timeoutMs: { type: \"number\", description: \"Request timeout in ms (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchJson\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.downloadFile\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to download\" },\n destPath: { type: \"string\", description: \"Destination path (within sandbox)\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\", \"destPath\"],\n additionalProperties: false,\n }),\n },\n \"core.http.head\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL for HEAD request\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.duckduckgoSearch\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"Search query\" },\n maxResults: { type: \"number\", description: \"Max results (optional)\" },\n },\n required: [\"query\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchPageMainContent\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"Page URL\" },\n maxLength: { type: \"number\", description: \"Max content length (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.util.json.select\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n json: { description: \"JSON value (object or string)\" },\n selector: { type: \"string\", description: \"JSONPath or selector\" },\n },\n required: [\"json\", \"selector\"],\n additionalProperties: false,\n }),\n },\n \"core.util.text.truncate\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to truncate\" },\n maxLength: { type: \"number\", description: \"Max length\" },\n },\n required: [\"text\", \"maxLength\"],\n additionalProperties: false,\n }),\n },\n \"core.util.hash.sha256Text\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to hash\" },\n },\n required: [\"text\"],\n additionalProperties: false,\n }),\n },\n \"core.util.time.now\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n timezone: { type: \"string\", description: \"IANA timezone (optional)\" },\n },\n additionalProperties: false,\n }),\n },\n \"core.util.template.render\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n template: { type: \"string\", description: \"Template string (e.g. Mustache)\" },\n data: { type: \"object\", description: \"Data object for template\" },\n },\n required: [\"template\", \"data\"],\n additionalProperties: false,\n }),\n },\n \"core.exec.runCommand\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n command: { type: \"string\", description: \"Command to run\" },\n args: { type: \"array\", items: { type: \"string\" }, description: \"Arguments (optional)\" },\n cwd: { type: \"string\", description: \"Working directory (optional)\" },\n timeoutMs: { type: \"number\", description: \"Timeout in ms (optional)\" },\n },\n required: [\"command\"],\n additionalProperties: false,\n }),\n },\n};\n\n/** True if schema looks like the generic permissive one. */\nexport function isGenericSchema(schema: unknown): boolean {\n if (schema === null || typeof schema !== \"object\") return false;\n const s = schema as Record<string, unknown>;\n if (s.type !== \"object\") return false;\n if (s.additionalProperties === true && !s.properties) return true;\n if (s.properties === undefined && s.required === undefined) return true;\n return false;\n}\n\n/**\n * If spec is a core tool with generic input/output schema, return spec with canonical schema.\n * Otherwise return spec unchanged.\n */\nexport function enrichSpecWithCanonicalSchema(spec: ToolSpec): ToolSpec {\n if (spec.kind !== \"core\") return spec;\n const key = normalizeToolName(spec.name);\n const canonical = CORE_TOOL_SCHEMAS[key];\n if (!canonical) return spec;\n const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;\n const useOutput =\n canonical.outputSchema && isGenericSchema(spec.outputSchema)\n ? canonical.outputSchema\n : spec.outputSchema;\n if (useInput === spec.inputSchema && useOutput === spec.outputSchema) return spec;\n return {\n ...spec,\n inputSchema: useInput,\n outputSchema: useOutput,\n };\n}\n"]}
|