@easynet/agent-tool 1.0.24 → 1.0.26

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/extension/createExtension.d.ts +38 -0
  2. package/dist/api/extension/createExtension.d.ts.map +1 -0
  3. package/dist/api/extension/dynamicImportAdapter.d.ts +3 -2
  4. package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -1
  5. package/dist/api/extension/generateExtensionManifest.d.ts +29 -0
  6. package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -0
  7. package/dist/api/extension/index.d.ts +4 -0
  8. package/dist/api/extension/index.d.ts.map +1 -1
  9. package/dist/api/extension/registerExtension.d.ts +6 -5
  10. package/dist/api/extension/registerExtension.d.ts.map +1 -1
  11. package/dist/api/extension/registerFromManifest.d.ts +2 -2
  12. package/dist/api/extension/registerFromManifest.d.ts.map +1 -1
  13. package/dist/api/main.cjs +14 -14
  14. package/dist/api/main.js +3 -3
  15. package/dist/api/runtimeFromConfig.d.ts +12 -10
  16. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  17. package/dist/{chunk-ZRDI2RKU.js → chunk-7J2DRVCV.js} +3 -3
  18. package/dist/{chunk-ZRDI2RKU.js.map → chunk-7J2DRVCV.js.map} +1 -1
  19. package/dist/{chunk-FWIMPZC2.cjs → chunk-EJSCDVKD.cjs} +14 -14
  20. package/dist/{chunk-FWIMPZC2.cjs.map → chunk-EJSCDVKD.cjs.map} +1 -1
  21. package/dist/{chunk-P2LVZGZ4.cjs → chunk-ETZKGTTF.cjs} +7 -7
  22. package/dist/{chunk-P2LVZGZ4.cjs.map → chunk-ETZKGTTF.cjs.map} +1 -1
  23. package/dist/{chunk-QP5FIRC2.js → chunk-GYUELFVR.js} +3 -3
  24. package/dist/{chunk-QP5FIRC2.js.map → chunk-GYUELFVR.js.map} +1 -1
  25. package/dist/{chunk-AH4NI4GN.cjs → chunk-PKUSCCS6.cjs} +84 -54
  26. package/dist/chunk-PKUSCCS6.cjs.map +1 -0
  27. package/dist/{chunk-BPHY6UVK.js → chunk-UUQGKFSG.js} +83 -53
  28. package/dist/chunk-UUQGKFSG.js.map +1 -0
  29. package/dist/{chunk-BOMOGAFZ.js → chunk-XRCHMWOC.js} +5 -4
  30. package/dist/chunk-XRCHMWOC.js.map +1 -0
  31. package/dist/{chunk-AT3N7SQK.cjs → chunk-ZOQWKN2O.cjs} +11 -10
  32. package/dist/chunk-ZOQWKN2O.cjs.map +1 -0
  33. package/dist/index.cjs +175 -73
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +120 -21
  38. package/dist/index.js.map +1 -1
  39. package/dist/tools/function/scanner.d.ts.map +1 -1
  40. package/dist/utils/cli/index.cjs +20 -18
  41. package/dist/utils/cli/index.cjs.map +1 -1
  42. package/dist/utils/cli/index.d.ts.map +1 -1
  43. package/dist/utils/cli/index.js +6 -4
  44. package/dist/utils/cli/index.js.map +1 -1
  45. package/package.json +1 -1
  46. package/dist/chunk-AH4NI4GN.cjs.map +0 -1
  47. package/dist/chunk-AT3N7SQK.cjs.map +0 -1
  48. package/dist/chunk-BOMOGAFZ.js.map +0 -1
  49. package/dist/chunk-BPHY6UVK.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkFWIMPZC2_cjs = require('./chunk-FWIMPZC2.cjs');
4
- var chunkAT3N7SQK_cjs = require('./chunk-AT3N7SQK.cjs');
5
- var chunkAH4NI4GN_cjs = require('./chunk-AH4NI4GN.cjs');
3
+ var chunkEJSCDVKD_cjs = require('./chunk-EJSCDVKD.cjs');
4
+ var chunkZOQWKN2O_cjs = require('./chunk-ZOQWKN2O.cjs');
5
+ var chunkPKUSCCS6_cjs = require('./chunk-PKUSCCS6.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');
9
9
  var promises = require('dns/promises');
