@easynet/agent-tool 1.0.34 → 1.0.36

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 (60) hide show
  1. package/dist/api/adapters/LangChainToolsHub.d.ts.map +1 -1
  2. package/dist/api/createAgentTools.d.ts.map +1 -1
  3. package/dist/api/expose/extension-init/index.d.ts +3 -0
  4. package/dist/api/expose/extension-init/index.d.ts.map +1 -0
  5. package/dist/api/expose/extension-init/initExtension.d.ts +19 -0
  6. package/dist/api/expose/extension-init/initExtension.d.ts.map +1 -0
  7. package/dist/api/extension/dynamicImportAdapter.d.ts +6 -2
  8. package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -1
  9. package/dist/api/extension/generateExtensionManifest.d.ts +2 -2
  10. package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -1
  11. package/dist/api/extension/index.d.ts +1 -0
  12. package/dist/api/extension/index.d.ts.map +1 -1
  13. package/dist/api/extension/loadToolYaml.d.ts +1 -0
  14. package/dist/api/extension/loadToolYaml.d.ts.map +1 -1
  15. package/dist/api/extension/overrideWithConfig.d.ts +6 -0
  16. package/dist/api/extension/overrideWithConfig.d.ts.map +1 -0
  17. package/dist/api/extension/registerExtension.d.ts.map +1 -1
  18. package/dist/api/extension/registerFromManifest.d.ts.map +1 -1
  19. package/dist/api/main.cjs +14 -14
  20. package/dist/api/main.js +3 -3
  21. package/dist/api/runtimeFromConfig.d.ts +8 -0
  22. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  23. package/dist/{chunk-GYUELFVR.js → chunk-3L7CQ6XP.js} +3 -3
  24. package/dist/{chunk-GYUELFVR.js.map → chunk-3L7CQ6XP.js.map} +1 -1
  25. package/dist/{chunk-ETZKGTTF.cjs → chunk-5LCB63L7.cjs} +7 -7
  26. package/dist/{chunk-ETZKGTTF.cjs.map → chunk-5LCB63L7.cjs.map} +1 -1
  27. package/dist/{chunk-YP6GRCQG.cjs → chunk-6ZGMI6KW.cjs} +53 -16
  28. package/dist/chunk-6ZGMI6KW.cjs.map +1 -0
  29. package/dist/{chunk-UUQGKFSG.js → chunk-7VBJ64YC.js} +308 -141
  30. package/dist/chunk-7VBJ64YC.js.map +1 -0
  31. package/dist/{chunk-FHHD4FSI.js → chunk-HEMWFWSK.js} +3 -3
  32. package/dist/{chunk-FHHD4FSI.js.map → chunk-HEMWFWSK.js.map} +1 -1
  33. package/dist/{chunk-6UOHURU4.js → chunk-JG5T3ZYC.js} +42 -5
  34. package/dist/chunk-JG5T3ZYC.js.map +1 -0
  35. package/dist/{chunk-PKUSCCS6.cjs → chunk-LP7KHBA3.cjs} +310 -140
  36. package/dist/chunk-LP7KHBA3.cjs.map +1 -0
  37. package/dist/{chunk-LOGUQGCL.cjs → chunk-WFRHBW32.cjs} +9 -9
  38. package/dist/{chunk-LOGUQGCL.cjs.map → chunk-WFRHBW32.cjs.map} +1 -1
  39. package/dist/index.cjs +119 -69
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +71 -26
  44. package/dist/index.js.map +1 -1
  45. package/dist/tools/util/toolConfig.d.ts +11 -3
  46. package/dist/tools/util/toolConfig.d.ts.map +1 -1
  47. package/dist/tools/util/toolDescriptor.d.ts +32 -7
  48. package/dist/tools/util/toolDescriptor.d.ts.map +1 -1
  49. package/dist/utils/cli/index.cjs +233 -31
  50. package/dist/utils/cli/index.cjs.map +1 -1
  51. package/dist/utils/cli/index.d.ts.map +1 -1
  52. package/dist/utils/cli/index.js +201 -15
  53. package/dist/utils/cli/index.js.map +1 -1
  54. package/dist/utils/npmCache.d.ts +14 -0
  55. package/dist/utils/npmCache.d.ts.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/chunk-6UOHURU4.js.map +0 -1
  58. package/dist/chunk-PKUSCCS6.cjs.map +0 -1
  59. package/dist/chunk-UUQGKFSG.js.map +0 -1
  60. package/dist/chunk-YP6GRCQG.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkYP6GRCQG_cjs = require('./chunk-YP6GRCQG.cjs');
