@easynet/agent-tool 1.0.20 → 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 (30) hide show
  1. package/dist/api/createAgentTools.d.ts.map +1 -1
  2. package/dist/api/main.cjs +14 -14
  3. package/dist/api/main.js +3 -3
  4. package/dist/api/runtimeFromConfig.d.ts +15 -11
  5. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  6. package/dist/{chunk-INYWD3OJ.cjs → chunk-DB7WQWTF.cjs} +7 -7
  7. package/dist/{chunk-INYWD3OJ.cjs.map → chunk-DB7WQWTF.cjs.map} +1 -1
  8. package/dist/{chunk-TAW4FP3A.cjs → chunk-DF5ETXKZ.cjs} +16 -22
  9. package/dist/chunk-DF5ETXKZ.cjs.map +1 -0
  10. package/dist/{chunk-OHDIMQ22.js → chunk-DUWEP2CH.js} +3 -3
  11. package/dist/{chunk-OHDIMQ22.js.map → chunk-DUWEP2CH.js.map} +1 -1
  12. package/dist/{chunk-NNMMUG2X.js → chunk-K6AMVYFV.js} +7 -13
  13. package/dist/chunk-K6AMVYFV.js.map +1 -0
  14. package/dist/{chunk-6WQYJLVU.cjs → chunk-NJNQCEHG.cjs} +34 -33
  15. package/dist/chunk-NJNQCEHG.cjs.map +1 -0
  16. package/dist/{chunk-WKWSXCS4.js → chunk-SAYJJNA7.js} +3 -3
  17. package/dist/{chunk-WKWSXCS4.js.map → chunk-SAYJJNA7.js.map} +1 -1
  18. package/dist/{chunk-QP6JJF76.cjs → chunk-XDAMV3HZ.cjs} +9 -9
  19. package/dist/{chunk-QP6JJF76.cjs.map → chunk-XDAMV3HZ.cjs.map} +1 -1
  20. package/dist/{chunk-IGMDLCV7.js → chunk-XYJRKFWR.js} +34 -31
  21. package/dist/chunk-XYJRKFWR.js.map +1 -0
  22. package/dist/index.cjs +48 -48
  23. package/dist/index.js +5 -5
  24. package/dist/utils/cli/index.cjs +17 -17
  25. package/dist/utils/cli/index.js +3 -3
  26. package/package.json +1 -1
  27. package/dist/chunk-6WQYJLVU.cjs.map +0 -1
  28. package/dist/chunk-IGMDLCV7.js.map +0 -1
  29. package/dist/chunk-NNMMUG2X.js.map +0 -1
  30. package/dist/chunk-TAW4FP3A.cjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { LANGCHAIN_KIND, createRuntimeFromConfigSync, loadToolConfig, isBarePackageDescriptor, parseNpmDescriptor, BUILTIN_PKG_NAMES, expandToolDescriptorsToRegistryNames, createRuntimeFromConfig, resolveSandboxedPath } from './chunk-IGMDLCV7.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-NNMMUG2X.js.map
153
- //# sourceMappingURL=chunk-NNMMUG2X.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"]}
@@ -1731,14 +1731,14 @@ async function importFromCache(packageRoot) {
1731
1731
  fileUrl
1732
1732
  );
1733
1733
  }
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-6WQYJLVU.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)));
1735
1735
  function getProjectRequire() {
1736
1736
  const cwd = process.cwd();
1737
1737
  if (fs.existsSync(path.join(cwd, "package.json"))) return module$1.createRequire(path.join(cwd, "package.json"));
1738
1738
  if (fs.existsSync(path.join(cwd, "tool.yaml"))) return module$1.createRequire(path.join(cwd, "tool.yaml"));
1739
1739
  return null;
1740
1740
  }
