@easynet/agent-tool 1.0.19 → 1.0.20

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 (45) hide show
  1. package/dist/api/main.cjs +15 -15
  2. package/dist/api/main.js +4 -4
  3. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  4. package/dist/canonicalCoreSchemas-JPTOIQKR.js +4 -0
  5. package/dist/{canonicalCoreSchemas-DNBAHSUC.js.map → canonicalCoreSchemas-JPTOIQKR.js.map} +1 -1
  6. package/dist/canonicalCoreSchemas-K57HKGZJ.cjs +21 -0
  7. package/dist/{canonicalCoreSchemas-IBTSIPJV.cjs.map → canonicalCoreSchemas-K57HKGZJ.cjs.map} +1 -1
  8. package/dist/{chunk-EAI37B5W.cjs → chunk-6JWQVVL2.cjs} +4 -3
  9. package/dist/chunk-6JWQVVL2.cjs.map +1 -0
  10. package/dist/{chunk-NNOTTUB2.cjs → chunk-6WQYJLVU.cjs} +132 -29
  11. package/dist/chunk-6WQYJLVU.cjs.map +1 -0
  12. package/dist/{chunk-TTYAOTOR.js → chunk-IGMDLCV7.js} +132 -30
  13. package/dist/chunk-IGMDLCV7.js.map +1 -0
  14. package/dist/{chunk-H2UMNHDE.cjs → chunk-INYWD3OJ.cjs} +10 -10
  15. package/dist/{chunk-H2UMNHDE.cjs.map → chunk-INYWD3OJ.cjs.map} +1 -1
  16. package/dist/{chunk-Y33OLGAJ.js → chunk-NNMMUG2X.js} +3 -3
  17. package/dist/{chunk-Y33OLGAJ.js.map → chunk-NNMMUG2X.js.map} +1 -1
  18. package/dist/{chunk-QB5ALDM3.js → chunk-OHDIMQ22.js} +3 -3
  19. package/dist/{chunk-QB5ALDM3.js.map → chunk-OHDIMQ22.js.map} +1 -1
  20. package/dist/{chunk-46XYOB3H.js → chunk-P5UPHQ7N.js} +4 -3
  21. package/dist/chunk-P5UPHQ7N.js.map +1 -0
  22. package/dist/{chunk-TPWEGGKQ.cjs → chunk-QP6JJF76.cjs} +9 -9
  23. package/dist/{chunk-TPWEGGKQ.cjs.map → chunk-QP6JJF76.cjs.map} +1 -1
  24. package/dist/{chunk-HISF2FEL.cjs → chunk-TAW4FP3A.cjs} +18 -18
  25. package/dist/{chunk-HISF2FEL.cjs.map → chunk-TAW4FP3A.cjs.map} +1 -1
  26. package/dist/{chunk-GGKQQR54.js → chunk-WKWSXCS4.js} +5 -5
  27. package/dist/{chunk-GGKQQR54.js.map → chunk-WKWSXCS4.js.map} +1 -1
  28. package/dist/index.cjs +52 -48
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +6 -6
  32. package/dist/tools/util/canonicalCoreSchemas.d.ts.map +1 -1
  33. package/dist/tools/util/index.d.ts +1 -1
  34. package/dist/tools/util/index.d.ts.map +1 -1
  35. package/dist/tools/util/toolDescriptor.d.ts +9 -0
  36. package/dist/tools/util/toolDescriptor.d.ts.map +1 -1
  37. package/dist/utils/cli/index.cjs +19 -19
  38. package/dist/utils/cli/index.js +4 -4
  39. package/package.json +1 -1
  40. package/dist/canonicalCoreSchemas-DNBAHSUC.js +0 -4
  41. package/dist/canonicalCoreSchemas-IBTSIPJV.cjs +0 -21
  42. package/dist/chunk-46XYOB3H.js.map +0 -1
  43. package/dist/chunk-EAI37B5W.cjs.map +0 -1
  44. package/dist/chunk-NNOTTUB2.cjs.map +0 -1
  45. package/dist/chunk-TTYAOTOR.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkHISF2FEL_cjs = require('./chunk-HISF2FEL.cjs');
4
- var chunkTPWEGGKQ_cjs = require('./chunk-TPWEGGKQ.cjs');
5
- var chunkNNOTTUB2_cjs = require('./chunk-NNOTTUB2.cjs');
3
+ var chunkTAW4FP3A_cjs = require('./chunk-TAW4FP3A.cjs');
4
+ var chunkQP6JJF76_cjs = require('./chunk-QP6JJF76.cjs');
5
+ var chunk6WQYJLVU_cjs = require('./chunk-6WQYJLVU.cjs');
6
6
  var chunkONIBCU2Y_cjs = require('./chunk-ONIBCU2Y.cjs');
7
- require('./chunk-EAI37B5W.cjs');
7
+ require('./chunk-6JWQVVL2.cjs');
8
8
  var chunkFGGTT32N_cjs = require('./chunk-FGGTT32N.cjs');
9
9
  var promises = require('dns/promises');
10
10
  var path = require('path');
