@easynet/agent-tool 1.0.23 → 1.0.25

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 (56) hide show
  1. package/dist/api/extension/contextRunner.d.ts +10 -0
  2. package/dist/api/extension/contextRunner.d.ts.map +1 -0
  3. package/dist/api/extension/createExtension.d.ts +38 -0
  4. package/dist/api/extension/createExtension.d.ts.map +1 -0
  5. package/dist/api/extension/dynamicImportAdapter.d.ts +21 -0
  6. package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -0
  7. package/dist/api/extension/generateExtensionManifest.d.ts +24 -0
  8. package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -0
  9. package/dist/api/extension/groupPrefix.d.ts +21 -0
  10. package/dist/api/extension/groupPrefix.d.ts.map +1 -0
  11. package/dist/api/extension/index.d.ts +22 -0
  12. package/dist/api/extension/index.d.ts.map +1 -0
  13. package/dist/api/extension/loadToolYaml.d.ts +6 -0
  14. package/dist/api/extension/loadToolYaml.d.ts.map +1 -0
  15. package/dist/api/extension/registerExtension.d.ts +31 -0
  16. package/dist/api/extension/registerExtension.d.ts.map +1 -0
  17. package/dist/api/extension/registerFromManifest.d.ts +40 -0
  18. package/dist/api/extension/registerFromManifest.d.ts.map +1 -0
  19. package/dist/api/extension/resolvePackageRoot.d.ts +2 -0
  20. package/dist/api/extension/resolvePackageRoot.d.ts.map +1 -0
  21. package/dist/api/extension/types.d.ts +15 -0
  22. package/dist/api/extension/types.d.ts.map +1 -0
  23. package/dist/api/main.cjs +14 -14
  24. package/dist/api/main.js +3 -3
  25. package/dist/api/runtimeFromConfig.d.ts +8 -8
  26. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  27. package/dist/{chunk-AT3N7SQK.cjs → chunk-5CDN24FP.cjs} +11 -10
  28. package/dist/chunk-5CDN24FP.cjs.map +1 -0
  29. package/dist/{chunk-ZRDI2RKU.js → chunk-AO2RY5AI.js} +3 -3
  30. package/dist/{chunk-ZRDI2RKU.js.map → chunk-AO2RY5AI.js.map} +1 -1
  31. package/dist/{chunk-AH4NI4GN.cjs → chunk-AOEZBP6L.cjs} +18 -46
  32. package/dist/chunk-AOEZBP6L.cjs.map +1 -0
  33. package/dist/{chunk-P2LVZGZ4.cjs → chunk-B5CAENK6.cjs} +7 -7
  34. package/dist/{chunk-P2LVZGZ4.cjs.map → chunk-B5CAENK6.cjs.map} +1 -1
  35. package/dist/{chunk-QP5FIRC2.js → chunk-JEP26OIY.js} +3 -3
  36. package/dist/{chunk-QP5FIRC2.js.map → chunk-JEP26OIY.js.map} +1 -1
  37. package/dist/{chunk-FWIMPZC2.cjs → chunk-NA2YBWZJ.cjs} +14 -14
  38. package/dist/{chunk-FWIMPZC2.cjs.map → chunk-NA2YBWZJ.cjs.map} +1 -1
  39. package/dist/{chunk-BOMOGAFZ.js → chunk-P5YQNWQT.js} +5 -4
  40. package/dist/chunk-P5YQNWQT.js.map +1 -0
  41. package/dist/{chunk-BPHY6UVK.js → chunk-SO32CIHJ.js} +17 -45
  42. package/dist/chunk-SO32CIHJ.js.map +1 -0
  43. package/dist/index.cjs +333 -61
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.d.ts +6 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +267 -10
  48. package/dist/index.js.map +1 -1
  49. package/dist/tools/function/scanner.d.ts.map +1 -1
  50. package/dist/utils/cli/index.cjs +17 -17
  51. package/dist/utils/cli/index.js +3 -3
  52. package/package.json +1 -1
  53. package/dist/chunk-AH4NI4GN.cjs.map +0 -1
  54. package/dist/chunk-AT3N7SQK.cjs.map +0 -1
  55. package/dist/chunk-BOMOGAFZ.js.map +0 -1
  56. package/dist/chunk-BPHY6UVK.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,14 +1,23 @@
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 chunkNA2YBWZJ_cjs = require('./chunk-NA2YBWZJ.cjs');
4
+ var chunk5CDN24FP_cjs = require('./chunk-5CDN24FP.cjs');
5
+ var chunkAOEZBP6L_cjs = require('./chunk-AOEZBP6L.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 path = require('path');
10
+ var path6 = require('path');
11
11
  var promises$1 = require('fs/promises');
12
+ var async_hooks = require('async_hooks');
13
+ var url = require('url');
14
+ var fs = require('fs');
15
+ var yaml = require('js-yaml');
16
+
17
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
+
19
+ var path6__default = /*#__PURE__*/_interopDefault(path6);
20
+ var yaml__default = /*#__PURE__*/_interopDefault(yaml);
12
21
 
13
22
  async function validateUrl(url, options) {
14
23
  let parsed;
@@ -187,25 +196,25 @@ function expandIpv6(ip) {
187
196
  async function resolveSandboxedPath(inputPath, sandboxRoot) {
188
197
  let normalizedRoot;
189
198
  try {
190
- normalizedRoot = await promises$1.realpath(path.resolve(sandboxRoot));
199
+ normalizedRoot = await promises$1.realpath(path6.resolve(sandboxRoot));
191
200
  } catch {
192
- normalizedRoot = path.normalize(path.resolve(sandboxRoot));
201
+ normalizedRoot = path6.normalize(path6.resolve(sandboxRoot));
193
202
  }
194
- const resolved = path.resolve(normalizedRoot, inputPath);
203
+ const resolved = path6.resolve(normalizedRoot, inputPath);
195
204
  let real;
196
205
  try {
197
206
  await promises$1.access(resolved);
198
207
  real = await promises$1.realpath(resolved);
199
208
  } catch {
200
- const parentDir = path.dirname(resolved);
209
+ const parentDir = path6.dirname(resolved);
201
210
  let realParent;
202
211
  try {
203
212
  await promises$1.access(parentDir);
204
213
  realParent = await promises$1.realpath(parentDir);
205
214
  } catch {
206
- realParent = path.normalize(parentDir);
215
+ realParent = path6.normalize(parentDir);
207
216
  }
208
- real = path.resolve(realParent, path.basename(resolved));
217
+ real = path6.resolve(realParent, path6.basename(resolved));
209
218
  }
210
219
  if (!isWithinRoot(real, normalizedRoot)) {
211
220
  throw chunkTOSPHMYU_cjs.createTaggedError(
@@ -216,11 +225,264 @@ async function resolveSandboxedPath(inputPath, sandboxRoot) {
216
225
  }
217
226
  return real;
218
227
  }
219
- function isWithinRoot(path$1, root) {
220
- const normalizedPath = path.normalize(path$1);
221
- const normalizedRoot = path.normalize(root);
228
+ function isWithinRoot(path7, root) {
229
+ const normalizedPath = path6.normalize(path7);
230
+ const normalizedRoot = path6.normalize(root);
222
231
  return normalizedPath === normalizedRoot || normalizedPath.startsWith(normalizedRoot + "/");
223
232
  }
233
+ function createContextRunner() {
234
+ const storage = new async_hooks.AsyncLocalStorage();
235
+ return {
236
+ runWith(ctx, fn) {
237
+ return storage.run(ctx, fn);
238
+ },
239
+ getContext() {
240
+ const ctx = storage.getStore();
241
+ if (ctx === void 0) {
242
+ throw new Error("Extension context not set; invoke only through the extension adapter.");
243
+ }
244
+ return ctx;
245
+ }
246
+ };
247
+ }
248
+ function createDynamicImportAdapter(options) {
249
+ const { kind, packageRoot, getExtensionContext, contextRunner } = options;
250
+ return {
251
+ kind,
252
+ async invoke(spec, args, execCtx) {
253
+ const meta = spec._meta;
254
+ const sourcePath = meta?.sourcePath;
255
+ const exportName = meta?.exportName;
256
+ if (!sourcePath || !exportName) {
257
+ throw new Error(`Extension tool ${spec.name} missing _meta.sourcePath or _meta.exportName`);
258
+ }
259
+ const defaultArgs = meta?.defaultArgs ?? {};
260
+ const mergedArgs = Object.keys(defaultArgs).length === 0 ? args : { ...defaultArgs, ...args };
261
+ const modulePath = path6__default.default.join(packageRoot, `${sourcePath}.js`);
262
+ const mod = await import(url.pathToFileURL(modulePath).href);
263
+ const handler = mod[exportName];
264
+ if (typeof handler !== "function") {
265
+ throw new Error(
266
+ `Extension tool ${spec.name}: export "${exportName}" from ${sourcePath} is not a function`
267
+ );
268
+ }
269
+ const ctx = getExtensionContext(execCtx, spec);
270
+ const output = await contextRunner.runWith(ctx, () => handler(mergedArgs));
271
+ return { result: output.result, raw: { evidence: output.evidence } };
272
+ }
273
+ };
274
+ }
275
+ function loadToolYaml(packageRoot, sourcePath) {
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
+ if (!fs.existsSync(yamlPath)) return void 0;
280
+ try {
281
+ const raw = fs.readFileSync(yamlPath, "utf-8");
282
+ const data = yaml__default.default.load(raw);
283
+ if (data == null || typeof data !== "object" || Array.isArray(data)) return void 0;
284
+ const obj = data;
285
+ const list = obj?.tool;
286
+ const arr = list?.list;
287
+ if (!Array.isArray(arr)) return void 0;
288
+ const item = arr.find(
289
+ (e) => e != null && typeof e === "object" && e.name === base
290
+ );
291
+ if (!item || typeof item !== "object") return void 0;
292
+ const { name: _n, ...rest } = item;
293
+ if (Object.keys(rest).length === 0) return void 0;
294
+ return rest;
295
+ } catch {
296
+ return void 0;
297
+ }
298
+ }
299
+
300
+ // src/api/extension/registerFromManifest.ts
301
+ function loadExtensionManifest(manifestPathOrDir) {
302
+ const p = path6__default.default.resolve(manifestPathOrDir);
303
+ let manifestPath;
304
+ if (fs.existsSync(p) && fs.statSync(p).isFile()) {
305
+ manifestPath = p;
306
+ } else {
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");
309
+ manifestPath = fs.existsSync(inDir) ? inDir : inDist;
310
+ }
311
+ const raw = fs.readFileSync(manifestPath, "utf-8");
312
+ const parsed = JSON.parse(raw);
313
+ if (Array.isArray(parsed)) {
314
+ return { entries: parsed };
315
+ }
316
+ return { kind: parsed.kind, entries: parsed.tools ?? [] };
317
+ }
318
+ function registerToolsFromManifest(registry, options) {
319
+ const { manifestPathOrDir, kind: kindOpt, only, namePrefixes, packageRoot } = options;
320
+ const loaded = loadExtensionManifest(manifestPathOrDir);
321
+ const kind = kindOpt ?? loaded.kind ?? "extension";
322
+ const entries = loaded.entries;
323
+ const onlySet = only?.length ? new Set(only) : null;
324
+ const registered = [];
325
+ for (const entry of entries) {
326
+ let spec = chunkDYDNPIV2_cjs.createToolSpec({
327
+ name: entry.coreName,
328
+ kind,
329
+ description: entry.description,
330
+ inputSchema: entry.inputSchema,
331
+ outputSchema: entry.outputSchema,
332
+ capabilities: [],
333
+ sideEffect: entry.sideEffect
334
+ });
335
+ if (onlySet && !onlySet.has(spec.name)) continue;
336
+ if (namePrefixes?.length && !namePrefixes.some((prefix) => spec.name.startsWith(prefix))) {
337
+ continue;
338
+ }
339
+ const defaultArgs = packageRoot != null ? loadToolYaml(packageRoot, entry.sourcePath) : void 0;
340
+ spec = {
341
+ ...spec,
342
+ _meta: {
343
+ ...spec._meta,
344
+ sourcePath: entry.sourcePath,
345
+ exportName: entry.exportName,
346
+ ...defaultArgs != null && Object.keys(defaultArgs).length > 0 && { defaultArgs }
347
+ }
348
+ };
349
+ registry.register(spec);
350
+ registered.push(spec);
351
+ }
352
+ return registered;
353
+ }
354
+ function resolveExtensionPackageRoot(metaUrlOrPath) {
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");
357
+ return fs.existsSync(dist) ? dist : dir;
358
+ }
359
+
360
+ // src/api/extension/registerExtension.ts
361
+ function registerExtension(registry, options) {
362
+ const { packagePath, kind: kindOpt, config, getContextRunner, only, namePrefixes } = options;
363
+ const packageRoot = resolveExtensionPackageRoot(packagePath);
364
+ const contextRunner = getContextRunner();
365
+ const loaded = loadExtensionManifest(packagePath);
366
+ const kind = kindOpt ?? loaded.kind ?? "extension";
367
+ registerToolsFromManifest(registry, {
368
+ manifestPathOrDir: packagePath,
369
+ kind,
370
+ only,
371
+ namePrefixes,
372
+ packageRoot
373
+ });
374
+ const adapter = createDynamicImportAdapter({
375
+ kind,
376
+ packageRoot,
377
+ getExtensionContext: (execCtx, spec) => ({
378
+ execCtx,
379
+ config: config !== void 0 ? { ...config, ...spec._meta?.defaultArgs ?? {} } : spec._meta?.defaultArgs ?? {}
380
+ }),
381
+ contextRunner: {
382
+ runWith(ctx, fn) {
383
+ return contextRunner.runWith(ctx, fn);
384
+ }
385
+ }
386
+ });
387
+ return adapter;
388
+ }
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 } = chunk5CDN24FP_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
+
476
+ // src/api/extension/groupPrefix.ts
477
+ function getGroupNamePrefixes(options) {
478
+ const { groups, only, groupPrefixMap } = options;
479
+ const onlySet = only?.length ? new Set(only) : null;
480
+ const namePrefixes = !onlySet && groups?.length ? groups.map((g) => groupPrefixMap[g]).filter(Boolean) : void 0;
481
+ return {
482
+ ...onlySet ? { only: Array.from(onlySet) } : {},
483
+ ...namePrefixes?.length ? { namePrefixes } : {}
484
+ };
485
+ }
224
486
 
225
487
  // src/tools/mcp/MCPClientAdapter.ts
226
488
  function textFromCallToolResult(result) {
@@ -235,7 +497,7 @@ var MCPClientAdapter = class {
235
497
  constructor(client) {
236
498
  this.client = client;
237
499
  }
238
- kind = chunkAH4NI4GN_cjs.MCP_KIND;
500
+ kind = chunkAOEZBP6L_cjs.MCP_KIND;
239
501
  async invoke(spec, args, _ctx) {
240
502
  const params = args != null && typeof args === "object" && !Array.isArray(args) ? args : {};
241
503
  const result = await this.client.callTool({ name: spec.name, arguments: params });
@@ -276,7 +538,7 @@ function mcpToolsToSpecs(tools) {
276
538
  return tools.map((t) => ({
277
539
  name: t.name,
278
540
  version: "1.0.0",
279
- kind: chunkAH4NI4GN_cjs.MCP_KIND,
541
+ kind: chunkAOEZBP6L_cjs.MCP_KIND,
280
542
  description: t.description ?? `MCP tool: ${t.name}`,
281
543
  inputSchema: t.inputSchema ?? chunkDYDNPIV2_cjs.DEFAULT_INPUT_SCHEMA,
282
544
  outputSchema: chunkDYDNPIV2_cjs.DEFAULT_OUTPUT_SCHEMA,
@@ -313,11 +575,11 @@ var MCPProcessManager = class {
313
575
 
314
576
  // src/tools/mcp/registerMCPTools.ts
315
577
  async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
316
- const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path.join(process.cwd(), "mcp.json");
317
- const dirPath = path.dirname(configPath);
318
- const entryPoint = path.basename(configPath);
319
- const toolName = options.toolName ?? chunkAH4NI4GN_cjs.MCP_KIND;
320
- const loaded = await chunkAT3N7SQK_cjs.loadMCPTool(dirPath, { kind: chunkAH4NI4GN_cjs.MCP_KIND, name: toolName, entryPoint });
578
+ const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path6.join(process.cwd(), "mcp.json");
579
+ const dirPath = path6.dirname(configPath);
580
+ const entryPoint = path6.basename(configPath);
581
+ const toolName = options.toolName ?? chunkAOEZBP6L_cjs.MCP_KIND;
582
+ const loaded = await chunk5CDN24FP_cjs.loadMCPTool(dirPath, { kind: chunkAOEZBP6L_cjs.MCP_KIND, name: toolName, entryPoint });
321
583
  if (!loaded.mcpConfig) {
322
584
  throw new Error("mcp.json must have command or url");
323
585
  }
@@ -333,167 +595,167 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
333
595
 
334
596
  Object.defineProperty(exports, "LangChainToolsHub", {
335
597
  enumerable: true,
336
- get: function () { return chunkFWIMPZC2_cjs.LangChainToolsHub; }
598
+ get: function () { return chunkNA2YBWZJ_cjs.LangChainToolsHub; }
337
599
  });
338
600
  Object.defineProperty(exports, "createAgentTools", {
339
601
  enumerable: true,
340
- get: function () { return chunkFWIMPZC2_cjs.createAgentTools; }
602
+ get: function () { return chunkNA2YBWZJ_cjs.createAgentTools; }
341
603
  });
342
604
  Object.defineProperty(exports, "DirectoryScanner", {
343
605
  enumerable: true,
344
- get: function () { return chunkAT3N7SQK_cjs.DirectoryScanner; }
606
+ get: function () { return chunk5CDN24FP_cjs.DirectoryScanner; }
345
607
  });
346
608
  Object.defineProperty(exports, "DiscoveryError", {
347
609
  enumerable: true,
348
- get: function () { return chunkAT3N7SQK_cjs.DiscoveryError; }
610
+ get: function () { return chunk5CDN24FP_cjs.DiscoveryError; }
349
611
  });
350
612
  Object.defineProperty(exports, "SkillManifestError", {
351
613
  enumerable: true,
352
- get: function () { return chunkAT3N7SQK_cjs.SkillManifestError; }
614
+ get: function () { return chunk5CDN24FP_cjs.SkillManifestError; }
353
615
  });
354
616
  Object.defineProperty(exports, "buildFunctionToTool", {
355
617
  enumerable: true,
356
- get: function () { return chunkAT3N7SQK_cjs.buildFunctionToTool; }
618
+ get: function () { return chunk5CDN24FP_cjs.buildFunctionToTool; }
357
619
  });
358
620
  Object.defineProperty(exports, "buildMcpPackage", {
359
621
  enumerable: true,
360
- get: function () { return chunkAT3N7SQK_cjs.buildMcpPackage; }
622
+ get: function () { return chunk5CDN24FP_cjs.buildMcpPackage; }
361
623
  });
362
624
  Object.defineProperty(exports, "initProject", {
363
625
  enumerable: true,
364
- get: function () { return chunkAT3N7SQK_cjs.initProject; }
626
+ get: function () { return chunk5CDN24FP_cjs.initProject; }
365
627
  });
366
628
  Object.defineProperty(exports, "loadMCPTool", {
367
629
  enumerable: true,
368
- get: function () { return chunkAT3N7SQK_cjs.loadMCPTool; }
630
+ get: function () { return chunk5CDN24FP_cjs.loadMCPTool; }
369
631
  });
370
632
  Object.defineProperty(exports, "loadSkillDefinition", {
371
633
  enumerable: true,
372
- get: function () { return chunkAT3N7SQK_cjs.loadSkillDefinition; }
634
+ get: function () { return chunk5CDN24FP_cjs.loadSkillDefinition; }
373
635
  });
374
636
  Object.defineProperty(exports, "parseSkillMd", {
375
637
  enumerable: true,
376
- get: function () { return chunkAT3N7SQK_cjs.parseSkillMd; }
638
+ get: function () { return chunk5CDN24FP_cjs.parseSkillMd; }
377
639
  });
378
640
  Object.defineProperty(exports, "runGeneratedMCP", {
379
641
  enumerable: true,
380
- get: function () { return chunkAT3N7SQK_cjs.runGeneratedMCP; }
642
+ get: function () { return chunk5CDN24FP_cjs.runGeneratedMCP; }
381
643
  });
382
644
  Object.defineProperty(exports, "runMcpServer", {
383
645
  enumerable: true,
384
- get: function () { return chunkAT3N7SQK_cjs.runMcpServer; }
646
+ get: function () { return chunk5CDN24FP_cjs.runMcpServer; }
385
647
  });
386
648
  Object.defineProperty(exports, "scan", {
387
649
  enumerable: true,
388
- get: function () { return chunkAT3N7SQK_cjs.scan; }
650
+ get: function () { return chunk5CDN24FP_cjs.scan; }
389
651
  });
390
652
  Object.defineProperty(exports, "scanForTools", {
391
653
  enumerable: true,
392
- get: function () { return chunkAT3N7SQK_cjs.scanForTools; }
654
+ get: function () { return chunk5CDN24FP_cjs.scanForTools; }
393
655
  });
394
656
  Object.defineProperty(exports, "scanSkillResources", {
395
657
  enumerable: true,
396
- get: function () { return chunkAT3N7SQK_cjs.scanSkillResources; }
658
+ get: function () { return chunk5CDN24FP_cjs.scanSkillResources; }
397
659
  });
398
660
  Object.defineProperty(exports, "validateFrontmatter", {
399
661
  enumerable: true,
400
- get: function () { return chunkAT3N7SQK_cjs.validateFrontmatter; }
662
+ get: function () { return chunk5CDN24FP_cjs.validateFrontmatter; }
401
663
  });
402
664
  Object.defineProperty(exports, "BudgetManager", {
403
665
  enumerable: true,
404
- get: function () { return chunkAH4NI4GN_cjs.BudgetManager; }
666
+ get: function () { return chunkAOEZBP6L_cjs.BudgetManager; }
405
667
  });
406
668
  Object.defineProperty(exports, "EventLog", {
407
669
  enumerable: true,
408
- get: function () { return chunkAH4NI4GN_cjs.EventLog; }
670
+ get: function () { return chunkAOEZBP6L_cjs.EventLog; }
409
671
  });
410
672
  Object.defineProperty(exports, "Metrics", {
411
673
  enumerable: true,
412
- get: function () { return chunkAH4NI4GN_cjs.Metrics; }
674
+ get: function () { return chunkAOEZBP6L_cjs.Metrics; }
413
675
  });
414
676
  Object.defineProperty(exports, "PTCRuntime", {
415
677
  enumerable: true,
416
- get: function () { return chunkAH4NI4GN_cjs.PTCRuntime; }
678
+ get: function () { return chunkAOEZBP6L_cjs.PTCRuntime; }
417
679
  });
418
680
  Object.defineProperty(exports, "PolicyDeniedError", {
419
681
  enumerable: true,
420
- get: function () { return chunkAH4NI4GN_cjs.PolicyDeniedError; }
682
+ get: function () { return chunkAOEZBP6L_cjs.PolicyDeniedError; }
421
683
  });
422
684
  Object.defineProperty(exports, "PolicyEngine", {
423
685
  enumerable: true,
424
- get: function () { return chunkAH4NI4GN_cjs.PolicyEngine; }
686
+ get: function () { return chunkAOEZBP6L_cjs.PolicyEngine; }
425
687
  });
426
688
  Object.defineProperty(exports, "SchemaValidationError", {
427
689
  enumerable: true,
428
- get: function () { return chunkAH4NI4GN_cjs.SchemaValidationError; }
690
+ get: function () { return chunkAOEZBP6L_cjs.SchemaValidationError; }
429
691
  });
430
692
  Object.defineProperty(exports, "SchemaValidator", {
431
693
  enumerable: true,
432
- get: function () { return chunkAH4NI4GN_cjs.SchemaValidator; }
694
+ get: function () { return chunkAOEZBP6L_cjs.SchemaValidator; }
433
695
  });
434
696
  Object.defineProperty(exports, "Tracing", {
435
697
  enumerable: true,
436
- get: function () { return chunkAH4NI4GN_cjs.Tracing; }
698
+ get: function () { return chunkAOEZBP6L_cjs.Tracing; }
437
699
  });
438
700
  Object.defineProperty(exports, "buildEvidence", {
439
701
  enumerable: true,
440
- get: function () { return chunkAH4NI4GN_cjs.buildEvidence; }
702
+ get: function () { return chunkAOEZBP6L_cjs.buildEvidence; }
441
703
  });
442
704
  Object.defineProperty(exports, "createLogger", {
443
705
  enumerable: true,
444
- get: function () { return chunkAH4NI4GN_cjs.createLogger; }
706
+ get: function () { return chunkAOEZBP6L_cjs.createLogger; }
445
707
  });
446
708
  Object.defineProperty(exports, "ensurePackageInCache", {
447
709
  enumerable: true,
448
- get: function () { return chunkAH4NI4GN_cjs.ensurePackageInCache; }
710
+ get: function () { return chunkAOEZBP6L_cjs.ensurePackageInCache; }
449
711
  });
450
712
  Object.defineProperty(exports, "expandToolDescriptorsToRegistryNames", {
451
713
  enumerable: true,
452
- get: function () { return chunkAH4NI4GN_cjs.expandToolDescriptorsToRegistryNames; }
714
+ get: function () { return chunkAOEZBP6L_cjs.expandToolDescriptorsToRegistryNames; }
453
715
  });
454
716
  Object.defineProperty(exports, "getPackageEntryPath", {
455
717
  enumerable: true,
456
- get: function () { return chunkAH4NI4GN_cjs.getPackageEntryPath; }
718
+ get: function () { return chunkAOEZBP6L_cjs.getPackageEntryPath; }
457
719
  });
458
720
  Object.defineProperty(exports, "importFromCache", {
459
721
  enumerable: true,
460
- get: function () { return chunkAH4NI4GN_cjs.importFromCache; }
722
+ get: function () { return chunkAOEZBP6L_cjs.importFromCache; }
461
723
  });
462
724
  Object.defineProperty(exports, "isNpmToolDescriptor", {
463
725
  enumerable: true,
464
- get: function () { return chunkAH4NI4GN_cjs.isNpmToolDescriptor; }
726
+ get: function () { return chunkAOEZBP6L_cjs.isNpmToolDescriptor; }
465
727
  });
466
728
  Object.defineProperty(exports, "loadToolConfig", {
467
729
  enumerable: true,
468
- get: function () { return chunkAH4NI4GN_cjs.loadToolConfig; }
730
+ get: function () { return chunkAOEZBP6L_cjs.loadToolConfig; }
469
731
  });
470
732
  Object.defineProperty(exports, "normalizeToolList", {
471
733
  enumerable: true,
472
- get: function () { return chunkAH4NI4GN_cjs.normalizeToolList; }
734
+ get: function () { return chunkAOEZBP6L_cjs.normalizeToolList; }
473
735
  });
474
736
  Object.defineProperty(exports, "npmDescriptorToRegistryPrefix", {
475
737
  enumerable: true,
476
- get: function () { return chunkAH4NI4GN_cjs.npmDescriptorToRegistryPrefix; }
738
+ get: function () { return chunkAOEZBP6L_cjs.npmDescriptorToRegistryPrefix; }
477
739
  });
478
740
  Object.defineProperty(exports, "parseNpmToolDescriptor", {
479
741
  enumerable: true,
480
- get: function () { return chunkAH4NI4GN_cjs.parseNpmToolDescriptor; }
742
+ get: function () { return chunkAOEZBP6L_cjs.parseNpmToolDescriptor; }
481
743
  });
482
744
  Object.defineProperty(exports, "resolveNpmToolDescriptor", {
483
745
  enumerable: true,
484
- get: function () { return chunkAH4NI4GN_cjs.resolveNpmToolDescriptor; }
746
+ get: function () { return chunkAOEZBP6L_cjs.resolveNpmToolDescriptor; }
485
747
  });
486
748
  Object.defineProperty(exports, "resolveToolDescriptor", {
487
749
  enumerable: true,
488
- get: function () { return chunkAH4NI4GN_cjs.resolveToolDescriptor; }
750
+ get: function () { return chunkAOEZBP6L_cjs.resolveToolDescriptor; }
489
751
  });
490
752
  Object.defineProperty(exports, "sanitizeForLog", {
491
753
  enumerable: true,
492
- get: function () { return chunkAH4NI4GN_cjs.sanitizeForLog; }
754
+ get: function () { return chunkAOEZBP6L_cjs.sanitizeForLog; }
493
755
  });
494
756
  Object.defineProperty(exports, "summarizeForLog", {
495
757
  enumerable: true,
496
- get: function () { return chunkAH4NI4GN_cjs.summarizeForLog; }
758
+ get: function () { return chunkAOEZBP6L_cjs.summarizeForLog; }
497
759
  });
498
760
  Object.defineProperty(exports, "ToolRegistry", {
499
761
  enumerable: true,
@@ -530,9 +792,19 @@ Object.defineProperty(exports, "normalizeToolName", {
530
792
  exports.MCPClientAdapter = MCPClientAdapter;
531
793
  exports.MCPProcessManager = MCPProcessManager;
532
794
  exports.connectMCP = connectMCP;
795
+ exports.createContextRunner = createContextRunner;
796
+ exports.createDynamicImportAdapter = createDynamicImportAdapter;
797
+ exports.createExtension = createExtension;
798
+ exports.generateExtensionManifest = generateExtensionManifest;
799
+ exports.getGroupNamePrefixes = getGroupNamePrefixes;
533
800
  exports.isIpInBlockedCidrs = isIpInBlockedCidrs;
801
+ exports.loadExtensionManifest = loadExtensionManifest;
802
+ exports.loadToolYaml = loadToolYaml;
534
803
  exports.mcpToolsToSpecs = mcpToolsToSpecs;
804
+ exports.registerExtension = registerExtension;
535
805
  exports.registerMCPToolsFromConfig = registerMCPToolsFromConfig;
806
+ exports.registerToolsFromManifest = registerToolsFromManifest;
807
+ exports.resolveExtensionPackageRoot = resolveExtensionPackageRoot;
536
808
  exports.resolveSandboxedPath = resolveSandboxedPath;
537
809
  exports.validateUrl = validateUrl;
538
810
  //# sourceMappingURL=index.cjs.map