@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.
- package/README.md +16 -13
- package/config/tool.yaml +4 -5
- package/dist/agent-context.d.ts +1 -1
- package/dist/agent-context.d.ts.map +1 -1
- package/dist/api/createAgentTools.d.ts +1 -0
- package/dist/api/createAgentTools.d.ts.map +1 -1
- package/dist/api/expose/extension-init/initExtension.d.ts.map +1 -1
- package/dist/api/extension/registerExtension.d.ts +1 -0
- package/dist/api/extension/registerExtension.d.ts.map +1 -1
- package/dist/api/register-tools.d.ts +1 -0
- package/dist/api/register-tools.d.ts.map +1 -1
- package/dist/api/runtimeFromConfig.d.ts.map +1 -1
- package/dist/{chunk-WCMZLN3F.js → chunk-3TT5M7A3.js} +56 -52
- package/dist/chunk-3TT5M7A3.js.map +1 -0
- package/dist/{chunk-2TFGOUXN.cjs → chunk-TJUWCIYZ.cjs} +59 -54
- package/dist/chunk-TJUWCIYZ.cjs.map +1 -0
- package/dist/index.cjs +137 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +128 -42
- package/dist/index.js.map +1 -1
- package/dist/sdk.cjs +15 -5
- package/dist/sdk.cjs.map +1 -1
- package/dist/sdk.js +15 -5
- package/dist/sdk.js.map +1 -1
- package/dist/tools/util/toolConfig.d.ts +5 -41
- package/dist/tools/util/toolConfig.d.ts.map +1 -1
- package/dist/tools/util/toolDescriptor.d.ts +1 -1
- package/dist/utils/cli/index.cjs +16 -17
- package/dist/utils/cli/index.cjs.map +1 -1
- package/dist/utils/cli/index.js +5 -6
- package/dist/utils/cli/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2TFGOUXN.cjs.map +0 -1
- 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
|
-
|
|
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
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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.
|
|
59
|
-
- `spec.
|
|
60
|
-
- `spec.
|
|
61
|
-
- `spec.tools
|
|
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
|
-
|
|
8
|
-
allowedHosts: []
|
|
9
|
-
blockedHosts: []
|
|
10
|
-
list:
|
|
11
|
-
- npm:@easynet/agent-tool-buildin
|
|
10
|
+
npm:@easynet/agent-tool-buildin: {}
|
package/dist/agent-context.d.ts
CHANGED
|
@@ -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
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
2935
|
-
//# sourceMappingURL=chunk-
|
|
2936
|
-
//# sourceMappingURL=chunk-
|
|
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
|