@easynet/agent-tool 1.0.73 → 1.0.74
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 +5 -5
- package/dist/api/adapters/LangChainToolsHub.d.ts +1 -1
- package/dist/api/createAgentTools.d.ts +4 -0
- package/dist/api/createAgentTools.d.ts.map +1 -1
- package/dist/api/expose/index.d.ts +1 -1
- package/dist/api/main.cjs +21 -17
- package/dist/api/main.d.ts +4 -3
- package/dist/api/main.d.ts.map +1 -1
- package/dist/api/main.js +2 -2
- package/dist/api/runtimeFromConfig.d.ts.map +1 -1
- package/dist/{chunk-4YLATI7J.js → chunk-ECHW6AWF.js} +36 -7
- package/dist/chunk-ECHW6AWF.js.map +1 -0
- package/dist/{chunk-EHXA64OA.js → chunk-JYADGZQP.js} +4 -4
- package/dist/chunk-JYADGZQP.js.map +1 -0
- package/dist/{chunk-ZZHS55OM.cjs → chunk-KTQTDKWU.cjs} +55 -25
- package/dist/chunk-KTQTDKWU.cjs.map +1 -0
- package/dist/{chunk-QVXWW657.cjs → chunk-SE6IMOIE.cjs} +6 -6
- package/dist/chunk-SE6IMOIE.cjs.map +1 -0
- package/dist/index.cjs +20 -16
- 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 +3 -3
- package/dist/index.js.map +1 -1
- package/dist/utils/cli/index.cjs +12 -12
- package/dist/utils/cli/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-4YLATI7J.js.map +0 -1
- package/dist/chunk-EHXA64OA.js.map +0 -1
- package/dist/chunk-QVXWW657.cjs.map +0 -1
- package/dist/chunk-ZZHS55OM.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
## 最小接口
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
|
-
import {
|
|
8
|
+
import { createAgentToolsRegistry } from "@easynet/agent-tool/api";
|
|
9
9
|
|
|
10
|
-
const tools =
|
|
10
|
+
const tools = createAgentToolsRegistry({ configFilePath: "./tool.yaml", coreTools: {} }).getAgentTools();
|
|
11
11
|
console.log(tools.map((t) => t.name));
|
|
12
12
|
```
|
|
13
13
|
|
|
@@ -30,14 +30,14 @@ tools:
|
|
|
30
30
|
## 最简单示例(带注释)
|
|
31
31
|
|
|
32
32
|
```ts
|
|
33
|
-
import {
|
|
33
|
+
import { createAgentToolsRegistry } from "@easynet/agent-tool/api";
|
|
34
34
|
|
|
35
35
|
async function main() {
|
|
36
36
|
// 1) 从 tool.yaml 创建 LangChain tools
|
|
37
|
-
const tools =
|
|
37
|
+
const tools = createAgentToolsRegistry({
|
|
38
38
|
configFilePath: "./tool.yaml",
|
|
39
39
|
coreTools: {},
|
|
40
|
-
});
|
|
40
|
+
}).getAgentTools();
|
|
41
41
|
|
|
42
42
|
// 2) 打印工具名,确认加载成功
|
|
43
43
|
console.log("loaded tools:", tools.map((t) => t.name));
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Exposes all tools from a ToolRegistry + PTCRuntime as LangChain tools
|
|
3
3
|
* for local agent use (e.g. with createReactAgent, AgentExecutor).
|
|
4
4
|
*
|
|
5
|
-
* For most users, use
|
|
5
|
+
* For most users, use createAgentToolsRegistry().getAgentTools() which loads from tools.yaml and returns
|
|
6
6
|
* StructuredTool[]. Use LangChainToolsHub when you need a custom runtime or ctxFactory.
|
|
7
7
|
*
|
|
8
8
|
* Use: new LangChainToolsHub(runtime, ctxFactory).getLangChainTools()
|
|
@@ -10,12 +10,16 @@ export interface CreateAgentToolsOptions extends CreateRuntimeOptions {
|
|
|
10
10
|
/** Project path for async loading (use createLangChainToolsAsync) */
|
|
11
11
|
projectPath?: string;
|
|
12
12
|
}
|
|
13
|
+
export interface AgentToolsRegistry {
|
|
14
|
+
getAgentTools(id?: string): StructuredToolInterface[];
|
|
15
|
+
}
|
|
13
16
|
/**
|
|
14
17
|
* Create LangChain tools synchronously. When configFilePath is set, returns only
|
|
15
18
|
* tools listed in that file (and that exist in the registry). If tool.yaml has
|
|
16
19
|
* sandboxedPath, fs tools can only access that directory.
|
|
17
20
|
*/
|
|
18
21
|
export declare function createAgentTools(options?: CreateAgentToolsOptions | string): StructuredToolInterface[];
|
|
22
|
+
export declare function createAgentToolsRegistry(options?: CreateAgentToolsOptions | string): AgentToolsRegistry;
|
|
19
23
|
/**
|
|
20
24
|
* Create LangChain tools asynchronously. Use when projectPath is set to load
|
|
21
25
|
* tools from the project before building the tool list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,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;AAwFD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"createAgentTools.d.ts","sourceRoot":"","sources":["../../src/api/createAgentTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,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;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAC;CACvD;AAwFD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,uBAAuB,EAAE,CAG3B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,GACzC,kBAAkB,CA8CpB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAoBpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Expose the same tools in multiple ways: LangChain, HTTP (OpenAPI), MCP server.
|
|
3
3
|
*
|
|
4
|
-
* - LangChain:
|
|
4
|
+
* - LangChain: createAgentToolsRegistry().getAgentTools() / LangChainToolsHub (already in llm/)
|
|
5
5
|
* - HTTP: createHttpService(runtime) -> { server, openApiSpec, listen() }
|
|
6
6
|
* - MCP: createMCPServer(runtime) -> { server, connectStdio() }
|
|
7
7
|
*/
|
package/dist/api/main.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkKTQTDKWU_cjs = require('../chunk-KTQTDKWU.cjs');
|
|
4
|
+
var chunkSE6IMOIE_cjs = require('../chunk-SE6IMOIE.cjs');
|
|
5
5
|
require('../chunk-UUNG3GL3.cjs');
|
|
6
6
|
require('../chunk-33N4Y6IS.cjs');
|
|
7
7
|
require('../chunk-LHKEJNKL.cjs');
|
|
@@ -14,63 +14,67 @@ require('../chunk-QEJF3KDV.cjs');
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "createAgentTools", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkKTQTDKWU_cjs.createAgentTools; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "createAgentToolsRegistry", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkKTQTDKWU_cjs.createAgentToolsRegistry; }
|
|
18
22
|
});
|
|
19
23
|
Object.defineProperty(exports, "createLangChainToolsAsync", {
|
|
20
24
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkKTQTDKWU_cjs.createLangChainToolsAsync; }
|
|
22
26
|
});
|
|
23
27
|
Object.defineProperty(exports, "langchainApi", {
|
|
24
28
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkKTQTDKWU_cjs.langchainApi; }
|
|
26
30
|
});
|
|
27
31
|
Object.defineProperty(exports, "mcpApi", {
|
|
28
32
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkKTQTDKWU_cjs.mcpApi; }
|
|
30
34
|
});
|
|
31
35
|
Object.defineProperty(exports, "openApi", {
|
|
32
36
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkKTQTDKWU_cjs.openApi; }
|
|
34
38
|
});
|
|
35
39
|
Object.defineProperty(exports, "runtimeApi", {
|
|
36
40
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkKTQTDKWU_cjs.runtimeApi; }
|
|
38
42
|
});
|
|
39
43
|
Object.defineProperty(exports, "PTCRuntime", {
|
|
40
44
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkSE6IMOIE_cjs.PTCRuntime; }
|
|
42
46
|
});
|
|
43
47
|
Object.defineProperty(exports, "createHttpService", {
|
|
44
48
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkSE6IMOIE_cjs.createHttpService; }
|
|
46
50
|
});
|
|
47
51
|
Object.defineProperty(exports, "createMCPServer", {
|
|
48
52
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkSE6IMOIE_cjs.createMCPServer; }
|
|
50
54
|
});
|
|
51
55
|
Object.defineProperty(exports, "createMCPServerStreamableHttp", {
|
|
52
56
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkSE6IMOIE_cjs.createMCPServerStreamableHttp; }
|
|
54
58
|
});
|
|
55
59
|
Object.defineProperty(exports, "createMCPStreamableHttpHandler", {
|
|
56
60
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkSE6IMOIE_cjs.createMCPStreamableHttpHandler; }
|
|
58
62
|
});
|
|
59
63
|
Object.defineProperty(exports, "createOpenAPIServer", {
|
|
60
64
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkSE6IMOIE_cjs.createHttpService; }
|
|
62
66
|
});
|
|
63
67
|
Object.defineProperty(exports, "createRuntimeFromConfig", {
|
|
64
68
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkSE6IMOIE_cjs.createRuntimeFromConfig; }
|
|
66
70
|
});
|
|
67
71
|
Object.defineProperty(exports, "createRuntimeFromConfigSync", {
|
|
68
72
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkSE6IMOIE_cjs.createRuntimeFromConfigSync; }
|
|
70
74
|
});
|
|
71
75
|
Object.defineProperty(exports, "runMCPServerOverStdio", {
|
|
72
76
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkSE6IMOIE_cjs.runMCPServerOverStdio; }
|
|
74
78
|
});
|
|
75
79
|
//# sourceMappingURL=main.cjs.map
|
|
76
80
|
//# sourceMappingURL=main.cjs.map
|
package/dist/api/main.d.ts
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* All tool invokes go through PTC Intent (runtime.invoke(intent, ctx)) for policy, budget, observability.
|
|
9
9
|
* Use createRuntimeFromConfig(config) when you need the runtime for multiple servers.
|
|
10
10
|
*/
|
|
11
|
-
export { createAgentTools, createLangChainToolsAsync } from "./createAgentTools.js";
|
|
12
|
-
export type { CreateAgentToolsOptions } from "./createAgentTools.js";
|
|
11
|
+
export { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync } from "./createAgentTools.js";
|
|
12
|
+
export type { AgentToolsRegistry, CreateAgentToolsOptions } from "./createAgentTools.js";
|
|
13
13
|
export { createHttpService } from "./expose/openapiHttp.js";
|
|
14
14
|
export type { CreateHttpServiceOptions, HttpServiceResult, OpenAPIHttpServerOptions, } from "./expose/openapiHttp.js";
|
|
15
15
|
/** Alias: OpenAPI server with Swagger support */
|
|
@@ -20,7 +20,7 @@ export { createRuntimeFromConfig, createRuntimeFromConfigSync } from "./runtimeF
|
|
|
20
20
|
export type { CreateRuntimeOptions, CreateRuntimeResult } from "./runtimeFromConfig.js";
|
|
21
21
|
export { PTCRuntime } from "../core/runtime/PTCRuntime.js";
|
|
22
22
|
export type { PTCRuntimeConfig } from "../core/runtime/PTCRuntime.js";
|
|
23
|
-
import { createAgentTools, createLangChainToolsAsync } from "./createAgentTools.js";
|
|
23
|
+
import { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync } from "./createAgentTools.js";
|
|
24
24
|
import { createHttpService } from "./expose/openapiHttp.js";
|
|
25
25
|
import { createMCPServer, runMCPServerOverStdio, createMCPStreamableHttpHandler, createMCPServerStreamableHttp } from "./expose/mcpServer.js";
|
|
26
26
|
import { createRuntimeFromConfig, createRuntimeFromConfigSync } from "./runtimeFromConfig.js";
|
|
@@ -29,6 +29,7 @@ import { createRuntimeFromConfig, createRuntimeFromConfigSync } from "./runtimeF
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const langchainApi: {
|
|
31
31
|
readonly createAgentTools: typeof createAgentTools;
|
|
32
|
+
readonly createAgentToolsRegistry: typeof createAgentToolsRegistry;
|
|
32
33
|
readonly createLangChainToolsAsync: typeof createLangChainToolsAsync;
|
|
33
34
|
};
|
|
34
35
|
/**
|
package/dist/api/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/api/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/api/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC9G,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,6BAA6B,EAC7B,oCAAoC,GACrC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC9F,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE9F;;GAEG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO;;;CAGV,CAAC"}
|
package/dist/api/main.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createAgentTools, createLangChainToolsAsync, langchainApi, mcpApi, openApi, runtimeApi } from '../chunk-
|
|
2
|
-
export { PTCRuntime, createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, createRuntimeFromConfig, createRuntimeFromConfigSync, runMCPServerOverStdio } from '../chunk-
|
|
1
|
+
export { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync, langchainApi, mcpApi, openApi, runtimeApi } from '../chunk-ECHW6AWF.js';
|
|
2
|
+
export { PTCRuntime, createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, createRuntimeFromConfig, createRuntimeFromConfigSync, runMCPServerOverStdio } from '../chunk-JYADGZQP.js';
|
|
3
3
|
import '../chunk-NTWOVFEY.js';
|
|
4
4
|
import '../chunk-Q6W32HAP.js';
|
|
5
5
|
import '../chunk-HEVWKBBQ.js';
|
|
@@ -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,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;AAyCD,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,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;AAyCD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAoP9B;;;;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,4 +1,4 @@
|
|
|
1
|
-
import { createMCPServerStreamableHttp, createMCPStreamableHttpHandler, runMCPServerOverStdio, createMCPServer, createHttpService, createRuntimeFromConfigSync, createRuntimeFromConfig, loadToolConfig, isBarePackageDescriptor, expandToolDescriptorsToRegistryNames, resolveSandboxedPath, fileDescriptorToPackagePrefix, npmDescriptorToPackagePrefixWithVersion } from './chunk-
|
|
1
|
+
import { createMCPServerStreamableHttp, createMCPStreamableHttpHandler, runMCPServerOverStdio, createMCPServer, createHttpService, createRuntimeFromConfigSync, createRuntimeFromConfig, loadToolConfig, isBarePackageDescriptor, expandToolDescriptorsToRegistryNames, resolveSandboxedPath, fileDescriptorToPackagePrefix, npmDescriptorToPackagePrefixWithVersion } from './chunk-JYADGZQP.js';
|
|
2
2
|
import { enrichSpecWithCanonicalSchema } from './chunk-NTWOVFEY.js';
|
|
3
3
|
import { LANGCHAIN_KIND } from './chunk-Q6W32HAP.js';
|
|
4
4
|
import { DynamicStructuredTool } from '@langchain/core/tools';
|
|
@@ -170,6 +170,10 @@ function runtimeOptionsFromConfig(opts) {
|
|
|
170
170
|
return { ...opts, coreTools };
|
|
171
171
|
}
|
|
172
172
|
function createAgentTools(options) {
|
|
173
|
+
const registry = createAgentToolsRegistry(options);
|
|
174
|
+
return registry.getAgentTools();
|
|
175
|
+
}
|
|
176
|
+
function createAgentToolsRegistry(options) {
|
|
173
177
|
const opts = typeof options === "string" ? { configFilePath: options } : options ?? {};
|
|
174
178
|
const runtimeOpts = runtimeOptionsFromConfig(opts);
|
|
175
179
|
const { runtime } = createRuntimeFromConfigSync(runtimeOpts);
|
|
@@ -181,13 +185,37 @@ function createAgentTools(options) {
|
|
|
181
185
|
const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);
|
|
182
186
|
const allBarePackages = names.every((n) => isBarePackageDescriptor(String(n)));
|
|
183
187
|
if (allBarePackages) {
|
|
184
|
-
|
|
188
|
+
const allTools = hub.getLangChainTools();
|
|
189
|
+
return {
|
|
190
|
+
getAgentTools(id) {
|
|
191
|
+
if (!id) return allTools;
|
|
192
|
+
const picked = allTools.filter((tool) => tool.name === id);
|
|
193
|
+
if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);
|
|
194
|
+
return picked;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
185
197
|
}
|
|
186
198
|
const expanded = expandToolDescriptorsToRegistryNames(names, registryNames);
|
|
187
|
-
|
|
199
|
+
const tools2 = hub.getLangChainToolsForNames(expanded);
|
|
200
|
+
return {
|
|
201
|
+
getAgentTools(id) {
|
|
202
|
+
if (!id) return tools2;
|
|
203
|
+
const picked = tools2.filter((tool) => tool.name === id);
|
|
204
|
+
if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);
|
|
205
|
+
return picked;
|
|
206
|
+
}
|
|
207
|
+
};
|
|
188
208
|
}
|
|
189
209
|
}
|
|
190
|
-
|
|
210
|
+
const tools = hub.getLangChainTools();
|
|
211
|
+
return {
|
|
212
|
+
getAgentTools(id) {
|
|
213
|
+
if (!id) return tools;
|
|
214
|
+
const picked = tools.filter((tool) => tool.name === id);
|
|
215
|
+
if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);
|
|
216
|
+
return picked;
|
|
217
|
+
}
|
|
218
|
+
};
|
|
191
219
|
}
|
|
192
220
|
async function createLangChainToolsAsync(options = {}) {
|
|
193
221
|
const runtimeOpts = runtimeOptionsFromConfig(options);
|
|
@@ -212,6 +240,7 @@ async function createLangChainToolsAsync(options = {}) {
|
|
|
212
240
|
// src/api/main.ts
|
|
213
241
|
var langchainApi = {
|
|
214
242
|
createAgentTools,
|
|
243
|
+
createAgentToolsRegistry,
|
|
215
244
|
createLangChainToolsAsync
|
|
216
245
|
};
|
|
217
246
|
var runtimeApi = {
|
|
@@ -229,6 +258,6 @@ var openApi = {
|
|
|
229
258
|
createHttpService
|
|
230
259
|
};
|
|
231
260
|
|
|
232
|
-
export { createAgentTools, createLangChainToolsAsync, langchainApi, mcpApi, openApi, runtimeApi };
|
|
233
|
-
//# sourceMappingURL=chunk-
|
|
234
|
-
//# sourceMappingURL=chunk-
|
|
261
|
+
export { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync, langchainApi, mcpApi, openApi, runtimeApi };
|
|
262
|
+
//# sourceMappingURL=chunk-ECHW6AWF.js.map
|
|
263
|
+
//# sourceMappingURL=chunk-ECHW6AWF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/adapters/LangChainToolsHub.ts","../src/api/createAgentTools.ts","../src/api/main.ts"],"names":["tools"],"mappings":"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","file":"chunk-ECHW6AWF.js","sourcesContent":["/**\n * Exposes all tools from a ToolRegistry + PTCRuntime as LangChain tools\n * for local agent use (e.g. with createReactAgent, AgentExecutor).\n *\n * For most users, use createAgentToolsRegistry().getAgentTools() which loads from tools.yaml and returns\n * StructuredTool[]. Use LangChainToolsHub when you need a custom runtime or ctxFactory.\n *\n * Use: new LangChainToolsHub(runtime, ctxFactory).getLangChainTools()\n */\n\nimport { DynamicStructuredTool, type StructuredToolInterface } from \"@langchain/core/tools\";\nimport { stripNullishObjectFields } from \"@easynet/agent-common\";\nimport type { PTCRuntime } from \"../../core/runtime/PTCRuntime.js\";\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport type { ToolResult } from \"../../core/types/ToolResult.js\";\nimport type { ExecContext } from \"../../core/types/ToolIntent.js\";\nimport type { ToolIntent } from \"../../core/types/ToolIntent.js\";\nimport { enrichSpecWithCanonicalSchema } from \"../../tools/util/canonicalCoreSchemas.js\";\nimport { LANGCHAIN_KIND } from \"../../tools/langchain/types.js\";\n\n/**\n * If inputSchema wraps all params in a single \"args\" object (manifest convention),\n * returns that inner args schema; otherwise returns null.\n */\nfunction getArgsSchemaIfWrapped(inputSchema: object): Record<string, unknown> | null {\n const s = inputSchema as Record<string, unknown>;\n if (s?.type !== \"object\" || !s.properties || typeof s.properties !== \"object\") return null;\n const args = (s.properties as Record<string, unknown>).args;\n if (\n args != null &&\n typeof args === \"object\" &&\n (args as Record<string, unknown>).type === \"object\" &&\n (args as Record<string, unknown>).properties != null\n ) {\n return args as Record<string, unknown>;\n }\n return null;\n}\n\n/**\n * True when inputSchema wraps all params in a single \"args\" object (manifest convention).\n */\nfunction hasArgsWrapper(inputSchema: object): boolean {\n return getArgsSchemaIfWrapped(inputSchema) !== null;\n}\n\n/**\n * If inputSchema is { type: \"object\", properties: { args: { type: \"object\", properties: {...} } } },\n * return the inner args schema so the LLM can pass { path: \".\" } instead of { args: { path: \".\" } }.\n */\nfunction schemaForLangChain(inputSchema: object): Record<string, unknown> {\n const wrapped = getArgsSchemaIfWrapped(inputSchema);\n if (wrapped !== null) return wrapped;\n return inputSchema as Record<string, unknown>;\n}\n\nfunction buildIntent(\n toolName: string,\n inputSchema: object,\n args: Record<string, unknown>,\n): ToolIntent {\n return {\n tool: toolName,\n args: hasArgsWrapper(inputSchema) ? { args } : args,\n purpose: LANGCHAIN_KIND,\n };\n}\n\nfunction normalizeArgs(args: Record<string, unknown> | undefined): Record<string, unknown> {\n return stripNullishObjectFields(args ?? {}) as Record<string, unknown>;\n}\n\nfunction serializeToolResult(result: ToolResult): string {\n if (result.ok) {\n return typeof result.result === \"string\"\n ? result.result\n : JSON.stringify(result.result);\n }\n\n const err = result.error;\n const message = err?.message ?? \"Tool failed\";\n const details = err?.details;\n return JSON.stringify(\n details != null ? { error: message, details } : { error: message },\n );\n}\n\nexport type ExecContextFactory = () => ExecContext;\n\nconst DEFAULT_CTX_FACTORY: ExecContextFactory = () => ({\n requestId: `lc-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,\n taskId: `task-${Date.now()}`,\n permissions: [\n \"read:web\",\n \"read:fs\",\n \"write:fs\",\n \"read:db\",\n \"write:db\",\n \"network\",\n \"workflow\",\n \"danger:destructive\",\n ],\n});\n\n/**\n * Hub that wraps PTCRuntime and exposes every registered tool as a LangChain\n * StructuredTool (DynamicStructuredTool), so local agents (LangChain AgentExecutor,\n * createReactAgent, etc.) can use the same tools as MCP and OpenAPI.\n */\nexport class LangChainToolsHub {\n constructor(\n private readonly runtime: PTCRuntime,\n private readonly ctxFactory: ExecContextFactory = DEFAULT_CTX_FACTORY,\n ) {}\n\n /**\n * Returns all registered tools as LangChain StructuredTool[].\n * Each tool invokes the runtime through the full pipeline (policy, HITL, etc.).\n */\n getLangChainTools(): StructuredToolInterface[] {\n const registry = this.runtime.getRegistry();\n const specs = registry.snapshot();\n\n return specs.map((spec) => this.specToLangChainTool(spec));\n }\n\n /**\n * Returns LangChain tools for a subset of tools (by name or query).\n */\n getLangChainToolsForNames(toolNames: string[]): StructuredToolInterface[] {\n const registry = this.runtime.getRegistry();\n const set = new Set(toolNames);\n const specs = registry.snapshot().filter((s) => set.has(s.name));\n return specs.map((spec) => this.specToLangChainTool(spec));\n }\n\n private specToLangChainTool(spec: ToolSpec): DynamicStructuredTool {\n const runtime = this.runtime;\n const ctxFactory = this.ctxFactory;\n const enriched = enrichSpecWithCanonicalSchema(spec);\n\n const schema = schemaForLangChain(enriched.inputSchema);\n return new DynamicStructuredTool({\n name: spec.name,\n description: spec.description ?? `Tool: ${spec.name}`,\n schema,\n func: async (args: Record<string, unknown>): Promise<string> => {\n const normalizedArgs = normalizeArgs(args);\n const intent = buildIntent(spec.name, enriched.inputSchema, normalizedArgs);\n const ctx = ctxFactory();\n const result = await runtime.invoke(intent, ctx);\n return serializeToolResult(result);\n },\n });\n }\n}\n","/**\n * Create LangChain tools from config (sync or async). Uses PTCRuntime + registry\n * and exposes tools via LangChainToolsHub. All invokes go through PTC Intent.\n */\n\nimport { loadToolConfig, resolveSandboxedPath } from \"../tools/util/toolConfig.js\";\nimport {\n expandToolDescriptorsToRegistryNames,\n isBarePackageDescriptor,\n npmDescriptorToPackagePrefixWithVersion,\n fileDescriptorToPackagePrefix,\n} from \"../tools/util/toolDescriptor.js\";\nimport { createRuntimeFromConfigSync, createRuntimeFromConfig } from \"./runtimeFromConfig.js\";\nimport type { CreateRuntimeOptions } from \"./runtimeFromConfig.js\";\nimport { LangChainToolsHub } from \"./adapters/LangChainToolsHub.js\";\nimport type { StructuredToolInterface } from \"@langchain/core/tools\";\n\nexport interface CreateAgentToolsOptions extends CreateRuntimeOptions {\n /** Path to tool.yaml; when set, only tools listed there are returned; sandboxedPath from it is used as sandboxRoot */\n configFilePath?: string;\n /** Project path for async loading (use createLangChainToolsAsync) */\n projectPath?: string;\n}\n\nexport interface AgentToolsRegistry {\n getAgentTools(id?: string): StructuredToolInterface[];\n}\n\n/** Merge host lists from multiple sources (e.g. tool.yaml + programmatic). Union, dedup, preserves order. */\nfunction mergeHostLists(a?: string[], b?: string[]): string[] {\n const seen = new Set<string>();\n const out: string[] = [];\n for (const list of [a ?? [], b ?? []]) {\n for (const h of list) {\n if (!seen.has(h)) {\n seen.add(h);\n out.push(h);\n }\n }\n }\n return out;\n}\n\nfunction runtimeOptionsFromConfig(opts: CreateAgentToolsOptions): CreateRuntimeOptions {\n const coreTools = opts.coreTools ?? { sandboxRoot: process.cwd(), allowedHosts: [], enableSandboxValidation: false };\n if (opts.configFilePath) {\n const toolConfig = loadToolConfig(opts.configFilePath);\n const updates: {\n sandboxRoot?: string;\n enableSandboxValidation?: boolean;\n allowedHosts?: string[];\n blockedHosts?: string[];\n blockedCidrs?: string[];\n toolOverrides?: Record<string, Record<string, unknown>>;\n packageDefaults?: Record<string, Record<string, unknown>>;\n } = {};\n if (toolConfig.sandboxedPath && typeof toolConfig.sandboxedPath === \"string\") {\n updates.sandboxRoot = resolveSandboxedPath(opts.configFilePath, toolConfig.sandboxedPath);\n }\n if (typeof toolConfig.enableSandboxValidation === \"boolean\") {\n updates.enableSandboxValidation = toolConfig.enableSandboxValidation;\n } else if (coreTools.enableSandboxValidation == null) {\n updates.enableSandboxValidation = false;\n }\n // Smart merge: union of allowedHosts and blockedHosts from yaml + programmatic (both lists always applied)\n updates.allowedHosts = mergeHostLists(coreTools.allowedHosts, toolConfig.allowedHosts);\n updates.blockedHosts = mergeHostLists(coreTools.blockedHosts, toolConfig.blockedHosts);\n if (Array.isArray(toolConfig.blockedCidrs) && toolConfig.blockedCidrs.length > 0) {\n updates.blockedCidrs = toolConfig.blockedCidrs;\n } else if (coreTools.blockedCidrs?.length) {\n updates.blockedCidrs = coreTools.blockedCidrs;\n }\n let hasToolDefaults = false;\n const flatOverrides: Record<string, Record<string, unknown>> = { ...coreTools.toolOverrides };\n if (toolConfig.toolDefaults != null && Object.keys(toolConfig.toolDefaults).length > 0) {\n Object.assign(flatOverrides, toolConfig.toolDefaults);\n hasToolDefaults = true;\n }\n const packageDefaults: Record<string, Record<string, unknown>> = { ...coreTools.packageDefaults };\n if (toolConfig.packageToolDefaults != null && Object.keys(toolConfig.packageToolDefaults).length > 0) {\n for (const [descriptor, pkgConfig] of Object.entries(toolConfig.packageToolDefaults)) {\n const prefix = descriptor.startsWith(\"file:\")\n ? fileDescriptorToPackagePrefix(descriptor)\n : npmDescriptorToPackagePrefixWithVersion(descriptor);\n if (!prefix) continue;\n const pkgDefaults =\n pkgConfig?.defaults != null && typeof pkgConfig.defaults === \"object\" && !Array.isArray(pkgConfig.defaults)\n ? (pkgConfig.defaults as Record<string, unknown>)\n : {};\n if (Object.keys(pkgDefaults).length > 0) {\n packageDefaults[prefix] = pkgDefaults;\n }\n const toolConfigs = pkgConfig?.tools != null && typeof pkgConfig.tools === \"object\" && !Array.isArray(pkgConfig.tools) ? pkgConfig.tools : {};\n for (const [toolName, config] of Object.entries(toolConfigs)) {\n if (config != null && typeof config === \"object\") {\n hasToolDefaults = true;\n flatOverrides[`${prefix}::${toolName}`] = { ...pkgDefaults, ...(config as Record<string, unknown>) };\n }\n }\n }\n if (Object.keys(packageDefaults).length > 0) {\n updates.packageDefaults = packageDefaults;\n }\n }\n if (hasToolDefaults) {\n updates.toolOverrides = flatOverrides;\n }\n if (Object.keys(updates).length > 0) {\n return { ...opts, coreTools: { ...coreTools, ...updates } };\n }\n }\n return { ...opts, coreTools };\n}\n\n/**\n * Create LangChain tools synchronously. When configFilePath is set, returns only\n * tools listed in that file (and that exist in the registry). If tool.yaml has\n * sandboxedPath, fs tools can only access that directory.\n */\nexport function createAgentTools(\n options?: CreateAgentToolsOptions | string\n): StructuredToolInterface[] {\n const registry = createAgentToolsRegistry(options);\n return registry.getAgentTools();\n}\n\nexport function createAgentToolsRegistry(\n options?: CreateAgentToolsOptions | string\n): AgentToolsRegistry {\n const opts: CreateAgentToolsOptions =\n typeof options === \"string\" ? { configFilePath: options } : options ?? {};\n const runtimeOpts = runtimeOptionsFromConfig(opts);\n const { runtime } = createRuntimeFromConfigSync(runtimeOpts);\n const hub = new LangChainToolsHub(runtime);\n\n if (opts.configFilePath) {\n const toolConfig = loadToolConfig(opts.configFilePath);\n const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];\n if (names.length > 0) {\n const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);\n const allBarePackages = names.every((n) => isBarePackageDescriptor(String(n)));\n if (allBarePackages) {\n const allTools = hub.getLangChainTools();\n return {\n getAgentTools(id?: string): StructuredToolInterface[] {\n if (!id) return allTools;\n const picked = allTools.filter((tool) => tool.name === id);\n if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);\n return picked;\n },\n };\n }\n const expanded = expandToolDescriptorsToRegistryNames(names, registryNames);\n const tools = hub.getLangChainToolsForNames(expanded);\n return {\n getAgentTools(id?: string): StructuredToolInterface[] {\n if (!id) return tools;\n const picked = tools.filter((tool) => tool.name === id);\n if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);\n return picked;\n },\n };\n }\n }\n\n const tools = hub.getLangChainTools();\n return {\n getAgentTools(id?: string): StructuredToolInterface[] {\n if (!id) return tools;\n const picked = tools.filter((tool) => tool.name === id);\n if (picked.length === 0) throw new Error(`agent-tool cannot find tool id: ${id}`);\n return picked;\n },\n };\n}\n\n/**\n * Create LangChain tools asynchronously. Use when projectPath is set to load\n * tools from the project before building the tool list.\n */\nexport async function createLangChainToolsAsync(\n options: CreateAgentToolsOptions = {}\n): Promise<StructuredToolInterface[]> {\n const runtimeOpts = runtimeOptionsFromConfig(options);\n const { runtime } = await createRuntimeFromConfig(runtimeOpts);\n const hub = new LangChainToolsHub(runtime);\n\n if (options.configFilePath) {\n const toolConfig = loadToolConfig(options.configFilePath);\n const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];\n if (names.length > 0) {\n const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);\n const allBarePackages = names.every((n) => isBarePackageDescriptor(String(n)));\n if (allBarePackages) {\n return hub.getLangChainTools();\n }\n const expanded = expandToolDescriptorsToRegistryNames(names, registryNames);\n return hub.getLangChainToolsForNames(expanded);\n }\n }\n\n return hub.getLangChainTools();\n}\n","/**\n * Public API: three create functions (config-driven) + runtime.\n *\n * 1. createLangChainTools(config?) → LangChain tools (createReactAgent / AgentExecutor)\n * 2. createMCPServer(runtime | config, options?) → MCP server (stdio, Cursor / Claude)\n * 3. createOpenAPIServer(runtime | config, options?) → HTTP + OpenAPI/Swagger (GET /tools, POST /invoke)\n *\n * All tool invokes go through PTC Intent (runtime.invoke(intent, ctx)) for policy, budget, observability.\n * Use createRuntimeFromConfig(config) when you need the runtime for multiple servers.\n */\n\nexport { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync } from \"./createAgentTools.js\";\nexport type { AgentToolsRegistry, CreateAgentToolsOptions } from \"./createAgentTools.js\";\n\nexport { createHttpService } from \"./expose/openapiHttp.js\";\nexport type {\n CreateHttpServiceOptions,\n HttpServiceResult,\n OpenAPIHttpServerOptions,\n} from \"./expose/openapiHttp.js\";\n/** Alias: OpenAPI server with Swagger support */\nexport { createHttpService as createOpenAPIServer } from \"./expose/openapiHttp.js\";\n\nexport {\n createMCPServer,\n runMCPServerOverStdio,\n createMCPStreamableHttpHandler,\n createMCPServerStreamableHttp,\n} from \"./expose/mcpServer.js\";\nexport type {\n MCPServerOptions,\n MCPServerResult,\n MCPStreamableHttpHandler,\n MCPServerStreamableHttpResult,\n CreateMCPServerStreamableHttpOptions,\n} from \"./expose/mcpServer.js\";\n\nexport { createRuntimeFromConfig, createRuntimeFromConfigSync } from \"./runtimeFromConfig.js\";\nexport type { CreateRuntimeOptions, CreateRuntimeResult } from \"./runtimeFromConfig.js\";\n\nexport { PTCRuntime } from \"../core/runtime/PTCRuntime.js\";\nexport type { PTCRuntimeConfig } from \"../core/runtime/PTCRuntime.js\";\n\nimport { createAgentTools, createAgentToolsRegistry, createLangChainToolsAsync } from \"./createAgentTools.js\";\nimport { createHttpService } from \"./expose/openapiHttp.js\";\nimport {\n createMCPServer,\n runMCPServerOverStdio,\n createMCPStreamableHttpHandler,\n createMCPServerStreamableHttp,\n} from \"./expose/mcpServer.js\";\nimport { createRuntimeFromConfig, createRuntimeFromConfigSync } from \"./runtimeFromConfig.js\";\n\n/**\n * Facade: grouped API for lower import complexity in callers.\n */\nexport const langchainApi = {\n createAgentTools,\n createAgentToolsRegistry,\n createLangChainToolsAsync,\n} as const;\n\n/**\n * Facade: grouped runtime creation helpers.\n */\nexport const runtimeApi = {\n createRuntimeFromConfig,\n createRuntimeFromConfigSync,\n} as const;\n\n/**\n * Facade: grouped MCP server helpers.\n */\nexport const mcpApi = {\n createMCPServer,\n runMCPServerOverStdio,\n createMCPStreamableHttpHandler,\n createMCPServerStreamableHttp,\n} as const;\n\n/**\n * Facade: grouped OpenAPI/HTTP helpers.\n */\nexport const openApi = {\n createOpenAPIServer: createHttpService,\n createHttpService,\n} as const;\n"]}
|
|
@@ -1951,7 +1951,7 @@ function loadExtensionForDescriptorSync(descriptor, configFilePath, stepLog) {
|
|
|
1951
1951
|
if (typeof fn === "function") {
|
|
1952
1952
|
const installed = getInstalledPackageVersionFromRequire(parsed.packageName, configRequire);
|
|
1953
1953
|
const requested = parsed.version === "latest" || !parsed.version?.trim() ? null : parsed.version;
|
|
1954
|
-
const resolvedVersion = requested
|
|
1954
|
+
const resolvedVersion = requested ?? installed ?? resolveLatestVersionFromRegistry(parsed.packageName, { cwd: npmCwd });
|
|
1955
1955
|
if (installed === resolvedVersion) {
|
|
1956
1956
|
if (stepLog) stepLog(`Loaded ${parsed.packageName}@${resolvedVersion} from node_modules`);
|
|
1957
1957
|
return { register: fn, descriptor: entryStr, resolvedVersion };
|
|
@@ -2027,7 +2027,7 @@ async function loadExtensionForDescriptorAsync(descriptor, configFilePath, stepL
|
|
|
2027
2027
|
try {
|
|
2028
2028
|
const installed = getInstalledPackageVersionFromRequire(parsed.packageName, configRequire);
|
|
2029
2029
|
const requested = parsed.version === "latest" || !parsed.version?.trim() ? null : parsed.version;
|
|
2030
|
-
const resolvedVersion = requested
|
|
2030
|
+
const resolvedVersion = requested ?? installed ?? resolveLatestVersionFromRegistry(parsed.packageName, { cwd: npmCwd });
|
|
2031
2031
|
if (installed === resolvedVersion) {
|
|
2032
2032
|
const pkgJsonResolved = configRequire.resolve(`${parsed.packageName}/package.json`);
|
|
2033
2033
|
const packageRoot = dirname(pkgJsonResolved);
|
|
@@ -2706,5 +2706,5 @@ async function runMCPServerOverStdio(runtime, options = {}) {
|
|
|
2706
2706
|
}
|
|
2707
2707
|
|
|
2708
2708
|
export { PTCRuntime, createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createRuntimeFromConfig, createRuntimeFromConfigSync, expandToolDescriptorsToRegistryNames, fileDescriptorToPackagePrefix, findAndLoadToolConfig, getDisplayScope, isBarePackageDescriptor, loadToolConfig, npmDescriptorToPackagePrefixWithVersion, resolveSandboxedPath, resolveToolDescriptor, runMCPServerOverStdio };
|
|
2709
|
-
//# sourceMappingURL=chunk-
|
|
2710
|
-
//# sourceMappingURL=chunk-
|
|
2709
|
+
//# sourceMappingURL=chunk-JYADGZQP.js.map
|
|
2710
|
+
//# sourceMappingURL=chunk-JYADGZQP.js.map
|