1741
- var BUILTIN_PKG_NAMES = [
1741
+ var DEFAULT_EXTENSION_PACKAGES = [
1742
1742
  "@easynet/agent-tool-builtin-tools",
1743
1743
  "@easynet/agent-tool-builtin",
1744
1744
  "@easynet/agent-tool-buildin"
@@ -1759,12 +1759,12 @@ function getInstalledPackageVersion(packageName) {
1759
1759
  }
1760
1760
  return null;
1761
1761
  }
1762
- function loadBuiltinTools() {
1762
+ function loadExtensionFromNodeModules() {
1763
1763
  const projectRequire = getProjectRequire();
1764
1764
  const requirers = [requireFromPackage];
1765
1765
  if (projectRequire) requirers.push(projectRequire);
1766
1766
  for (const req of requirers) {
1767
- for (const pkg of BUILTIN_PKG_NAMES) {
1767
+ for (const pkg of DEFAULT_EXTENSION_PACKAGES) {
1768
1768
  try {
1769
1769
  const mod = req(pkg);
1770
1770
  if (mod && typeof mod.registerCoreTools === "function") return { registerCoreTools: mod.registerCoreTools, packageName: pkg };
@@ -1818,7 +1818,7 @@ function parseNpmDescriptor(entry) {
1818
1818
  const version = rest.slice(at + 1).split("#")[0]?.trim() || "latest";
1819
1819
  return { packageName, version };
1820
1820
  }
1821
- function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
1821
+ function loadExtensionFromToolYamlCache(configFilePath, stepLog) {
1822
1822
  const localPath = path.isAbsolute(configFilePath) ? configFilePath : path.resolve(process.cwd(), configFilePath);
1823
1823
  if (!fs.existsSync(localPath)) return null;
1824
1824
  const config = loadToolConfig(localPath);
@@ -1826,11 +1826,11 @@ function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
1826
1826
  if (!Array.isArray(tools)) return null;
1827
1827
  const cacheBase = getCacheBaseFromToolConfig(localPath);
1828
1828
  const cacheOpts = cacheBase ? { cacheBase } : {};
1829
- 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"})`);
1830
1830
  for (const entry of tools) {
1831
1831
  const entryStr = String(entry).trim();
1832
1832
  const parsed = parseNpmDescriptor(entryStr);
1833
- if (!parsed || !BUILTIN_PKG_NAMES.includes(parsed.packageName)) continue;
1833
+ if (!parsed) continue;
1834
1834
  for (const opts of [cacheOpts, {}]) {
1835
1835
  try {
1836
1836
  if (stepLog && Object.keys(opts).length === 0 && cacheBase) stepLog("Falling back to default cache ~/.agent/cache");
@@ -1852,7 +1852,7 @@ function loadBuiltinFromToolYamlCache(configFilePath, stepLog) {
1852
1852
  }
1853
1853
  return null;
1854
1854
  }
1855
- async function loadBuiltinFromToolYamlCacheAsync(configFilePath, stepLog) {
1855
+ async function loadExtensionFromToolYamlCacheAsync(configFilePath, stepLog) {
1856
1856
  const localPath = path.isAbsolute(configFilePath) ? configFilePath : path.resolve(process.cwd(), configFilePath);
1857
1857
  if (!fs.existsSync(localPath)) return null;
1858
1858
  const config = loadToolConfig(localPath);
@@ -1860,11 +1860,11 @@ async function loadBuiltinFromToolYamlCacheAsync(configFilePath, stepLog) {
1860
1860
  if (!Array.isArray(tools)) return null;
1861
1861
  const cacheBase = getCacheBaseFromToolConfig(localPath);
1862
1862
  const cacheOpts = cacheBase ? { cacheBase } : {};
1863
- if (stepLog) stepLog("Loading builtin from tool.yaml cache (async)");
1863
+ if (stepLog) stepLog("Loading extension from tool.yaml cache (async)");
1864
1864
  for (const entry of tools) {
1865
1865
  const entryStr = String(entry).trim();
1866
1866
  const parsed = parseNpmDescriptor(entryStr);
1867
- if (!parsed || !BUILTIN_PKG_NAMES.includes(parsed.packageName)) continue;
1867
+ if (!parsed) continue;
1868
1868
  for (const opts of [cacheOpts, {}]) {
1869
1869
  try {
1870
1870
  if (stepLog && Object.keys(opts).length === 0 && cacheBase) stepLog("Falling back to default cache ~/.agent/cache");
@@ -1895,15 +1895,16 @@ function createRuntimeFromConfigSync(options = {}) {
1895
1895
  const registry = new chunkONIBCU2Y_cjs.ToolRegistry();
1896
1896
  const stepLog = options.stepLog;
1897
1897
  if (options.coreTools !== void 0) {
1898
- if (stepLog) stepLog("Trying builtin from node_modules");
1899
- let builtinNode = loadBuiltinTools();
1900
- if (builtinNode) {
1901
- if (stepLog) stepLog("Registered builtin from node_modules");
1902
- const descriptor = `npm:${builtinNode.packageName}`;
1903
- const resolvedVersion = getInstalledPackageVersion(builtinNode.packageName);
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
1904
  const prefix = npmDescriptorToRegistryPrefix(descriptor, resolvedVersion ?? void 0);
1905
1905
  const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
1906
- const coreAdapter = builtinNode.registerCoreTools(reg, options.coreTools);
1906
+ const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
1907
+ const coreAdapter = extensionNode.registerCoreTools(reg, options.coreTools, coreOptions);
1907
1908
  const runtime3 = new PTCRuntime({ registry });
1908
1909
  runtime3.registerAdapter(coreAdapter);
1909
1910
  if (options.exampleTools !== void 0) {
@@ -1916,13 +1917,14 @@ function createRuntimeFromConfigSync(options = {}) {
1916
1917
  return { runtime: runtime3, registry };
1917
1918
  }
1918
1919
  if (options.configFilePath) {
1919
- if (stepLog) stepLog("No builtin in node_modules, loading from tool.yaml cache");
1920
- const builtinCache = loadBuiltinFromToolYamlCache(options.configFilePath, stepLog);
1921
- if (builtinCache) {
1922
- if (stepLog) stepLog("Registered builtin from cache");
1923
- const prefix = npmDescriptorToRegistryPrefix(builtinCache.descriptor, builtinCache.resolvedVersion);
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);
1924
1925
  const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
1925
- const coreAdapter = builtinCache.registerCoreTools(reg, options.coreTools);
1926
+ const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
1927
+ const coreAdapter = extensionCache.registerCoreTools(reg, options.coreTools, coreOptions);
1926
1928
  const runtime3 = new PTCRuntime({ registry });
1927
1929
  runtime3.registerAdapter(coreAdapter);
1928
1930
  if (options.exampleTools !== void 0) {
@@ -1953,14 +1955,15 @@ function createRuntimeFromConfigSync(options = {}) {
1953
1955
  async function createRuntimeFromConfig(options = {}) {
1954
1956
  const syncResult = createRuntimeFromConfigSync(options);
1955
1957
  if (options.coreTools !== void 0 && options.configFilePath && syncResult.registry.snapshot().length === 0) {
1956
- if (options.stepLog) options.stepLog("No builtin from sync, trying async cache load");
1957
- const builtin = await loadBuiltinFromToolYamlCacheAsync(options.configFilePath, options.stepLog);
1958
- if (builtin) {
1959
- 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");
1960
1962
  const registry = new chunkONIBCU2Y_cjs.ToolRegistry();
1961
- const prefix = npmDescriptorToRegistryPrefix(builtin.descriptor, builtin.resolvedVersion);
1963
+ const prefix = npmDescriptorToRegistryPrefix(extension.descriptor, extension.resolvedVersion);
1962
1964
  const reg = prefix ? createPrefixingRegistry(registry, prefix) : registry;
1963
- const coreAdapter = builtin.registerCoreTools(reg, options.coreTools);
1965
+ const coreOptions = prefix ? { registryPrefix: prefix } : void 0;
1966
+ const coreAdapter = extension.registerCoreTools(reg, options.coreTools, coreOptions);
1964
1967
  const runtime = new PTCRuntime({ registry });
1965
1968
  runtime.registerAdapter(coreAdapter);
1966
1969
  return { runtime, registry };
@@ -1976,7 +1979,6 @@ var MCP_KIND = "mcp";
1976
1979
  var LANGCHAIN_KIND = "langchain";
1977
1980
  var LANGCHAIN_DIR_NAME = "langchain";
1978
1981
 
1979
- exports.BUILTIN_PKG_NAMES = BUILTIN_PKG_NAMES;
1980
1982
  exports.BudgetManager = BudgetManager;
1981
1983
  exports.EventLog = EventLog;
1982
1984
  exports.LANGCHAIN_DIR_NAME = LANGCHAIN_DIR_NAME;
@@ -2004,12 +2006,11 @@ exports.isNpmToolDescriptor = isNpmToolDescriptor;
2004
2006
  exports.loadToolConfig = loadToolConfig;
2005
2007
  exports.normalizeToolList = normalizeToolList;
2006
2008
  exports.npmDescriptorToRegistryPrefix = npmDescriptorToRegistryPrefix;
2007
- exports.parseNpmDescriptor = parseNpmDescriptor;
2008
2009
  exports.parseNpmToolDescriptor = parseNpmToolDescriptor;
2009
2010
  exports.resolveNpmToolDescriptor = resolveNpmToolDescriptor;
2010
2011
  exports.resolveSandboxedPath = resolveSandboxedPath;
2011
2012
  exports.resolveToolDescriptor = resolveToolDescriptor;
2012
2013
  exports.sanitizeForLog = sanitizeForLog;
2013
2014
  exports.summarizeForLog = summarizeForLog;
2014
- //# sourceMappingURL=chunk-6WQYJLVU.cjs.map
2015
- //# sourceMappingURL=chunk-6WQYJLVU.cjs.map
2015
+ //# sourceMappingURL=chunk-NJNQCEHG.cjs.map
2016
+ //# sourceMappingURL=chunk-NJNQCEHG.cjs.map