10
- var path2 = require('path');
10
+ var path6 = require('path');
11
11
  var promises$1 = require('fs/promises');
12
12
  var async_hooks = require('async_hooks');
13
13
  var url = require('url');
@@ -16,7 +16,7 @@ var yaml = require('js-yaml');
16
16
 
17
17
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
18
 
19
- var path2__default = /*#__PURE__*/_interopDefault(path2);
19
+ var path6__default = /*#__PURE__*/_interopDefault(path6);
20
20
  var yaml__default = /*#__PURE__*/_interopDefault(yaml);
21
21
 
22
22
  async function validateUrl(url, options) {
@@ -196,25 +196,25 @@ function expandIpv6(ip) {
196
196
  async function resolveSandboxedPath(inputPath, sandboxRoot) {
197
197
  let normalizedRoot;
198
198
  try {
199
- normalizedRoot = await promises$1.realpath(path2.resolve(sandboxRoot));
199
+ normalizedRoot = await promises$1.realpath(path6.resolve(sandboxRoot));
200
200
  } catch {
201
- normalizedRoot = path2.normalize(path2.resolve(sandboxRoot));
201
+ normalizedRoot = path6.normalize(path6.resolve(sandboxRoot));
202
202
  }
203
- const resolved = path2.resolve(normalizedRoot, inputPath);
203
+ const resolved = path6.resolve(normalizedRoot, inputPath);
204
204
  let real;
205
205
  try {
206
206
  await promises$1.access(resolved);
207
207
  real = await promises$1.realpath(resolved);
208
208
  } catch {
209
- const parentDir = path2.dirname(resolved);
209
+ const parentDir = path6.dirname(resolved);
210
210
  let realParent;
211
211
  try {
212
212
  await promises$1.access(parentDir);
213
213
  realParent = await promises$1.realpath(parentDir);
214
214
  } catch {
215
- realParent = path2.normalize(parentDir);
215
+ realParent = path6.normalize(parentDir);
216
216
  }
217
- real = path2.resolve(realParent, path2.basename(resolved));
217
+ real = path6.resolve(realParent, path6.basename(resolved));
218
218
  }
219
219
  if (!isWithinRoot(real, normalizedRoot)) {
220
220
  throw chunkTOSPHMYU_cjs.createTaggedError(
@@ -225,9 +225,9 @@ async function resolveSandboxedPath(inputPath, sandboxRoot) {
225
225
  }
226
226
  return real;
227
227
  }
228
- function isWithinRoot(path5, root) {
229
- const normalizedPath = path2.normalize(path5);
230
- const normalizedRoot = path2.normalize(root);
228
+ function isWithinRoot(path7, root) {
229
+ const normalizedPath = path6.normalize(path7);
230
+ const normalizedRoot = path6.normalize(root);
231
231
  return normalizedPath === normalizedRoot || normalizedPath.startsWith(normalizedRoot + "/");
232
232
  }
233
233
  function createContextRunner() {
@@ -258,7 +258,7 @@ function createDynamicImportAdapter(options) {
258
258
  }
259
259
  const defaultArgs = meta?.defaultArgs ?? {};
260
260
  const mergedArgs = Object.keys(defaultArgs).length === 0 ? args : { ...defaultArgs, ...args };
261
- const modulePath = path2__default.default.join(packageRoot, `${sourcePath}.js`);
261
+ const modulePath = path6__default.default.join(packageRoot, `${sourcePath}.js`);
262
262
  const mod = await import(url.pathToFileURL(modulePath).href);
263
263
  const handler = mod[exportName];
264
264
  if (typeof handler !== "function") {
@@ -266,16 +266,16 @@ function createDynamicImportAdapter(options) {
266
266
  `Extension tool ${spec.name}: export "${exportName}" from ${sourcePath} is not a function`
267
267
  );
268
268
  }
269
- const ctx = getExtensionContext(execCtx);
269
+ const ctx = getExtensionContext(execCtx, spec);
270
270
  const output = await contextRunner.runWith(ctx, () => handler(mergedArgs));
271
271
  return { result: output.result, raw: { evidence: output.evidence } };
272
272
  }
273
273
  };
274
274
  }
275
275
  function loadToolYaml(packageRoot, sourcePath) {
276
- const dir = path2__default.default.dirname(sourcePath);
277
- const base = path2__default.default.basename(sourcePath);
278
- const yamlPath = path2__default.default.join(packageRoot, dir, `${base}.tool.yaml`);
276
+ const dir = path6__default.default.dirname(sourcePath);
277
+ const base = path6__default.default.basename(sourcePath);
278
+ const yamlPath = path6__default.default.join(packageRoot, dir, `${base}.tool.yaml`);
279
279
  if (!fs.existsSync(yamlPath)) return void 0;
280
280
  try {
281
281
  const raw = fs.readFileSync(yamlPath, "utf-8");
@@ -296,14 +296,16 @@ function loadToolYaml(packageRoot, sourcePath) {
296
296
  return void 0;
297
297
  }
298
298
  }
299
+
300
+ // src/api/extension/registerFromManifest.ts
299
301
  function loadExtensionManifest(manifestPathOrDir) {
300
- const p = path2__default.default.resolve(manifestPathOrDir);
302
+ const p = path6__default.default.resolve(manifestPathOrDir);
301
303
  let manifestPath;
302
304
  if (fs.existsSync(p) && fs.statSync(p).isFile()) {
303
305
  manifestPath = p;
304
306
  } else {
305
- const inDir = path2__default.default.join(p, "core-tools-manifest.json");
306
- const inDist = path2__default.default.join(p, "dist", "core-tools-manifest.json");
307
+ const inDir = path6__default.default.join(p, "core-tools-manifest.json");
308
+ const inDist = path6__default.default.join(p, "dist", "core-tools-manifest.json");
307
309
  manifestPath = fs.existsSync(inDir) ? inDir : inDist;
308
310
  }
309
311
  const raw = fs.readFileSync(manifestPath, "utf-8");
@@ -350,8 +352,8 @@ function registerToolsFromManifest(registry, options) {
350
352
  return registered;
351
353
  }
352
354
  function resolveExtensionPackageRoot(metaUrlOrPath) {
353
- const dir = metaUrlOrPath.startsWith("file:") ? path2__default.default.dirname(url.fileURLToPath(metaUrlOrPath)) : path2__default.default.resolve(metaUrlOrPath);
354
- const dist = path2__default.default.join(dir, "dist");
355
+ const dir = metaUrlOrPath.startsWith("file:") ? path6__default.default.dirname(url.fileURLToPath(metaUrlOrPath)) : path6__default.default.resolve(metaUrlOrPath);
356
+ const dist = path6__default.default.join(dir, "dist");
355
357
  return fs.existsSync(dist) ? dist : dir;
356
358
  }
357
359
 
@@ -372,7 +374,10 @@ function registerExtension(registry, options) {
372
374
  const adapter = createDynamicImportAdapter({
373
375
  kind,
374
376
  packageRoot,
375
- getExtensionContext: (execCtx) => ({ execCtx, config }),
377
+ getExtensionContext: (execCtx, spec) => ({
378
+ execCtx,
379
+ config: config !== void 0 ? { ...config, ...spec._meta?.defaultArgs ?? {} } : spec._meta?.defaultArgs ?? {}
380
+ }),
376
381
  contextRunner: {
377
382
  runWith(ctx, fn) {
378
383
  return contextRunner.runWith(ctx, fn);
@@ -382,6 +387,100 @@ function registerExtension(registry, options) {
382
387
  return adapter;
383
388
  }
384
389
 
390
+ // src/api/extension/createExtension.ts
391
+ function resolvePackagePath(options) {
392
+ if (options.packagePath != null && options.packagePath !== "") return options.packagePath;
393
+ if (options.importMeta?.url) return path6__default.default.dirname(url.fileURLToPath(options.importMeta.url));
394
+ throw new Error("createExtension: provide packagePath or importMeta");
395
+ }
396
+ function createExtension(options) {
397
+ const packagePath = resolvePackagePath(options);
398
+ const kind = options.kind;
399
+ const buildConfig = "buildConfig" in options ? options.buildConfig : void 0;
400
+ const contextRunner = createContextRunner();
401
+ return {
402
+ register(registry, userConfigOrOpts, opts) {
403
+ const config = buildConfig ? buildConfig(userConfigOrOpts) : void 0;
404
+ return registerExtension(registry, {
405
+ packagePath,
406
+ kind,
407
+ config,
408
+ getContextRunner: () => contextRunner,
409
+ only: opts?.only ?? userConfigOrOpts?.only,
410
+ namePrefixes: opts?.namePrefixes ?? userConfigOrOpts?.namePrefixes
411
+ });
412
+ },
413
+ getContext() {
414
+ return contextRunner.getContext();
415
+ },
416
+ runWith(ctx, fn) {
417
+ return contextRunner.runWith(ctx, fn);
418
+ }
419
+ };
420
+ }
421
+ function generateExtensionManifest(projectRoot = process.cwd(), options = {}) {
422
+ const root = path6__default.default.resolve(projectRoot);
423
+ const outDir = path6__default.default.resolve(options.outDir ?? path6__default.default.join(root, "dist"));
424
+ const kind = options.kind ?? "core";
425
+ const { specs, errors } = chunkZOQWKN2O_cjs.scanForTools({
426
+ projectPath: root,
427
+ include: options.include ?? ["**/*.ts"],
428
+ tsconfigPath: options.tsconfigPath
429
+ });
430
+ if (errors.length > 0) {
431
+ console.warn("generateExtensionManifest: scan errors", errors);
432
+ }
433
+ const entries = specs.map((spec) => {
434
+ const sourcePathNoExt = (spec.sourcePath ?? "").replace(/\.(ts|tsx)$/i, "");
435
+ const coreName = `${kind}/${sourcePathNoExt.replace(/\//g, ".")}`;
436
+ const sideEffect = spec._meta?.hitl?.sideEffect ?? "none";
437
+ return {
438
+ coreName,
439
+ description: spec.description ?? sourcePathNoExt,
440
+ inputSchema: spec.inputSchema ?? { type: "object", additionalProperties: true },
441
+ outputSchema: spec.outputSchema ?? { type: "object", additionalProperties: true },
442
+ sourcePath: sourcePathNoExt,
443
+ exportName: spec.exportName ?? "",
444
+ sideEffect
445
+ };
446
+ });
447
+ if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true });
448
+ const manifestPath = path6__default.default.join(outDir, "core-tools-manifest.json");
449
+ fs.writeFileSync(
450
+ manifestPath,
451
+ JSON.stringify({ kind, tools: entries }, null, 2),
452
+ "utf-8"
453
+ );
454
+ let toolYamlCopied = 0;
455
+ const copyDirs = options.copyToolYamlDirs;
456
+ if (copyDirs?.length) {
457
+ for (const d of copyDirs) {
458
+ const srcDir = path6__default.default.join(root, d);
459
+ const destDir = path6__default.default.join(outDir, d);
460
+ if (!fs.existsSync(srcDir)) continue;
461
+ try {
462
+ for (const e of fs.readdirSync(srcDir, { withFileTypes: true })) {
463
+ if (e.isFile() && e.name.endsWith(".tool.yaml")) {
464
+ if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });
465
+ fs.copyFileSync(path6__default.default.join(srcDir, e.name), path6__default.default.join(destDir, e.name));
466
+ toolYamlCopied++;
467
+ }
468
+ }
469
+ } catch {
470
+ }
471
+ }
472
+ }
473
+ return { manifestPath, toolsCount: entries.length, toolYamlCopied };
474
+ }
475
+ function generateManifest(projectRoot = process.cwd()) {
476
+ const { manifestPath, toolsCount, toolYamlCopied } = generateExtensionManifest(projectRoot, {
477
+ include: ["src/**/*.ts"],
478
+ copyToolYamlDirs: ["src"]
479
+ });
480
+ console.log(`Wrote ${toolsCount} tools to ${path6__default.default.relative(projectRoot, manifestPath)}`);
481
+ if (toolYamlCopied > 0) console.log(`Copied ${toolYamlCopied} tool.yaml file(s) to dist`);
482
+ }
483
+
385
484
  // src/api/extension/groupPrefix.ts
386
485
  function getGroupNamePrefixes(options) {
387
486
  const { groups, only, groupPrefixMap } = options;
@@ -406,7 +505,7 @@ var MCPClientAdapter = class {
406
505
  constructor(client) {
407
506
  this.client = client;
408
507
  }
409
- kind = chunkAH4NI4GN_cjs.MCP_KIND;
508
+ kind = chunkPKUSCCS6_cjs.MCP_KIND;
410
509
  async invoke(spec, args, _ctx) {
411
510
  const params = args != null && typeof args === "object" && !Array.isArray(args) ? args : {};
412
511
  const result = await this.client.callTool({ name: spec.name, arguments: params });
@@ -447,7 +546,7 @@ function mcpToolsToSpecs(tools) {
447
546
  return tools.map((t) => ({
448
547
  name: t.name,
449
548
  version: "1.0.0",
450
- kind: chunkAH4NI4GN_cjs.MCP_KIND,
549
+ kind: chunkPKUSCCS6_cjs.MCP_KIND,
451
550
  description: t.description ?? `MCP tool: ${t.name}`,
452
551
  inputSchema: t.inputSchema ?? chunkDYDNPIV2_cjs.DEFAULT_INPUT_SCHEMA,
453
552
  outputSchema: chunkDYDNPIV2_cjs.DEFAULT_OUTPUT_SCHEMA,
@@ -484,11 +583,11 @@ var MCPProcessManager = class {
484
583
 
485
584
  // src/tools/mcp/registerMCPTools.ts
486
585
  async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
487
- const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path2.join(process.cwd(), "mcp.json");
488
- const dirPath = path2.dirname(configPath);
489
- const entryPoint = path2.basename(configPath);
490
- const toolName = options.toolName ?? chunkAH4NI4GN_cjs.MCP_KIND;
491
- const loaded = await chunkAT3N7SQK_cjs.loadMCPTool(dirPath, { kind: chunkAH4NI4GN_cjs.MCP_KIND, name: toolName, entryPoint });
586
+ const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path6.join(process.cwd(), "mcp.json");
587
+ const dirPath = path6.dirname(configPath);
588
+ const entryPoint = path6.basename(configPath);
589
+ const toolName = options.toolName ?? chunkPKUSCCS6_cjs.MCP_KIND;
590
+ const loaded = await chunkZOQWKN2O_cjs.loadMCPTool(dirPath, { kind: chunkPKUSCCS6_cjs.MCP_KIND, name: toolName, entryPoint });
492
591
  if (!loaded.mcpConfig) {
493
592
  throw new Error("mcp.json must have command or url");
494
593
  }
@@ -504,167 +603,167 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
504
603
 
505
604
  Object.defineProperty(exports, "LangChainToolsHub", {
506
605
  enumerable: true,
507
- get: function () { return chunkFWIMPZC2_cjs.LangChainToolsHub; }
606
+ get: function () { return chunkEJSCDVKD_cjs.LangChainToolsHub; }
508
607
  });
509
608
  Object.defineProperty(exports, "createAgentTools", {
510
609
  enumerable: true,
511
- get: function () { return chunkFWIMPZC2_cjs.createAgentTools; }
610
+ get: function () { return chunkEJSCDVKD_cjs.createAgentTools; }
512
611
  });
513
612
  Object.defineProperty(exports, "DirectoryScanner", {
514
613
  enumerable: true,
515
- get: function () { return chunkAT3N7SQK_cjs.DirectoryScanner; }
614
+ get: function () { return chunkZOQWKN2O_cjs.DirectoryScanner; }
516
615
  });
517
616
  Object.defineProperty(exports, "DiscoveryError", {
518
617
  enumerable: true,
519
- get: function () { return chunkAT3N7SQK_cjs.DiscoveryError; }
618
+ get: function () { return chunkZOQWKN2O_cjs.DiscoveryError; }
520
619
  });
521
620
  Object.defineProperty(exports, "SkillManifestError", {
522
621
  enumerable: true,
523
- get: function () { return chunkAT3N7SQK_cjs.SkillManifestError; }
622
+ get: function () { return chunkZOQWKN2O_cjs.SkillManifestError; }
524
623
  });
525
624
  Object.defineProperty(exports, "buildFunctionToTool", {
526
625
  enumerable: true,
527
- get: function () { return chunkAT3N7SQK_cjs.buildFunctionToTool; }
626
+ get: function () { return chunkZOQWKN2O_cjs.buildFunctionToTool; }
528
627
  });
529
628
  Object.defineProperty(exports, "buildMcpPackage", {
530
629
  enumerable: true,
531
- get: function () { return chunkAT3N7SQK_cjs.buildMcpPackage; }
630
+ get: function () { return chunkZOQWKN2O_cjs.buildMcpPackage; }
532
631
  });
533
632
  Object.defineProperty(exports, "initProject", {
534
633
  enumerable: true,
535
- get: function () { return chunkAT3N7SQK_cjs.initProject; }
634
+ get: function () { return chunkZOQWKN2O_cjs.initProject; }
536
635
  });
537
636
  Object.defineProperty(exports, "loadMCPTool", {
538
637
  enumerable: true,
539
- get: function () { return chunkAT3N7SQK_cjs.loadMCPTool; }
638
+ get: function () { return chunkZOQWKN2O_cjs.loadMCPTool; }
540
639
  });
541
640
  Object.defineProperty(exports, "loadSkillDefinition", {
542
641
  enumerable: true,
543
- get: function () { return chunkAT3N7SQK_cjs.loadSkillDefinition; }
642
+ get: function () { return chunkZOQWKN2O_cjs.loadSkillDefinition; }
544
643
  });
545
644
  Object.defineProperty(exports, "parseSkillMd", {
546
645
  enumerable: true,
547
- get: function () { return chunkAT3N7SQK_cjs.parseSkillMd; }
646
+ get: function () { return chunkZOQWKN2O_cjs.parseSkillMd; }
548
647
  });
549
648
  Object.defineProperty(exports, "runGeneratedMCP", {
550
649
  enumerable: true,
551
- get: function () { return chunkAT3N7SQK_cjs.runGeneratedMCP; }
650
+ get: function () { return chunkZOQWKN2O_cjs.runGeneratedMCP; }
552
651
  });
553
652
  Object.defineProperty(exports, "runMcpServer", {
554
653
  enumerable: true,
555
- get: function () { return chunkAT3N7SQK_cjs.runMcpServer; }
654
+ get: function () { return chunkZOQWKN2O_cjs.runMcpServer; }
556
655
  });
557
656
  Object.defineProperty(exports, "scan", {
558
657
  enumerable: true,
559
- get: function () { return chunkAT3N7SQK_cjs.scan; }
658
+ get: function () { return chunkZOQWKN2O_cjs.scan; }
560
659
  });
561
660
  Object.defineProperty(exports, "scanForTools", {
562
661
  enumerable: true,
563
- get: function () { return chunkAT3N7SQK_cjs.scanForTools; }
662
+ get: function () { return chunkZOQWKN2O_cjs.scanForTools; }
564
663
  });
565
664
  Object.defineProperty(exports, "scanSkillResources", {
566
665
  enumerable: true,
567
- get: function () { return chunkAT3N7SQK_cjs.scanSkillResources; }
666
+ get: function () { return chunkZOQWKN2O_cjs.scanSkillResources; }
568
667
  });
569
668
  Object.defineProperty(exports, "validateFrontmatter", {
570
669
  enumerable: true,
571
- get: function () { return chunkAT3N7SQK_cjs.validateFrontmatter; }
670
+ get: function () { return chunkZOQWKN2O_cjs.validateFrontmatter; }
572
671
  });
573
672
  Object.defineProperty(exports, "BudgetManager", {
574
673
  enumerable: true,
575
- get: function () { return chunkAH4NI4GN_cjs.BudgetManager; }
674
+ get: function () { return chunkPKUSCCS6_cjs.BudgetManager; }
576
675
  });
577
676
  Object.defineProperty(exports, "EventLog", {
578
677
  enumerable: true,
579
- get: function () { return chunkAH4NI4GN_cjs.EventLog; }
678
+ get: function () { return chunkPKUSCCS6_cjs.EventLog; }
580
679
  });
581
680
  Object.defineProperty(exports, "Metrics", {
582
681
  enumerable: true,
583
- get: function () { return chunkAH4NI4GN_cjs.Metrics; }
682
+ get: function () { return chunkPKUSCCS6_cjs.Metrics; }
584
683
  });
585
684
  Object.defineProperty(exports, "PTCRuntime", {
586
685
  enumerable: true,
587
- get: function () { return chunkAH4NI4GN_cjs.PTCRuntime; }
686
+ get: function () { return chunkPKUSCCS6_cjs.PTCRuntime; }
588
687
  });
589
688
  Object.defineProperty(exports, "PolicyDeniedError", {
590
689
  enumerable: true,
591
- get: function () { return chunkAH4NI4GN_cjs.PolicyDeniedError; }
690
+ get: function () { return chunkPKUSCCS6_cjs.PolicyDeniedError; }
592
691
  });
593
692
  Object.defineProperty(exports, "PolicyEngine", {
594
693
  enumerable: true,
595
- get: function () { return chunkAH4NI4GN_cjs.PolicyEngine; }
694
+ get: function () { return chunkPKUSCCS6_cjs.PolicyEngine; }
596
695
  });
597
696
  Object.defineProperty(exports, "SchemaValidationError", {
598
697
  enumerable: true,
599
- get: function () { return chunkAH4NI4GN_cjs.SchemaValidationError; }
698
+ get: function () { return chunkPKUSCCS6_cjs.SchemaValidationError; }
600
699
  });
601
700
  Object.defineProperty(exports, "SchemaValidator", {
602
701
  enumerable: true,
603
- get: function () { return chunkAH4NI4GN_cjs.SchemaValidator; }
702
+ get: function () { return chunkPKUSCCS6_cjs.SchemaValidator; }
604
703
  });
605
704
  Object.defineProperty(exports, "Tracing", {
606
705
  enumerable: true,
607
- get: function () { return chunkAH4NI4GN_cjs.Tracing; }
706
+ get: function () { return chunkPKUSCCS6_cjs.Tracing; }
608
707
  });
609
708
  Object.defineProperty(exports, "buildEvidence", {
610
709
  enumerable: true,
611
- get: function () { return chunkAH4NI4GN_cjs.buildEvidence; }
710
+ get: function () { return chunkPKUSCCS6_cjs.buildEvidence; }
612
711
  });
613
712
  Object.defineProperty(exports, "createLogger", {
614
713
  enumerable: true,
615
- get: function () { return chunkAH4NI4GN_cjs.createLogger; }
714
+ get: function () { return chunkPKUSCCS6_cjs.createLogger; }
616
715
  });
617
716
  Object.defineProperty(exports, "ensurePackageInCache", {
618
717
  enumerable: true,
619
- get: function () { return chunkAH4NI4GN_cjs.ensurePackageInCache; }
718
+ get: function () { return chunkPKUSCCS6_cjs.ensurePackageInCache; }
620
719
  });
621
720
  Object.defineProperty(exports, "expandToolDescriptorsToRegistryNames", {
622
721
  enumerable: true,
623
- get: function () { return chunkAH4NI4GN_cjs.expandToolDescriptorsToRegistryNames; }
722
+ get: function () { return chunkPKUSCCS6_cjs.expandToolDescriptorsToRegistryNames; }
624
723
  });
625
724
  Object.defineProperty(exports, "getPackageEntryPath", {
626
725
  enumerable: true,
627
- get: function () { return chunkAH4NI4GN_cjs.getPackageEntryPath; }
726
+ get: function () { return chunkPKUSCCS6_cjs.getPackageEntryPath; }
628
727
  });
629
728
  Object.defineProperty(exports, "importFromCache", {
630
729
  enumerable: true,
631
- get: function () { return chunkAH4NI4GN_cjs.importFromCache; }
730
+ get: function () { return chunkPKUSCCS6_cjs.importFromCache; }
632
731
  });
633
732
  Object.defineProperty(exports, "isNpmToolDescriptor", {
634
733
  enumerable: true,
635
- get: function () { return chunkAH4NI4GN_cjs.isNpmToolDescriptor; }
734
+ get: function () { return chunkPKUSCCS6_cjs.isNpmToolDescriptor; }
636
735
  });
637
736
  Object.defineProperty(exports, "loadToolConfig", {
638
737
  enumerable: true,
639
- get: function () { return chunkAH4NI4GN_cjs.loadToolConfig; }
738
+ get: function () { return chunkPKUSCCS6_cjs.loadToolConfig; }
640
739
  });
641
740
  Object.defineProperty(exports, "normalizeToolList", {
642
741
  enumerable: true,
643
- get: function () { return chunkAH4NI4GN_cjs.normalizeToolList; }
742
+ get: function () { return chunkPKUSCCS6_cjs.normalizeToolList; }
644
743
  });
645
744
  Object.defineProperty(exports, "npmDescriptorToRegistryPrefix", {
646
745
  enumerable: true,
647
- get: function () { return chunkAH4NI4GN_cjs.npmDescriptorToRegistryPrefix; }
746
+ get: function () { return chunkPKUSCCS6_cjs.npmDescriptorToRegistryPrefix; }
648
747
  });
649
748
  Object.defineProperty(exports, "parseNpmToolDescriptor", {
650
749
  enumerable: true,
651
- get: function () { return chunkAH4NI4GN_cjs.parseNpmToolDescriptor; }
750
+ get: function () { return chunkPKUSCCS6_cjs.parseNpmToolDescriptor; }
652
751
  });
653
752
  Object.defineProperty(exports, "resolveNpmToolDescriptor", {
654
753
  enumerable: true,
655
- get: function () { return chunkAH4NI4GN_cjs.resolveNpmToolDescriptor; }
754
+ get: function () { return chunkPKUSCCS6_cjs.resolveNpmToolDescriptor; }
656
755
  });
657
756
  Object.defineProperty(exports, "resolveToolDescriptor", {
658
757
  enumerable: true,
659
- get: function () { return chunkAH4NI4GN_cjs.resolveToolDescriptor; }
758
+ get: function () { return chunkPKUSCCS6_cjs.resolveToolDescriptor; }
660
759
  });
661
760
  Object.defineProperty(exports, "sanitizeForLog", {
662
761
  enumerable: true,
663
- get: function () { return chunkAH4NI4GN_cjs.sanitizeForLog; }
762
+ get: function () { return chunkPKUSCCS6_cjs.sanitizeForLog; }
664
763
  });
665
764
  Object.defineProperty(exports, "summarizeForLog", {
666
765
  enumerable: true,
667
- get: function () { return chunkAH4NI4GN_cjs.summarizeForLog; }
766
+ get: function () { return chunkPKUSCCS6_cjs.summarizeForLog; }
668
767
  });
669
768
  Object.defineProperty(exports, "ToolRegistry", {
670
769
  enumerable: true,
@@ -703,6 +802,9 @@ exports.MCPProcessManager = MCPProcessManager;
703
802
  exports.connectMCP = connectMCP;
704
803
  exports.createContextRunner = createContextRunner;
705
804
  exports.createDynamicImportAdapter = createDynamicImportAdapter;
805
+ exports.createExtension = createExtension;
806
+ exports.generateExtensionManifest = generateExtensionManifest;
807
+ exports.generateManifest = generateManifest;
706
808
  exports.getGroupNamePrefixes = getGroupNamePrefixes;
707
809
  exports.isIpInBlockedCidrs = isIpInBlockedCidrs;
708
810
  exports.loadExtensionManifest = loadExtensionManifest;