@botuyo/mcp 0.4.1 → 0.6.0
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/README.md +19 -1
- package/dist/tools/__tests__/agent_families.spec.js +84 -8
- package/dist/tools/__tests__/agent_families.spec.js.map +1 -1
- package/dist/tools/__tests__/audit_agent_family.spec.d.ts +1 -0
- package/dist/tools/__tests__/audit_agent_family.spec.js +109 -0
- package/dist/tools/__tests__/audit_agent_family.spec.js.map +1 -0
- package/dist/tools/__tests__/export_agent_json.spec.js +66 -22
- package/dist/tools/__tests__/export_agent_json.spec.js.map +1 -1
- package/dist/tools/__tests__/import_agent_json.spec.js +28 -2
- package/dist/tools/__tests__/import_agent_json.spec.js.map +1 -1
- package/dist/tools/__tests__/update_agent.spec.js +6 -0
- package/dist/tools/__tests__/update_agent.spec.js.map +1 -1
- package/dist/tools/agent_families.d.ts +2 -1
- package/dist/tools/agent_families.js +88 -30
- package/dist/tools/agent_families.js.map +1 -1
- package/dist/tools/audit_agent_family.d.ts +18 -0
- package/dist/tools/audit_agent_family.js +136 -0
- package/dist/tools/audit_agent_family.js.map +1 -0
- package/dist/tools/example_agent.d.ts +2 -0
- package/dist/tools/example_agent.js +4 -0
- package/dist/tools/example_agent.js.map +1 -1
- package/dist/tools/export_agent_json.js +17 -1
- package/dist/tools/export_agent_json.js.map +1 -1
- package/dist/tools/import_agent_json.js +40 -4
- package/dist/tools/import_agent_json.js.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/update_agent.js +4 -0
- package/dist/tools/update_agent.js.map +1 -1
- package/package.json +2 -2
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* Write tools (create/update/add/remove/publish/delete/import) require role:
|
|
9
9
|
* owner, admin, or developer (enforced server-side).
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { buildExportMeta, parseExportMeta, sortVariantsByOrder } from '@botuyo/contracts';
|
|
12
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from 'fs';
|
|
13
|
+
import { basename, dirname, join, resolve } from 'path';
|
|
13
14
|
const BASE = '/api/v1/mcp/agent-families';
|
|
14
15
|
const PARTIAL_CONFIG_DESC = 'Partial agent config (only the fields that diverge). Same shape as agentConfig: ' +
|
|
15
16
|
'identity {tone,language,objective,customInstructions}, stages, connections, enabledTools, ' +
|
|
@@ -216,14 +217,14 @@ export async function deleteAgentFamilyHandler(client, args) {
|
|
|
216
217
|
// ── 10. export_agent_family ─────────────────────────────────────────────────
|
|
217
218
|
export const EXPORT_AGENT_FAMILY_TOOL = {
|
|
218
219
|
name: 'export_agent_family',
|
|
219
|
-
description: 'Export a
|
|
220
|
-
'
|
|
221
|
-
'
|
|
220
|
+
description: 'Export a family to a readable FOLDER: {savePath}/{slug}/family.json (name, slug, entryVariantKey, ' +
|
|
221
|
+
'base + metadata) plus one variants/{key}.json per variant. Default savePath ./agent-families. ' +
|
|
222
|
+
'Edit the files and re-import with import_agent_family (point it at the folder).',
|
|
222
223
|
inputSchema: {
|
|
223
224
|
type: 'object',
|
|
224
225
|
properties: {
|
|
225
226
|
familyId: { type: 'string', description: 'The agent family id.' },
|
|
226
|
-
savePath: { type: 'string', description: 'Optional directory for the saved
|
|
227
|
+
savePath: { type: 'string', description: 'Optional parent directory for the saved family folder. Default: ./agent-families/' }
|
|
227
228
|
},
|
|
228
229
|
required: ['familyId']
|
|
229
230
|
}
|
|
@@ -235,21 +236,29 @@ export async function exportAgentFamilyHandler(client, args) {
|
|
|
235
236
|
if (result?.success && result?.data?.family) {
|
|
236
237
|
try {
|
|
237
238
|
const family = result.data.family;
|
|
238
|
-
const
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
239
|
+
const slug = sanitizeName(family.slug || familyId);
|
|
240
|
+
const famDir = join(resolve(savePath), slug);
|
|
241
|
+
const variantsDir = join(famDir, 'variants');
|
|
242
|
+
mkdirSync(variantsDir, { recursive: true });
|
|
243
|
+
const variants = Array.isArray(family.variants) ? family.variants : [];
|
|
244
|
+
const { variants: _variants, ...familyMeta } = family;
|
|
245
|
+
void _variants;
|
|
246
|
+
// family.json: versioned _meta envelope + metadata + base, WITHOUT the (huge) variants array
|
|
247
|
+
const familyJson = {
|
|
248
|
+
_meta: buildExportMeta({ slug: family.slug, familyId: result.data.familyId }),
|
|
249
|
+
...familyMeta
|
|
250
|
+
};
|
|
251
|
+
writeFileSync(join(famDir, 'family.json'), JSON.stringify(familyJson, null, 2), 'utf-8');
|
|
252
|
+
// one file per variant — small, readable, clean diffs
|
|
253
|
+
for (const variant of variants) {
|
|
254
|
+
const key = sanitizeName(String(variant.key ?? 'variant'));
|
|
255
|
+
writeFileSync(join(variantsDir, `${key}.json`), JSON.stringify(variant, null, 2), 'utf-8');
|
|
256
|
+
}
|
|
257
|
+
result.savedTo = famDir;
|
|
258
|
+
result.message = `${result.message || ''} Saved family.json + ${variants.length} variant file(s) to: ${famDir}`;
|
|
250
259
|
}
|
|
251
260
|
catch (err) {
|
|
252
|
-
result.fileSaveError = `Could not save
|
|
261
|
+
result.fileSaveError = `Could not save folder: ${err instanceof Error ? err.message : String(err)}`;
|
|
253
262
|
}
|
|
254
263
|
}
|
|
255
264
|
return result;
|
|
@@ -257,11 +266,12 @@ export async function exportAgentFamilyHandler(client, args) {
|
|
|
257
266
|
// ── 11. import_agent_family ─────────────────────────────────────────────────
|
|
258
267
|
export const IMPORT_AGENT_FAMILY_TOOL = {
|
|
259
268
|
name: 'import_agent_family',
|
|
260
|
-
description: 'Import/replace a family\'s base + variant set from a local JSON file or an inline object (FULL REPLACE).\n\n' +
|
|
269
|
+
description: 'Import/replace a family\'s base + variant set from a local FOLDER, a single JSON file, or an inline object (FULL REPLACE).\n\n' +
|
|
261
270
|
'Reconciles members: surviving variant keys keep their materialized agent, new keys are created, ' +
|
|
262
271
|
'dropped keys are soft-deleted. Subject to the per-plan maxVariantsPerFamily limit.\n\n' +
|
|
263
|
-
'Provide the family via `filePath` (preferred — a
|
|
264
|
-
'If both are given, filePath wins.
|
|
272
|
+
'Provide the family via `filePath` (preferred — a folder from export_agent_family: family.json + variants/*.json; ' +
|
|
273
|
+
'a single legacy .json also works) or inline `family`. If both are given, filePath wins. ' +
|
|
274
|
+
'Requires role: owner, admin, or developer.',
|
|
265
275
|
inputSchema: {
|
|
266
276
|
type: 'object',
|
|
267
277
|
properties: {
|
|
@@ -269,7 +279,7 @@ export const IMPORT_AGENT_FAMILY_TOOL = {
|
|
|
269
279
|
type: 'string',
|
|
270
280
|
description: 'The family id to overwrite. If omitted and the file contains _familyId, that is used.'
|
|
271
281
|
},
|
|
272
|
-
filePath: { type: 'string', description: 'Path to a
|
|
282
|
+
filePath: { type: 'string', description: 'Path to a family folder (e.g. ./agent-families/ms-ellis), its family.json, or a single .json file.' },
|
|
273
283
|
family: {
|
|
274
284
|
type: 'object',
|
|
275
285
|
description: 'Inline family payload (fallback if filePath is omitted).',
|
|
@@ -294,20 +304,24 @@ export async function importAgentFamilyHandler(client, args) {
|
|
|
294
304
|
if (!existsSync(resolvedPath)) {
|
|
295
305
|
return {
|
|
296
306
|
success: false,
|
|
297
|
-
error: `
|
|
298
|
-
hint: 'Use export_agent_family first to create a local
|
|
307
|
+
error: `Path not found: ${resolvedPath}`,
|
|
308
|
+
hint: 'Use export_agent_family first to create a local family folder, or check the path.'
|
|
299
309
|
};
|
|
300
310
|
}
|
|
301
311
|
try {
|
|
302
|
-
const parsed =
|
|
303
|
-
|
|
312
|
+
const parsed = readFamilyFromPath(resolvedPath);
|
|
313
|
+
// Resolve provenance via the shared contract (versioned `_meta` or legacy `_familyId`).
|
|
314
|
+
if (!familyId)
|
|
315
|
+
familyId = parseExportMeta(parsed).familyId;
|
|
316
|
+
// Strip provenance fields so only authoring content reaches the API.
|
|
317
|
+
const { _exportedAt, _familyId, _meta, ...content } = parsed;
|
|
304
318
|
void _exportedAt;
|
|
305
|
-
|
|
306
|
-
|
|
319
|
+
void _familyId;
|
|
320
|
+
void _meta;
|
|
307
321
|
family = content;
|
|
308
322
|
}
|
|
309
323
|
catch (err) {
|
|
310
|
-
return { success: false, error: `Failed to read/parse
|
|
324
|
+
return { success: false, error: `Failed to read/parse: ${err instanceof Error ? err.message : String(err)}`, path: resolvedPath };
|
|
311
325
|
}
|
|
312
326
|
}
|
|
313
327
|
if (!familyId) {
|
|
@@ -322,4 +336,48 @@ export async function importAgentFamilyHandler(client, args) {
|
|
|
322
336
|
const result = await client.put(`${BASE}/${familyId}/import`, family);
|
|
323
337
|
return { ...result, importedFrom: filePath ? resolve(filePath) : 'inline' };
|
|
324
338
|
}
|
|
339
|
+
// ── helpers ─────────────────────────────────────────────────────────────────
|
|
340
|
+
/** Make a slug/variant key safe to use as a file/directory name. */
|
|
341
|
+
function sanitizeName(name) {
|
|
342
|
+
const cleaned = String(name)
|
|
343
|
+
.trim()
|
|
344
|
+
.replace(/[^a-zA-Z0-9._-]+/g, '-')
|
|
345
|
+
.replace(/^[-.]+|[-.]+$/g, '');
|
|
346
|
+
return cleaned || 'family';
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Read a family payload from a path that may be:
|
|
350
|
+
* - a folder (family.json + variants/*.json) → reassembled with a `variants` array,
|
|
351
|
+
* - a `family.json` file → its parent folder is reassembled,
|
|
352
|
+
* - a single legacy .json file (variants inline) → parsed as-is.
|
|
353
|
+
*/
|
|
354
|
+
function readFamilyFromPath(resolvedPath) {
|
|
355
|
+
const stat = statSync(resolvedPath);
|
|
356
|
+
if (stat.isDirectory())
|
|
357
|
+
return readFamilyFromFolder(resolvedPath);
|
|
358
|
+
if (basename(resolvedPath).toLowerCase() === 'family.json')
|
|
359
|
+
return readFamilyFromFolder(dirname(resolvedPath));
|
|
360
|
+
return JSON.parse(readFileSync(resolvedPath, 'utf-8'));
|
|
361
|
+
}
|
|
362
|
+
/** Reassemble a folder (family.json + variants/*.json) into a single family object. */
|
|
363
|
+
function readFamilyFromFolder(dir) {
|
|
364
|
+
const familyJsonPath = join(dir, 'family.json');
|
|
365
|
+
if (!existsSync(familyJsonPath)) {
|
|
366
|
+
throw new Error(`family.json not found in folder: ${dir}`);
|
|
367
|
+
}
|
|
368
|
+
const family = JSON.parse(readFileSync(familyJsonPath, 'utf-8'));
|
|
369
|
+
const variantsDir = join(dir, 'variants');
|
|
370
|
+
const variants = [];
|
|
371
|
+
if (existsSync(variantsDir) && statSync(variantsDir).isDirectory()) {
|
|
372
|
+
const files = readdirSync(variantsDir)
|
|
373
|
+
.filter((f) => f.toLowerCase().endsWith('.json'))
|
|
374
|
+
.sort();
|
|
375
|
+
for (const file of files) {
|
|
376
|
+
variants.push(JSON.parse(readFileSync(join(variantsDir, file), 'utf-8')));
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// Variant filenames are arbitrary; the source of truth for sequence is each variant's
|
|
380
|
+
// `order`. Stable-sort by order (order-less variants sink to the end) via the shared contract.
|
|
381
|
+
return { ...family, variants: sortVariantsByOrder(variants) };
|
|
382
|
+
}
|
|
325
383
|
//# sourceMappingURL=agent_families.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_families.js","sourceRoot":"","sources":["../../src/tools/agent_families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEpC,MAAM,IAAI,GAAG,4BAA4B,CAAA;AAEzC,MAAM,mBAAmB,GACvB,kFAAkF;IAClF,4FAA4F;IAC5F,0FAA0F;IAC1F,6CAA6C,CAAA;AAE/C,MAAM,YAAY,GAAG;IACnB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yEAAyE,EAAE;IAC/G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;IAC7F,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC/D,cAAc,EAAE;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE,0DAA0D;KACxE;IACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;CACjE,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,qGAAqG;IACvG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;CAChD,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,KAA8B;IACpG,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+DAA+D;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE;QACjF,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAuB,EAAE,IAA6B;IAChG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,sFAAsF;QACtF,kFAAkF;QAClF,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;YAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YAC/G,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;YAClH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,mBAAmB,EAAE,EAAE;YAC9G,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,uEAAuE;gBACpF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;aAChF;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC;KAC1D;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,yFAAyF;QACzF,0FAA0F;IAC5F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,mBAAmB,EAAE,EAAE;SACxF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;KAC/B;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;AACzF,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,gGAAgG;QAChG,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,GAAG,YAAY,EAAE;QAClG,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;KACvC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,WAAW,EAAE;QAChE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,oGAAoG;QACpG,uFAAuF;IACzF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAChF,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,KAAK,EAAE,YAAY,CAAC,KAAK;SAC1B;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACrC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAuB,EAAE,IAA6B;IACrG,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACtD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAClE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IACjF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACtD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,aAAa,IAAI,CAAC,UAAoB,EAAE,EAAE,KAAK,CAAC,CAAA;AACtG,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,gGAAgG;QAChG,oFAAoF;IACtF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;SACjF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACrC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAuB,EAAE,IAA6B;IACrG,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,aAAa,IAAI,CAAC,UAAoB,EAAE,CAAC,CAAA;AAClG,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAS;IAC7C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,uFAAuF;QACvF,4CAA4C;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE;QACjF,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAuB,EAAE,IAA6B;IACpG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,UAAU,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,4FAA4F;QAC5F,gGAAgG;QAChG,2DAA2D;IAC7D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC9E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;SAC7F;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;KACjD;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,iGAAiG,EAAE,CAAA;IACrH,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,wFAAwF,EAAE,CAAA;IAC5G,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAkB,EAAE,CAAC,CAAiC,CAAA;IAClG,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAA;IACrC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,QAAQ,aAAa,EAAE,CAAA;IACxE,IAAI,UAAU,CAAC,IAAI,EAAE,KAAM,WAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,gCAAgC,WAAW,8BAA8B,UAAU,uCAAuC;SAClI,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,QAAkB,EAAE,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,UAAU,MAAM,QAAQ,qBAAqB,EAAE,GAAI,MAAiB,EAAE,CAAA;AAC1H,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,0GAA0G;QAC1G,oGAAoG;QACpG,wDAAwD;IAC1D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE;SAC/G;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAkB,CAAA;IACxC,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAmB,IAAI,kBAAkB,CAAA;IAEhE,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,SAAS,CAAC,CAM7D,CAAA;IAED,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAA;YACjC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;iBACxC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;iBACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,WAAW,EAAE;iBACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC7B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAA;YACrG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAClE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;YACzB,MAAM,CAAC,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,mBAAmB,QAAQ,EAAE,CAAA;QACvE,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,aAAa,GAAG,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACnG,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,8GAA8G;QAC9G,kGAAkG;QAClG,wFAAwF;QACxF,sGAAsG;QACtG,8EAA8E;IAChF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uFAAuF;aACrG;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yEAAyE,EAAE;YACpH,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;gBACvE,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;oBACvF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;iBAC7G;gBACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;aAC1C;SACF;KACF;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,IAAI,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAA;IAClD,IAAI,MAAM,GAAG,IAAI,CAAC,MAA6C,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAA;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB,YAAY,EAAE;gBACxC,IAAI,EAAE,0EAA0E;aACjF,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;YAC9D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAA;YACrD,KAAK,WAAW,CAAA;YAChB,IAAI,CAAC,QAAQ,IAAI,SAAS;gBAAE,QAAQ,GAAG,SAAS,CAAA;YAChD,MAAM,GAAG,OAAO,CAAA;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACxI,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mHAAmH;SAC3H,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0FAA0F,EAAE,CAAA;IAC9H,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,SAAS,EAAE,MAAM,CAAC,CAAA;IACrE,OAAO,EAAE,GAAI,MAAiB,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AACzF,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent_families.js","sourceRoot":"","sources":["../../src/tools/agent_families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAEzF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEvD,MAAM,IAAI,GAAG,4BAA4B,CAAA;AAEzC,MAAM,mBAAmB,GACvB,kFAAkF;IAClF,4FAA4F;IAC5F,0FAA0F;IAC1F,6CAA6C,CAAA;AAE/C,MAAM,YAAY,GAAG;IACnB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yEAAyE,EAAE;IAC/G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;IAC7F,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC/D,cAAc,EAAE;QACd,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE,0DAA0D;KACxE;IACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;CACjE,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,qGAAqG;IACvG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;CAChD,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,KAA8B;IACpG,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+DAA+D;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE;QACjF,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAuB,EAAE,IAA6B;IAChG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,EAAE,CAAC,CAAA;AACzD,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,sFAAsF;QACtF,kFAAkF;QAClF,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;YAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;YAC/G,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;YAClH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,mBAAmB,EAAE,EAAE;YAC9G,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,uEAAuE;gBACpF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;aAChF;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC;KAC1D;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,yFAAyF;QACzF,0FAA0F;IAC5F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,mBAAmB,EAAE,EAAE;SACxF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;KAC/B;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;AACzF,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,gGAAgG;QAChG,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,GAAG,YAAY,EAAE;QAClG,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;KACvC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,IAA6B;IAClG,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,WAAW,EAAE;QAChE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,oGAAoG;QACpG,uFAAuF;IACzF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAChF,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,KAAK,EAAE,YAAY,CAAC,KAAK;SAC1B;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACrC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAuB,EAAE,IAA6B;IACrG,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACtD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAClE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IACjF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACtD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,aAAa,IAAI,CAAC,UAAoB,EAAE,EAAE,KAAK,CAAC,CAAA;AACtG,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,gGAAgG;QAChG,oFAAoF;IACtF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;SACjF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;KACrC;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAuB,EAAE,IAA6B;IACrG,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,aAAa,IAAI,CAAC,UAAoB,EAAE,CAAC,CAAA;AAClG,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAS;IAC7C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,uFAAuF;QACvF,4CAA4C;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE;QACjF,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAuB,EAAE,IAA6B;IACpG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,QAAkB,UAAU,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,4FAA4F;QAC5F,gGAAgG;QAChG,2DAA2D;IAC7D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC9E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;SAC7F;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC;KACjD;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,iGAAiG,EAAE,CAAA;IACrH,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,KAAK,EAAE,wFAAwF,EAAE,CAAA;IAC5G,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAkB,EAAE,CAAC,CAAiC,CAAA;IAClG,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAA;IACrC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,QAAQ,aAAa,EAAE,CAAA;IACxE,IAAI,UAAU,CAAC,IAAI,EAAE,KAAM,WAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,gCAAgC,WAAW,8BAA8B,UAAU,uCAAuC;SAClI,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,QAAkB,EAAE,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,UAAU,MAAM,QAAQ,qBAAqB,EAAE,GAAI,MAAiB,EAAE,CAAA;AAC1H,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,oGAAoG;QACpG,gGAAgG;QAChG,iFAAiF;IACnF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mFAAmF,EAAE;SAC/H;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAkB,CAAA;IACxC,MAAM,QAAQ,GAAI,IAAI,CAAC,QAAmB,IAAI,kBAAkB,CAAA;IAEhE,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,SAAS,CAAC,CAM7D,CAAA;IAED,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAA;YACjC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAC5C,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;YACtE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAA;YACrD,KAAK,SAAS,CAAA;YACd,6FAA6F;YAC7F,MAAM,UAAU,GAAG;gBACjB,KAAK,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7E,GAAG,UAAU;aACd,CAAA;YACD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACxF,sDAAsD;YACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAE,OAA6B,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAA;gBACjF,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAC5F,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;YACvB,MAAM,CAAC,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,wBAAwB,QAAQ,CAAC,MAAM,wBAAwB,MAAM,EAAE,CAAA;QACjH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,aAAa,GAAG,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACrG,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,gIAAgI;QAChI,kGAAkG;QAClG,wFAAwF;QACxF,mHAAmH;QACnH,0FAA0F;QAC1F,4CAA4C;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uFAAuF;aACrG;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oGAAoG,EAAE;YAC/I,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;gBACvE,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;oBACvF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;iBAC7G;gBACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC;aAC1C;SACF;KACF;CACF,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,IAAI,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAA;IAClD,IAAI,MAAM,GAAG,IAAI,CAAC,MAA6C,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAA;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB,YAAY,EAAE;gBACxC,IAAI,EAAE,mFAAmF;aAC1F,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;YAC/C,wFAAwF;YACxF,IAAI,CAAC,QAAQ;gBAAE,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAA;YAC1D,qEAAqE;YACrE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAA;YAC5D,KAAK,WAAW,CAAA;YAChB,KAAK,SAAS,CAAA;YACd,KAAK,KAAK,CAAA;YACV,MAAM,GAAG,OAAO,CAAA;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACnI,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mHAAmH;SAC3H,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0FAA0F,EAAE,CAAA;IAC9H,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,SAAS,EAAE,MAAM,CAAC,CAAA;IACrE,OAAO,EAAE,GAAI,MAAiB,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AACzF,CAAC;AAED,+EAA+E;AAE/E,oEAAoE;AACpE,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;SACzB,IAAI,EAAE;SACN,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;SACjC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IAChC,OAAO,OAAO,IAAI,QAAQ,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IACnC,IAAI,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAA;IACjE,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9G,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAA;AACnF,CAAC;AAED,uFAAuF;AACvF,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAC/C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAA4B,CAAA;IAE3F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAmC,EAAE,CAAA;IACnD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChD,IAAI,EAAE,CAAA;QACT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAA4B,CAAC,CAAA;QACtG,CAAC;IACH,CAAC;IACD,sFAAsF;IACtF,+FAA+F;IAC/F,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAqC,CAAC,EAAE,CAAA;AAC5F,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* audit_agent_family — READ-ONLY config-quality audit for agent families.
|
|
3
|
+
*
|
|
4
|
+
* For each variant's effective config (base deep-merged with the variant overrides) it
|
|
5
|
+
* reports issues without changing anything:
|
|
6
|
+
* - invalid voice profile (not a known id / display name / Gemini name) [error]
|
|
7
|
+
* - non-canonical voice profile (valid but not stored as the id form) [info]
|
|
8
|
+
* - customInstructions over the 2000-char limit (silently truncated) [warning]
|
|
9
|
+
* - avatar values that are not http(s)/data URLs (won't render) [warning]
|
|
10
|
+
* - deprecated AI model id [warning]
|
|
11
|
+
* - family-of-one with no memoryNamespace (re-materialize → slug) [info]
|
|
12
|
+
*
|
|
13
|
+
* Rules come from @botuyo/contracts (single source of truth shared with the backend).
|
|
14
|
+
*/
|
|
15
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
16
|
+
import type { BotuyoApiClient } from '../client.js';
|
|
17
|
+
export declare const AUDIT_AGENT_FAMILY_TOOL: Tool;
|
|
18
|
+
export declare function auditAgentFamilyHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<unknown>;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* audit_agent_family — READ-ONLY config-quality audit for agent families.
|
|
3
|
+
*
|
|
4
|
+
* For each variant's effective config (base deep-merged with the variant overrides) it
|
|
5
|
+
* reports issues without changing anything:
|
|
6
|
+
* - invalid voice profile (not a known id / display name / Gemini name) [error]
|
|
7
|
+
* - non-canonical voice profile (valid but not stored as the id form) [info]
|
|
8
|
+
* - customInstructions over the 2000-char limit (silently truncated) [warning]
|
|
9
|
+
* - avatar values that are not http(s)/data URLs (won't render) [warning]
|
|
10
|
+
* - deprecated AI model id [warning]
|
|
11
|
+
* - family-of-one with no memoryNamespace (re-materialize → slug) [info]
|
|
12
|
+
*
|
|
13
|
+
* Rules come from @botuyo/contracts (single source of truth shared with the backend).
|
|
14
|
+
*/
|
|
15
|
+
import { resolveVoiceProfile, isDeprecatedModel, normalizeModel } from '@botuyo/contracts';
|
|
16
|
+
const BASE = '/api/v1/mcp/agent-families';
|
|
17
|
+
/** PromptComposer.sanitizeCustomInstructions truncates customInstructions beyond this. */
|
|
18
|
+
const MAX_CUSTOM_INSTRUCTIONS = 2000;
|
|
19
|
+
export const AUDIT_AGENT_FAMILY_TOOL = {
|
|
20
|
+
name: 'audit_agent_family',
|
|
21
|
+
description: 'Read-only audit of agent families for config-quality issues (changes NOTHING). For each variant\'s ' +
|
|
22
|
+
'effective config (base deep-merged with overrides) it reports: invalid or non-canonical voice profiles, ' +
|
|
23
|
+
'customInstructions over the 2000-char limit (silently truncated at runtime), avatar values that are not ' +
|
|
24
|
+
'http(s) URLs, deprecated AI models, and family-of-one members whose memoryNamespace will default to the ' +
|
|
25
|
+
'slug on re-materialize. Pass `familyId` to audit one family, or omit it to audit EVERY family in the ' +
|
|
26
|
+
'current tenant. Available to any authenticated role.',
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
familyId: { type: 'string', description: 'Audit one family by id. Omit to audit all families in the tenant.' }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const asObj = (v) => (v && typeof v === 'object' && !Array.isArray(v) ? v : {});
|
|
35
|
+
const asStr = (v) => (typeof v === 'string' ? v : undefined);
|
|
36
|
+
export async function auditAgentFamilyHandler(client, args) {
|
|
37
|
+
const familyId = asStr(args.familyId);
|
|
38
|
+
const families = familyId ? [await fetchFamily(client, familyId)] : await fetchAll(client);
|
|
39
|
+
const reports = families.filter((f) => !!f).map(auditFamily);
|
|
40
|
+
const totals = reports.reduce((a, r) => ({
|
|
41
|
+
errors: a.errors + r.summary.errors,
|
|
42
|
+
warnings: a.warnings + r.summary.warnings,
|
|
43
|
+
infos: a.infos + r.summary.infos
|
|
44
|
+
}), { errors: 0, warnings: 0, infos: 0 });
|
|
45
|
+
return { success: true, audited: reports.length, totals, reports };
|
|
46
|
+
}
|
|
47
|
+
async function fetchFamily(client, id) {
|
|
48
|
+
const res = (await client.get(`${BASE}/${id}`));
|
|
49
|
+
if (!res)
|
|
50
|
+
return null;
|
|
51
|
+
const data = res.data;
|
|
52
|
+
return data ?? res;
|
|
53
|
+
}
|
|
54
|
+
async function fetchAll(client) {
|
|
55
|
+
const res = (await client.get(BASE));
|
|
56
|
+
const list = Array.isArray(res) ? res : Array.isArray(res?.data) ? res.data : [];
|
|
57
|
+
return Promise.all(list.map((f) => fetchFamily(client, String(f._id))));
|
|
58
|
+
}
|
|
59
|
+
/** Shallow merge with one level of nesting for the audited object fields. */
|
|
60
|
+
function mergeConfig(base, overrides) {
|
|
61
|
+
const out = { ...base, ...overrides };
|
|
62
|
+
for (const k of ['identity', 'voice', 'widgetConfig']) {
|
|
63
|
+
if (base[k] || overrides[k])
|
|
64
|
+
out[k] = { ...asObj(base[k]), ...asObj(overrides[k]) };
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
function auditFamily(fam) {
|
|
69
|
+
const issues = [];
|
|
70
|
+
const base = asObj(fam.base);
|
|
71
|
+
const variants = Array.isArray(fam.variants) ? fam.variants : [];
|
|
72
|
+
// Family-of-one with no memoryNamespace → re-materialize will set it to the slug.
|
|
73
|
+
if (variants.length === 1) {
|
|
74
|
+
const eff = mergeConfig(base, asObj(variants[0]?.overrides));
|
|
75
|
+
if (!asStr(eff.memoryNamespace)) {
|
|
76
|
+
issues.push({
|
|
77
|
+
scope: `variant:${variants[0]?.key ?? '?'}`,
|
|
78
|
+
severity: 'info',
|
|
79
|
+
code: 'memory_default_slug',
|
|
80
|
+
message: `No memoryNamespace set → re-materialize will default it to the slug "${fam.slug ?? '?'}" (moves the memory bucket off the per-agent default).`
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
for (const v of variants) {
|
|
85
|
+
auditConfig(mergeConfig(base, asObj(v.overrides)), `variant:${v.key ?? '?'}`, issues);
|
|
86
|
+
}
|
|
87
|
+
const summary = {
|
|
88
|
+
errors: issues.filter((i) => i.severity === 'error').length,
|
|
89
|
+
warnings: issues.filter((i) => i.severity === 'warning').length,
|
|
90
|
+
infos: issues.filter((i) => i.severity === 'info').length
|
|
91
|
+
};
|
|
92
|
+
return { familyId: fam._id, slug: fam.slug, name: fam.name, variants: variants.length, issues, summary };
|
|
93
|
+
}
|
|
94
|
+
function auditConfig(cfg, scope, issues) {
|
|
95
|
+
// Voice profile
|
|
96
|
+
const profile = asStr(asObj(cfg.voice).profile);
|
|
97
|
+
if (profile) {
|
|
98
|
+
const resolved = resolveVoiceProfile(profile);
|
|
99
|
+
if (!resolved) {
|
|
100
|
+
issues.push({ scope, severity: 'error', code: 'invalid_voice', message: `voice.profile "${profile}" is not a known voice (id / display name / Gemini name).` });
|
|
101
|
+
}
|
|
102
|
+
else if (resolved.id !== profile) {
|
|
103
|
+
issues.push({ scope, severity: 'info', code: 'noncanonical_voice', message: `voice.profile "${profile}" is valid but not canonical → normalize to id "${resolved.id}".` });
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Custom instructions length
|
|
107
|
+
const ci = asStr(asObj(cfg.identity).customInstructions);
|
|
108
|
+
if (ci && ci.length > MAX_CUSTOM_INSTRUCTIONS) {
|
|
109
|
+
issues.push({
|
|
110
|
+
scope,
|
|
111
|
+
severity: 'warning',
|
|
112
|
+
code: 'prompt_truncated',
|
|
113
|
+
message: `identity.customInstructions is ${ci.length} chars; the runtime truncates at ${MAX_CUSTOM_INSTRUCTIONS} (loses ${ci.length - MAX_CUSTOM_INSTRUCTIONS} chars).`
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// Avatar values must be http(s)/data URLs
|
|
117
|
+
const wc = asObj(cfg.widgetConfig);
|
|
118
|
+
const candidates = [];
|
|
119
|
+
for (const k of ['avatarUrl', 'logoUrl', 'avatar3dUrl'])
|
|
120
|
+
if (wc[k] !== undefined)
|
|
121
|
+
candidates.push([`widgetConfig.${k}`, wc[k]]);
|
|
122
|
+
for (const [emotion, val] of Object.entries(asObj(wc.avatar2dAnimations)))
|
|
123
|
+
candidates.push([`avatar2dAnimations.${emotion}`, val]);
|
|
124
|
+
for (const [path, val] of candidates) {
|
|
125
|
+
const s = asStr(val);
|
|
126
|
+
if (s && !/^(https?:\/\/|data:)/i.test(s)) {
|
|
127
|
+
issues.push({ scope, severity: 'warning', code: 'non_url_avatar', message: `${path} = "${s}" is not an http(s) URL → it will not render on a widget domain.` });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Deprecated AI model
|
|
131
|
+
const model = asStr(cfg.model);
|
|
132
|
+
if (model && isDeprecatedModel(model)) {
|
|
133
|
+
issues.push({ scope, severity: 'warning', code: 'deprecated_model', message: `model "${model}" is deprecated → use "${normalizeModel(model)}".` });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=audit_agent_family.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit_agent_family.js","sourceRoot":"","sources":["../../src/tools/audit_agent_family.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,6 +104,8 @@ export declare function exampleAgentHandler(): Promise<{
|
|
|
104
104
|
_enabledTools_doc: string;
|
|
105
105
|
channels: string[];
|
|
106
106
|
_channels_doc: string;
|
|
107
|
+
requiresUserIdentity: boolean;
|
|
108
|
+
_requiresUserIdentity_doc: string;
|
|
107
109
|
toolConfigs: {
|
|
108
110
|
send_email: {
|
|
109
111
|
params: {
|
|
@@ -163,6 +163,10 @@ export async function exampleAgentHandler() {
|
|
|
163
163
|
_channels_doc: 'Array of channels the agent is published on. Valid: "web", "whatsapp", "telegram", "discord", "instagram", "phone". ' +
|
|
164
164
|
'Runtime filters tools by channel compatibility — text-only tools (e.g. create_pre_reservation) won\'t load on phone. ' +
|
|
165
165
|
'You can have phone + text-only tools as long as your channelFlows.phone never reaches stages with those tools.',
|
|
166
|
+
requiresUserIdentity: false,
|
|
167
|
+
_requiresUserIdentity_doc: 'Optional. Boolean (default false). SECURITY flag: when true, the agent requires a per-user identity ' +
|
|
168
|
+
'and is rejected on the anonymous web widget channel — it only runs on identity-bearing channels like Telegram. ' +
|
|
169
|
+
'Enable it for personal-assistant-style agents that read/write per-user data (Gmail, Calendar, tasks, etc.).',
|
|
166
170
|
// ─── TOOL CONFIGURATIONS ────────────────────────────────────────
|
|
167
171
|
toolConfigs: {
|
|
168
172
|
// Single-instance: configure an existing tool with fixed params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example_agent.js","sourceRoot":"","sources":["../../src/tools/example_agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"example_agent.js","sourceRoot":"","sources":["../../src/tools/example_agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { writeFileSync, mkdirSync } from 'fs';
|
|
2
2
|
import { join, resolve } from 'path';
|
|
3
|
+
import { exportAgentFamilyHandler } from './agent_families.js';
|
|
3
4
|
export const EXPORT_AGENT_JSON_TOOL = {
|
|
4
5
|
name: 'export_agent_json',
|
|
5
|
-
description: `Export
|
|
6
|
+
description: `Export an agent's configuration as clean, editable JSON.
|
|
7
|
+
|
|
8
|
+
Unified model: if the agent belongs to a family (the normal case — every agent created
|
|
9
|
+
via create_agent is a family-of-one), this exports the WHOLE logical agent as a portable
|
|
10
|
+
FOLDER ({slug}/family.json + variants/<key>.json; a simple agent has exactly one variant
|
|
11
|
+
file) — identical to export_agent_family. Re-import with import_agent_json or import_agent_family.
|
|
12
|
+
|
|
13
|
+
For a legacy standalone agent (e.g. module-managed) it falls back to a single flat JSON file:
|
|
6
14
|
|
|
7
15
|
Returns the complete agentConfig including identity, stages, connections (graph edges),
|
|
8
16
|
channelFlows, enabledTools, channels, widgetConfig, voice, and all other settings.
|
|
@@ -24,6 +32,14 @@ Use import_agent_json to re-import after editing.`,
|
|
|
24
32
|
};
|
|
25
33
|
export async function exportAgentJsonHandler(client, args) {
|
|
26
34
|
const agentId = args.agentId;
|
|
35
|
+
// Unified model: if this agent belongs to a family (incl. a backfilled family-of-1),
|
|
36
|
+
// export the whole logical agent in the uniform folder layout (simple = 1 variant file).
|
|
37
|
+
const agentRes = (await client.get(`/api/v1/mcp/agents/${agentId}`));
|
|
38
|
+
const familyId = agentRes?.data?.familyId;
|
|
39
|
+
if (familyId) {
|
|
40
|
+
return exportAgentFamilyHandler(client, { familyId, ...(args.savePath ? { savePath: args.savePath } : {}) });
|
|
41
|
+
}
|
|
42
|
+
// Legacy standalone (module-managed / pre-backfill): original single-file export.
|
|
27
43
|
const savePath = args.savePath || './agents';
|
|
28
44
|
const result = await client.get(`/api/v1/mcp/agents/${agentId}/export`);
|
|
29
45
|
// Auto-save to local file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export_agent_json.js","sourceRoot":"","sources":["../../src/tools/export_agent_json.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"export_agent_json.js","sourceRoot":"","sources":["../../src/tools/export_agent_json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from 'fs';
|
|
2
|
-
import { resolve } from 'path';
|
|
1
|
+
import { readFileSync, existsSync, statSync } from 'fs';
|
|
2
|
+
import { resolve, basename, join } from 'path';
|
|
3
3
|
import { voiceProfileHelp } from '../format.js';
|
|
4
|
+
import { importAgentFamilyHandler } from './agent_families.js';
|
|
4
5
|
export const IMPORT_AGENT_JSON_TOOL = {
|
|
5
6
|
name: 'import_agent_json',
|
|
6
7
|
description: `Import/replace an agent's FULL configuration from a local JSON file or from a JSON object.
|
|
7
8
|
|
|
9
|
+
Unified model: if filePath points to a FAMILY export (a folder with family.json + variants/,
|
|
10
|
+
a family.json, or a payload carrying \`variants\`/\`_meta\`), this round-trips through the family
|
|
11
|
+
importer (respects base + variants) — identical to import_agent_family. Otherwise it does the
|
|
12
|
+
legacy single-agent member import below.
|
|
13
|
+
|
|
8
14
|
**This is a FULL REPLACE operation** — the entire agentConfig is overwritten with the provided config.
|
|
9
15
|
For partial updates (changing just one field), use update_agent instead.
|
|
10
16
|
|
|
@@ -119,7 +125,8 @@ Requires role: owner, admin, or developer.`,
|
|
|
119
125
|
},
|
|
120
126
|
channelPrompts: { type: 'object', description: 'Per-channel system prompt overrides: { channelName: "prompt text" }' },
|
|
121
127
|
knowledgeDocumentIds: { type: 'array', items: { type: 'string' }, description: 'Knowledge base document IDs for RAG' },
|
|
122
|
-
allowedOrigins: { type: 'array', items: { type: 'string' }, description: 'CORS allowed origins for web widget embedding' }
|
|
128
|
+
allowedOrigins: { type: 'array', items: { type: 'string' }, description: 'CORS allowed origins for web widget embedding' },
|
|
129
|
+
requiresUserIdentity: { type: 'boolean', description: 'SECURITY: when true, the agent is blocked on the anonymous web widget channel and only runs on identity-bearing channels (e.g. Telegram). Default false.' }
|
|
123
130
|
},
|
|
124
131
|
required: ['name', 'identity']
|
|
125
132
|
}
|
|
@@ -128,10 +135,18 @@ Requires role: owner, admin, or developer.`,
|
|
|
128
135
|
}
|
|
129
136
|
};
|
|
130
137
|
export async function importAgentJsonHandler(client, args) {
|
|
138
|
+
const filePath = args.filePath;
|
|
139
|
+
// Unified model: a family export (folder / family.json / payload carrying variants or _meta)
|
|
140
|
+
// round-trips through the family importer (respects base + variants, not the raw member).
|
|
141
|
+
if (filePath && existsSync(resolve(filePath)) && isFamilyExport(resolve(filePath))) {
|
|
142
|
+
return importAgentFamilyHandler(client, {
|
|
143
|
+
...(args.familyId ? { familyId: args.familyId } : {}),
|
|
144
|
+
filePath
|
|
145
|
+
});
|
|
146
|
+
}
|
|
131
147
|
let agentId = args.agentId;
|
|
132
148
|
let agentConfig = args.agentConfig;
|
|
133
149
|
// If filePath is provided, read the JSON from local filesystem
|
|
134
|
-
const filePath = args.filePath;
|
|
135
150
|
if (filePath) {
|
|
136
151
|
const resolvedPath = resolve(filePath);
|
|
137
152
|
if (!existsSync(resolvedPath)) {
|
|
@@ -178,4 +193,25 @@ export async function importAgentJsonHandler(client, args) {
|
|
|
178
193
|
importedFrom: filePath ? resolve(filePath) : 'inline',
|
|
179
194
|
};
|
|
180
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Whether `resolvedPath` looks like a family export (vs a legacy single-agent file):
|
|
198
|
+
* - a directory containing family.json,
|
|
199
|
+
* - a family.json file,
|
|
200
|
+
* - a JSON payload carrying a `variants` array or the versioned `_meta` envelope.
|
|
201
|
+
* Family exports round-trip through import_agent_family; everything else stays legacy.
|
|
202
|
+
*/
|
|
203
|
+
function isFamilyExport(resolvedPath) {
|
|
204
|
+
const stat = statSync(resolvedPath);
|
|
205
|
+
if (stat.isDirectory())
|
|
206
|
+
return existsSync(join(resolvedPath, 'family.json'));
|
|
207
|
+
if (basename(resolvedPath).toLowerCase() === 'family.json')
|
|
208
|
+
return true;
|
|
209
|
+
try {
|
|
210
|
+
const parsed = JSON.parse(readFileSync(resolvedPath, 'utf-8'));
|
|
211
|
+
return Array.isArray(parsed.variants) || typeof parsed._meta?.schema === 'string';
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
181
217
|
//# sourceMappingURL=import_agent_json.js.map
|