@@ -235,7 +235,7 @@ var MCPClientAdapter = class {
235
235
  constructor(client) {
236
236
  this.client = client;
237
237
  }
238
- kind = chunkNNOTTUB2_cjs.MCP_KIND;
238
+ kind = chunk6WQYJLVU_cjs.MCP_KIND;
239
239
  async invoke(spec, args, _ctx) {
240
240
  const params = args != null && typeof args === "object" && !Array.isArray(args) ? args : {};
241
241
  const result = await this.client.callTool({ name: spec.name, arguments: params });
@@ -276,7 +276,7 @@ function mcpToolsToSpecs(tools) {
276
276
  return tools.map((t) => ({
277
277
  name: t.name,
278
278
  version: "1.0.0",
279
- kind: chunkNNOTTUB2_cjs.MCP_KIND,
279
+ kind: chunk6WQYJLVU_cjs.MCP_KIND,
280
280
  description: t.description ?? `MCP tool: ${t.name}`,
281
281
  inputSchema: t.inputSchema ?? chunkFGGTT32N_cjs.DEFAULT_INPUT_SCHEMA,
282
282
  outputSchema: chunkFGGTT32N_cjs.DEFAULT_OUTPUT_SCHEMA,
@@ -316,8 +316,8 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
316
316
  const configPath = options.configPath ?? process.env.MCP_CONFIG_PATH ?? path.join(process.cwd(), "mcp.json");
317
317
  const dirPath = path.dirname(configPath);
318
318
  const entryPoint = path.basename(configPath);
319
- const toolName = options.toolName ?? chunkNNOTTUB2_cjs.MCP_KIND;
320
- const loaded = await chunkTPWEGGKQ_cjs.loadMCPTool(dirPath, { kind: chunkNNOTTUB2_cjs.MCP_KIND, name: toolName, entryPoint });
319
+ const toolName = options.toolName ?? chunk6WQYJLVU_cjs.MCP_KIND;
320
+ const loaded = await chunkQP6JJF76_cjs.loadMCPTool(dirPath, { kind: chunk6WQYJLVU_cjs.MCP_KIND, name: toolName, entryPoint });
321
321
  if (!loaded.mcpConfig) {
322
322
  throw new Error("mcp.json must have command or url");
323
323
  }
@@ -333,163 +333,167 @@ async function registerMCPToolsFromConfig(runtime, registry, options = {}) {
333
333
 
334
334
  Object.defineProperty(exports, "LangChainToolsHub", {
335
335
  enumerable: true,
336
- get: function () { return chunkHISF2FEL_cjs.LangChainToolsHub; }
336
+ get: function () { return chunkTAW4FP3A_cjs.LangChainToolsHub; }
337
337
  });
338
338
  Object.defineProperty(exports, "createAgentTools", {
339
339
  enumerable: true,
340
- get: function () { return chunkHISF2FEL_cjs.createAgentTools; }
340
+ get: function () { return chunkTAW4FP3A_cjs.createAgentTools; }
341
341
  });
342
342
  Object.defineProperty(exports, "DirectoryScanner", {
343
343
  enumerable: true,
344
- get: function () { return chunkTPWEGGKQ_cjs.DirectoryScanner; }
344
+ get: function () { return chunkQP6JJF76_cjs.DirectoryScanner; }
345
345
  });
346
346
  Object.defineProperty(exports, "DiscoveryError", {
347
347
  enumerable: true,
348
- get: function () { return chunkTPWEGGKQ_cjs.DiscoveryError; }
348
+ get: function () { return chunkQP6JJF76_cjs.DiscoveryError; }
349
349
  });
350
350
  Object.defineProperty(exports, "SkillManifestError", {
351
351
  enumerable: true,
352
- get: function () { return chunkTPWEGGKQ_cjs.SkillManifestError; }
352
+ get: function () { return chunkQP6JJF76_cjs.SkillManifestError; }
353
353
  });
354
354
  Object.defineProperty(exports, "buildFunctionToTool", {
355
355
  enumerable: true,
356
- get: function () { return chunkTPWEGGKQ_cjs.buildFunctionToTool; }
356
+ get: function () { return chunkQP6JJF76_cjs.buildFunctionToTool; }
357
357
  });
358
358
  Object.defineProperty(exports, "buildMcpPackage", {
359
359
  enumerable: true,
360
- get: function () { return chunkTPWEGGKQ_cjs.buildMcpPackage; }
360
+ get: function () { return chunkQP6JJF76_cjs.buildMcpPackage; }
361
361
  });
362
362
  Object.defineProperty(exports, "initProject", {
363
363
  enumerable: true,
364
- get: function () { return chunkTPWEGGKQ_cjs.initProject; }
364
+ get: function () { return chunkQP6JJF76_cjs.initProject; }
365
365
  });
366
366
  Object.defineProperty(exports, "loadMCPTool", {
367
367
  enumerable: true,
368
- get: function () { return chunkTPWEGGKQ_cjs.loadMCPTool; }
368
+ get: function () { return chunkQP6JJF76_cjs.loadMCPTool; }
369
369
  });
370
370
  Object.defineProperty(exports, "loadSkillDefinition", {
371
371
  enumerable: true,
372
- get: function () { return chunkTPWEGGKQ_cjs.loadSkillDefinition; }
372
+ get: function () { return chunkQP6JJF76_cjs.loadSkillDefinition; }
373
373
  });
374
374
  Object.defineProperty(exports, "parseSkillMd", {
375
375
  enumerable: true,
376
- get: function () { return chunkTPWEGGKQ_cjs.parseSkillMd; }
376
+ get: function () { return chunkQP6JJF76_cjs.parseSkillMd; }
377
377
  });
378
378
  Object.defineProperty(exports, "runGeneratedMCP", {
379
379
  enumerable: true,
380
- get: function () { return chunkTPWEGGKQ_cjs.runGeneratedMCP; }
380
+ get: function () { return chunkQP6JJF76_cjs.runGeneratedMCP; }
381
381
  });
382
382
  Object.defineProperty(exports, "runMcpServer", {
383
383
  enumerable: true,
384
- get: function () { return chunkTPWEGGKQ_cjs.runMcpServer; }
384
+ get: function () { return chunkQP6JJF76_cjs.runMcpServer; }
385
385
  });
386
386
  Object.defineProperty(exports, "scan", {
387
387
  enumerable: true,
388
- get: function () { return chunkTPWEGGKQ_cjs.scan; }
388
+ get: function () { return chunkQP6JJF76_cjs.scan; }
389
389
  });
390
390
  Object.defineProperty(exports, "scanForTools", {
391
391
  enumerable: true,
392
- get: function () { return chunkTPWEGGKQ_cjs.scanForTools; }
392
+ get: function () { return chunkQP6JJF76_cjs.scanForTools; }
393
393
  });
394
394
  Object.defineProperty(exports, "scanSkillResources", {
395
395
  enumerable: true,
396
- get: function () { return chunkTPWEGGKQ_cjs.scanSkillResources; }
396
+ get: function () { return chunkQP6JJF76_cjs.scanSkillResources; }
397
397
  });
398
398
  Object.defineProperty(exports, "validateFrontmatter", {
399
399
  enumerable: true,
400
- get: function () { return chunkTPWEGGKQ_cjs.validateFrontmatter; }
400
+ get: function () { return chunkQP6JJF76_cjs.validateFrontmatter; }
401
401
  });
402
402
  Object.defineProperty(exports, "BudgetManager", {
403
403
  enumerable: true,
404
- get: function () { return chunkNNOTTUB2_cjs.BudgetManager; }
404
+ get: function () { return chunk6WQYJLVU_cjs.BudgetManager; }
405
405
  });
406
406
  Object.defineProperty(exports, "EventLog", {
407
407
  enumerable: true,
408
- get: function () { return chunkNNOTTUB2_cjs.EventLog; }
408
+ get: function () { return chunk6WQYJLVU_cjs.EventLog; }
409
409
  });
410
410
  Object.defineProperty(exports, "Metrics", {
411
411
  enumerable: true,
412
- get: function () { return chunkNNOTTUB2_cjs.Metrics; }
412
+ get: function () { return chunk6WQYJLVU_cjs.Metrics; }
413
413
  });
414
414
  Object.defineProperty(exports, "PTCRuntime", {
415
415
  enumerable: true,
416
- get: function () { return chunkNNOTTUB2_cjs.PTCRuntime; }
416
+ get: function () { return chunk6WQYJLVU_cjs.PTCRuntime; }
417
417
  });
418
418
  Object.defineProperty(exports, "PolicyDeniedError", {
419
419
  enumerable: true,
420
- get: function () { return chunkNNOTTUB2_cjs.PolicyDeniedError; }
420
+ get: function () { return chunk6WQYJLVU_cjs.PolicyDeniedError; }
421
421
  });
422
422
  Object.defineProperty(exports, "PolicyEngine", {
423
423
  enumerable: true,
424
- get: function () { return chunkNNOTTUB2_cjs.PolicyEngine; }
424
+ get: function () { return chunk6WQYJLVU_cjs.PolicyEngine; }
425
425
  });
426
426
  Object.defineProperty(exports, "SchemaValidationError", {
427
427
  enumerable: true,
428
- get: function () { return chunkNNOTTUB2_cjs.SchemaValidationError; }
428
+ get: function () { return chunk6WQYJLVU_cjs.SchemaValidationError; }
429
429
  });
430
430
  Object.defineProperty(exports, "SchemaValidator", {
431
431
  enumerable: true,
432
- get: function () { return chunkNNOTTUB2_cjs.SchemaValidator; }
432
+ get: function () { return chunk6WQYJLVU_cjs.SchemaValidator; }
433
433
  });
434
434
  Object.defineProperty(exports, "Tracing", {
435
435
  enumerable: true,
436
- get: function () { return chunkNNOTTUB2_cjs.Tracing; }
436
+ get: function () { return chunk6WQYJLVU_cjs.Tracing; }
437
437
  });
438
438
  Object.defineProperty(exports, "buildEvidence", {
439
439
  enumerable: true,
440
- get: function () { return chunkNNOTTUB2_cjs.buildEvidence; }
440
+ get: function () { return chunk6WQYJLVU_cjs.buildEvidence; }
441
441
  });
442
442
  Object.defineProperty(exports, "createLogger", {
443
443
  enumerable: true,
444
- get: function () { return chunkNNOTTUB2_cjs.createLogger; }
444
+ get: function () { return chunk6WQYJLVU_cjs.createLogger; }
445
445
  });
446
446
  Object.defineProperty(exports, "ensurePackageInCache", {
447
447
  enumerable: true,
448
- get: function () { return chunkNNOTTUB2_cjs.ensurePackageInCache; }
448
+ get: function () { return chunk6WQYJLVU_cjs.ensurePackageInCache; }
449
449
  });
450
450
  Object.defineProperty(exports, "expandToolDescriptorsToRegistryNames", {
451
451
  enumerable: true,
452
- get: function () { return chunkNNOTTUB2_cjs.expandToolDescriptorsToRegistryNames; }
452
+ get: function () { return chunk6WQYJLVU_cjs.expandToolDescriptorsToRegistryNames; }
453
453
  });
454
454
  Object.defineProperty(exports, "getPackageEntryPath", {
455
455
  enumerable: true,
456
- get: function () { return chunkNNOTTUB2_cjs.getPackageEntryPath; }
456
+ get: function () { return chunk6WQYJLVU_cjs.getPackageEntryPath; }
457
457
  });
458
458
  Object.defineProperty(exports, "importFromCache", {
459
459
  enumerable: true,
460
- get: function () { return chunkNNOTTUB2_cjs.importFromCache; }
460
+ get: function () { return chunk6WQYJLVU_cjs.importFromCache; }
461
461
  });
462
462
  Object.defineProperty(exports, "isNpmToolDescriptor", {
463
463
  enumerable: true,
464
- get: function () { return chunkNNOTTUB2_cjs.isNpmToolDescriptor; }
464
+ get: function () { return chunk6WQYJLVU_cjs.isNpmToolDescriptor; }
465
465
  });
466
466
  Object.defineProperty(exports, "loadToolConfig", {
467
467
  enumerable: true,
468
- get: function () { return chunkNNOTTUB2_cjs.loadToolConfig; }
468
+ get: function () { return chunk6WQYJLVU_cjs.loadToolConfig; }
469
469
  });
470
470
  Object.defineProperty(exports, "normalizeToolList", {
471
471
  enumerable: true,
472
- get: function () { return chunkNNOTTUB2_cjs.normalizeToolList; }
472
+ get: function () { return chunk6WQYJLVU_cjs.normalizeToolList; }
473
+ });
474
+ Object.defineProperty(exports, "npmDescriptorToRegistryPrefix", {
475
+ enumerable: true,
476
+ get: function () { return chunk6WQYJLVU_cjs.npmDescriptorToRegistryPrefix; }
473
477
  });
474
478
  Object.defineProperty(exports, "parseNpmToolDescriptor", {
475
479
  enumerable: true,
476
- get: function () { return chunkNNOTTUB2_cjs.parseNpmToolDescriptor; }
480
+ get: function () { return chunk6WQYJLVU_cjs.parseNpmToolDescriptor; }
477
481
  });
478
482
  Object.defineProperty(exports, "resolveNpmToolDescriptor", {
479
483
  enumerable: true,
480
- get: function () { return chunkNNOTTUB2_cjs.resolveNpmToolDescriptor; }
484
+ get: function () { return chunk6WQYJLVU_cjs.resolveNpmToolDescriptor; }
481
485
  });
482
486
  Object.defineProperty(exports, "resolveToolDescriptor", {
483
487
  enumerable: true,
484
- get: function () { return chunkNNOTTUB2_cjs.resolveToolDescriptor; }
488
+ get: function () { return chunk6WQYJLVU_cjs.resolveToolDescriptor; }
485
489
  });
486
490
  Object.defineProperty(exports, "sanitizeForLog", {
487
491
  enumerable: true,
488
- get: function () { return chunkNNOTTUB2_cjs.sanitizeForLog; }
492
+ get: function () { return chunk6WQYJLVU_cjs.sanitizeForLog; }
489
493
  });
490
494
  Object.defineProperty(exports, "summarizeForLog", {
491
495
  enumerable: true,
492
- get: function () { return chunkNNOTTUB2_cjs.summarizeForLog; }
496
+ get: function () { return chunk6WQYJLVU_cjs.summarizeForLog; }
493
497
  });
494
498
  Object.defineProperty(exports, "ToolRegistry", {
495
499
  enumerable: true,
package/dist/index.d.ts CHANGED
@@ -40,7 +40,7 @@ export { resolveSandboxedPath } from "./security/sandbox.js";
40
40
  export type { BuildEvidenceOptions } from "./core/runtime/Evidence.js";
41
41
  export { ToolRegistry } from "./core/registry/ToolRegistry.js";
42
42
  export type { ToolSearchQuery } from "./core/registry/ToolRegistry.js";
43
- export { isNpmToolDescriptor, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, normalizeToolList, } from "./tools/util/toolDescriptor.js";
43
+ export { isNpmToolDescriptor, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, normalizeToolList, npmDescriptorToRegistryPrefix, } from "./tools/util/toolDescriptor.js";
44
44
  export type { NpmToolDescriptor } from "./tools/util/toolDescriptor.js";
45
45
  export { EventLog } from "./observability/EventLog.js";
46
46
  export type { LogEntry, EventListener } from "./observability/EventLog.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- export { LangChainToolsHub, createAgentTools } from './chunk-Y33OLGAJ.js';
2
- import { loadMCPTool } from './chunk-QB5ALDM3.js';
3
- export { DirectoryScanner, DiscoveryError, SkillManifestError, buildFunctionToTool, buildMcpPackage, initProject, loadMCPTool, loadSkillDefinition, parseSkillMd, runGeneratedMCP, runMcpServer, scan, scanForTools, scanSkillResources, validateFrontmatter } from './chunk-QB5ALDM3.js';
4
- import { MCP_KIND } from './chunk-TTYAOTOR.js';
5
- export { BudgetManager, EventLog, Metrics, PTCRuntime, PolicyDeniedError, PolicyEngine, SchemaValidationError, SchemaValidator, Tracing, buildEvidence, createLogger, ensurePackageInCache, expandToolDescriptorsToRegistryNames, getPackageEntryPath, importFromCache, isNpmToolDescriptor, loadToolConfig, normalizeToolList, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, sanitizeForLog, summarizeForLog } from './chunk-TTYAOTOR.js';
1
+ export { LangChainToolsHub, createAgentTools } from './chunk-NNMMUG2X.js';
2
+ import { loadMCPTool } from './chunk-OHDIMQ22.js';
3
+ export { DirectoryScanner, DiscoveryError, SkillManifestError, buildFunctionToTool, buildMcpPackage, initProject, loadMCPTool, loadSkillDefinition, parseSkillMd, runGeneratedMCP, runMcpServer, scan, scanForTools, scanSkillResources, validateFrontmatter } from './chunk-OHDIMQ22.js';
4
+ import { MCP_KIND } from './chunk-IGMDLCV7.js';
5
+ export { BudgetManager, EventLog, Metrics, PTCRuntime, PolicyDeniedError, PolicyEngine, SchemaValidationError, SchemaValidator, Tracing, buildEvidence, createLogger, ensurePackageInCache, expandToolDescriptorsToRegistryNames, getPackageEntryPath, importFromCache, isNpmToolDescriptor, loadToolConfig, normalizeToolList, npmDescriptorToRegistryPrefix, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, sanitizeForLog, summarizeForLog } from './chunk-IGMDLCV7.js';
6
6
  import { createTaggedError } from './chunk-IU35EFPK.js';
7
7
  export { ToolRegistry, createTaggedError, isRetryable, withRetry } from './chunk-IU35EFPK.js';
8
- import './chunk-46XYOB3H.js';
8
+ import './chunk-P5UPHQ7N.js';
9
9
  import { DEFAULT_OUTPUT_SCHEMA, DEFAULT_INPUT_SCHEMA } from './chunk-GWBJEGS7.js';
10
10
  export { DEFAULT_INPUT_SCHEMA, DEFAULT_OUTPUT_SCHEMA, createToolSpec, normalizeToolName } from './chunk-GWBJEGS7.js';
11
11
  import { lookup } from 'dns/promises';
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalCoreSchemas.d.ts","sourceRoot":"","sources":["../../../src/tools/util/canonicalCoreSchemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAK7D,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,MAAM,EACN;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAoN/C,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAOxD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAgBtE"}
1
+ {"version":3,"file":"canonicalCoreSchemas.d.ts","sourceRoot":"","sources":["../../../src/tools/util/canonicalCoreSchemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAK7D,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,MAAM,EACN;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAoN/C,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAOxD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAkBtE"}
@@ -7,7 +7,7 @@ export { resolveEntryPoint } from "./resolveEntry.js";
7
7
  export { loadToolConfig } from "./toolConfig.js";
8
8
  export type { ToolYamlShape } from "./toolConfig.js";
9
9
  export { mcpSpecToToolSpec } from "../mcp/mcpSpecToToolSpec.js";
10
- export { isToolPath, parseToolPath, parsePackageVersion, formatToolPath, isNpmToolDescriptor, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, normalizeToolList, expandToolDescriptorsToRegistryNames, } from "./toolDescriptor.js";
10
+ export { isToolPath, parseToolPath, parsePackageVersion, formatToolPath, npmDescriptorToRegistryPrefix, isNpmToolDescriptor, parseNpmToolDescriptor, resolveNpmToolDescriptor, resolveToolDescriptor, normalizeToolList, expandToolDescriptorsToRegistryNames, } from "./toolDescriptor.js";
11
11
  export type { ToolPath, PackageVersion, NpmToolDescriptor } from "./toolDescriptor.js";
12
12
  export { enrichSpecWithCanonicalSchema, isGenericSchema } from "./canonicalCoreSchemas.js";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/util/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,oCAAoC,GACrC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/util/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,oCAAoC,GACrC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
@@ -28,6 +28,15 @@ export declare function isBarePackageDescriptor(descriptor: string): boolean;
28
28
  * Returns null if the string does not match the format.
29
29
  */
30
30
  export declare function parseToolPath(descriptor: string): ToolPath | null;
31
+ /**
32
+ * Build registry name prefix from an npm descriptor (only [a-zA-Z0-9.] in result).
33
+ * If a version is written in the descriptor, that version is used.
34
+ * If no version (or @latest) and resolvedVersion is provided, that resolved version is used (e.g. actual "0.0.4" from npm).
35
+ * Otherwise "latest" is used as the version segment.
36
+ * e.g. "npm:@easynet/agent-tool-buildin@1.0.0" -> "npm.easynet.agent.tool.buildin.1.0.0."
37
+ * e.g. "npm:@easynet/agent-tool-buildin" + resolvedVersion "0.0.4" -> "npm.easynet.agent.tool.buildin.0.0.4."
38
+ */
39
+ export declare function npmDescriptorToRegistryPrefix(descriptor: string, resolvedVersion?: string): string;
31
40
  /**
32
41
  * Split packageWithVersion into package and optional version (e.g. "pkg@1.0.0" -> { package: "pkg", version: "1.0.0" }).
33
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"toolDescriptor.d.ts","sourceRoot":"","sources":["../../../src/tools/util/toolDescriptor.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6HAA6H;AAC7H,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAUjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,GAAG,cAAc,CAO9E;AAOD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAOnF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,EAAE,CAmBV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"toolDescriptor.d.ts","sourceRoot":"","sources":["../../../src/tools/util/toolDescriptor.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6HAA6H;AAC7H,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAUjE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBlG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,GAAG,cAAc,CAO9E;AAOD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAOnF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,EAAE,CAmCV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAYjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAErD"}
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var chunkTPWEGGKQ_cjs = require('../../chunk-TPWEGGKQ.cjs');
5
- var chunkH2UMNHDE_cjs = require('../../chunk-H2UMNHDE.cjs');
6
- var chunkNNOTTUB2_cjs = require('../../chunk-NNOTTUB2.cjs');
4
+ var chunkQP6JJF76_cjs = require('../../chunk-QP6JJF76.cjs');
5
+ var chunkINYWD3OJ_cjs = require('../../chunk-INYWD3OJ.cjs');
6
+ var chunk6WQYJLVU_cjs = require('../../chunk-6WQYJLVU.cjs');
7
7
  require('../../chunk-ONIBCU2Y.cjs');
8
- var chunkEAI37B5W_cjs = require('../../chunk-EAI37B5W.cjs');
8
+ var chunk6JWQVVL2_cjs = require('../../chunk-6JWQVVL2.cjs');
9
9
  require('../../chunk-FGGTT32N.cjs');
10
10
  var path = require('path');
11
11
  var fs = require('fs');
@@ -24,10 +24,10 @@ async function getRuntimeWithTools(pathOpt, verbose = false) {
24
24
  const stepLog = verbose ? (msg) => process.stderr.write(`[agent-tool] ${msg}
25
25
  `) : void 0;
26
26
  if (stepLog) stepLog(`Loading tool config from ${searchDir}`);
27
- const config = chunkNNOTTUB2_cjs.findAndLoadToolConfig(searchDir);
27
+ const config = chunk6WQYJLVU_cjs.findAndLoadToolConfig(searchDir);
28
28
  let sandboxRoot = cwd;
29
29
  if (config.sandboxedPath && typeof config.sandboxedPath === "string" && config.configPath) {
30
- sandboxRoot = chunkNNOTTUB2_cjs.resolveSandboxedPath(config.configPath, config.sandboxedPath);
30
+ sandboxRoot = chunk6WQYJLVU_cjs.resolveSandboxedPath(config.configPath, config.sandboxedPath);
31
31
  }
32
32
  if (stepLog) {
33
33
  if (config.configPath) {
@@ -38,7 +38,7 @@ async function getRuntimeWithTools(pathOpt, verbose = false) {
38
38
  }
39
39
  }
40
40
  const coreConfig = { sandboxRoot, allowedHosts: [] };
41
- const result = await chunkNNOTTUB2_cjs.createRuntimeFromConfig({
41
+ const result = await chunk6WQYJLVU_cjs.createRuntimeFromConfig({
42
42
  coreTools: coreConfig,
43
43
  configFilePath: config.configPath,
44
44
  stepLog
@@ -165,7 +165,7 @@ For agent run (ReAct + agent.yaml): npx @easynet/agent-orchestra run "task" -c a
165
165
  }
166
166
  async function cmdInit(pathOpt) {
167
167
  try {
168
- const { targetPath, filesCreated } = await chunkTPWEGGKQ_cjs.initProject({ targetPath: pathOpt || void 0 });
168
+ const { targetPath, filesCreated } = await chunkQP6JJF76_cjs.initProject({ targetPath: pathOpt || void 0 });
169
169
  process.stdout.write(`Initialized project at ${targetPath}
170
170
  Created: ${filesCreated.join(", ")}
171
171
  Next: npm install && npm run build
@@ -179,7 +179,7 @@ Next: npm install && npm run build
179
179
  }
180
180
  async function cmdBuild(pathOpt, outDir, include, includeN8n) {
181
181
  try {
182
- const result = await chunkTPWEGGKQ_cjs.buildMcpPackage({
182
+ const result = await chunkQP6JJF76_cjs.buildMcpPackage({
183
183
  projectPath: pathOpt || void 0,
184
184
  outDir: outDir || void 0,
185
185
  include: include.length > 0 ? include : void 0,
@@ -200,7 +200,7 @@ mcp.json: ${result.mcpJsonPath}
200
200
  }
201
201
  async function cmdServe(pathOpt) {
202
202
  try {
203
- const { process: child } = await chunkTPWEGGKQ_cjs.runMcpServer({ path: pathOpt || void 0 });
203
+ const { process: child } = await chunkQP6JJF76_cjs.runMcpServer({ path: pathOpt || void 0 });
204
204
  child.stdin?.pipe(process.stdin);
205
205
  child.stdout?.pipe(process.stdout);
206
206
  process.stdin?.unref();
@@ -218,7 +218,7 @@ var LS_DESC_MAX = 72;
218
218
  function formatLsOutput(specs) {
219
219
  const rows = specs.map((spec) => {
220
220
  const { name } = parseToolName(spec.name);
221
- const scope = chunkNNOTTUB2_cjs.getDisplayScope(spec.name, spec.kind, spec.version);
221
+ const scope = chunk6WQYJLVU_cjs.getDisplayScope(spec.name, spec.kind, spec.version);
222
222
  const desc = (spec.description ?? "").replace(/\n/g, " ").trim().slice(0, LS_DESC_MAX);
223
223
  return { scope, name, description: desc || "(no description)" };
224
224
  });
@@ -245,7 +245,7 @@ function formatLsOutput(specs) {
245
245
  }
246
246
  function formatDescribeOutput(spec) {
247
247
  const { name: localName } = parseToolName(spec.name);
248
- const scope = chunkNNOTTUB2_cjs.getDisplayScope(spec.name, spec.kind, spec.version);
248
+ const scope = chunk6WQYJLVU_cjs.getDisplayScope(spec.name, spec.kind, spec.version);
249
249
  const sections = [];
250
250
  sections.push("\u250C\u2500 Tool");
251
251
  sections.push(`\u2502 name: ${spec.name}`);
@@ -281,7 +281,7 @@ async function cmdLs(pathOpt, verbose = false) {
281
281
  process.stdout.write("No tools registered.\n");
282
282
  const cwd = process.cwd();
283
283
  const searchDir = path__default.default.resolve(cwd, pathOpt ?? ".");
284
- const config = chunkNNOTTUB2_cjs.findAndLoadToolConfig(searchDir);
284
+ const config = chunk6WQYJLVU_cjs.findAndLoadToolConfig(searchDir);
285
285
  const hasNpmTools = Array.isArray(config.tools) && config.tools.some((t) => typeof t === "string" && t.startsWith("npm:"));
286
286
  if (hasNpmTools) {
287
287
  process.stdout.write("Tip: Install builtin tools in this directory: npm init -y && npm install @easynet/agent-tool-buildin\n");
@@ -304,14 +304,14 @@ async function cmdDescribe(toolName, pathOpt, verbose = false) {
304
304
  }
305
305
  try {
306
306
  const { registry } = await getRuntimeWithTools(pathOpt, verbose);
307
- const registryName = chunkNNOTTUB2_cjs.resolveToolDescriptor(toolName.trim());
307
+ const registryName = chunk6WQYJLVU_cjs.resolveToolDescriptor(toolName.trim());
308
308
  const spec = registry.get(registryName);
309
309
  if (!spec) {
310
310
  process.stderr.write(`Tool not found: ${toolName}
311
311
  `);
312
312
  return 1;
313
313
  }
314
- process.stdout.write(formatDescribeOutput(chunkEAI37B5W_cjs.enrichSpecWithCanonicalSchema(spec)) + "\n");
314
+ process.stdout.write(formatDescribeOutput(chunk6JWQVVL2_cjs.enrichSpecWithCanonicalSchema(spec)) + "\n");
315
315
  return 0;
316
316
  } catch (err) {
317
317
  process.stderr.write(`describe failed: ${err instanceof Error ? err.message : String(err)}
@@ -353,7 +353,7 @@ async function cmdRun(toolName, toolArgsJson, pathOpt, verbose = false) {
353
353
  }
354
354
  try {
355
355
  const { runtime, registry } = await getRuntimeWithTools(pathOpt, verbose);
356
- const registryName = chunkNNOTTUB2_cjs.resolveToolDescriptor(toolName.trim());
356
+ const registryName = chunk6WQYJLVU_cjs.resolveToolDescriptor(toolName.trim());
357
357
  if (!registry.get(registryName)) {
358
358
  process.stderr.write(`Tool not found: ${toolName}
359
359
  `);
@@ -381,10 +381,10 @@ async function cmdStartMcp(pathOpt, verbose = false, stdio = false, port = 3e3,
381
381
  try {
382
382
  const { runtime } = await getRuntimeWithTools(pathOpt, verbose);
383
383
  if (stdio) {
384
- await chunkH2UMNHDE_cjs.runMCPServerOverStdio(runtime);
384
+ await chunkINYWD3OJ_cjs.runMCPServerOverStdio(runtime);
385
385
  return 0;
386
386
  }
387
- const streamable = await chunkH2UMNHDE_cjs.createMCPServerStreamableHttp(runtime, { port, host, path: "/mcp" });
387
+ const streamable = await chunkINYWD3OJ_cjs.createMCPServerStreamableHttp(runtime, { port, host, path: "/mcp" });
388
388
  const { url, port: actualPort } = await streamable.listen(port, host);
389
389
  process.stdout.write(`MCP Streamable HTTP: ${url}
390
390
  `);
@@ -400,7 +400,7 @@ async function cmdStartMcp(pathOpt, verbose = false, stdio = false, port = 3e3,
400
400
  async function cmdStartHttp(port, host, pathOpt, verbose = false) {
401
401
  try {
402
402
  const { runtime } = await getRuntimeWithTools(pathOpt, verbose);
403
- const http = await chunkH2UMNHDE_cjs.createHttpService(runtime);
403
+ const http = await chunkINYWD3OJ_cjs.createHttpService(runtime);
404
404
  const { port: actualPort, host: actualHost } = await http.listen({ port, host });
405
405
  const base = `http://${actualHost}:${actualPort}`;
406
406
  process.stdout.write(`API: ${base}/invoke (POST), ${base}/tools (GET)
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import { initProject, buildMcpPackage, runMcpServer } from '../../chunk-QB5ALDM3.js';
3
- import { runMCPServerOverStdio, createMCPServerStreamableHttp, createHttpService } from '../../chunk-GGKQQR54.js';
4
- import { findAndLoadToolConfig, resolveToolDescriptor, resolveSandboxedPath, createRuntimeFromConfig, getDisplayScope } from '../../chunk-TTYAOTOR.js';
2
+ import { initProject, buildMcpPackage, runMcpServer } from '../../chunk-OHDIMQ22.js';
3
+ import { runMCPServerOverStdio, createMCPServerStreamableHttp, createHttpService } from '../../chunk-WKWSXCS4.js';
4
+ import { findAndLoadToolConfig, resolveToolDescriptor, resolveSandboxedPath, createRuntimeFromConfig, getDisplayScope } from '../../chunk-IGMDLCV7.js';
5
5
  import '../../chunk-IU35EFPK.js';
6
- import { enrichSpecWithCanonicalSchema } from '../../chunk-46XYOB3H.js';
6
+ import { enrichSpecWithCanonicalSchema } from '../../chunk-P5UPHQ7N.js';
7
7
  import '../../chunk-GWBJEGS7.js';
8
8
  import path from 'path';
9
9
  import { realpathSync } from 'fs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easynet/agent-tool",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "MCP build: init → build → run. Turn your project (@tool, SKILL, n8n) into a standalone MCP npm server (no framework embedding, no package conflict).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,4 +0,0 @@
1
- export { CORE_TOOL_SCHEMAS, enrichSpecWithCanonicalSchema, isGenericSchema } from './chunk-46XYOB3H.js';
2
- import './chunk-GWBJEGS7.js';
3
- //# sourceMappingURL=canonicalCoreSchemas-DNBAHSUC.js.map
4
- //# sourceMappingURL=canonicalCoreSchemas-DNBAHSUC.js.map
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkEAI37B5W_cjs = require('./chunk-EAI37B5W.cjs');
4
- require('./chunk-FGGTT32N.cjs');
5
-
6
-
7
-
8
- Object.defineProperty(exports, "CORE_TOOL_SCHEMAS", {
9
- enumerable: true,
10
- get: function () { return chunkEAI37B5W_cjs.CORE_TOOL_SCHEMAS; }
11
- });
12
- Object.defineProperty(exports, "enrichSpecWithCanonicalSchema", {
13
- enumerable: true,
14
- get: function () { return chunkEAI37B5W_cjs.enrichSpecWithCanonicalSchema; }
15
- });
16
- Object.defineProperty(exports, "isGenericSchema", {
17
- enumerable: true,
18
- get: function () { return chunkEAI37B5W_cjs.isGenericSchema; }
19
- });
20
- //# sourceMappingURL=canonicalCoreSchemas-IBTSIPJV.cjs.map
21
- //# sourceMappingURL=canonicalCoreSchemas-IBTSIPJV.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tools/util/canonicalCoreSchemas.ts"],"names":[],"mappings":";;;AASA,IAAM,CAAA,GAAI,CAAC,CAAA,KAAc,CAAA;AAGlB,IAAM,iBAAA,GAGT;AAAA,EACF,kBAAA,EAAoB;AAAA,IAClB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mCAAA,EAAoC;AAAA,QACzE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,8BAAA;AAA+B,OAC1E;AAAA,MACA,QAAA,EAAU,CAAC,MAAM,CAAA;AAAA,MACjB,oBAAA,EAAsB;AAAA,KACvB,CAAA;AAAA,IACD,cAAc,CAAA,CAAE;AAAA,MACd,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,MAAA,EAAQ;AAAA,UACN,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY;AAAA,YACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAS;AAAA,YACvB,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA;AAAS;AAC1B;AACF;AACF,KACD;AAAA,GACH;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,gCAAA,EAAiC;AAAA,QACtE,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,wBAAA;AAAyB,OACnE;AAAA,MACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,iBAAA,EAAmB;AAAA,IACjB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iCAAA,EAAkC;AAAA,QACvE,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kCAAA;AAAmC,OAChF;AAAA,MACA,QAAA,EAAU,CAAC,MAAM,CAAA;AAAA,MACjB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,2BAAA,EAA4B;AAAA,QACjE,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mCAAA,EAAoC;AAAA,QAC5E,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,wBAAA;AAAyB,OACtE;AAAA,MACA,QAAA,EAAU,CAAC,MAAA,EAAQ,SAAS,CAAA;AAAA,MAC5B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,+BAAA;AAAgC,OACvE;AAAA,MACA,QAAA,EAAU,CAAC,MAAM,CAAA;AAAA,MACjB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iCAAA;AAAkC,OACzE;AAAA,MACA,QAAA,EAAU,CAAC,MAAM,CAAA;AAAA,MACjB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA,EAAe;AAAA,QACnD,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAsB,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,WAAA,EAAa,0BAAA,EAA2B;AAAA,QAC7G,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kCAAA;AAAmC,OAC/E;AAAA,MACA,QAAA,EAAU,CAAC,KAAK,CAAA;AAAA,MAChB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA,EAAe;AAAA,QACnD,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,EAAE,IAAA,EAAM,UAAS;AAAE,OACtE;AAAA,MACA,QAAA,EAAU,CAAC,KAAK,CAAA;AAAA,MAChB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,wBAAA,EAA0B;AAAA,IACxB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iBAAA,EAAkB;AAAA,QACtD,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,mCAAA,EAAoC;AAAA,QAC7E,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,sBAAsB,EAAE,IAAA,EAAM,UAAS;AAAE,OACtE;AAAA,MACA,QAAA,EAAU,CAAC,KAAA,EAAO,UAAU,CAAA;AAAA,MAC5B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,sBAAA;AAAuB,OAC7D;AAAA,MACA,QAAA,EAAU,CAAC,KAAK,CAAA;AAAA,MAChB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,4BAAA,EAA8B;AAAA,IAC5B,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA,EAAe;AAAA,QACrD,UAAA,EAAY,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,wBAAA;AAAyB,OACtE;AAAA,MACA,QAAA,EAAU,CAAC,OAAO,CAAA;AAAA,MAClB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,gCAAA,EAAkC;AAAA,IAChC,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,UAAA,EAAW;AAAA,QAC/C,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,+BAAA;AAAgC,OAC5E;AAAA,MACA,QAAA,EAAU,CAAC,KAAK,CAAA;AAAA,MAChB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,uBAAA,EAAyB;AAAA,IACvB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,WAAA,EAAa,+BAAA,EAAgC;AAAA,QACrD,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,sBAAA;AAAuB,OAClE;AAAA,MACA,QAAA,EAAU,CAAC,MAAA,EAAQ,UAAU,CAAA;AAAA,MAC7B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,yBAAA,EAA2B;AAAA,IACzB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,kBAAA,EAAmB;AAAA,QACxD,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,YAAA;AAAa,OACzD;AAAA,MACA,QAAA,EAAU,CAAC,MAAA,EAAQ,WAAW,CAAA;AAAA,MAC9B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,2BAAA,EAA6B;AAAA,IAC3B,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,cAAA;AAAe,OACtD;AAAA,MACA,QAAA,EAAU,CAAC,MAAM,CAAA;AAAA,MACjB,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,0BAAA;AAA2B,OACtE;AAAA,MACA,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,2BAAA,EAA6B;AAAA,IAC3B,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,iCAAA,EAAkC;AAAA,QAC3E,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,0BAAA;AAA2B,OAClE;AAAA,MACA,QAAA,EAAU,CAAC,UAAA,EAAY,MAAM,CAAA;AAAA,MAC7B,oBAAA,EAAsB;AAAA,KACvB;AAAA,GACH;AAAA,EACA,sBAAA,EAAwB;AAAA,IACtB,aAAa,CAAA,CAAE;AAAA,MACb,IAAA,EAAM,QAAA;AAAA,MACN,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,gBAAA,EAAiB;AAAA,QACzD,IAAA,EAAM,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAS,EAAG,WAAA,EAAa,sBAAA,EAAuB;AAAA,QACtF,GAAA,EAAK,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,8BAAA,EAA+B;AAAA,QACnE,SAAA,EAAW,EAAE,IAAA,EAAM,QAAA,EAAU,aAAa,0BAAA;AAA2B,OACvE;AAAA,MACA,QAAA,EAAU,CAAC,SAAS,CAAA;AAAA,MACpB,oBAAA,EAAsB;AAAA,KACvB;AAAA;AAEL;AAGO,SAAS,gBAAgB,MAAA,EAA0B;AACxD,EAAA,IAAI,MAAA,KAAW,IAAA,IAAQ,OAAO,MAAA,KAAW,UAAU,OAAO,KAAA;AAC1D,EAAA,MAAM,CAAA,GAAI,MAAA;AACV,EAAA,IAAI,CAAA,CAAE,IAAA,KAAS,QAAA,EAAU,OAAO,KAAA;AAChC,EAAA,IAAI,EAAE,oBAAA,KAAyB,IAAA,IAAQ,CAAC,CAAA,CAAE,YAAY,OAAO,IAAA;AAC7D,EAAA,IAAI,EAAE,UAAA,KAAe,MAAA,IAAa,CAAA,CAAE,QAAA,KAAa,QAAW,OAAO,IAAA;AACnE,EAAA,OAAO,KAAA;AACT;AAMO,SAAS,8BAA8B,IAAA,EAA0B;AACtE,EAAA,IAAI,IAAA,CAAK,IAAA,KAAS,MAAA,EAAQ,OAAO,IAAA;AACjC,EAAA,MAAM,GAAA,GAAM,iBAAA,CAAkB,IAAA,CAAK,IAAI,CAAA;AACvC,EAAA,MAAM,SAAA,GAAY,kBAAkB,GAAG,CAAA;AACvC,EAAA,IAAI,CAAC,WAAW,OAAO,IAAA;AACvB,EAAA,MAAM,WAAW,eAAA,CAAgB,IAAA,CAAK,WAAW,CAAA,GAAI,SAAA,CAAU,cAAc,IAAA,CAAK,WAAA;AAClF,EAAA,MAAM,SAAA,GACJ,UAAU,YAAA,IAAgB,eAAA,CAAgB,KAAK,YAAY,CAAA,GACvD,SAAA,CAAU,YAAA,GACV,IAAA,CAAK,YAAA;AACX,EAAA,IAAI,aAAa,IAAA,CAAK,WAAA,IAAe,SAAA,KAAc,IAAA,CAAK,cAAc,OAAO,IAAA;AAC7E,EAAA,OAAO;AAAA,IACL,GAAG,IAAA;AAAA,IACH,WAAA,EAAa,QAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AACF","file":"chunk-46XYOB3H.js","sourcesContent":["/**\n * Canonical input/output schemas for core (builtin) tools.\n * Used when the builtin package registers specs with generic schema\n * (type: object, additionalProperties: true) so CLI describe and OpenAPI show real schemas.\n */\n\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport { normalizeToolName } from \"../../core/types/ToolSpec.js\";\n\nconst S = (o: object) => o as Record<string, unknown>;\n\n/** Canonical inputSchema (and optional outputSchema) by tool name (e.g. core/fs.readText). */\nexport const CORE_TOOL_SCHEMAS: Record<\n string,\n { inputSchema: object; outputSchema?: object }\n> = {\n \"core/fs.readText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to the file (within sandbox)\" },\n maxBytes: { type: \"number\", description: \"Max bytes to read (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n outputSchema: S({\n type: \"object\",\n properties: {\n result: {\n type: \"object\",\n properties: {\n path: { type: \"string\" },\n text: { type: \"string\" },\n bytes: { type: \"number\" },\n },\n },\n },\n }),\n },\n \"core.fs.writeText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to write (within sandbox)\" },\n content: { type: \"string\", description: \"UTF-8 content to write\" },\n },\n required: [\"path\", \"content\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.listDir\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Directory path (within sandbox)\" },\n maxEntries: { type: \"number\", description: \"Max entries to return (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.searchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file or directory\" },\n pattern: { type: \"string\", description: \"Search pattern (regex or literal)\" },\n maxMatches: { type: \"number\", description: \"Max matches (optional)\" },\n },\n required: [\"path\", \"pattern\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.sha256\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.deletePath\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to delete (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" }, description: \"Optional request headers\" },\n timeoutMs: { type: \"number\", description: \"Request timeout in ms (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchJson\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.downloadFile\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to download\" },\n destPath: { type: \"string\", description: \"Destination path (within sandbox)\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\", \"destPath\"],\n additionalProperties: false,\n }),\n },\n \"core.http.head\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL for HEAD request\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.duckduckgoSearch\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"Search query\" },\n maxResults: { type: \"number\", description: \"Max results (optional)\" },\n },\n required: [\"query\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchPageMainContent\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"Page URL\" },\n maxLength: { type: \"number\", description: \"Max content length (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.util.json.select\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n json: { description: \"JSON value (object or string)\" },\n selector: { type: \"string\", description: \"JSONPath or selector\" },\n },\n required: [\"json\", \"selector\"],\n additionalProperties: false,\n }),\n },\n \"core.util.text.truncate\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to truncate\" },\n maxLength: { type: \"number\", description: \"Max length\" },\n },\n required: [\"text\", \"maxLength\"],\n additionalProperties: false,\n }),\n },\n \"core.util.hash.sha256Text\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to hash\" },\n },\n required: [\"text\"],\n additionalProperties: false,\n }),\n },\n \"core.util.time.now\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n timezone: { type: \"string\", description: \"IANA timezone (optional)\" },\n },\n additionalProperties: false,\n }),\n },\n \"core.util.template.render\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n template: { type: \"string\", description: \"Template string (e.g. Mustache)\" },\n data: { type: \"object\", description: \"Data object for template\" },\n },\n required: [\"template\", \"data\"],\n additionalProperties: false,\n }),\n },\n \"core.exec.runCommand\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n command: { type: \"string\", description: \"Command to run\" },\n args: { type: \"array\", items: { type: \"string\" }, description: \"Arguments (optional)\" },\n cwd: { type: \"string\", description: \"Working directory (optional)\" },\n timeoutMs: { type: \"number\", description: \"Timeout in ms (optional)\" },\n },\n required: [\"command\"],\n additionalProperties: false,\n }),\n },\n};\n\n/** True if schema looks like the generic permissive one. */\nexport function isGenericSchema(schema: unknown): boolean {\n if (schema === null || typeof schema !== \"object\") return false;\n const s = schema as Record<string, unknown>;\n if (s.type !== \"object\") return false;\n if (s.additionalProperties === true && !s.properties) return true;\n if (s.properties === undefined && s.required === undefined) return true;\n return false;\n}\n\n/**\n * If spec is a core tool with generic input/output schema, return spec with canonical schema.\n * Otherwise return spec unchanged.\n */\nexport function enrichSpecWithCanonicalSchema(spec: ToolSpec): ToolSpec {\n if (spec.kind !== \"core\") return spec;\n const key = normalizeToolName(spec.name);\n const canonical = CORE_TOOL_SCHEMAS[key];\n if (!canonical) return spec;\n const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;\n const useOutput =\n canonical.outputSchema && isGenericSchema(spec.outputSchema)\n ? canonical.outputSchema\n : spec.outputSchema;\n if (useInput === spec.inputSchema && useOutput === spec.outputSchema) return spec;\n return {\n ...spec,\n inputSchema: useInput,\n outputSchema: useOutput,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tools/util/canonicalCoreSchemas.ts"],"names":["normalizeToolName"],"mappings":"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","file":"chunk-EAI37B5W.cjs","sourcesContent":["/**\n * Canonical input/output schemas for core (builtin) tools.\n * Used when the builtin package registers specs with generic schema\n * (type: object, additionalProperties: true) so CLI describe and OpenAPI show real schemas.\n */\n\nimport type { ToolSpec } from \"../../core/types/ToolSpec.js\";\nimport { normalizeToolName } from \"../../core/types/ToolSpec.js\";\n\nconst S = (o: object) => o as Record<string, unknown>;\n\n/** Canonical inputSchema (and optional outputSchema) by tool name (e.g. core/fs.readText). */\nexport const CORE_TOOL_SCHEMAS: Record<\n string,\n { inputSchema: object; outputSchema?: object }\n> = {\n \"core/fs.readText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to the file (within sandbox)\" },\n maxBytes: { type: \"number\", description: \"Max bytes to read (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n outputSchema: S({\n type: \"object\",\n properties: {\n result: {\n type: \"object\",\n properties: {\n path: { type: \"string\" },\n text: { type: \"string\" },\n bytes: { type: \"number\" },\n },\n },\n },\n }),\n },\n \"core.fs.writeText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to write (within sandbox)\" },\n content: { type: \"string\", description: \"UTF-8 content to write\" },\n },\n required: [\"path\", \"content\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.listDir\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Directory path (within sandbox)\" },\n maxEntries: { type: \"number\", description: \"Max entries to return (optional)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.searchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file or directory\" },\n pattern: { type: \"string\", description: \"Search pattern (regex or literal)\" },\n maxMatches: { type: \"number\", description: \"Max matches (optional)\" },\n },\n required: [\"path\", \"pattern\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.sha256\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to file (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.fs.deletePath\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n path: { type: \"string\", description: \"Path to delete (within sandbox)\" },\n },\n required: [\"path\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchText\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" }, description: \"Optional request headers\" },\n timeoutMs: { type: \"number\", description: \"Request timeout in ms (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchJson\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to fetch\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.downloadFile\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL to download\" },\n destPath: { type: \"string\", description: \"Destination path (within sandbox)\" },\n headers: { type: \"object\", additionalProperties: { type: \"string\" } },\n },\n required: [\"url\", \"destPath\"],\n additionalProperties: false,\n }),\n },\n \"core.http.head\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"URL for HEAD request\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.http.duckduckgoSearch\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"Search query\" },\n maxResults: { type: \"number\", description: \"Max results (optional)\" },\n },\n required: [\"query\"],\n additionalProperties: false,\n }),\n },\n \"core.http.fetchPageMainContent\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n url: { type: \"string\", description: \"Page URL\" },\n maxLength: { type: \"number\", description: \"Max content length (optional)\" },\n },\n required: [\"url\"],\n additionalProperties: false,\n }),\n },\n \"core.util.json.select\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n json: { description: \"JSON value (object or string)\" },\n selector: { type: \"string\", description: \"JSONPath or selector\" },\n },\n required: [\"json\", \"selector\"],\n additionalProperties: false,\n }),\n },\n \"core.util.text.truncate\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to truncate\" },\n maxLength: { type: \"number\", description: \"Max length\" },\n },\n required: [\"text\", \"maxLength\"],\n additionalProperties: false,\n }),\n },\n \"core.util.hash.sha256Text\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n text: { type: \"string\", description: \"Text to hash\" },\n },\n required: [\"text\"],\n additionalProperties: false,\n }),\n },\n \"core.util.time.now\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n timezone: { type: \"string\", description: \"IANA timezone (optional)\" },\n },\n additionalProperties: false,\n }),\n },\n \"core.util.template.render\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n template: { type: \"string\", description: \"Template string (e.g. Mustache)\" },\n data: { type: \"object\", description: \"Data object for template\" },\n },\n required: [\"template\", \"data\"],\n additionalProperties: false,\n }),\n },\n \"core.exec.runCommand\": {\n inputSchema: S({\n type: \"object\",\n properties: {\n command: { type: \"string\", description: \"Command to run\" },\n args: { type: \"array\", items: { type: \"string\" }, description: \"Arguments (optional)\" },\n cwd: { type: \"string\", description: \"Working directory (optional)\" },\n timeoutMs: { type: \"number\", description: \"Timeout in ms (optional)\" },\n },\n required: [\"command\"],\n additionalProperties: false,\n }),\n },\n};\n\n/** True if schema looks like the generic permissive one. */\nexport function isGenericSchema(schema: unknown): boolean {\n if (schema === null || typeof schema !== \"object\") return false;\n const s = schema as Record<string, unknown>;\n if (s.type !== \"object\") return false;\n if (s.additionalProperties === true && !s.properties) return true;\n if (s.properties === undefined && s.required === undefined) return true;\n return false;\n}\n\n/**\n * If spec is a core tool with generic input/output schema, return spec with canonical schema.\n * Otherwise return spec unchanged.\n */\nexport function enrichSpecWithCanonicalSchema(spec: ToolSpec): ToolSpec {\n if (spec.kind !== \"core\") return spec;\n const key = normalizeToolName(spec.name);\n const canonical = CORE_TOOL_SCHEMAS[key];\n if (!canonical) return spec;\n const useInput = isGenericSchema(spec.inputSchema) ? canonical.inputSchema : spec.inputSchema;\n const useOutput =\n canonical.outputSchema && isGenericSchema(spec.outputSchema)\n ? canonical.outputSchema\n : spec.outputSchema;\n if (useInput === spec.inputSchema && useOutput === spec.outputSchema) return spec;\n return {\n ...spec,\n inputSchema: useInput,\n outputSchema: useOutput,\n };\n}\n"]}