@easynet/agent-tool 1.0.97 → 1.0.99

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 (36) hide show
  1. package/README.md +16 -13
  2. package/config/tool.yaml +4 -5
  3. package/dist/agent-context.d.ts +1 -1
  4. package/dist/agent-context.d.ts.map +1 -1
  5. package/dist/api/createAgentTools.d.ts +1 -0
  6. package/dist/api/createAgentTools.d.ts.map +1 -1
  7. package/dist/api/expose/extension-init/initExtension.d.ts.map +1 -1
  8. package/dist/api/extension/registerExtension.d.ts +1 -0
  9. package/dist/api/extension/registerExtension.d.ts.map +1 -1
  10. package/dist/api/register-tools.d.ts +1 -0
  11. package/dist/api/register-tools.d.ts.map +1 -1
  12. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  13. package/dist/{chunk-WCMZLN3F.js → chunk-3TT5M7A3.js} +56 -52
  14. package/dist/chunk-3TT5M7A3.js.map +1 -0
  15. package/dist/{chunk-2TFGOUXN.cjs → chunk-TJUWCIYZ.cjs} +59 -54
  16. package/dist/chunk-TJUWCIYZ.cjs.map +1 -0
  17. package/dist/index.cjs +137 -50
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +128 -42
  22. package/dist/index.js.map +1 -1
  23. package/dist/sdk.cjs +15 -5
  24. package/dist/sdk.cjs.map +1 -1
  25. package/dist/sdk.js +15 -5
  26. package/dist/sdk.js.map +1 -1
  27. package/dist/tools/util/toolConfig.d.ts +5 -41
  28. package/dist/tools/util/toolConfig.d.ts.map +1 -1
  29. package/dist/tools/util/toolDescriptor.d.ts +1 -1
  30. package/dist/utils/cli/index.cjs +16 -17
  31. package/dist/utils/cli/index.cjs.map +1 -1
  32. package/dist/utils/cli/index.js +5 -6
  33. package/dist/utils/cli/index.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/chunk-2TFGOUXN.cjs.map +0 -1
  36. package/dist/chunk-WCMZLN3F.js.map +0 -1
package/README.md CHANGED
@@ -15,12 +15,16 @@
15
15
  Create `tool.yaml`:
16
16
 
17
17
  ```yaml
18
- tools:
18
+ apiVersion: easynet.world/v1
19
+ kind: ToolConfig
20
+ metadata:
21
+ name: agent-tool-default
22
+ spec:
19
23
  sandboxedPath: .
20
24
  allowedHosts: []
21
25
  blockedHosts: []
22
- list:
23
- - npm:@easynet/agent-tool-buildin
26
+ tools:
27
+ npm:@easynet/agent-tool-buildin: {}
24
28
  ```
25
29
 
26
30
  Load tools:
@@ -45,18 +49,17 @@ kind: ToolConfig
45
49
  metadata:
46
50
  name: agent-tool-default
47
51
  spec:
52
+ sandboxedPath: .
53
+ allowedHosts: []
54
+ blockedHosts: []
48
55
  tools:
49
- sandboxedPath: .
50
- allowedHosts: []
51
- blockedHosts: []
52
- list:
53
- - npm:@easynet/agent-tool-buildin
56
+ npm:@easynet/agent-tool-buildin: {}
54
57
  ```
55
58
 
56
59
  Explanation:
57
60
 
58
- - `spec.tools.sandboxedPath`: root directory allowed for filesystem tools.
59
- - `spec.tools.allowedHosts`: allowlist for outbound HTTP tools.
60
- - `spec.tools.blockedHosts`: denylist for outbound HTTP tools.
61
- - `spec.tools.list`: tool packages or tool descriptors to load.
62
- - `npm:@easynet/agent-tool-buildin`: load the built-in tool extension package.
61
+ - `spec.sandboxedPath`: root directory allowed for filesystem tools.
62
+ - `spec.allowedHosts`: allowlist for outbound HTTP tools.
63
+ - `spec.blockedHosts`: denylist for outbound HTTP tools.
64
+ - `spec.tools`: keyed by tool source descriptor.
65
+ - `npm:@easynet/agent-tool-buildin: {}`: load the built-in tool extension package with default config.
package/config/tool.yaml CHANGED
@@ -3,9 +3,8 @@ kind: ToolConfig
3
3
  metadata:
4
4
  name: agent-tool-default
5
5
  spec:
6
+ sandboxedPath: .
7
+ allowedHosts: []
8
+ blockedHosts: []
6
9
  tools:
7
- sandboxedPath: .
8
- allowedHosts: []
9
- blockedHosts: []
10
- list:
11
- - npm:@easynet/agent-tool-buildin
10
+ npm:@easynet/agent-tool-buildin: {}
@@ -1,3 +1,3 @@
1
- import { type AgentContext } from "@easynet/agent-common/context";
1
+ import { type AgentContext } from "@easynet/agent-common";
2
2
  export declare function getDefaultAgentContext(): AgentContext;
3
3
  //# sourceMappingURL=agent-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../src/agent-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AActF,wBAAgB,sBAAsB,IAAI,YAAY,CAQrD"}
1
+ {"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../src/agent-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAc9E,wBAAgB,sBAAsB,IAAI,YAAY,CAQrD"}
@@ -26,6 +26,7 @@ export interface CreateAgentToolsOptions extends CreateRuntimeOptions {
26
26
  * Internal helper consumed by createAgentTools().
27
27
  */
28
28
  export declare function createLangChainAgentTools(options?: CreateAgentToolsOptions | string): StructuredToolInterface[];
29
+ export declare function createLangChainAgentToolsAsync(options?: CreateAgentToolsOptions | string): Promise<StructuredToolInterface[]>;
29
30
  /**
30
31
  * Internal: create an MCP server from tool config.
31
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKrE,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,2GAA2G;IAC3G,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA6LD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,uBAAuB,EAAE,CAa3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAC9D,OAAO,CAAC,SAAS,CAAC,CAWpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,CAAC,uBAAuB,GAAG,wBAAwB,CAAC,GAAG,MAAM,GACtE,OAAO,CAAC,iBAAiB,CAAC,CAW5B"}
1
+ {"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,OAAO,KAAK,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AAEpF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAOrE,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,2GAA2G;IAC3G,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoRD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,uBAAuB,EAAE,CAa3B;AAED,wBAAsB,8BAA8B,CAClD,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAsBpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAC9D,OAAO,CAAC,SAAS,CAAC,CAWpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,CAAC,uBAAuB,GAAG,wBAAwB,CAAC,GAAG,MAAM,GACtE,OAAO,CAAC,iBAAiB,CAAC,CAW5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"initExtension.d.ts","sourceRoot":"","sources":["../../../../src/api/expose/extension-init/initExtension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+KD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuBzD"}
1
+ {"version":3,"file":"initExtension.d.ts","sourceRoot":"","sources":["../../../../src/api/expose/extension-init/initExtension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8KD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuBzD"}
@@ -21,6 +21,7 @@ export interface RegisterExtensionOptions<TContext> {
21
21
  /** Filter: only register tools whose name starts with one of these prefixes. */
22
22
  namePrefixes?: string[];
23
23
  }
24
+ export declare function deriveConfigPrefixCandidates(prefixWithVersion: string): string[];
24
25
  /**
25
26
  * Load manifest from package (pre-built JSON; no @tool scanning). Register all specs, create and return adapter.
26
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+IAA+I;IAC/I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC1F,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAC1C,WAAW,CAgEb"}
1
+ {"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+IAA+I;IAC/I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAUhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC1F,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAC1C,WAAW,CA8Db"}
@@ -14,4 +14,5 @@ export interface CreateAgentToolsModuleOptions extends CreateAgentToolsOptions {
14
14
  * ```
15
15
  */
16
16
  export declare function createAgentTools(options?: CreateAgentToolsModuleOptions): StructuredToolInterface[];
17
+ export declare function createAgentToolsAsync(options?: CreateAgentToolsModuleOptions): Promise<StructuredToolInterface[]>;
17
18
  //# sourceMappingURL=register-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/api/register-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;CAAG;AAEjF;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,uBAAuB,EAAE,CAInG"}
