@easynet/agent-tool 1.0.17 → 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +11 -4
  2. package/dist/api/createAgentTools.d.ts.map +1 -1
  3. package/dist/api/main.cjs +14 -14
  4. package/dist/api/main.js +3 -3
  5. package/dist/api/runtimeFromConfig.d.ts +5 -0
  6. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  7. package/dist/{chunk-LIERSUS5.js → chunk-7MRBWT2T.js} +3 -3
  8. package/dist/{chunk-LIERSUS5.js.map → chunk-7MRBWT2T.js.map} +1 -1
  9. package/dist/{chunk-M2VNTQHS.js → chunk-7WI5VK5G.js} +28 -5
  10. package/dist/{chunk-M2VNTQHS.js.map → chunk-7WI5VK5G.js.map} +1 -1
  11. package/dist/{chunk-CDTLERB6.cjs → chunk-EMI67SPN.cjs} +11 -5
  12. package/dist/chunk-EMI67SPN.cjs.map +1 -0
  13. package/dist/{chunk-SIN5JHMP.js → chunk-ETWGKCOP.js} +3 -3
  14. package/dist/{chunk-SIN5JHMP.js.map → chunk-ETWGKCOP.js.map} +1 -1
  15. package/dist/{chunk-PVVUTEZP.cjs → chunk-OXTQULXH.cjs} +7 -7
  16. package/dist/{chunk-PVVUTEZP.cjs.map → chunk-OXTQULXH.cjs.map} +1 -1
  17. package/dist/{chunk-BNHLMLDH.js → chunk-RKN4PT7P.js} +10 -4
  18. package/dist/chunk-RKN4PT7P.js.map +1 -0
  19. package/dist/{chunk-RSDA7IAQ.cjs → chunk-YK2MQDNJ.cjs} +9 -9
  20. package/dist/{chunk-RSDA7IAQ.cjs.map → chunk-YK2MQDNJ.cjs.map} +1 -1
  21. package/dist/{chunk-UDGQSHEO.cjs → chunk-ZIFQWIN3.cjs} +42 -19
  22. package/dist/{chunk-UDGQSHEO.cjs.map → chunk-ZIFQWIN3.cjs.map} +1 -1
  23. package/dist/index.cjs +74 -51
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +32 -9
  28. package/dist/index.js.map +1 -1
  29. package/dist/security/ssrf.d.ts +15 -3
  30. package/dist/security/ssrf.d.ts.map +1 -1
  31. package/dist/tools/util/toolConfig.d.ts +7 -1
  32. package/dist/tools/util/toolConfig.d.ts.map +1 -1
  33. package/dist/utils/cli/index.cjs +17 -17
  34. package/dist/utils/cli/index.js +3 -3
  35. package/package.json +1 -1
  36. package/dist/chunk-BNHLMLDH.js.map +0 -1
  37. package/dist/chunk-CDTLERB6.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
- - npm:@easynet/agent-tool-builtin#fs.readText
58
- - npm:@easynet/agent-tool-builtin#fs.writeText
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;AAcD;;;;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
+ {"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"}
package/dist/api/main.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkUDGQSHEO_cjs = require('../chunk-UDGQSHEO.cjs');
4
- var chunkPVVUTEZP_cjs = require('../chunk-PVVUTEZP.cjs');
5
- var chunkCDTLERB6_cjs = require('../chunk-CDTLERB6.cjs');
3
+ var chunkZIFQWIN3_cjs = require('../chunk-ZIFQWIN3.cjs');
4
+ var chunkOXTQULXH_cjs = require('../chunk-OXTQULXH.cjs');
5
+ var chunkEMI67SPN_cjs = require('../chunk-EMI67SPN.cjs');
6
6
  require('../chunk-ZNJBRLKN.cjs');
7
7
  require('../chunk-6F5JHLZ7.cjs');
8
8
 
@@ -10,47 +10,47 @@ require('../chunk-6F5JHLZ7.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "createAgentTools", {
12
12
  enumerable: true,
13
- get: function () { return chunkUDGQSHEO_cjs.createAgentTools; }
13
+ get: function () { return chunkZIFQWIN3_cjs.createAgentTools; }
14
14
  });
15
15
  Object.defineProperty(exports, "createLangChainToolsAsync", {
16
16
  enumerable: true,
17
- get: function () { return chunkUDGQSHEO_cjs.createLangChainToolsAsync; }
17
+ get: function () { return chunkZIFQWIN3_cjs.createLangChainToolsAsync; }
18
18
  });
19
19
  Object.defineProperty(exports, "createHttpService", {
20
20
  enumerable: true,
21
- get: function () { return chunkPVVUTEZP_cjs.createHttpService; }
21
+ get: function () { return chunkOXTQULXH_cjs.createHttpService; }
22
22
  });
