@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.
- package/dist/api/extension/contextRunner.d.ts +10 -0
- package/dist/api/extension/contextRunner.d.ts.map +1 -0
- package/dist/api/extension/createExtension.d.ts +38 -0
- package/dist/api/extension/createExtension.d.ts.map +1 -0
- package/dist/api/extension/dynamicImportAdapter.d.ts +21 -0
- package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -0
- package/dist/api/extension/generateExtensionManifest.d.ts +24 -0
- package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -0
- package/dist/api/extension/groupPrefix.d.ts +21 -0
- package/dist/api/extension/groupPrefix.d.ts.map +1 -0
- package/dist/api/extension/index.d.ts +22 -0
- package/dist/api/extension/index.d.ts.map +1 -0
- package/dist/api/extension/loadToolYaml.d.ts +6 -0
- package/dist/api/extension/loadToolYaml.d.ts.map +1 -0
- package/dist/api/extension/registerExtension.d.ts +31 -0
- package/dist/api/extension/registerExtension.d.ts.map +1 -0
- package/dist/api/extension/registerFromManifest.d.ts +40 -0
- package/dist/api/extension/registerFromManifest.d.ts.map +1 -0
- package/dist/api/extension/resolvePackageRoot.d.ts +2 -0
- package/dist/api/extension/resolvePackageRoot.d.ts.map +1 -0
- package/dist/api/extension/types.d.ts +15 -0
- package/dist/api/extension/types.d.ts.map +1 -0
- package/dist/api/main.cjs +14 -14
- package/dist/api/main.js +3 -3
- package/dist/api/runtimeFromConfig.d.ts +8 -8
- package/dist/api/runtimeFromConfig.d.ts.map +1 -1
- package/dist/{chunk-AT3N7SQK.cjs → chunk-5CDN24FP.cjs} +11 -10
- package/dist/chunk-5CDN24FP.cjs.map +1 -0
- package/dist/{chunk-ZRDI2RKU.js → chunk-AO2RY5AI.js} +3 -3
- package/dist/{chunk-ZRDI2RKU.js.map → chunk-AO2RY5AI.js.map} +1 -1
- package/dist/{chunk-AH4NI4GN.cjs → chunk-AOEZBP6L.cjs} +18 -46
- package/dist/chunk-AOEZBP6L.cjs.map +1 -0
- package/dist/{chunk-P2LVZGZ4.cjs → chunk-B5CAENK6.cjs} +7 -7
- package/dist/{chunk-P2LVZGZ4.cjs.map → chunk-B5CAENK6.cjs.map} +1 -1
- package/dist/{chunk-QP5FIRC2.js → chunk-JEP26OIY.js} +3 -3
- package/dist/{chunk-QP5FIRC2.js.map → chunk-JEP26OIY.js.map} +1 -1
- package/dist/{chunk-FWIMPZC2.cjs → chunk-NA2YBWZJ.cjs} +14 -14
- package/dist/{chunk-FWIMPZC2.cjs.map → chunk-NA2YBWZJ.cjs.map} +1 -1
- package/dist/{chunk-BOMOGAFZ.js → chunk-P5YQNWQT.js} +5 -4
- package/dist/chunk-P5YQNWQT.js.map +1 -0
- package/dist/{chunk-BPHY6UVK.js → chunk-SO32CIHJ.js} +17 -45
- package/dist/chunk-SO32CIHJ.js.map +1 -0
- package/dist/index.cjs +333 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +267 -10
- package/dist/index.js.map +1 -1
- package/dist/tools/function/scanner.d.ts.map +1 -1
- package/dist/utils/cli/index.cjs +17 -17
- package/dist/utils/cli/index.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-AH4NI4GN.cjs.map +0 -1
- package/dist/chunk-AT3N7SQK.cjs.map +0 -1
- package/dist/chunk-BOMOGAFZ.js.map +0 -1
- 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
|
|
4
|
-
var
|
|
5
|
-
var
|
|
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
|
|
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(
|
|
199
|
+
normalizedRoot = await promises$1.realpath(path6.resolve(sandboxRoot));
|
|
191
200
|
} catch {
|
|
192
|
-
normalizedRoot =
|
|
201
|
+
normalizedRoot = path6.normalize(path6.resolve(sandboxRoot));
|
|
193
202
|
}
|
|
194
|
-
const resolved =
|
|
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 =
|
|
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 =
|
|
215
|
+
realParent = path6.normalize(parentDir);
|
|
207
216
|
}
|
|
208
|
-
real =
|
|
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(
|
|
220
|
-
const normalizedPath =
|
|
221
|
-
const normalizedRoot =
|
|
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 =
|
|
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:
|
|
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 ??
|
|
317
|
-
const dirPath =
|
|
318
|
-
const entryPoint =
|
|
319
|
-
const toolName = options.toolName ??
|
|
320
|
-
const loaded = await
|
|
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
|
|
598
|
+
get: function () { return chunkNA2YBWZJ_cjs.LangChainToolsHub; }
|
|
337
599
|
});
|
|
338
600
|
Object.defineProperty(exports, "createAgentTools", {
|
|
339
601
|
enumerable: true,
|
|
340
|
-
get: function () { return
|
|
602
|
+
get: function () { return chunkNA2YBWZJ_cjs.createAgentTools; }
|
|
341
603
|
});
|
|
342
604
|
Object.defineProperty(exports, "DirectoryScanner", {
|
|
343
605
|
enumerable: true,
|
|
344
|
-
get: function () { return
|
|
606
|
+
get: function () { return chunk5CDN24FP_cjs.DirectoryScanner; }
|
|
345
607
|
});
|
|
346
608
|
Object.defineProperty(exports, "DiscoveryError", {
|
|
347
609
|
enumerable: true,
|
|
348
|
-
get: function () { return
|
|
610
|
+
get: function () { return chunk5CDN24FP_cjs.DiscoveryError; }
|
|
349
611
|
});
|
|
350
612
|
Object.defineProperty(exports, "SkillManifestError", {
|
|
351
613
|
enumerable: true,
|
|
352
|
-
get: function () { return
|
|
614
|
+
get: function () { return chunk5CDN24FP_cjs.SkillManifestError; }
|
|
353
615
|
});
|
|
354
616
|
Object.defineProperty(exports, "buildFunctionToTool", {
|
|
355
617
|
enumerable: true,
|
|
356
|
-
get: function () { return
|
|
618
|
+
get: function () { return chunk5CDN24FP_cjs.buildFunctionToTool; }
|
|
357
619
|
});
|
|
358
620
|
Object.defineProperty(exports, "buildMcpPackage", {
|
|
359
621
|
enumerable: true,
|
|
360
|
-
get: function () { return
|
|
622
|
+
get: function () { return chunk5CDN24FP_cjs.buildMcpPackage; }
|
|
361
623
|
});
|
|
362
624
|
Object.defineProperty(exports, "initProject", {
|
|
363
625
|
enumerable: true,
|
|
364
|
-
get: function () { return
|
|
626
|
+
get: function () { return chunk5CDN24FP_cjs.initProject; }
|
|
365
627
|
});
|
|
366
628
|
Object.defineProperty(exports, "loadMCPTool", {
|
|
367
629
|
enumerable: true,
|
|
368
|
-
get: function () { return
|
|
630
|
+
get: function () { return chunk5CDN24FP_cjs.loadMCPTool; }
|
|
369
631
|
});
|
|
370
632
|
Object.defineProperty(exports, "loadSkillDefinition", {
|
|
371
633
|
enumerable: true,
|
|
372
|
-
get: function () { return
|
|
634
|
+
get: function () { return chunk5CDN24FP_cjs.loadSkillDefinition; }
|
|
373
635
|
});
|
|
374
636
|
Object.defineProperty(exports, "parseSkillMd", {
|
|
375
637
|
enumerable: true,
|
|
376
|
-
get: function () { return
|
|
638
|
+
get: function () { return chunk5CDN24FP_cjs.parseSkillMd; }
|
|
377
639
|
});
|
|
378
640
|
Object.defineProperty(exports, "runGeneratedMCP", {
|
|
379
641
|
enumerable: true,
|
|
380
|
-
get: function () { return
|
|
642
|
+
get: function () { return chunk5CDN24FP_cjs.runGeneratedMCP; }
|
|
381
643
|
});
|
|
382
644
|
Object.defineProperty(exports, "runMcpServer", {
|
|
383
645
|
enumerable: true,
|
|
384
|
-
get: function () { return
|
|
646
|
+
get: function () { return chunk5CDN24FP_cjs.runMcpServer; }
|
|
385
647
|
});
|
|
386
648
|
Object.defineProperty(exports, "scan", {
|
|
387
649
|
enumerable: true,
|
|
388
|
-
get: function () { return
|
|
650
|
+
get: function () { return chunk5CDN24FP_cjs.scan; }
|
|
389
651
|
});
|
|
390
652
|
Object.defineProperty(exports, "scanForTools", {
|
|
391
653
|
enumerable: true,
|
|
392
|
-
get: function () { return
|
|
654
|
+
get: function () { return chunk5CDN24FP_cjs.scanForTools; }
|
|
393
655
|
});
|
|
394
656
|
Object.defineProperty(exports, "scanSkillResources", {
|
|
395
657
|
enumerable: true,
|
|
396
|
-
get: function () { return
|
|
658
|
+
get: function () { return chunk5CDN24FP_cjs.scanSkillResources; }
|
|
397
659
|
});
|
|
398
660
|
Object.defineProperty(exports, "validateFrontmatter", {
|
|
399
661
|
enumerable: true,
|
|
400
|
-
get: function () { return
|
|
662
|
+
get: function () { return chunk5CDN24FP_cjs.validateFrontmatter; }
|
|
401
663
|
});
|
|
402
664
|
Object.defineProperty(exports, "BudgetManager", {
|
|
403
665
|
enumerable: true,
|
|
404
|
-
get: function () { return
|
|
666
|
+
get: function () { return chunkAOEZBP6L_cjs.BudgetManager; }
|
|
405
667
|
});
|
|
406
668
|
Object.defineProperty(exports, "EventLog", {
|
|
407
669
|
enumerable: true,
|
|
408
|
-
get: function () { return
|
|
670
|
+
get: function () { return chunkAOEZBP6L_cjs.EventLog; }
|
|
409
671
|
});
|
|
410
672
|
Object.defineProperty(exports, "Metrics", {
|
|
411
673
|
enumerable: true,
|
|
412
|
-
get: function () { return
|
|
674
|
+
get: function () { return chunkAOEZBP6L_cjs.Metrics; }
|
|
413
675
|
});
|
|
414
676
|
Object.defineProperty(exports, "PTCRuntime", {
|
|
415
677
|
enumerable: true,
|
|
416
|
-
get: function () { return
|
|
678
|
+
get: function () { return chunkAOEZBP6L_cjs.PTCRuntime; }
|
|
417
679
|
});
|
|
418
680
|
Object.defineProperty(exports, "PolicyDeniedError", {
|
|
419
681
|
enumerable: true,
|
|
420
|
-
get: function () { return
|
|
682
|
+
get: function () { return chunkAOEZBP6L_cjs.PolicyDeniedError; }
|
|
421
683
|
});
|
|
422
684
|
Object.defineProperty(exports, "PolicyEngine", {
|
|
423
685
|
enumerable: true,
|
|
424
|
-
get: function () { return
|
|
686
|
+
get: function () { return chunkAOEZBP6L_cjs.PolicyEngine; }
|
|
425
687
|
});
|
|
426
688
|
Object.defineProperty(exports, "SchemaValidationError", {
|
|
427
689
|
enumerable: true,
|
|
428
|
-
get: function () { return
|
|
690
|
+
get: function () { return chunkAOEZBP6L_cjs.SchemaValidationError; }
|
|
429
691
|
});
|
|
430
692
|
Object.defineProperty(exports, "SchemaValidator", {
|
|
431
693
|
enumerable: true,
|
|
432
|
-
get: function () { return
|
|
694
|
+
get: function () { return chunkAOEZBP6L_cjs.SchemaValidator; }
|
|
433
695
|
});
|
|
434
696
|
Object.defineProperty(exports, "Tracing", {
|
|
435
697
|
enumerable: true,
|
|
436
|
-
get: function () { return
|
|
698
|
+
get: function () { return chunkAOEZBP6L_cjs.Tracing; }
|
|
437
699
|
});
|
|
438
700
|
Object.defineProperty(exports, "buildEvidence", {
|
|
439
701
|
enumerable: true,
|
|
440
|
-
get: function () { return
|
|
702
|
+
get: function () { return chunkAOEZBP6L_cjs.buildEvidence; }
|
|
441
703
|
});
|
|
442
704
|
Object.defineProperty(exports, "createLogger", {
|
|
443
705
|
enumerable: true,
|
|
444
|
-
get: function () { return
|
|
706
|
+
get: function () { return chunkAOEZBP6L_cjs.createLogger; }
|
|
445
707
|
});
|
|
446
708
|
Object.defineProperty(exports, "ensurePackageInCache", {
|
|
447
709
|
enumerable: true,
|
|
448
|
-
get: function () { return
|
|
710
|
+
get: function () { return chunkAOEZBP6L_cjs.ensurePackageInCache; }
|
|
449
711
|
});
|
|
450
712
|
Object.defineProperty(exports, "expandToolDescriptorsToRegistryNames", {
|
|
451
713
|
enumerable: true,
|
|
452
|
-
get: function () { return
|
|
714
|
+
get: function () { return chunkAOEZBP6L_cjs.expandToolDescriptorsToRegistryNames; }
|
|
453
715
|
});
|
|
454
716
|
Object.defineProperty(exports, "getPackageEntryPath", {
|
|
455
717
|
enumerable: true,
|
|
456
|
-
get: function () { return
|
|
718
|
+
get: function () { return chunkAOEZBP6L_cjs.getPackageEntryPath; }
|
|
457
719
|
});
|
|
458
720
|
Object.defineProperty(exports, "importFromCache", {
|
|
459
721
|
enumerable: true,
|
|
460
|
-
get: function () { return
|
|
722
|
+
get: function () { return chunkAOEZBP6L_cjs.importFromCache; }
|
|
461
723
|
});
|
|
462
724
|
Object.defineProperty(exports, "isNpmToolDescriptor", {
|
|
463
725
|
enumerable: true,
|
|
464
|
-
get: function () { return
|
|
726
|
+
get: function () { return chunkAOEZBP6L_cjs.isNpmToolDescriptor; }
|
|
465
727
|
});
|
|
466
728
|
Object.defineProperty(exports, "loadToolConfig", {
|
|
467
729
|
enumerable: true,
|
|
468
|
-
get: function () { return
|
|
730
|
+
get: function () { return chunkAOEZBP6L_cjs.loadToolConfig; }
|
|
469
731
|
});
|
|
470
732
|
Object.defineProperty(exports, "normalizeToolList", {
|
|
471
733
|
enumerable: true,
|
|
472
|
-
get: function () { return
|
|
734
|
+
get: function () { return chunkAOEZBP6L_cjs.normalizeToolList; }
|
|
473
735
|
});
|
|
474
736
|
Object.defineProperty(exports, "npmDescriptorToRegistryPrefix", {
|
|
475
737
|
enumerable: true,
|
|
476
|
-
get: function () { return
|
|
738
|
+
get: function () { return chunkAOEZBP6L_cjs.npmDescriptorToRegistryPrefix; }
|
|
477
739
|
});
|
|
478
740
|
Object.defineProperty(exports, "parseNpmToolDescriptor", {
|
|
479
741
|
enumerable: true,
|
|
480
|
-
get: function () { return
|
|
742
|
+
get: function () { return chunkAOEZBP6L_cjs.parseNpmToolDescriptor; }
|
|
481
743
|
});
|
|
482
744
|
Object.defineProperty(exports, "resolveNpmToolDescriptor", {
|
|
483
745
|
enumerable: true,
|
|
484
|
-
get: function () { return
|
|
746
|
+
get: function () { return chunkAOEZBP6L_cjs.resolveNpmToolDescriptor; }
|
|
485
747
|
});
|
|
486
748
|
Object.defineProperty(exports, "resolveToolDescriptor", {
|
|
487
749
|
enumerable: true,
|
|
488
|
-
get: function () { return
|
|
750
|
+
get: function () { return chunkAOEZBP6L_cjs.resolveToolDescriptor; }
|
|
489
751
|
});
|
|
490
752
|
Object.defineProperty(exports, "sanitizeForLog", {
|
|
491
753
|
enumerable: true,
|
|
492
|
-
get: function () { return
|
|
754
|
+
get: function () { return chunkAOEZBP6L_cjs.sanitizeForLog; }
|
|
493
755
|
});
|
|
494
756
|
Object.defineProperty(exports, "summarizeForLog", {
|
|
495
757
|
enumerable: true,
|
|
496
|
-
get: function () { return
|
|
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
|