@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.
Files changed (49) hide show
  1. package/dist/api/createAgentTools.d.ts.map +1 -1
  2. package/dist/api/main.cjs +15 -15
  3. package/dist/api/main.js +4 -4
  4. package/dist/api/runtimeFromConfig.d.ts +15 -11
  5. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  6. package/dist/canonicalCoreSchemas-JPTOIQKR.js +4 -0
  7. package/dist/{canonicalCoreSchemas-DNBAHSUC.js.map → canonicalCoreSchemas-JPTOIQKR.js.map} +1 -1
  8. package/dist/canonicalCoreSchemas-K57HKGZJ.cjs +21 -0
  9. package/dist/{canonicalCoreSchemas-IBTSIPJV.cjs.map → canonicalCoreSchemas-K57HKGZJ.cjs.map} +1 -1
  10. package/dist/{chunk-EAI37B5W.cjs → chunk-6JWQVVL2.cjs} +4 -3
  11. package/dist/chunk-6JWQVVL2.cjs.map +1 -0
  12. package/dist/{chunk-H2UMNHDE.cjs → chunk-DB7WQWTF.cjs} +10 -10
  13. package/dist/{chunk-H2UMNHDE.cjs.map → chunk-DB7WQWTF.cjs.map} +1 -1
  14. package/dist/{chunk-HISF2FEL.cjs → chunk-DF5ETXKZ.cjs} +16 -22
  15. package/dist/chunk-DF5ETXKZ.cjs.map +1 -0
  16. package/dist/{chunk-QB5ALDM3.js → chunk-DUWEP2CH.js} +3 -3
  17. package/dist/{chunk-QB5ALDM3.js.map → chunk-DUWEP2CH.js.map} +1 -1
  18. package/dist/{chunk-Y33OLGAJ.js → chunk-K6AMVYFV.js} +7 -13
  19. package/dist/chunk-K6AMVYFV.js.map +1 -0
  20. package/dist/{chunk-NNOTTUB2.cjs → chunk-NJNQCEHG.cjs} +151 -47
  21. package/dist/chunk-NJNQCEHG.cjs.map +1 -0
  22. package/dist/{chunk-46XYOB3H.js → chunk-P5UPHQ7N.js} +4 -3
  23. package/dist/chunk-P5UPHQ7N.js.map +1 -0
  24. package/dist/{chunk-GGKQQR54.js → chunk-SAYJJNA7.js} +5 -5
  25. package/dist/{chunk-GGKQQR54.js.map → chunk-SAYJJNA7.js.map} +1 -1
  26. package/dist/{chunk-TPWEGGKQ.cjs → chunk-XDAMV3HZ.cjs} +9 -9
  27. package/dist/{chunk-TPWEGGKQ.cjs.map → chunk-XDAMV3HZ.cjs.map} +1 -1
  28. package/dist/{chunk-TTYAOTOR.js → chunk-XYJRKFWR.js} +151 -46
  29. package/dist/chunk-XYJRKFWR.js.map +1 -0
  30. package/dist/index.cjs +52 -48
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +6 -6
  34. package/dist/tools/util/canonicalCoreSchemas.d.ts.map +1 -1
  35. package/dist/tools/util/index.d.ts +1 -1
  36. package/dist/tools/util/index.d.ts.map +1 -1
  37. package/dist/tools/util/toolDescriptor.d.ts +9 -0
  38. package/dist/tools/util/toolDescriptor.d.ts.map +1 -1
  39. package/dist/utils/cli/index.cjs +19 -19
  40. package/dist/utils/cli/index.js +4 -4
  41. package/package.json +1 -1
  42. package/dist/canonicalCoreSchemas-DNBAHSUC.js +0 -4
  43. package/dist/canonicalCoreSchemas-IBTSIPJV.cjs +0 -21
  44. package/dist/chunk-46XYOB3H.js.map +0 -1
  45. package/dist/chunk-EAI37B5W.cjs.map +0 -1
  46. package/dist/chunk-HISF2FEL.cjs.map +0 -1
  47. package/dist/chunk-NNOTTUB2.cjs.map +0 -1
  48. package/dist/chunk-TTYAOTOR.js.map +0 -1
  49. package/dist/chunk-Y33OLGAJ.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { LANGCHAIN_KIND, createRuntimeFromConfigSync, loadToolConfig, isBarePackageDescriptor, parseNpmDescriptor, BUILTIN_PKG_NAMES, expandToolDescriptorsToRegistryNames, createRuntimeFromConfig, resolveSandboxedPath } from './chunk-TTYAOTOR.js';
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 allBareBuiltin = names.every((n) => isBarePackageDescriptor(String(n))) && names.some((n) => {
116
- const p = parseNpmDescriptor(String(n));
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 allBareBuiltin = names.every((n) => isBarePackageDescriptor(String(n))) && names.some((n) => {
138
- const p = parseNpmDescriptor(String(n));
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-Y33OLGAJ.js.map
153
- //# sourceMappingURL=chunk-Y33OLGAJ.js.map
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
- if (registryNames.includes(name) && !seen.has(name)) {
1536
- seen.add(name);
1537
- out.push(name);
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
- const name = isToolPath(s) ? s : chunkFGGTT32N_cjs.normalizeToolName(s);
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-NNOTTUB2.cjs', document.baseURI).href)));
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 BUILTIN_PKG_NAMES = [
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 loadBuiltinTools() {
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 BUILTIN_PKG_NAMES) {
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 loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
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 builtin from tool.yaml cache (cacheBase: ${cacheBase ?? "~/.agent/cache"})`);
1829
+ if (stepLog) stepLog(`Loading extension from tool.yaml cache (cacheBase: ${cacheBase ?? "~/.agent/cache"})`);
1744
1830
  for (const entry of tools) {
1745
- const parsed = parseNpmDescriptor(String(entry));
1746
- if (!parsed || !BUILTIN_PKG_NAMES.includes(parsed.packageName)) continue;
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") return mod;
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 loadBuiltinFromToolYamlCacheAsync(configFilePath, stepLog) {
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 builtin from tool.yaml cache (async)");
1863
+ if (stepLog) stepLog("Loading extension from tool.yaml cache (async)");
1774
1864
  for (const entry of tools) {
1775
- const parsed = parseNpmDescriptor(String(entry));
1776
- if (!parsed || !BUILTIN_PKG_NAMES.includes(parsed.packageName)) continue;
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") return mod;
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 builtin from node_modules");
1805
- let builtin = loadBuiltinTools();
1806
- if (builtin) {
1807
- if (stepLog) stepLog("Registered builtin from node_modules");
1808
- const coreAdapter = builtin.registerCoreTools(registry, options.coreTools);
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 builtin in node_modules, loading from tool.yaml cache");
1822
- builtin = loadBuiltinFromToolYamlCache(options.configFilePath, stepLog);
1823
- }
1824
- if (builtin) {
1825
- if (stepLog) stepLog("Registered builtin from cache");
1826
- const coreAdapter = builtin.registerCoreTools(registry, options.coreTools);
1827
- const runtime3 = new PTCRuntime({ registry });
1828
- runtime3.registerAdapter(coreAdapter);
1829
- if (options.exampleTools !== void 0) {
1830
- const example = loadExampleTools();
1831
- if (example) {
1832
- const exampleAdapter = example.registerExampleTools(registry, options.exampleTools);
1833
- runtime3.registerAdapter(exampleAdapter);
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 builtin from sync, trying async cache load");
1857
- const builtin = await loadBuiltinFromToolYamlCacheAsync(options.configFilePath, options.stepLog);
1858
- if (builtin) {
1859
- if (options.stepLog) options.stepLog("Registered builtin from async cache");
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 coreAdapter = builtin.registerCoreTools(registry, options.coreTools);
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.parseNpmDescriptor = parseNpmDescriptor;
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-NNOTTUB2.cjs.map
1912
- //# sourceMappingURL=chunk-NNOTTUB2.cjs.map
2015
+ //# sourceMappingURL=chunk-NJNQCEHG.cjs.map
2016
+ //# sourceMappingURL=chunk-NJNQCEHG.cjs.map