23
23
  Object.defineProperty(exports, "createMCPServer", {
24
24
  enumerable: true,
25
- get: function () { return chunkPVVUTEZP_cjs.createMCPServer; }
25
+ get: function () { return chunkOXTQULXH_cjs.createMCPServer; }
26
26
  });
27
27
  Object.defineProperty(exports, "createMCPServerStreamableHttp", {
28
28
  enumerable: true,
29
- get: function () { return chunkPVVUTEZP_cjs.createMCPServerStreamableHttp; }
29
+ get: function () { return chunkOXTQULXH_cjs.createMCPServerStreamableHttp; }
30
30
  });
31
31
  Object.defineProperty(exports, "createMCPStreamableHttpHandler", {
32
32
  enumerable: true,
33
- get: function () { return chunkPVVUTEZP_cjs.createMCPStreamableHttpHandler; }
33
+ get: function () { return chunkOXTQULXH_cjs.createMCPStreamableHttpHandler; }
34
34
  });
35
35
  Object.defineProperty(exports, "createOpenAPIServer", {
36
36
  enumerable: true,
37
- get: function () { return chunkPVVUTEZP_cjs.createHttpService; }
37
+ get: function () { return chunkOXTQULXH_cjs.createHttpService; }
38
38
  });
39
39
  Object.defineProperty(exports, "runMCPServerOverStdio", {
40
40
  enumerable: true,
41
- get: function () { return chunkPVVUTEZP_cjs.runMCPServerOverStdio; }
41
+ get: function () { return chunkOXTQULXH_cjs.runMCPServerOverStdio; }
42
42
  });
43
43
  Object.defineProperty(exports, "PTCRuntime", {
44
44
  enumerable: true,
45
- get: function () { return chunkCDTLERB6_cjs.PTCRuntime; }
45
+ get: function () { return chunkEMI67SPN_cjs.PTCRuntime; }
46
46
  });
47
47
  Object.defineProperty(exports, "createRuntimeFromConfig", {
48
48
  enumerable: true,
49
- get: function () { return chunkCDTLERB6_cjs.createRuntimeFromConfig; }
49
+ get: function () { return chunkEMI67SPN_cjs.createRuntimeFromConfig; }
50
50
  });
51
51
  Object.defineProperty(exports, "createRuntimeFromConfigSync", {
52
52
  enumerable: true,
53
- get: function () { return chunkCDTLERB6_cjs.createRuntimeFromConfigSync; }
53
+ get: function () { return chunkEMI67SPN_cjs.createRuntimeFromConfigSync; }
54
54
  });
55
55
  //# sourceMappingURL=main.cjs.map
56
56
  //# sourceMappingURL=main.cjs.map
package/dist/api/main.js CHANGED
@@ -1,6 +1,6 @@
1
- export { createAgentTools, createLangChainToolsAsync } from '../chunk-M2VNTQHS.js';
2
- export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-SIN5JHMP.js';
3
- export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-BNHLMLDH.js';
1
+ export { createAgentTools, createLangChainToolsAsync } from '../chunk-7WI5VK5G.js';
2
+ export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-ETWGKCOP.js';
3
+ export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-RKN4PT7P.js';
4
4
  import '../chunk-AE6FSNGY.js';
5
5
  import '../chunk-FR2CXERF.js';
6
6
  //# 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,4 +1,4 @@
1
- import { LANGCHAIN_DIR_NAME, LANGCHAIN_KIND, MCP_KIND } from './chunk-BNHLMLDH.js';
1
+ import { LANGCHAIN_DIR_NAME, LANGCHAIN_KIND, MCP_KIND } from './chunk-RKN4PT7P.js';
2
2
  import { DEFAULT_OUTPUT_SCHEMA } from './chunk-5SWSNVMI.js';
3
3
  import * as fs3 from 'fs/promises';
4
4
  import { readdir, readFile, access, stat } from 'fs/promises';
@@ -1779,5 +1779,5 @@ async function runMcpServer(options = {}) {
1779
1779
  var runGeneratedMCP = runMcpServer;
1780
1780
 
1781
1781
  export { DirectoryScanner, DiscoveryError, SkillManifestError, buildFunctionToTool, buildMcpPackage, initProject, loadMCPTool, loadSkillDefinition, parseSkillMd, runGeneratedMCP, runMcpServer, scan, scanForTools, scanSkillResources, validateFrontmatter };
1782
- //# sourceMappingURL=chunk-LIERSUS5.js.map
1783
- //# sourceMappingURL=chunk-LIERSUS5.js.map
1782
+ //# sourceMappingURL=chunk-7MRBWT2T.js.map
1783
+ //# sourceMappingURL=chunk-7MRBWT2T.js.map