@easynet/agent-tool 1.0.19 → 1.0.21
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/dist/api/createAgentTools.d.ts.map +1 -1
- package/dist/api/main.cjs +15 -15
- package/dist/api/main.js +4 -4
- package/dist/api/runtimeFromConfig.d.ts +15 -11
- package/dist/api/runtimeFromConfig.d.ts.map +1 -1
- package/dist/canonicalCoreSchemas-JPTOIQKR.js +4 -0
- package/dist/{canonicalCoreSchemas-DNBAHSUC.js.map → canonicalCoreSchemas-JPTOIQKR.js.map} +1 -1
- package/dist/canonicalCoreSchemas-K57HKGZJ.cjs +21 -0
- package/dist/{canonicalCoreSchemas-IBTSIPJV.cjs.map → canonicalCoreSchemas-K57HKGZJ.cjs.map} +1 -1
- package/dist/{chunk-EAI37B5W.cjs → chunk-6JWQVVL2.cjs} +4 -3
- package/dist/chunk-6JWQVVL2.cjs.map +1 -0
- package/dist/{chunk-H2UMNHDE.cjs → chunk-DB7WQWTF.cjs} +10 -10
- package/dist/{chunk-H2UMNHDE.cjs.map → chunk-DB7WQWTF.cjs.map} +1 -1
- package/dist/{chunk-HISF2FEL.cjs → chunk-DF5ETXKZ.cjs} +16 -22
- package/dist/chunk-DF5ETXKZ.cjs.map +1 -0
- package/dist/{chunk-QB5ALDM3.js → chunk-DUWEP2CH.js} +3 -3
- package/dist/{chunk-QB5ALDM3.js.map → chunk-DUWEP2CH.js.map} +1 -1
- package/dist/{chunk-Y33OLGAJ.js → chunk-K6AMVYFV.js} +7 -13
- package/dist/chunk-K6AMVYFV.js.map +1 -0
- package/dist/{chunk-NNOTTUB2.cjs → chunk-NJNQCEHG.cjs} +151 -47
- package/dist/chunk-NJNQCEHG.cjs.map +1 -0
- package/dist/{chunk-46XYOB3H.js → chunk-P5UPHQ7N.js} +4 -3
- package/dist/chunk-P5UPHQ7N.js.map +1 -0
- package/dist/{chunk-GGKQQR54.js → chunk-SAYJJNA7.js} +5 -5
- package/dist/{chunk-GGKQQR54.js.map → chunk-SAYJJNA7.js.map} +1 -1
- package/dist/{chunk-TPWEGGKQ.cjs → chunk-XDAMV3HZ.cjs} +9 -9
- package/dist/{chunk-TPWEGGKQ.cjs.map → chunk-XDAMV3HZ.cjs.map} +1 -1
- package/dist/{chunk-TTYAOTOR.js → chunk-XYJRKFWR.js} +151 -46
- package/dist/chunk-XYJRKFWR.js.map +1 -0
- package/dist/index.cjs +52 -48
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/tools/util/canonicalCoreSchemas.d.ts.map +1 -1
- package/dist/tools/util/index.d.ts +1 -1
- package/dist/tools/util/index.d.ts.map +1 -1
- package/dist/tools/util/toolDescriptor.d.ts +9 -0
- package/dist/tools/util/toolDescriptor.d.ts.map +1 -1
- package/dist/utils/cli/index.cjs +19 -19
- package/dist/utils/cli/index.js +4 -4
- package/package.json +1 -1
- package/dist/canonicalCoreSchemas-DNBAHSUC.js +0 -4
- package/dist/canonicalCoreSchemas-IBTSIPJV.cjs +0 -21
- package/dist/chunk-46XYOB3H.js.map +0 -1
- package/dist/chunk-EAI37B5W.cjs.map +0 -1
- package/dist/chunk-HISF2FEL.cjs.map +0 -1
- package/dist/chunk-NNOTTUB2.cjs.map +0 -1
- package/dist/chunk-TTYAOTOR.js.map +0 -1
- package/dist/chunk-Y33OLGAJ.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkNJNQCEHG_cjs = require('./chunk-NJNQCEHG.cjs');
|
|
4
4
|
var tools = require('@langchain/core/tools');
|
|
5
5
|
|
|
6
6
|
var DEFAULT_CTX_FACTORY = () => ({
|
|
@@ -51,7 +51,7 @@ var LangChainToolsHub = class {
|
|
|
51
51
|
const intent = {
|
|
52
52
|
tool: spec.name,
|
|
53
53
|
args: args ?? {},
|
|
54
|
-
purpose:
|
|
54
|
+
purpose: chunkNJNQCEHG_cjs.LANGCHAIN_KIND
|
|
55
55
|
};
|
|
56
56
|
const ctx = ctxFactory();
|
|
57
57
|
const result = await runtime.invoke(intent, ctx);
|
|
@@ -86,10 +86,10 @@ function mergeHostLists(a, b) {
|
|
|
86
86
|
function runtimeOptionsFromConfig(opts) {
|
|
87
87
|
const coreTools = opts.coreTools ?? { sandboxRoot: process.cwd(), allowedHosts: [] };
|
|
88
88
|
if (opts.configFilePath) {
|
|
89
|
-
const toolConfig =
|
|
89
|
+
const toolConfig = chunkNJNQCEHG_cjs.loadToolConfig(opts.configFilePath);
|
|
90
90
|
const updates = {};
|
|
91
91
|
if (toolConfig.sandboxedPath && typeof toolConfig.sandboxedPath === "string") {
|
|
92
|
-
updates.sandboxRoot =
|
|
92
|
+
updates.sandboxRoot = chunkNJNQCEHG_cjs.resolveSandboxedPath(opts.configFilePath, toolConfig.sandboxedPath);
|
|
93
93
|
}
|
|
94
94
|
updates.allowedHosts = mergeHostLists(coreTools.allowedHosts, toolConfig.allowedHosts);
|
|
95
95
|
updates.blockedHosts = mergeHostLists(coreTools.blockedHosts, toolConfig.blockedHosts);
|
|
@@ -107,21 +107,18 @@ function runtimeOptionsFromConfig(opts) {
|
|
|
107
107
|
function createAgentTools(options) {
|
|
108
108
|
const opts = typeof options === "string" ? { configFilePath: options } : options ?? {};
|
|
109
109
|
const runtimeOpts = runtimeOptionsFromConfig(opts);
|
|
110
|
-
const { runtime } =
|
|
110
|
+
const { runtime } = chunkNJNQCEHG_cjs.createRuntimeFromConfigSync(runtimeOpts);
|
|
111
111
|
const hub = new LangChainToolsHub(runtime);
|
|
112
112
|
if (opts.configFilePath) {
|
|
113
|
-
const toolConfig =
|
|
113
|
+
const toolConfig = chunkNJNQCEHG_cjs.loadToolConfig(opts.configFilePath);
|
|
114
114
|
const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];
|
|
115
115
|
if (names.length > 0) {
|
|
116
116
|
const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
return p !== null && chunkNNOTTUB2_cjs.BUILTIN_PKG_NAMES.includes(p.packageName);
|
|
120
|
-
});
|
|
121
|
-
if (allBareBuiltin) {
|
|
117
|
+
const allBarePackages = names.every((n) => chunkNJNQCEHG_cjs.isBarePackageDescriptor(String(n)));
|
|
118
|
+
if (allBarePackages) {
|
|
122
119
|
return hub.getLangChainTools();
|
|
123
120
|
}
|
|
124
|
-
const expanded =
|
|
121
|
+
const expanded = chunkNJNQCEHG_cjs.expandToolDescriptorsToRegistryNames(names, registryNames);
|
|
125
122
|
return hub.getLangChainToolsForNames(expanded);
|
|
126
123
|
}
|
|
127
124
|
}
|
|
@@ -129,21 +126,18 @@ function createAgentTools(options) {
|
|
|
129
126
|
}
|
|
130
127
|
async function createLangChainToolsAsync(options = {}) {
|
|
131
128
|
const runtimeOpts = runtimeOptionsFromConfig(options);
|
|
132
|
-
const { runtime } = await
|
|
129
|
+
const { runtime } = await chunkNJNQCEHG_cjs.createRuntimeFromConfig(runtimeOpts);
|
|
133
130
|
const hub = new LangChainToolsHub(runtime);
|
|
134
131
|
if (options.configFilePath) {
|
|
135
|
-
const toolConfig =
|
|
132
|
+
const toolConfig = chunkNJNQCEHG_cjs.loadToolConfig(options.configFilePath);
|
|
136
133
|
const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];
|
|
137
134
|
if (names.length > 0) {
|
|
138
135
|
const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
return p !== null && chunkNNOTTUB2_cjs.BUILTIN_PKG_NAMES.includes(p.packageName);
|
|
142
|
-
});
|
|
143
|
-
if (allBareBuiltin) {
|
|
136
|
+
const allBarePackages = names.every((n) => chunkNJNQCEHG_cjs.isBarePackageDescriptor(String(n)));
|
|
137
|
+
if (allBarePackages) {
|
|
144
138
|
return hub.getLangChainTools();
|
|
145
139
|
}
|
|
146
|
-
const expanded =
|
|
140
|
+
const expanded = chunkNJNQCEHG_cjs.expandToolDescriptorsToRegistryNames(names, registryNames);
|
|
147
141
|
return hub.getLangChainToolsForNames(expanded);
|
|
148
142
|
}
|
|
149
143
|
}
|
|
@@ -153,5 +147,5 @@ async function createLangChainToolsAsync(options = {}) {
|
|
|
153
147
|
exports.LangChainToolsHub = LangChainToolsHub;
|
|
154
148
|
exports.createAgentTools = createAgentTools;
|
|
155
149
|
exports.createLangChainToolsAsync = createLangChainToolsAsync;
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
157
|
-
//# sourceMappingURL=chunk-
|
|
150
|
+
//# sourceMappingURL=chunk-DF5ETXKZ.cjs.map
|
|
151
|
+
//# sourceMappingURL=chunk-DF5ETXKZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/adapters/LangChainToolsHub.ts","../src/api/createAgentTools.ts"],"names":["DynamicStructuredTool","LANGCHAIN_KIND","loadToolConfig","resolveSandboxedPath","createRuntimeFromConfigSync","isBarePackageDescriptor","expandToolDescriptorsToRegistryNames","createRuntimeFromConfig"],"mappings":"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","file":"chunk-DF5ETXKZ.cjs","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 createAgentTools() 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 type { PTCRuntime } from \"../../core/runtime/PTCRuntime.js\";\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport type { ExecContext } from \"../../core/types/ToolIntent.js\";\nimport type { ToolIntent } from \"../../core/types/ToolIntent.js\";\nimport { LANGCHAIN_KIND } from \"../../tools/langchain/types.js\";\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\n return new DynamicStructuredTool({\n name: spec.name,\n description: spec.description ?? `Tool: ${spec.name}`,\n schema: spec.inputSchema as Record<string, unknown>,\n func: async (args: Record<string, unknown>): Promise<string> => {\n const intent: ToolIntent = {\n tool: spec.name,\n args: args ?? {},\n purpose: LANGCHAIN_KIND,\n };\n const ctx = ctxFactory();\n const result = await runtime.invoke(intent, ctx);\n\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 });\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} 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\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: [] };\n if (opts.configFilePath) {\n const toolConfig = loadToolConfig(opts.configFilePath);\n const updates: {\n sandboxRoot?: string;\n allowedHosts?: string[];\n blockedHosts?: string[];\n blockedCidrs?: string[];\n } = {};\n if (toolConfig.sandboxedPath && typeof toolConfig.sandboxedPath === \"string\") {\n updates.sandboxRoot = resolveSandboxedPath(opts.configFilePath, toolConfig.sandboxedPath);\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 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 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 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/**\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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LANGCHAIN_DIR_NAME, LANGCHAIN_KIND, MCP_KIND } from './chunk-
|
|
1
|
+
import { LANGCHAIN_DIR_NAME, LANGCHAIN_KIND, MCP_KIND } from './chunk-XYJRKFWR.js';
|
|
2
2
|
import { DEFAULT_OUTPUT_SCHEMA } from './chunk-GWBJEGS7.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-
|
|
1783
|
-
//# sourceMappingURL=chunk-
|
|
1782
|
+
//# sourceMappingURL=chunk-DUWEP2CH.js.map
|
|
1783
|
+
//# sourceMappingURL=chunk-DUWEP2CH.js.map
|