4
- var chunkLOGUQGCL_cjs = require('./chunk-LOGUQGCL.cjs');
5
- var chunkPKUSCCS6_cjs = require('./chunk-PKUSCCS6.cjs');
3
+ var chunk6ZGMI6KW_cjs = require('./chunk-6ZGMI6KW.cjs');
4
+ var chunkWFRHBW32_cjs = require('./chunk-WFRHBW32.cjs');
5
+ var chunkLP7KHBA3_cjs = require('./chunk-LP7KHBA3.cjs');
6
6
  var chunkTOSPHMYU_cjs = require('./chunk-TOSPHMYU.cjs');
7
7
  require('./chunk-4KTWJQ32.cjs');
8
8
  var chunkDYDNPIV2_cjs = require('./chunk-DYDNPIV2.cjs');
@@ -281,7 +281,7 @@ function createDynamicImportAdapter(options) {
281
281
  `Extension tool ${spec.name}: export "${exportName}" from ${sourcePath} is not a function`
282
282
  );
283
283
  }
284
- const ctx = getExtensionContext(execCtx, spec);
284
+ const ctx = getExtensionContext(execCtx, spec, mergedArgs);
285
285
  const output = await contextRunner.runWith(ctx, () => handler(handlerArgs));
286
286
  return {
287
287
  result: { result: output.result, evidence: output.evidence },
@@ -293,23 +293,26 @@ function createDynamicImportAdapter(options) {
293
293
  function loadToolYaml(packageRoot, sourcePath) {
294
294
  const dir = path6__default.default.dirname(sourcePath);
295
295
  const base = path6__default.default.basename(sourcePath);
296
- const yamlPath = path6__default.default.join(packageRoot, dir, `${base}.tool.yaml`);
296
+ const dirPath = path6__default.default.join(packageRoot, dir);
297
+ const yamlPath = fs.existsSync(path6__default.default.join(dirPath, `${base}.tool.yaml`)) ? path6__default.default.join(dirPath, `${base}.tool.yaml`) : path6__default.default.join(dirPath, `${base}.example.yaml`);
297
298
  if (!fs.existsSync(yamlPath)) return void 0;
298
299
  try {
299
300
  const raw = fs.readFileSync(yamlPath, "utf-8");
300
301
  const data = yaml__default.default.load(raw);
301
302
  if (data == null || typeof data !== "object" || Array.isArray(data)) return void 0;
302
303
  const obj = data;
303
- const list = obj?.tool;
304
- const arr = list?.list;
304
+ const toolBlock = obj?.tool;
305
+ const arr = toolBlock?.list;
305
306
  if (!Array.isArray(arr)) return void 0;
307
+ const defaults = toolBlock?.defaults != null && typeof toolBlock.defaults === "object" && !Array.isArray(toolBlock.defaults) ? toolBlock.defaults : {};
306
308
  const item = arr.find(
307
309
  (e) => e != null && typeof e === "object" && e.name === base
308
310
  );
309
311
  if (!item || typeof item !== "object") return void 0;
310
312
  const { name: _n, ...rest } = item;
311
- if (Object.keys(rest).length === 0) return void 0;
312
- return rest;
313
+ const merged = { ...defaults, ...rest };
314
+ if (Object.keys(merged).length === 0) return void 0;
315
+ return merged;
313
316
  } catch {
314
317
  return void 0;
315
318
  }
@@ -362,6 +365,7 @@ function registerToolsFromManifest(registry, options) {
362
365
  ...spec._meta,
363
366
  sourcePath: entry.sourcePath,
364
367
  exportName: entry.exportName,
368
+ shortName: toolName,
365
369
  ...defaultArgs != null && Object.keys(defaultArgs).length > 0 && { defaultArgs }
366
370
  }
367
371
  };
@@ -393,10 +397,30 @@ function registerExtension(registry, options) {
393
397
  const adapter = createDynamicImportAdapter({
394
398
  kind,
395
399
  packageRoot,
396
- getExtensionContext: (execCtx, spec) => ({
397
- execCtx,
398
- config: config !== void 0 ? { ...config, ...spec._meta?.defaultArgs ?? {} } : spec._meta?.defaultArgs ?? {}
399
- }),
400
+ getExtensionContext: (execCtx, spec, mergedArgs) => {
401
+ const defaultArgs = spec._meta?.defaultArgs ?? {};
402
+ const baseConfig = config !== void 0 ? config : {};
403
+ const toolOverrides = baseConfig?.toolOverrides;
404
+ const shortName = spec._meta?.shortName ?? spec.name;
405
+ const prefixWithVersion = shortName && spec.name.endsWith(shortName) && spec.name.length > shortName.length ? spec.name.slice(0, spec.name.length - shortName.length - 1) : "";
406
+ const parts = prefixWithVersion ? prefixWithVersion.split(".") : [];
407
+ const packageScopedKey = parts.length > 1 ? `${parts.slice(0, -1).join(".")}::${shortName}` : "";
408
+ const perTool = toolOverrides?.[spec.name] ?? (packageScopedKey ? toolOverrides?.[packageScopedKey] : void 0) ?? toolOverrides?.[shortName] ?? {};
409
+ const packagePrefix = parts.length > 1 ? parts.slice(0, -1).join(".") : "";
410
+ const packageDefaults = baseConfig?.packageDefaults;
411
+ const packageDefaultsForPkg = (packagePrefix && packageDefaults?.[packagePrefix]) ?? (prefixWithVersion && packageDefaults?.[prefixWithVersion]) ?? {};
412
+ const baseWithoutOverrides = { ...baseConfig };
413
+ delete baseWithoutOverrides.toolOverrides;
414
+ delete baseWithoutOverrides.packageDefaults;
415
+ const resolvedConfig = {
416
+ ...defaultArgs,
417
+ ...baseWithoutOverrides,
418
+ ...packageDefaultsForPkg,
419
+ ...perTool,
420
+ ...mergedArgs ?? {}
421
+ };
422
+ return { execCtx, config: resolvedConfig };
423
+ },
400
424
  contextRunner: {
401
425
  runWith(ctx, fn) {
402
426
  return contextRunner.runWith(ctx, fn);
@@ -419,7 +443,7 @@ function createExtension(options) {
419
443
  const contextRunner = createContextRunner();
420
444
  return {
421
445
  register(registry, userConfigOrOpts, opts) {
422
- const config = buildConfig ? buildConfig(userConfigOrOpts) : void 0;
446
+ const config = buildConfig ? buildConfig(userConfigOrOpts) : userConfigOrOpts;
423
447
  return registerExtension(registry, {
424
448
  packagePath,
425
449
  kind,
@@ -437,11 +461,27 @@ function createExtension(options) {
437
461
  }
438
462
  };
439
463
  }
464
+ function copyToolYamlRecursive(srcDir, destDir) {
465
+ if (!fs.existsSync(srcDir)) return 0;
466
+ let copied = 0;
467
+ for (const e of fs.readdirSync(srcDir, { withFileTypes: true })) {
468
+ const srcPath = path6__default.default.join(srcDir, e.name);
469
+ const destPath = path6__default.default.join(destDir, e.name);
470
+ if (e.isFile() && (e.name.endsWith(".tool.yaml") || e.name.endsWith(".example.yaml"))) {
471
+ if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });
472
+ fs.copyFileSync(srcPath, destPath);
473
+ copied++;
474
+ } else if (e.isDirectory()) {
475
+ copied += copyToolYamlRecursive(srcPath, destPath);
476
+ }
477
+ }
478
+ return copied;
479
+ }
440
480
  function generateExtensionManifest(projectRoot = process.cwd(), options = {}) {
441
481
  const root = path6__default.default.resolve(projectRoot);
442
482
  const outDir = path6__default.default.resolve(options.outDir ?? path6__default.default.join(root, "dist"));
443
483
  const kind = options.kind ?? "core";
444
- const { specs, errors } = chunkLOGUQGCL_cjs.scanForTools({
484
+ const { specs, errors } = chunkWFRHBW32_cjs.scanForTools({
445
485
  projectPath: root,
446
486
  include: options.include ?? ["**/*.ts"],
447
487
  tsconfigPath: options.tsconfigPath
@@ -477,15 +517,8 @@ function generateExtensionManifest(projectRoot = process.cwd(), options = {}) {
477
517
  for (const d of copyDirs) {
478
518
  const srcDir = path6__default.default.join(root, d);
479
519
  const destDir = path6__default.default.join(outDir, d);
480
- if (!fs.existsSync(srcDir)) continue;
481
520
  try {
482
- for (const e of fs.readdirSync(srcDir, { withFileTypes: true })) {
483
- if (e.isFile() && e.name.endsWith(".tool.yaml")) {
484
- if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });
485
- fs.copyFileSync(path6__default.default.join(srcDir, e.name), path6__default.default.join(destDir, e.name));
486
- toolYamlCopied++;
487
- }
488
- }
521
+ toolYamlCopied += copyToolYamlRecursive(srcDir, destDir);
489
522
  } catch {
490
523
  }
491
524
  }
@@ -499,7 +532,19 @@ function generateManifest(projectRoot = process.cwd(), options = {}) {
499
532
  ...options
500
533
  });
501
534
  console.log(`Wrote ${toolsCount} tools to ${path6__default.default.relative(projectRoot, manifestPath)}`);
502
- if (toolYamlCopied > 0) console.log(`Copied ${toolYamlCopied} tool.yaml file(s) to dist`);
535
+ if (toolYamlCopied > 0) console.log(`Copied ${toolYamlCopied} .tool.yaml/.example.yaml file(s) to dist`);
536
+ }
537
+
538
+ // src/api/extension/overrideWithConfig.ts
539
+ function overrideWithConfig(defaults, config) {
540
+ const c = config != null && typeof config === "object" && !Array.isArray(config) ? config : {};
541
+ const out = { ...defaults };
542
+ for (const key of Object.keys(defaults)) {
543
+ if (key in c && c[key] !== void 0) {
544
+ out[key] = c[key];
545
+ }
546
+ }
547
+ return out;
503
548
  }
504
549
 
505
550
  // src/api/extension/groupPrefix.ts
@@ -526,7 +571,7 @@ var MCPClientAdapter = class {
526
571
  constructor(client) {
527
572
  this.client = client;
528
573
  }
529
- kind = chunkPKUSCCS6_cjs.MCP_KIND;
574
+ kind = chunkLP7KHBA3_cjs.MCP_KIND;
530
575
  async invoke(spec, args, _ctx) {
531
576
  const params = args != null && typeof args === "object" && !Array.isArray(args) ? args : {};
532
577
  const result = await this.client.callTool({ name: spec.name, arguments: params });
@@ -567,7 +612,7 @@ function mcpToolsToSpecs(tools) {
567
612
  return tools.map((t) => ({
568
613
  name: t.name,
569
614
  version: "1.0.0",
570
- kind: chunkPKUSCCS6_cjs.MCP_KIND,
615
+ kind: chunkLP7KHBA3_cjs.MCP_KIND,
571
616
  description: t.description ?? `MCP tool: ${t.name}`,
572
617
  inputSchema: t.inputSchema ?? chunkDYDNPIV2_cjs.DEFAULT_INPUT_SCHEMA,
573
618
  outputSchema: chunkDYDNPIV2_cjs.DEFAULT_OUTPUT_SCHEMA,
@@ -607,8 +652,8 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
607
652
  const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path6.join(process.cwd(), "mcp.json");
608
653
  const dirPath = path6.dirname(configPath);
609
654
  const entryPoint = path6.basename(configPath);
610
- const toolName = options.toolName ?? chunkPKUSCCS6_cjs.MCP_KIND;
611
- const loaded = await chunkLOGUQGCL_cjs.loadMCPTool(dirPath, { kind: chunkPKUSCCS6_cjs.MCP_KIND, name: toolName, entryPoint });
655
+ const toolName = options.toolName ?? chunkLP7KHBA3_cjs.MCP_KIND;
656
+ const loaded = await chunkWFRHBW32_cjs.loadMCPTool(dirPath, { kind: chunkLP7KHBA3_cjs.MCP_KIND, name: toolName, entryPoint });
612
657
  if (!loaded.mcpConfig) {
613
658
  throw new Error("mcp.json must have command or url");
614
659
  }
@@ -624,167 +669,171 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
624
669
 
625
670
  Object.defineProperty(exports, "LangChainToolsHub", {
626
671
  enumerable: true,
627
- get: function () { return chunkYP6GRCQG_cjs.LangChainToolsHub; }
672
+ get: function () { return chunk6ZGMI6KW_cjs.LangChainToolsHub; }
628
673
  });
629
674
  Object.defineProperty(exports, "createAgentTools", {
630
675
  enumerable: true,
631
- get: function () { return chunkYP6GRCQG_cjs.createAgentTools; }
676
+ get: function () { return chunk6ZGMI6KW_cjs.createAgentTools; }
632
677
  });
633
678
  Object.defineProperty(exports, "DirectoryScanner", {
634
679
  enumerable: true,
635
- get: function () { return chunkLOGUQGCL_cjs.DirectoryScanner; }
680
+ get: function () { return chunkWFRHBW32_cjs.DirectoryScanner; }
636
681
  });
637
682
  Object.defineProperty(exports, "DiscoveryError", {
638
683
  enumerable: true,
639
- get: function () { return chunkLOGUQGCL_cjs.DiscoveryError; }
684
+ get: function () { return chunkWFRHBW32_cjs.DiscoveryError; }
640
685
  });
641
686
  Object.defineProperty(exports, "SkillManifestError", {
642
687
  enumerable: true,
643
- get: function () { return chunkLOGUQGCL_cjs.SkillManifestError; }
688
+ get: function () { return chunkWFRHBW32_cjs.SkillManifestError; }
644
689
  });
645
690
  Object.defineProperty(exports, "buildFunctionToTool", {
646
691
  enumerable: true,
647
- get: function () { return chunkLOGUQGCL_cjs.buildFunctionToTool; }
692
+ get: function () { return chunkWFRHBW32_cjs.buildFunctionToTool; }
648
693
  });
649
694
  Object.defineProperty(exports, "buildMcpPackage", {
650
695
  enumerable: true,
651
- get: function () { return chunkLOGUQGCL_cjs.buildMcpPackage; }
696
+ get: function () { return chunkWFRHBW32_cjs.buildMcpPackage; }
652
697
  });
653
698
  Object.defineProperty(exports, "initProject", {
654
699
  enumerable: true,
655
- get: function () { return chunkLOGUQGCL_cjs.initProject; }
700
+ get: function () { return chunkWFRHBW32_cjs.initProject; }
656
701
  });
657
702
  Object.defineProperty(exports, "loadMCPTool", {
658
703
  enumerable: true,
659
- get: function () { return chunkLOGUQGCL_cjs.loadMCPTool; }
704
+ get: function () { return chunkWFRHBW32_cjs.loadMCPTool; }
660
705
  });
661
706
  Object.defineProperty(exports, "loadSkillDefinition", {
662
707
  enumerable: true,
663
- get: function () { return chunkLOGUQGCL_cjs.loadSkillDefinition; }
708
+ get: function () { return chunkWFRHBW32_cjs.loadSkillDefinition; }
664
709
  });
665
710
  Object.defineProperty(exports, "parseSkillMd", {
666
711
  enumerable: true,
667
- get: function () { return chunkLOGUQGCL_cjs.parseSkillMd; }
712
+ get: function () { return chunkWFRHBW32_cjs.parseSkillMd; }
668
713
  });
669
714
  Object.defineProperty(exports, "runGeneratedMCP", {
670
715
  enumerable: true,
671
- get: function () { return chunkLOGUQGCL_cjs.runGeneratedMCP; }
716
+ get: function () { return chunkWFRHBW32_cjs.runGeneratedMCP; }
672
717
  });
673
718
  Object.defineProperty(exports, "runMcpServer", {
674
719
  enumerable: true,
675
- get: function () { return chunkLOGUQGCL_cjs.runMcpServer; }
720
+ get: function () { return chunkWFRHBW32_cjs.runMcpServer; }
676
721
  });
677
722
  Object.defineProperty(exports, "scan", {
678
723
  enumerable: true,
679
- get: function () { return chunkLOGUQGCL_cjs.scan; }
724
+ get: function () { return chunkWFRHBW32_cjs.scan; }
680
725
  });
681
726
  Object.defineProperty(exports, "scanForTools", {
682
727
  enumerable: true,
683
- get: function () { return chunkLOGUQGCL_cjs.scanForTools; }
728
+ get: function () { return chunkWFRHBW32_cjs.scanForTools; }
684
729
  });
685
730
  Object.defineProperty(exports, "scanSkillResources", {
686
731
  enumerable: true,
687
- get: function () { return chunkLOGUQGCL_cjs.scanSkillResources; }
732
+ get: function () { return chunkWFRHBW32_cjs.scanSkillResources; }
688
733
  });
689
734
  Object.defineProperty(exports, "validateFrontmatter", {
690
735
  enumerable: true,
691
- get: function () { return chunkLOGUQGCL_cjs.validateFrontmatter; }
736
+ get: function () { return chunkWFRHBW32_cjs.validateFrontmatter; }
692
737
  });
693
738
  Object.defineProperty(exports, "BudgetManager", {
694
739
  enumerable: true,
695
- get: function () { return chunkPKUSCCS6_cjs.BudgetManager; }
740
+ get: function () { return chunkLP7KHBA3_cjs.BudgetManager; }
696
741
  });
697
742
  Object.defineProperty(exports, "EventLog", {
698
743
  enumerable: true,
699
- get: function () { return chunkPKUSCCS6_cjs.EventLog; }
744
+ get: function () { return chunkLP7KHBA3_cjs.EventLog; }
700
745
  });
701
746
  Object.defineProperty(exports, "Metrics", {
702
747
  enumerable: true,
703
- get: function () { return chunkPKUSCCS6_cjs.Metrics; }
748
+ get: function () { return chunkLP7KHBA3_cjs.Metrics; }
704
749
  });
705
750
  Object.defineProperty(exports, "PTCRuntime", {
706
751
  enumerable: true,
707
- get: function () { return chunkPKUSCCS6_cjs.PTCRuntime; }
752
+ get: function () { return chunkLP7KHBA3_cjs.PTCRuntime; }
708
753
  });
709
754
  Object.defineProperty(exports, "PolicyDeniedError", {
710
755
  enumerable: true,
711
- get: function () { return chunkPKUSCCS6_cjs.PolicyDeniedError; }
756
+ get: function () { return chunkLP7KHBA3_cjs.PolicyDeniedError; }
712
757
  });
713
758
  Object.defineProperty(exports, "PolicyEngine", {
714
759
  enumerable: true,
715
- get: function () { return chunkPKUSCCS6_cjs.PolicyEngine; }
760
+ get: function () { return chunkLP7KHBA3_cjs.PolicyEngine; }
716
761
  });
717
762
  Object.defineProperty(exports, "SchemaValidationError", {
718
763
  enumerable: true,
719
- get: function () { return chunkPKUSCCS6_cjs.SchemaValidationError; }
764
+ get: function () { return chunkLP7KHBA3_cjs.SchemaValidationError; }
720
765
  });
721
766
  Object.defineProperty(exports, "SchemaValidator", {
722
767
  enumerable: true,
723
- get: function () { return chunkPKUSCCS6_cjs.SchemaValidator; }
768
+ get: function () { return chunkLP7KHBA3_cjs.SchemaValidator; }
724
769
  });
725
770
  Object.defineProperty(exports, "Tracing", {
726
771
  enumerable: true,
727
- get: function () { return chunkPKUSCCS6_cjs.Tracing; }
772
+ get: function () { return chunkLP7KHBA3_cjs.Tracing; }
728
773
  });
729
774
  Object.defineProperty(exports, "buildEvidence", {
730
775
  enumerable: true,
731
- get: function () { return chunkPKUSCCS6_cjs.buildEvidence; }
776
+ get: function () { return chunkLP7KHBA3_cjs.buildEvidence; }
732
777
  });
733
778
  Object.defineProperty(exports, "createLogger", {
734
779
  enumerable: true,
735
- get: function () { return chunkPKUSCCS6_cjs.createLogger; }
780
+ get: function () { return chunkLP7KHBA3_cjs.createLogger; }
736
781
  });
737
782
  Object.defineProperty(exports, "ensurePackageInCache", {
738
783
  enumerable: true,
739
- get: function () { return chunkPKUSCCS6_cjs.ensurePackageInCache; }
784
+ get: function () { return chunkLP7KHBA3_cjs.ensurePackageInCache; }
740
785
  });
741
786
  Object.defineProperty(exports, "expandToolDescriptorsToRegistryNames", {
742
787
  enumerable: true,
743
- get: function () { return chunkPKUSCCS6_cjs.expandToolDescriptorsToRegistryNames; }
788
+ get: function () { return chunkLP7KHBA3_cjs.expandToolDescriptorsToRegistryNames; }
744
789
  });
745
790
  Object.defineProperty(exports, "getPackageEntryPath", {
746
791
  enumerable: true,
747
- get: function () { return chunkPKUSCCS6_cjs.getPackageEntryPath; }
792
+ get: function () { return chunkLP7KHBA3_cjs.getPackageEntryPath; }
748
793
  });
749
794
  Object.defineProperty(exports, "importFromCache", {
750
795
  enumerable: true,
751
- get: function () { return chunkPKUSCCS6_cjs.importFromCache; }
796
+ get: function () { return chunkLP7KHBA3_cjs.importFromCache; }
752
797
  });
753
798
  Object.defineProperty(exports, "isNpmToolDescriptor", {
754
799
  enumerable: true,
755
- get: function () { return chunkPKUSCCS6_cjs.isNpmToolDescriptor; }
800
+ get: function () { return chunkLP7KHBA3_cjs.isNpmToolDescriptor; }
756
801
  });
757
802
  Object.defineProperty(exports, "loadToolConfig", {
758
803
  enumerable: true,
759
- get: function () { return chunkPKUSCCS6_cjs.loadToolConfig; }
804
+ get: function () { return chunkLP7KHBA3_cjs.loadToolConfig; }
760
805
  });
761
806
  Object.defineProperty(exports, "normalizeToolList", {
762
807
  enumerable: true,
763
- get: function () { return chunkPKUSCCS6_cjs.normalizeToolList; }
808
+ get: function () { return chunkLP7KHBA3_cjs.normalizeToolList; }
764
809
  });
765
810
  Object.defineProperty(exports, "npmDescriptorToRegistryPrefix", {
766
811
  enumerable: true,
767
- get: function () { return chunkPKUSCCS6_cjs.npmDescriptorToRegistryPrefix; }
812
+ get: function () { return chunkLP7KHBA3_cjs.npmDescriptorToRegistryPrefix; }
768
813
  });
769
814
  Object.defineProperty(exports, "parseNpmToolDescriptor", {
770
815
  enumerable: true,
771
- get: function () { return chunkPKUSCCS6_cjs.parseNpmToolDescriptor; }
816
+ get: function () { return chunkLP7KHBA3_cjs.parseNpmToolDescriptor; }
817
+ });
818
+ Object.defineProperty(exports, "resolveLatestVersionFromRegistry", {
819
+ enumerable: true,
820
+ get: function () { return chunkLP7KHBA3_cjs.resolveLatestVersionFromRegistry; }
772
821
  });
773
822
  Object.defineProperty(exports, "resolveNpmToolDescriptor", {
774
823
  enumerable: true,
775
- get: function () { return chunkPKUSCCS6_cjs.resolveNpmToolDescriptor; }
824
+ get: function () { return chunkLP7KHBA3_cjs.resolveNpmToolDescriptor; }
776
825
  });
777
826
  Object.defineProperty(exports, "resolveToolDescriptor", {
778
827
  enumerable: true,
779
- get: function () { return chunkPKUSCCS6_cjs.resolveToolDescriptor; }
828
+ get: function () { return chunkLP7KHBA3_cjs.resolveToolDescriptor; }
780
829
  });
781
830
  Object.defineProperty(exports, "sanitizeForLog", {
782
831
  enumerable: true,
783
- get: function () { return chunkPKUSCCS6_cjs.sanitizeForLog; }
832
+ get: function () { return chunkLP7KHBA3_cjs.sanitizeForLog; }
784
833
  });
785
834
  Object.defineProperty(exports, "summarizeForLog", {
786
835
  enumerable: true,
787
- get: function () { return chunkPKUSCCS6_cjs.summarizeForLog; }
836
+ get: function () { return chunkLP7KHBA3_cjs.summarizeForLog; }
788
837
  });
789
838
  Object.defineProperty(exports, "ToolRegistry", {
790
839
  enumerable: true,
@@ -831,6 +880,7 @@ exports.isIpInBlockedCidrs = isIpInBlockedCidrs;
831
880
  exports.loadExtensionManifest = loadExtensionManifest;
832
881
  exports.loadToolYaml = loadToolYaml;
833
882
  exports.mcpToolsToSpecs = mcpToolsToSpecs;
883
+ exports.overrideWithConfig = overrideWithConfig;
834
884
  exports.registerExtension = registerExtension;
835
885
  exports.registerMCPToolsFromConfig = registerMCPToolsFromConfig;
836
886
  exports.registerToolsFromManifest = registerToolsFromManifest;