@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,4 +1,4 @@
|
|
|
1
|
-
import { LANGCHAIN_KIND, createRuntimeFromConfigSync, loadToolConfig, isBarePackageDescriptor,
|
|
1
|
+
import { LANGCHAIN_KIND, createRuntimeFromConfigSync, loadToolConfig, isBarePackageDescriptor, expandToolDescriptorsToRegistryNames, createRuntimeFromConfig, resolveSandboxedPath } from './chunk-XYJRKFWR.js';
|
|
2
2
|
import { DynamicStructuredTool } from '@langchain/core/tools';
|
|
3
3
|
|
|
4
4
|
var DEFAULT_CTX_FACTORY = () => ({
|
|
@@ -112,11 +112,8 @@ function createAgentTools(options) {
|
|
|
112
112
|
const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];
|
|
113
113
|
if (names.length > 0) {
|
|
114
114
|
const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
return p !== null && BUILTIN_PKG_NAMES.includes(p.packageName);
|
|
118
|
-
});
|
|
119
|
-
if (allBareBuiltin) {
|
|
115
|
+
const allBarePackages = names.every((n) => isBarePackageDescriptor(String(n)));
|
|
116
|
+
if (allBarePackages) {
|
|
120
117
|
return hub.getLangChainTools();
|
|
121
118
|
}
|
|
122
119
|
const expanded = expandToolDescriptorsToRegistryNames(names, registryNames);
|
|
@@ -134,11 +131,8 @@ async function createLangChainToolsAsync(options = {}) {
|
|
|
134
131
|
const names = Array.isArray(toolConfig.tools) ? toolConfig.tools : [];
|
|
135
132
|
if (names.length > 0) {
|
|
136
133
|
const registryNames = runtime.getRegistry().snapshot().map((s) => s.name);
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
return p !== null && BUILTIN_PKG_NAMES.includes(p.packageName);
|
|
140
|
-
});
|
|
141
|
-
if (allBareBuiltin) {
|
|
134
|
+
const allBarePackages = names.every((n) => isBarePackageDescriptor(String(n)));
|
|
135
|
+
if (allBarePackages) {
|
|
142
136
|
return hub.getLangChainTools();
|
|
143
137
|
}
|
|
144
138
|
const expanded = expandToolDescriptorsToRegistryNames(names, registryNames);
|
|
@@ -149,5 +143,5 @@ async function createLangChainToolsAsync(options = {}) {
|
|
|
149
143
|
}
|
|
150
144
|
|
|
151
145
|
export { LangChainToolsHub, createAgentTools, createLangChainToolsAsync };
|
|
152
|
-
//# sourceMappingURL=chunk-
|
|
153
|
-
//# sourceMappingURL=chunk-
|
|
146
|
+
//# sourceMappingURL=chunk-K6AMVYFV.js.map
|
|
147
|
+
//# sourceMappingURL=chunk-K6AMVYFV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/api/adapters/LangChainToolsHub.ts","../src/api/createAgentTools.ts"],"names":[],"mappings":"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","file":"chunk-K6AMVYFV.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 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"]}
|
|
@@ -1510,6 +1510,26 @@ function parseToolPath(descriptor) {
|
|
|
1510
1510
|
toolName: m[5] ?? ""
|
|
1511
1511
|
};
|
|
1512
1512
|
}
|
|
1513
|
+
function npmDescriptorToRegistryPrefix(descriptor, resolvedVersion) {
|
|
1514
|
+
const s = descriptor.trim();
|
|
1515
|
+
if (typeof s !== "string" || !s.startsWith("npm:")) return "";
|
|
1516
|
+
const rest = s.slice(4).trim();
|
|
1517
|
+
const hashIdx = rest.indexOf("#");
|
|
1518
|
+
const beforeHash = hashIdx < 0 ? rest : rest.slice(0, hashIdx);
|
|
1519
|
+
const lastAt = beforeHash.lastIndexOf("@");
|
|
1520
|
+
const scopeAndPackage = lastAt <= 0 ? beforeHash : beforeHash.slice(0, lastAt);
|
|
1521
|
+
let version = lastAt <= 0 ? "latest" : beforeHash.slice(lastAt + 1).trim() || "latest";
|
|
1522
|
+
if ((version === "latest" || !version) && resolvedVersion != null && resolvedVersion !== "") {
|
|
1523
|
+
version = resolvedVersion;
|
|
1524
|
+
}
|
|
1525
|
+
const slashIdx = scopeAndPackage.indexOf("/");
|
|
1526
|
+
const scope = slashIdx < 0 ? scopeAndPackage : scopeAndPackage.slice(0, slashIdx).replace(/^@/, "");
|
|
1527
|
+
const pkg = slashIdx < 0 ? "" : scopeAndPackage.slice(slashIdx + 1);
|
|
1528
|
+
const segment = [scope, pkg, version].filter(Boolean).join(".");
|
|
1529
|
+
const normalized = chunkFGGTT32N_cjs.normalizeToolName(segment);
|
|
1530
|
+
if (!normalized) return "";
|
|
1531
|
+
return "npm." + normalized + ".";
|
|
1532
|
+
}
|
|
1513
1533
|
function isNpmToolDescriptor(descriptor) {
|
|
1514
1534
|
return isToolPath(descriptor) && parseToolPath(descriptor)?.protocol === "npm";
|
|
1515
1535
|
}
|
|
@@ -1532,15 +1552,31 @@ function expandToolDescriptorsToRegistryNames(descriptors, registryNames) {
|
|
|
1532
1552
|
const out = [];
|
|
1533
1553
|
const seen = /* @__PURE__ */ new Set();
|
|
1534
1554
|
function add(name) {
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1555
|
+
const key = chunkFGGTT32N_cjs.normalizeToolName(name);
|
|
1556
|
+
if (registryNames.includes(key) && !seen.has(key)) {
|
|
1557
|
+
seen.add(key);
|
|
1558
|
+
out.push(key);
|
|
1559
|
+
return;
|
|
1560
|
+
}
|
|
1561
|
+
const matched = registryNames.filter((r) => r === key || r.endsWith("." + key));
|
|
1562
|
+
for (const m of matched) {
|
|
1563
|
+
if (!seen.has(m)) {
|
|
1564
|
+
seen.add(m);
|
|
1565
|
+
out.push(m);
|
|
1566
|
+
}
|
|
1538
1567
|
}
|
|
1539
1568
|
}
|
|
1540
1569
|
for (const d of descriptors) {
|
|
1541
1570
|
const s = d.trim();
|
|
1542
1571
|
if (!s) continue;
|
|
1543
|
-
|
|
1572
|
+
if (isToolPath(s)) {
|
|
1573
|
+
if (registryNames.includes(s) && !seen.has(s)) {
|
|
1574
|
+
seen.add(s);
|
|
1575
|
+
out.push(s);
|
|
1576
|
+
}
|
|
1577
|
+
continue;
|
|
1578
|
+
}
|
|
1579
|
+
const name = chunkFGGTT32N_cjs.normalizeToolName(s);
|
|
1544
1580
|
add(name);
|
|
1545
1581
|
}
|
|
1546
1582
|
return out;
|
|
@@ -1695,27 +1731,43 @@ async function importFromCache(packageRoot) {
|
|
|
1695
1731
|
fileUrl
|
|
1696
1732
|
);
|
|
1697
1733
|
}
|
|
1698
|
-
var requireFromPackage = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-
|
|
1734
|
+
var requireFromPackage = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-NJNQCEHG.cjs', document.baseURI).href)));
|
|
1699
1735
|
function getProjectRequire() {
|
|
1700
1736
|
const cwd = process.cwd();
|
|
1701
1737
|
if (fs.existsSync(path.join(cwd, "package.json"))) return module$1.createRequire(path.join(cwd, "package.json"));
|
|
1702
1738
|
if (fs.existsSync(path.join(cwd, "tool.yaml"))) return module$1.createRequire(path.join(cwd, "tool.yaml"));
|
|
1703
1739
|
return null;
|
|
1704
1740
|
}
|
|
1705
|
-
var
|
|
1741
|
+
var DEFAULT_EXTENSION_PACKAGES = [
|
|
1706
1742
|
"@easynet/agent-tool-builtin-tools",
|
|
1707
1743
|
"@easynet/agent-tool-builtin",
|
|
1708
1744
|
"@easynet/agent-tool-buildin"
|
|
1709
1745
|
];
|
|
1710
|
-
function
|
|
1746
|
+
function getInstalledPackageVersion(packageName) {
|
|
1747
|
+
const projectRequire = getProjectRequire();
|
|
1748
|
+
const requirers = [requireFromPackage];
|
|
1749
|
+
if (projectRequire) requirers.push(projectRequire);
|
|
1750
|
+
for (const req of requirers) {
|
|
1751
|
+
try {
|
|
1752
|
+
const pkgJsonPath = req.resolve(`${packageName}/package.json`);
|
|
1753
|
+
const json = fs.readFileSync(pkgJsonPath, "utf-8");
|
|
1754
|
+
const pkg = JSON.parse(json);
|
|
1755
|
+
return pkg.version ?? null;
|
|
1756
|
+
} catch {
|
|
1757
|
+
continue;
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
return null;
|
|
1761
|
+
}
|
|
1762
|
+
function loadExtensionFromNodeModules() {
|
|
1711
1763
|
const projectRequire = getProjectRequire();
|
|
1712
1764
|
const requirers = [requireFromPackage];
|
|
1713
1765
|
if (projectRequire) requirers.push(projectRequire);
|
|
1714
1766
|
for (const req of requirers) {
|
|
1715
|
-
for (const pkg of
|
|
1767
|
+
for (const pkg of DEFAULT_EXTENSION_PACKAGES) {
|
|
1716
1768
|
try {
|
|
1717
1769
|
const mod = req(pkg);
|
|
1718
|
-
if (mod && typeof mod.registerCoreTools === "function") return mod;
|
|
1770
|
+
if (mod && typeof mod.registerCoreTools === "function") return { registerCoreTools: mod.registerCoreTools, packageName: pkg };
|
|
1719
1771
|
} catch {
|
|
1720
1772
|
continue;
|
|
1721
1773
|
}
|
|
@@ -1723,6 +1775,40 @@ function loadBuiltinTools() {
|
|
|
1723
1775
|
}
|
|
1724
1776
|
return null;
|
|
1725
1777
|
}
|
|
1778
|
+
function createPrefixingRegistry(registry, prefix) {
|
|
1779
|
+
return {
|
|
1780
|
+
register(spec) {
|
|
1781
|
+
registry.register({ ...spec, name: prefix + chunkFGGTT32N_cjs.normalizeToolName(spec.name) });
|
|
1782
|
+
},
|
|
1783
|
+
bulkRegister(specs) {
|
|
1784
|
+
specs.forEach((s) => this.register(s));
|
|
1785
|
+
},
|
|
1786
|
+
unregister(name) {
|
|
1787
|
+
return registry.unregister(name);
|
|
1788
|
+
},
|
|
1789
|
+
get(name) {
|
|
1790
|
+
return registry.get(name);
|
|
1791
|
+
},
|
|
1792
|
+
has(name) {
|
|
1793
|
+
return registry.has(name);
|
|
1794
|
+
},
|
|
1795
|
+
search(query) {
|
|
1796
|
+
return registry.search(query);
|
|
1797
|
+
},
|
|
1798
|
+
list() {
|
|
1799
|
+
return registry.list();
|
|
1800
|
+
},
|
|
1801
|
+
get size() {
|
|
1802
|
+
return registry.size;
|
|
1803
|
+
},
|
|
1804
|
+
snapshot() {
|
|
1805
|
+
return registry.snapshot();
|
|
1806
|
+
},
|
|
1807
|
+
clear() {
|
|
1808
|
+
return registry.clear();
|
|
1809
|
+
}
|
|
1810
|
+
};
|
|
1811
|
+
}
|
|
1726
1812
|
function parseNpmDescriptor(entry) {
|
|
1727
1813
|
if (typeof entry !== "string" || !entry.startsWith("npm:")) return null;
|
|
1728
1814
|
const rest = entry.slice(4).trim();
|
|
@@ -1732,7 +1818,7 @@ function parseNpmDescriptor(entry) {
|
|
|
1732
1818
|
const version = rest.slice(at + 1).split("#")[0]?.trim() || "latest";
|
|
1733
1819
|
return { packageName, version };
|
|
1734
1820
|
}
|
|
1735
|
-
function
|
|
1821
|
+
function loadExtensionFromToolYamlCache(configFilePath, stepLog) {
|
|
1736
1822
|
const localPath = path.isAbsolute(configFilePath) ? configFilePath : path.resolve(process.cwd(), configFilePath);
|
|
1737
1823
|
if (!fs.existsSync(localPath)) return null;
|
|
1738
1824
|
const config = loadToolConfig(localPath);
|
|
@@ -1740,10 +1826,11 @@ function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
|
|
|
1740
1826
|
if (!Array.isArray(tools)) return null;
|
|
1741
1827
|
const cacheBase = getCacheBaseFromToolConfig(localPath);
|
|
1742
1828
|
const cacheOpts = cacheBase ? { cacheBase } : {};
|
|
1743
|
-
if (stepLog) stepLog(`Loading
|
|
1829
|
+
if (stepLog) stepLog(`Loading extension from tool.yaml cache (cacheBase: ${cacheBase ?? "~/.agent/cache"})`);
|
|
1744
1830
|
for (const entry of tools) {
|
|
1745
|
-
const
|
|
1746
|
-
|
|
1831
|
+
const entryStr = String(entry).trim();
|
|
1832
|
+
const parsed = parseNpmDescriptor(entryStr);
|
|
1833
|
+
if (!parsed) continue;
|
|
1747
1834
|
for (const opts of [cacheOpts, {}]) {
|
|
1748
1835
|
try {
|
|
1749
1836
|
if (stepLog && Object.keys(opts).length === 0 && cacheBase) stepLog("Falling back to default cache ~/.agent/cache");
|
|
@@ -1752,7 +1839,10 @@ function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
|
|
|
1752
1839
|
const entryPath = getPackageEntryPath(cacheDir);
|
|
1753
1840
|
const req = module$1.createRequire(path.join(cacheDir, "package.json"));
|
|
1754
1841
|
const mod = req(entryPath);
|
|
1755
|
-
if (mod && typeof mod.registerCoreTools === "function")
|
|
1842
|
+
if (mod && typeof mod.registerCoreTools === "function") {
|
|
1843
|
+
const resolvedVersion = path.basename(cacheDir);
|
|
1844
|
+
return { registerCoreTools: mod.registerCoreTools, descriptor: entryStr, resolvedVersion };
|
|
1845
|
+
}
|
|
1756
1846
|
break;
|
|
1757
1847
|
} catch {
|
|
1758
1848
|
if (Object.keys(opts).length > 0) continue;
|
|
@@ -1762,7 +1852,7 @@ function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
|
|
|
1762
1852
|
}
|
|
1763
1853
|
return null;
|
|
1764
1854
|
}
|
|
1765
|
-
async function
|
|
1855
|
+
async function loadExtensionFromToolYamlCacheAsync(configFilePath, stepLog) {
|
|
1766
1856
|
const localPath = path.isAbsolute(configFilePath) ? configFilePath : path.resolve(process.cwd(), configFilePath);
|
|
1767
1857
|
if (!fs.existsSync(localPath)) return null;
|
|
1768
1858
|
const config = loadToolConfig(localPath);
|
|
@@ -1770,17 +1860,21 @@ async function loadBuiltinFromToolYamlCacheAsync(configFilePath, stepLog) {
|
|
|
1770
1860
|
if (!Array.isArray(tools)) return null;
|
|
1771
1861
|
const cacheBase = getCacheBaseFromToolConfig(localPath);
|
|
1772
1862
|
const cacheOpts = cacheBase ? { cacheBase } : {};
|
|
1773
|
-
if (stepLog) stepLog("Loading
|
|
1863
|
+
if (stepLog) stepLog("Loading extension from tool.yaml cache (async)");
|
|
1774
1864
|
for (const entry of tools) {
|
|
1775
|
-
const
|
|
1776
|
-
|
|
1865
|
+
const entryStr = String(entry).trim();
|
|
1866
|
+
const parsed = parseNpmDescriptor(entryStr);
|
|
1867
|
+
if (!parsed) continue;
|
|
1777
1868
|
for (const opts of [cacheOpts, {}]) {
|
|
1778
1869
|
try {
|
|
1779
1870
|
if (stepLog && Object.keys(opts).length === 0 && cacheBase) stepLog("Falling back to default cache ~/.agent/cache");
|
|
1780
1871
|
const cacheDir = ensurePackageInCache(parsed.packageName, parsed.version, opts);
|
|
1781
1872
|
if (stepLog) stepLog(`Using cache: ${cacheDir}`);
|
|
1782
1873
|
const mod = await importFromCache(cacheDir);
|
|
1783
|
-
if (mod && typeof mod.registerCoreTools === "function")
|
|
1874
|
+
if (mod && typeof mod.registerCoreTools === "function") {
|
|
1875
|
+
const resolvedVersion = path.basename(cacheDir);
|
|
1876
|
+
return { registerCoreTools: mod.registerCoreTools, descriptor: entryStr, resolvedVersion };
|
|
1877
|
+
}
|
|
1784
1878
|
break;
|
|
1785
1879
|
} catch {
|
|
1786
1880
|
if (Object.keys(opts).length > 0) continue;
|
|
@@ -1801,11 +1895,16 @@ function createRuntimeFromConfigSync(options = {}) {
|
|
|
1801
1895
|
const registry = new chunkONIBCU2Y_cjs.ToolRegistry();
|
|
1802
1896
|
const stepLog = options.stepLog;
|
|
1803
1897
|
if (options.coreTools !== void 0) {
|
|
1804
|
-
if (stepLog) stepLog("Trying
|
|
1805
|
-
let
|
|
1806
|
-
if (
|
|
1807
|
-
if (stepLog) stepLog("Registered
|
|
1808
|
-
const
|
|
1898
|
+
if (stepLog) stepLog("Trying extension from node_modules");
|
|
1899
|
+
let extensionNode = loadExtensionFromNodeModules();
|
|
1900
|
+
if (extensionNode) {
|
|
1901
|
+
if (stepLog) stepLog("Registered extension from node_modules");
|
|
1902
|
+
const descriptor = `npm:${extensionNode.packageName}`;
|
|
1903
|
+
const resolvedVersion = getInstalledPackageVersion(extensionNode.packageName);
|
|
1904
|
+
const prefix = npmDescriptorToRegistryPrefix(descriptor, resolvedVersion ?? void 0);
|
|
1905
|
+
const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
|
|
1906
|
+
const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
|
|
1907
|
+
const coreAdapter = extensionNode.registerCoreTools(reg, options.coreTools, coreOptions);
|
|
1809
1908
|
const runtime3 = new PTCRuntime({ registry });
|
|
1810
1909
|
runtime3.registerAdapter(coreAdapter);
|
|
1811
1910
|
if (options.exampleTools !== void 0) {
|
|
@@ -1818,22 +1917,25 @@ function createRuntimeFromConfigSync(options = {}) {
|
|
|
1818
1917
|
return { runtime: runtime3, registry };
|
|
1819
1918
|
}
|
|
1820
1919
|
if (options.configFilePath) {
|
|
1821
|
-
if (stepLog) stepLog("No
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
if (
|
|
1832
|
-
const
|
|
1833
|
-
|
|
1920
|
+
if (stepLog) stepLog("No extension in node_modules, loading from tool.yaml cache");
|
|
1921
|
+
const extensionCache = loadExtensionFromToolYamlCache(options.configFilePath, stepLog);
|
|
1922
|
+
if (extensionCache) {
|
|
1923
|
+
if (stepLog) stepLog("Registered extension from cache");
|
|
1924
|
+
const prefix = npmDescriptorToRegistryPrefix(extensionCache.descriptor, extensionCache.resolvedVersion);
|
|
1925
|
+
const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
|
|
1926
|
+
const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
|
|
1927
|
+
const coreAdapter = extensionCache.registerCoreTools(reg, options.coreTools, coreOptions);
|
|
1928
|
+
const runtime3 = new PTCRuntime({ registry });
|
|
1929
|
+
runtime3.registerAdapter(coreAdapter);
|
|
1930
|
+
if (options.exampleTools !== void 0) {
|
|
1931
|
+
const example = loadExampleTools();
|
|
1932
|
+
if (example) {
|
|
1933
|
+
const exampleAdapter = example.registerExampleTools(registry, options.exampleTools);
|
|
1934
|
+
runtime3.registerAdapter(exampleAdapter);
|
|
1935
|
+
}
|
|
1834
1936
|
}
|
|
1937
|
+
return { runtime: runtime3, registry };
|
|
1835
1938
|
}
|
|
1836
|
-
return { runtime: runtime3, registry };
|
|
1837
1939
|
}
|
|
1838
1940
|
const runtime2 = new PTCRuntime({ registry });
|
|
1839
1941
|
return { runtime: runtime2, registry };
|
|
@@ -1853,12 +1955,15 @@ function createRuntimeFromConfigSync(options = {}) {
|
|
|
1853
1955
|
async function createRuntimeFromConfig(options = {}) {
|
|
1854
1956
|
const syncResult = createRuntimeFromConfigSync(options);
|
|
1855
1957
|
if (options.coreTools !== void 0 && options.configFilePath && syncResult.registry.snapshot().length === 0) {
|
|
1856
|
-
if (options.stepLog) options.stepLog("No
|
|
1857
|
-
const
|
|
1858
|
-
if (
|
|
1859
|
-
if (options.stepLog) options.stepLog("Registered
|
|
1958
|
+
if (options.stepLog) options.stepLog("No extension from sync, trying async cache load");
|
|
1959
|
+
const extension = await loadExtensionFromToolYamlCacheAsync(options.configFilePath, options.stepLog);
|
|
1960
|
+
if (extension) {
|
|
1961
|
+
if (options.stepLog) options.stepLog("Registered extension from async cache");
|
|
1860
1962
|
const registry = new chunkONIBCU2Y_cjs.ToolRegistry();
|
|
1861
|
-
const
|
|
1963
|
+
const prefix = npmDescriptorToRegistryPrefix(extension.descriptor, extension.resolvedVersion);
|
|
1964
|
+
const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
|
|
1965
|
+
const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
|
|
1966
|
+
const coreAdapter = extension.registerCoreTools(reg, options.coreTools, coreOptions);
|
|
1862
1967
|
const runtime = new PTCRuntime({ registry });
|
|
1863
1968
|
runtime.registerAdapter(coreAdapter);
|
|
1864
1969
|
return { runtime, registry };
|
|
@@ -1874,7 +1979,6 @@ var MCP_KIND = "mcp";
|
|
|
1874
1979
|
var LANGCHAIN_KIND = "langchain";
|
|
1875
1980
|
var LANGCHAIN_DIR_NAME = "langchain";
|
|
1876
1981
|
|
|
1877
|
-
exports.BUILTIN_PKG_NAMES = BUILTIN_PKG_NAMES;
|
|
1878
1982
|
exports.BudgetManager = BudgetManager;
|
|
1879
1983
|
exports.EventLog = EventLog;
|
|
1880
1984
|
exports.LANGCHAIN_DIR_NAME = LANGCHAIN_DIR_NAME;
|
|
@@ -1901,12 +2005,12 @@ exports.isBarePackageDescriptor = isBarePackageDescriptor;
|
|
|
1901
2005
|
exports.isNpmToolDescriptor = isNpmToolDescriptor;
|
|
1902
2006
|
exports.loadToolConfig = loadToolConfig;
|
|
1903
2007
|
exports.normalizeToolList = normalizeToolList;
|
|
1904
|
-
exports.
|
|
2008
|
+
exports.npmDescriptorToRegistryPrefix = npmDescriptorToRegistryPrefix;
|
|
1905
2009
|
exports.parseNpmToolDescriptor = parseNpmToolDescriptor;
|
|
1906
2010
|
exports.resolveNpmToolDescriptor = resolveNpmToolDescriptor;
|
|
1907
2011
|
exports.resolveSandboxedPath = resolveSandboxedPath;
|
|
1908
2012
|
exports.resolveToolDescriptor = resolveToolDescriptor;
|
|
1909
2013
|
exports.sanitizeForLog = sanitizeForLog;
|
|
1910
2014
|
exports.summarizeForLog = summarizeForLog;
|
|
1911
|
-
//# sourceMappingURL=chunk-
|
|
1912
|
-
//# sourceMappingURL=chunk-
|
|
2015
|
+
//# sourceMappingURL=chunk-NJNQCEHG.cjs.map
|
|
2016
|
+
//# sourceMappingURL=chunk-NJNQCEHG.cjs.map
|