1
+ {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/api/register-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;CAAG;AAEjF;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,uBAAuB,EAAE,CAInG;AAED,wBAAsB,qBAAqB,CACzC,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAIpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgB3D,OAAO,EAML,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8PAA8P;IAC9P,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,qKAAqK;IACrK,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,wFAAwF;IACxF,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;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAsCzH,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAwF9B,uHAAuH;AACvH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,eAAe,EAAE,CAmBnB;AAsID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuDnG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA+C9B"}
1
+ {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgB3D,OAAO,EAML,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8PAA8P;IAC9P,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,qKAAqK;IACrK,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,wFAAwF;IACxF,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;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAsCzH,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAuH9B,uHAAuH;AACvH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,eAAe,EAAE,CAmBnB;AAsID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuDnG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA+C9B"}
@@ -36,6 +36,20 @@ function normalizeOpenApiConfig(raw) {
36
36
  if (typeof source.port === "number" && Number.isFinite(source.port)) out.port = source.port;
37
37
  return Object.keys(out).length > 0 ? out : void 0;
38
38
  }
39
+ function normalizeToolSources(raw) {
40
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return void 0;
41
+ const out = {};
42
+ for (const [sourceKey, sourceValue] of Object.entries(raw)) {
43
+ if (!sourceValue || typeof sourceValue !== "object" || Array.isArray(sourceValue)) continue;
44
+ const toolMap = {};
45
+ for (const [toolName, toolValue] of Object.entries(sourceValue)) {
46
+ if (!toolValue || typeof toolValue !== "object" || Array.isArray(toolValue)) continue;
47
+ toolMap[toolName] = toolValue;
48
+ }
49
+ out[sourceKey] = toolMap;
50
+ }
51
+ return Object.keys(out).length > 0 ? out : void 0;
52
+ }
39
53
  function loadToolConfig(toolYamlPath) {
40
54
  const abs = resolve(toolYamlPath);
41
55
  const raw = readFileSync(abs, "utf8");
@@ -44,41 +58,21 @@ function loadToolConfig(toolYamlPath) {
44
58
  });
45
59
  if (!parsed || typeof parsed !== "object") return {};
46
60
  const source = parsed.spec && typeof parsed.spec === "object" && !Array.isArray(parsed.spec) ? parsed.spec : parsed;
47
- const mcpConfig = normalizeMcpConfig(source.expose?.mcp ?? source.mcp);
48
- const openApiConfig = normalizeOpenApiConfig(source.expose?.openapi ?? source.openapi);
49
- const toolsBlock = source.tools;
50
- if (toolsBlock != null && typeof toolsBlock === "object" && !Array.isArray(toolsBlock)) {
51
- const toolDefaults = toolsBlock.defaults != null && typeof toolsBlock.defaults === "object" && !Array.isArray(toolsBlock.defaults) ? toolsBlock.defaults : void 0;
52
- const packageToolDefaults2 = toolsBlock.packages != null && typeof toolsBlock.packages === "object" && !Array.isArray(toolsBlock.packages) ? toolsBlock.packages : void 0;
53
- const list2 = Array.isArray(toolsBlock.list) && toolsBlock.list.length > 0 ? toolsBlock.list : void 0;
54
- return {
55
- tools: list2 ?? (packageToolDefaults2 ? Object.keys(packageToolDefaults2) : void 0),
56
- sandboxedPath: typeof toolsBlock.sandboxedPath === "string" ? toolsBlock.sandboxedPath : source.sandboxedPath,
57
- enableSandboxValidation: typeof toolsBlock.enableSandboxValidation === "boolean" ? toolsBlock.enableSandboxValidation : source.enableSandboxValidation,
58
- allowedHosts: Array.isArray(toolsBlock.allowedHosts) ? toolsBlock.allowedHosts : source.allowedHosts,
59
- blockedHosts: Array.isArray(toolsBlock.blockedHosts) ? toolsBlock.blockedHosts : source.blockedHosts,
60
- blockedCidrs: Array.isArray(toolsBlock.blockedCidrs) ? toolsBlock.blockedCidrs : source.blockedCidrs,
61
- toolDefaults,
62
- packageToolDefaults: packageToolDefaults2,
63
- mcp: mcpConfig,
64
- openapi: openApiConfig
65
- };
66
- }
67
- const packageToolDefaults = typeof source.packageToolDefaults === "object" && !Array.isArray(source.packageToolDefaults) ? source.packageToolDefaults : void 0;
68
- const list = Array.isArray(source.tools) && source.tools.length > 0 ? source.tools : void 0;
69
61
  return {
70
- tools: list ?? (packageToolDefaults ? Object.keys(packageToolDefaults) : void 0),
71
- sandboxedPath: source.sandboxedPath,
62
+ sandboxedPath: typeof source.sandboxedPath === "string" ? source.sandboxedPath : void 0,
72
63
  enableSandboxValidation: typeof source.enableSandboxValidation === "boolean" ? source.enableSandboxValidation : void 0,
73
64
  allowedHosts: Array.isArray(source.allowedHosts) ? source.allowedHosts : void 0,
74
65
  blockedHosts: Array.isArray(source.blockedHosts) ? source.blockedHosts : void 0,
75
66
  blockedCidrs: Array.isArray(source.blockedCidrs) ? source.blockedCidrs : void 0,
76
- toolDefaults: typeof source.toolDefaults === "object" && !Array.isArray(source.toolDefaults) ? source.toolDefaults : void 0,
77
- packageToolDefaults,
78
- mcp: mcpConfig,
79
- openapi: openApiConfig
67
+ tools: normalizeToolSources(source.tools),
68
+ mcp: normalizeMcpConfig(source.expose?.mcp ?? source.mcp),
69
+ openapi: normalizeOpenApiConfig(source.expose?.openapi ?? source.openapi)
80
70
  };
81
71
  }
72
+ function getToolSourceDescriptors(config, options) {
73
+ const includeSelf = options?.includeSelf ?? false;
74
+ return Object.keys(config.tools ?? {}).filter((key) => includeSelf || key !== "self");
75
+ }
82
76
  function resolveSandboxedPath(toolYamlPath, sandboxedPath) {
83
77
  const configDir = dirname(resolve(toolYamlPath));
84
78
  return resolveConfigPath(sandboxedPath, configDir, {
@@ -172,23 +166,6 @@ function npmDescriptorToPackagePrefix(descriptor) {
172
166
  if (!normalized) return "";
173
167
  return "npm." + normalized;
174
168
  }
175
- function npmDescriptorToPackagePrefixWithVersion(descriptor) {
176
- const s = descriptor.trim();
177
- if (typeof s !== "string" || !s.startsWith("npm:")) return "";
178
- const rest = s.slice(4).trim();
179
- const hashIdx = rest.indexOf("#");
180
- const beforeHash = hashIdx < 0 ? rest : rest.slice(0, hashIdx);
181
- const lastAt = beforeHash.lastIndexOf("@");
182
- const scopeAndPackage = lastAt <= 0 ? beforeHash : beforeHash.slice(0, lastAt);
183
- const version = lastAt <= 0 ? "" : beforeHash.slice(lastAt + 1).trim();
184
- const slashIdx = scopeAndPackage.indexOf("/");
185
- const scope = slashIdx < 0 ? scopeAndPackage : scopeAndPackage.slice(0, slashIdx).replace(/^@/, "");
186
- const pkg = slashIdx < 0 ? "" : scopeAndPackage.slice(slashIdx + 1);
187
- const segment = [scope, pkg, version].filter(Boolean).join(".");
188
- const normalized = normalizeToolName(segment);
189
- if (!normalized) return "";
190
- return "npm." + normalized;
191
- }
192
169
  function getDisplayScope(registryName, _kind, _toolVersion) {
193
170
  const i = registryName.indexOf(".");
194
171
  return i < 0 ? registryName : registryName.slice(0, i);
@@ -2112,7 +2089,34 @@ function loadExtensionFromFileDescriptorSync(descriptor, configFilePath, stepLog
2112
2089
  if (stepLog) stepLog(`Loaded local extension from ${resolvedPath}`);
2113
2090
  return { register: fn, descriptor: entryStr, resolvedVersion: "local", packageRoot: resolvedPath };
2114
2091
  }
2115
- } catch {
2092
+ } catch (error) {
2093
+ if (stepLog) {
2094
+ stepLog(`Failed to load local extension from ${resolvedPath}: ${error instanceof Error ? error.message : String(error)}`);
2095
+ }
2096
+ }
2097
+ return null;
2098
+ }
2099
+ async function loadExtensionFromFileDescriptorAsync(descriptor, configFilePath, stepLog) {
2100
+ const entryStr = descriptor.trim();
2101
+ const path2 = parseToolPath(entryStr);
2102
+ if (!path2 || path2.protocol !== "file") return null;
2103
+ const localPath = isAbsolute(configFilePath) ? configFilePath : resolve(process.cwd(), configFilePath);
2104
+ const configDir = dirname(localPath);
2105
+ const pathPart = `${path2.scope}/${path2.packageWithVersion}`;
2106
+ const resolvedPath = resolve(configDir, pathPart);
2107
+ if (!existsSync(resolvedPath) || !statSync(resolvedPath).isDirectory()) return null;
2108
+ try {
2109
+ const entryPath = getPackageEntryPath(resolvedPath);
2110
+ const mod = await import(pathToFileURL(entryPath).href);
2111
+ const fn = getRegisterFn(mod);
2112
+ if (typeof fn === "function") {
2113
+ if (stepLog) stepLog(`Loaded local extension from ${resolvedPath} (async import)`);
2114
+ return { register: fn, descriptor: entryStr, resolvedVersion: "local", packageRoot: resolvedPath };
2115
+ }
2116
+ } catch (error) {
2117
+ if (stepLog) {
2118
+ stepLog(`Failed to load local extension from ${resolvedPath}: ${error instanceof Error ? error.message : String(error)}`);
2119
+ }
2116
2120
  }
2117
2121
  return null;
2118
2122
  }
@@ -2168,7 +2172,7 @@ function loadAllExtensionsFromToolYamlSync(configFilePath, stepLog) {
2168
2172
  const localPath = isAbsolute(configFilePath) ? configFilePath : resolve(process.cwd(), configFilePath);
2169
2173
  if (!existsSync(localPath)) return [];
2170
2174
  const config = loadToolConfig(localPath);
2171
- const tools = config.tools;
2175
+ const tools = getToolSourceDescriptors(config);
2172
2176
  if (!Array.isArray(tools) || tools.length === 0) return [];
2173
2177
  if (stepLog) stepLog("Loading extensions from tool.yaml (npm + file)");
2174
2178
  const loaded = [];
@@ -2271,7 +2275,7 @@ async function loadAllExtensionsFromToolYamlAsync(configFilePath, stepLog) {
2271
2275
  const localPath = isAbsolute(configFilePath) ? configFilePath : resolve(process.cwd(), configFilePath);
2272
2276
  if (!existsSync(localPath)) return [];
2273
2277
  const config = loadToolConfig(localPath);
2274
- const tools = config.tools;
2278
+ const tools = getToolSourceDescriptors(config);
2275
2279
  if (!Array.isArray(tools) || tools.length === 0) return [];
2276
2280
  if (stepLog) stepLog("Loading extensions from tool.yaml (async)");
2277
2281
  const loaded = [];
@@ -2281,7 +2285,7 @@ async function loadAllExtensionsFromToolYamlAsync(configFilePath, stepLog) {
2281
2285
  const result = await loadExtensionForDescriptorAsync(entryStr, configFilePath, stepLog);
2282
2286
  if (result) loaded.push(result);
2283
2287
  } else if (entryStr.startsWith("file:")) {
2284
- const result = loadExtensionFromFileDescriptorSync(entryStr, configFilePath, stepLog);
2288
+ const result = await loadExtensionFromFileDescriptorAsync(entryStr, configFilePath, stepLog);
2285
2289
  if (result) {
2286
2290
  loaded.push(result);
2287
2291
  } else {
@@ -2931,6 +2935,6 @@ async function createHttpService(runtimeOrConfig, options = {}) {
2931
2935
  };
2932
2936
  }
2933
2937
 
2934
- export { createHttpService, createMCPServerStreamableHttp, createRuntimeFromConfig, createRuntimeFromConfigSync, expandToolDescriptorsToRegistryNames, fileDescriptorToPackagePrefix, findAndLoadToolConfig, getDisplayScope, isBarePackageDescriptor, loadAllExtensionsFromToolYamlSync, loadToolConfig, npmDescriptorToPackagePrefixWithVersion, resolveSandboxedPath, resolveToolDescriptor, runMCPServerOverStdio, toToolObservationText };
2935
- //# sourceMappingURL=chunk-WCMZLN3F.js.map
2936
- //# sourceMappingURL=chunk-WCMZLN3F.js.map
2938
+ export { createHttpService, createMCPServerStreamableHttp, createRuntimeFromConfig, createRuntimeFromConfigSync, expandToolDescriptorsToRegistryNames, fileDescriptorToPackagePrefix, findAndLoadToolConfig, getDisplayScope, getToolSourceDescriptors, isBarePackageDescriptor, loadAllExtensionsFromToolYamlSync, loadToolConfig, npmDescriptorToPackagePrefix, resolveSandboxedPath, resolveToolDescriptor, runMCPServerOverStdio, toToolObservationText };
2939
+ //# sourceMappingURL=chunk-3TT5M7A3.js.map
2940
+ //# sourceMappingURL=chunk-3TT5M7A3.js.map