@inspectr/mcplab-core 0.1.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.
@@ -0,0 +1,23 @@
1
+ import type { EvalConfig, ExecutableEvalConfig, SourceEvalConfig } from './types.js';
2
+ export declare function loadConfig(path: string, options?: {
3
+ bundleRoot?: string;
4
+ }): {
5
+ config: EvalConfig;
6
+ sourceConfig: SourceEvalConfig;
7
+ hash: string;
8
+ raw: string;
9
+ warnings: string[];
10
+ };
11
+ export declare function selectScenarios<T extends {
12
+ scenarios: Array<{
13
+ id: string;
14
+ }>;
15
+ }>(config: T, scenarioId?: string): T;
16
+ export declare function normalizeSourceConfig(sourceConfig: SourceEvalConfig): {
17
+ config: SourceEvalConfig;
18
+ warnings: string[];
19
+ };
20
+ export declare function normalizeLibraryServers(raw: unknown): Record<string, EvalConfig['servers'][string]>;
21
+ export declare function normalizeLibraryAgents(raw: unknown): Record<string, EvalConfig['agents'][string]>;
22
+ export declare function expandConfigForAgents(config: EvalConfig, requestedAgents?: string[]): ExecutableEvalConfig;
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAIV,UAAU,EACV,oBAAoB,EAOpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAWA;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAC5E,MAAM,EAAE,CAAC,EACT,UAAU,CAAC,EAAE,MAAM,GAClB,CAAC,CAOH;AAuKD,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,gBAAgB,GAC7B;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA+MlD;AAYD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAoCnG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CA0CjG;AAgDD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,oBAAoB,CAuBtB"}
package/dist/config.js ADDED
@@ -0,0 +1,513 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, readFileSync, readdirSync } from 'node:fs';
3
+ import { dirname, join, resolve } from 'node:path';
4
+ import { parse } from 'yaml';
5
+ export function loadConfig(path, options) {
6
+ const raw = readFileSync(path, 'utf8');
7
+ const sourceConfig = parse(raw);
8
+ if (!sourceConfig || typeof sourceConfig !== 'object') {
9
+ throw new Error('Invalid config: expected object');
10
+ }
11
+ const { config: normalizedSource, warnings } = normalizeSourceConfig(sourceConfig);
12
+ const config = resolveReferences(normalizedSource, path, options?.bundleRoot);
13
+ const hash = createHash('sha256').update(stableStringify(config)).digest('hex');
14
+ return { config, sourceConfig: normalizedSource, hash, raw, warnings };
15
+ }
16
+ export function selectScenarios(config, scenarioId) {
17
+ if (!scenarioId)
18
+ return config;
19
+ const scenarios = config.scenarios.filter((s) => s.id === scenarioId);
20
+ if (scenarios.length === 0) {
21
+ throw new Error(`Scenario not found: ${scenarioId}`);
22
+ }
23
+ return { ...config, scenarios };
24
+ }
25
+ function resolveReferences(sourceConfig, configPath, bundleRootOverride) {
26
+ const bundleRoot = bundleRootOverride
27
+ ? resolve(bundleRootOverride)
28
+ : detectBundleRoot(configPath);
29
+ const libraryServers = normalizeLibraryServers(readYaml(join(bundleRoot, 'servers.yaml'), {}));
30
+ const libraryAgents = normalizeLibraryAgents(readYaml(join(bundleRoot, 'agents.yaml'), {}));
31
+ const libraryScenarios = readScenarioLibrary(join(bundleRoot, 'scenarios'));
32
+ const missingServerRefs = [];
33
+ const resolvedServers = {};
34
+ const seenServerNames = new Set();
35
+ for (const entry of sourceConfig.servers ?? []) {
36
+ if (isServerRefEntry(entry)) {
37
+ const ref = String(entry.ref || '').trim();
38
+ if (!ref) {
39
+ missingServerRefs.push('(empty-ref)');
40
+ continue;
41
+ }
42
+ const server = libraryServers[ref];
43
+ if (!server) {
44
+ missingServerRefs.push(ref);
45
+ continue;
46
+ }
47
+ if (seenServerNames.has(ref)) {
48
+ throw new Error(`Duplicate server name detected while resolving refs: ${ref}`);
49
+ }
50
+ seenServerNames.add(ref);
51
+ resolvedServers[ref] = server;
52
+ continue;
53
+ }
54
+ const inlineId = String(entry.id ?? '').trim();
55
+ const legacyName = String(entry.name ?? '').trim();
56
+ const resolvedId = inlineId || legacyName;
57
+ if (!resolvedId) {
58
+ throw new Error('Invalid config: inline server is missing required id');
59
+ }
60
+ if (seenServerNames.has(resolvedId)) {
61
+ throw new Error(`Duplicate server id detected: ${resolvedId}`);
62
+ }
63
+ seenServerNames.add(resolvedId);
64
+ resolvedServers[resolvedId] = {
65
+ transport: entry.transport,
66
+ url: entry.url,
67
+ auth: entry.auth
68
+ };
69
+ }
70
+ const missingAgentRefs = [];
71
+ const resolvedAgents = {};
72
+ const seenAgentNames = new Set();
73
+ for (const entry of sourceConfig.agents ?? []) {
74
+ if (isAgentRefEntry(entry)) {
75
+ const ref = String(entry.ref || '').trim();
76
+ if (!ref) {
77
+ missingAgentRefs.push('(empty-ref)');
78
+ continue;
79
+ }
80
+ const agent = libraryAgents[ref];
81
+ if (!agent) {
82
+ missingAgentRefs.push(ref);
83
+ continue;
84
+ }
85
+ if (seenAgentNames.has(ref)) {
86
+ throw new Error(`Duplicate agent name detected while resolving refs: ${ref}`);
87
+ }
88
+ seenAgentNames.add(ref);
89
+ resolvedAgents[ref] = agent;
90
+ continue;
91
+ }
92
+ const inlineId = String(entry.id ?? '').trim();
93
+ const legacyName = String(entry.name ?? '').trim();
94
+ const resolvedId = inlineId || legacyName;
95
+ if (!resolvedId) {
96
+ throw new Error('Invalid config: inline agent is missing required id');
97
+ }
98
+ if (seenAgentNames.has(resolvedId)) {
99
+ throw new Error(`Duplicate agent id detected: ${resolvedId}`);
100
+ }
101
+ seenAgentNames.add(resolvedId);
102
+ resolvedAgents[resolvedId] = {
103
+ provider: entry.provider,
104
+ model: entry.model,
105
+ temperature: entry.temperature,
106
+ max_tokens: entry.max_tokens,
107
+ system: entry.system
108
+ };
109
+ }
110
+ const scenarios = [];
111
+ const seenScenarioIds = new Set();
112
+ const missingScenarioRefs = [];
113
+ for (const entry of sourceConfig.scenarios ?? []) {
114
+ if (isScenarioRefEntry(entry)) {
115
+ const ref = String(entry.ref || '').trim();
116
+ if (!ref) {
117
+ missingScenarioRefs.push('(empty-ref)');
118
+ continue;
119
+ }
120
+ const scenario = libraryScenarios[ref];
121
+ if (!scenario) {
122
+ missingScenarioRefs.push(ref);
123
+ continue;
124
+ }
125
+ if (seenScenarioIds.has(scenario.id)) {
126
+ throw new Error(`Duplicate scenario id detected while resolving refs: ${scenario.id}`);
127
+ }
128
+ seenScenarioIds.add(scenario.id);
129
+ scenarios.push(scenario);
130
+ continue;
131
+ }
132
+ const inline = entry;
133
+ const inlineId = String(inline.id || '').trim();
134
+ if (!inlineId) {
135
+ throw new Error('Invalid config: inline scenario is missing required id');
136
+ }
137
+ if (seenScenarioIds.has(inlineId)) {
138
+ throw new Error(`Duplicate scenario id detected: ${inlineId}`);
139
+ }
140
+ seenScenarioIds.add(inlineId);
141
+ scenarios.push(inline);
142
+ }
143
+ const missingMessages = [];
144
+ if (missingServerRefs.length > 0) {
145
+ missingMessages.push(`servers refs: ${missingServerRefs.join(', ')}`);
146
+ }
147
+ if (missingAgentRefs.length > 0) {
148
+ missingMessages.push(`agents refs: ${missingAgentRefs.join(', ')}`);
149
+ }
150
+ if (missingScenarioRefs.length > 0) {
151
+ missingMessages.push(`scenarios refs: ${missingScenarioRefs.join(', ')}`);
152
+ }
153
+ const defaultAgents = sourceConfig.run_defaults?.selected_agents ?? [];
154
+ const missingDefaultAgents = defaultAgents.filter((agent) => !resolvedAgents[agent]);
155
+ if (missingDefaultAgents.length > 0) {
156
+ missingMessages.push(`run_defaults.selected_agents: ${missingDefaultAgents.join(', ')}`);
157
+ }
158
+ if (sourceConfig.run_defaults?.selected_agents &&
159
+ sourceConfig.run_defaults.selected_agents.length === 0) {
160
+ missingMessages.push('run_defaults.selected_agents must include at least one valid agent');
161
+ }
162
+ if (missingMessages.length > 0) {
163
+ throw new Error(`Unresolved config references (${bundleRoot}): ${missingMessages.join(' | ')}`);
164
+ }
165
+ return {
166
+ ...sourceConfig,
167
+ servers: resolvedServers,
168
+ agents: resolvedAgents,
169
+ scenarios
170
+ };
171
+ }
172
+ export function normalizeSourceConfig(sourceConfig) {
173
+ const warnings = [];
174
+ const sourceConfigRecord = sourceConfig;
175
+ if ('server_refs' in sourceConfigRecord) {
176
+ throw new Error('Invalid config: server_refs is not supported; use servers[{ ref: "<id>" }]');
177
+ }
178
+ if ('agent_refs' in sourceConfigRecord) {
179
+ throw new Error('Invalid config: agent_refs is not supported; use agents[{ ref: "<id>" }]');
180
+ }
181
+ if ('scenario_refs' in sourceConfigRecord) {
182
+ throw new Error('Invalid config: scenario_refs is not supported; use scenarios[{ ref: "<id>" }]');
183
+ }
184
+ const legacyPinnedAgents = new Set();
185
+ const rawServers = sourceConfig.servers;
186
+ const serversInput = Array.isArray(rawServers) ? rawServers : [];
187
+ const normalizedServers = [];
188
+ if (Array.isArray(rawServers)) {
189
+ for (const rawServer of serversInput) {
190
+ const server = rawServer;
191
+ if (isServerRefEntry(server)) {
192
+ const ref = String(server.ref ?? '').trim();
193
+ if (!ref)
194
+ throw new Error('Invalid config: server ref must be a non-empty id');
195
+ normalizedServers.push({ ref });
196
+ continue;
197
+ }
198
+ const inlineId = String(server.id ?? '').trim();
199
+ const legacyName = String(server.name ?? '').trim();
200
+ const resolvedId = inlineId || legacyName;
201
+ if (!resolvedId)
202
+ throw new Error('Invalid config: inline server is missing required id');
203
+ if (!inlineId && legacyName) {
204
+ warnings.push(`Legacy inline server.name migrated to server.id: ${legacyName}`);
205
+ }
206
+ normalizedServers.push({
207
+ id: resolvedId,
208
+ name: legacyName || undefined,
209
+ transport: server.transport,
210
+ url: server.url,
211
+ auth: server.auth
212
+ });
213
+ }
214
+ }
215
+ else {
216
+ const legacyInlineServers = rawServers && typeof rawServers === 'object' && !Array.isArray(rawServers)
217
+ ? rawServers
218
+ : {};
219
+ for (const [name, server] of Object.entries(legacyInlineServers)) {
220
+ normalizedServers.push({
221
+ id: name,
222
+ name: typeof server.name === 'string' ? String(server.name) : undefined,
223
+ transport: server.transport,
224
+ url: server.url,
225
+ auth: server.auth
226
+ });
227
+ }
228
+ if (Object.keys(legacyInlineServers).length > 0) {
229
+ warnings.push('Legacy servers object map was migrated into servers[] entries.');
230
+ }
231
+ }
232
+ const scenariosInput = Array.isArray(sourceConfig.scenarios) ? sourceConfig.scenarios : [];
233
+ const rawAgents = sourceConfig.agents;
234
+ const agentsInput = Array.isArray(rawAgents) ? rawAgents : [];
235
+ const normalizedAgents = [];
236
+ if (Array.isArray(rawAgents)) {
237
+ for (const rawAgent of agentsInput) {
238
+ const agent = rawAgent;
239
+ if (isAgentRefEntry(agent)) {
240
+ const ref = String(agent.ref ?? '').trim();
241
+ if (!ref)
242
+ throw new Error('Invalid config: agent ref must be a non-empty id');
243
+ normalizedAgents.push({ ref });
244
+ continue;
245
+ }
246
+ const inlineId = String(agent.id ?? '').trim();
247
+ const legacyName = String(agent.name ?? '').trim();
248
+ const resolvedId = inlineId || legacyName;
249
+ if (!resolvedId)
250
+ throw new Error('Invalid config: inline agent is missing required id');
251
+ if (!inlineId && legacyName) {
252
+ warnings.push(`Legacy inline agent.name migrated to agent.id: ${legacyName}`);
253
+ }
254
+ normalizedAgents.push({
255
+ id: resolvedId,
256
+ name: legacyName || undefined,
257
+ provider: agent.provider,
258
+ model: agent.model,
259
+ temperature: agent.temperature,
260
+ max_tokens: agent.max_tokens,
261
+ system: agent.system
262
+ });
263
+ }
264
+ }
265
+ else {
266
+ const legacyInlineAgents = rawAgents && typeof rawAgents === 'object' && !Array.isArray(rawAgents)
267
+ ? rawAgents
268
+ : {};
269
+ for (const [name, agent] of Object.entries(legacyInlineAgents)) {
270
+ normalizedAgents.push({
271
+ id: name,
272
+ name: typeof agent.name === 'string' ? String(agent.name) : undefined,
273
+ provider: agent.provider,
274
+ model: agent.model,
275
+ temperature: agent.temperature,
276
+ max_tokens: agent.max_tokens,
277
+ system: agent.system
278
+ });
279
+ }
280
+ if (Object.keys(legacyInlineAgents).length > 0) {
281
+ warnings.push('Legacy agents object map was migrated into agents[] entries.');
282
+ }
283
+ }
284
+ const normalizedScenarios = [];
285
+ for (const scenario of scenariosInput) {
286
+ if (isScenarioRefEntry(scenario)) {
287
+ const ref = String(scenario.ref ?? '').trim();
288
+ if (!ref)
289
+ throw new Error('Invalid config: scenario ref must be a non-empty id');
290
+ normalizedScenarios.push({ ref });
291
+ continue;
292
+ }
293
+ const rawScenario = scenario;
294
+ const nextScenario = {
295
+ id: rawScenario.id,
296
+ name: rawScenario.name,
297
+ servers: rawScenario.servers,
298
+ prompt: rawScenario.prompt,
299
+ eval: rawScenario.eval,
300
+ extract: rawScenario.extract
301
+ };
302
+ const legacyAgent = typeof rawScenario.agent === 'string' ? rawScenario.agent.trim() : '';
303
+ if (legacyAgent)
304
+ legacyPinnedAgents.add(legacyAgent);
305
+ const legacySnapshotEnabled = typeof rawScenario.snapshot_eval_enabled === 'boolean'
306
+ ? rawScenario.snapshot_eval_enabled
307
+ : undefined;
308
+ if (rawScenario.snapshot_eval || legacySnapshotEnabled !== undefined) {
309
+ nextScenario.snapshot_eval = {
310
+ ...(rawScenario.snapshot_eval ?? {}),
311
+ ...(legacySnapshotEnabled !== undefined ? { enabled: legacySnapshotEnabled } : {})
312
+ };
313
+ }
314
+ normalizedScenarios.push(nextScenario);
315
+ }
316
+ const normalized = {
317
+ ...sourceConfig,
318
+ name: typeof sourceConfig.name === 'string'
319
+ ? String(sourceConfig.name).trim() || undefined
320
+ : undefined,
321
+ servers: normalizedServers,
322
+ agents: normalizedAgents,
323
+ scenarios: normalizedScenarios
324
+ };
325
+ if (!Array.isArray(normalized.servers)) {
326
+ throw new Error('Invalid config: servers must be an array');
327
+ }
328
+ if (!Array.isArray(normalized.agents)) {
329
+ throw new Error('Invalid config: agents must be an array');
330
+ }
331
+ if (!Array.isArray(normalized.scenarios)) {
332
+ throw new Error('Invalid config: scenarios must be an array');
333
+ }
334
+ if (normalized.run_defaults &&
335
+ (typeof normalized.run_defaults !== 'object' || Array.isArray(normalized.run_defaults))) {
336
+ throw new Error('Invalid config: run_defaults must be an object');
337
+ }
338
+ if (normalized.run_defaults?.selected_agents !== undefined &&
339
+ !Array.isArray(normalized.run_defaults.selected_agents)) {
340
+ throw new Error('Invalid config: run_defaults.selected_agents must be an array');
341
+ }
342
+ if (legacyPinnedAgents.size > 0) {
343
+ const migrated = new Set(normalized.run_defaults?.selected_agents ?? []);
344
+ for (const agent of legacyPinnedAgents)
345
+ migrated.add(agent);
346
+ normalized.run_defaults = {
347
+ ...(normalized.run_defaults ?? {}),
348
+ selected_agents: Array.from(migrated)
349
+ };
350
+ warnings.push(`Legacy scenario.agent was migrated to run_defaults.selected_agents (union): ${Array.from(legacyPinnedAgents).join(', ')}`);
351
+ }
352
+ if (normalized.scenarios.some((s) => !isScenarioRefEntry(s) && s.snapshot_eval && 'enabled' in (s.snapshot_eval ?? {})) &&
353
+ scenariosInput.some((s) => s?.snapshot_eval_enabled !== undefined)) {
354
+ warnings.push('Legacy scenario.snapshot_eval_enabled was migrated to scenario.snapshot_eval.enabled.');
355
+ }
356
+ if (normalized.run_defaults?.selected_agents) {
357
+ normalized.run_defaults.selected_agents = normalized.run_defaults.selected_agents
358
+ .map((v) => String(v).trim())
359
+ .filter(Boolean);
360
+ }
361
+ return { config: normalized, warnings };
362
+ }
363
+ function readYaml(path, fallback) {
364
+ if (!existsSync(path))
365
+ return fallback;
366
+ try {
367
+ const raw = readFileSync(path, 'utf8');
368
+ return parse(raw) ?? fallback;
369
+ }
370
+ catch {
371
+ return fallback;
372
+ }
373
+ }
374
+ export function normalizeLibraryServers(raw) {
375
+ const out = {};
376
+ if (Array.isArray(raw)) {
377
+ for (const entry of raw) {
378
+ if (!entry || typeof entry !== 'object')
379
+ continue;
380
+ const server = entry;
381
+ const id = String(server.id ?? server.name ?? '').trim();
382
+ if (!id || !server.transport || !server.url)
383
+ continue;
384
+ out[id] = {
385
+ name: typeof server.name === 'string' ? server.name : undefined,
386
+ transport: server.transport,
387
+ url: server.url,
388
+ auth: server.auth
389
+ };
390
+ }
391
+ return out;
392
+ }
393
+ if (!raw || typeof raw !== 'object')
394
+ return out;
395
+ for (const [id, value] of Object.entries(raw)) {
396
+ if (!value || typeof value !== 'object')
397
+ continue;
398
+ const server = value;
399
+ if (!server.transport || !server.url)
400
+ continue;
401
+ out[id] = {
402
+ name: typeof server.name === 'string' ? server.name : undefined,
403
+ transport: server.transport,
404
+ url: server.url,
405
+ auth: server.auth
406
+ };
407
+ }
408
+ return out;
409
+ }
410
+ export function normalizeLibraryAgents(raw) {
411
+ const out = {};
412
+ if (Array.isArray(raw)) {
413
+ for (const entry of raw) {
414
+ if (!entry || typeof entry !== 'object')
415
+ continue;
416
+ const agent = entry;
417
+ const id = String(agent.id ?? agent.name ?? '').trim();
418
+ if (!id || !agent.provider || !agent.model)
419
+ continue;
420
+ out[id] = {
421
+ name: typeof agent.name === 'string' ? agent.name : undefined,
422
+ provider: agent.provider,
423
+ model: agent.model,
424
+ temperature: agent.temperature,
425
+ max_tokens: agent.max_tokens,
426
+ system: agent.system
427
+ };
428
+ }
429
+ return out;
430
+ }
431
+ if (!raw || typeof raw !== 'object')
432
+ return out;
433
+ for (const [id, value] of Object.entries(raw)) {
434
+ if (!value || typeof value !== 'object')
435
+ continue;
436
+ const agent = value;
437
+ if (!agent.provider || !agent.model)
438
+ continue;
439
+ out[id] = {
440
+ name: typeof agent.name === 'string' ? agent.name : undefined,
441
+ provider: agent.provider,
442
+ model: agent.model,
443
+ temperature: agent.temperature,
444
+ max_tokens: agent.max_tokens,
445
+ system: agent.system
446
+ };
447
+ }
448
+ return out;
449
+ }
450
+ function readScenarioLibrary(scenariosDir) {
451
+ if (!existsSync(scenariosDir))
452
+ return {};
453
+ const out = {};
454
+ const files = readdirSync(scenariosDir).filter((name) => name.endsWith('.yaml') || name.endsWith('.yml'));
455
+ for (const file of files) {
456
+ const scenario = readYaml(join(scenariosDir, file), null);
457
+ if (!scenario || !scenario.id)
458
+ continue;
459
+ out[scenario.id] = scenario;
460
+ }
461
+ return out;
462
+ }
463
+ function detectBundleRoot(configPath) {
464
+ const abs = resolve(configPath);
465
+ const configDir = dirname(abs);
466
+ if (configDir.endsWith('/configs') || configDir.endsWith('\\configs')) {
467
+ return dirname(configDir);
468
+ }
469
+ return configDir;
470
+ }
471
+ function stableStringify(value) {
472
+ return JSON.stringify(sortDeep(value));
473
+ }
474
+ function sortDeep(value) {
475
+ if (Array.isArray(value)) {
476
+ return value.map((item) => sortDeep(item));
477
+ }
478
+ if (value && typeof value === 'object') {
479
+ const out = {};
480
+ for (const key of Object.keys(value).sort()) {
481
+ out[key] = sortDeep(value[key]);
482
+ }
483
+ return out;
484
+ }
485
+ return value;
486
+ }
487
+ export function expandConfigForAgents(config, requestedAgents) {
488
+ const selectedAgents = requestedAgents && requestedAgents.length > 0 ? requestedAgents : Object.keys(config.agents);
489
+ const missing = selectedAgents.filter((agent) => !config.agents[agent]);
490
+ if (missing.length > 0) {
491
+ throw new Error(`Unknown agents: ${missing.join(', ')}. Available: ${Object.keys(config.agents).join(', ')}`);
492
+ }
493
+ const inlineScenarios = config.scenarios.filter((scenario) => !isScenarioRefEntry(scenario));
494
+ if (inlineScenarios.length !== config.scenarios.length) {
495
+ throw new Error('Config contains unresolved scenario refs; resolve config before expansion');
496
+ }
497
+ const scenarios = inlineScenarios.flatMap((scenario) => selectedAgents.map((agent) => ({
498
+ ...scenario,
499
+ agent,
500
+ scenario_exec_id: `${scenario.id}-${agent}`
501
+ })));
502
+ return { ...config, scenarios };
503
+ }
504
+ function isScenarioRefEntry(entry) {
505
+ return Boolean(entry && typeof entry === 'object' && 'ref' in entry);
506
+ }
507
+ function isAgentRefEntry(entry) {
508
+ return Boolean(entry && typeof entry === 'object' && 'ref' in entry);
509
+ }
510
+ function isServerRefEntry(entry) {
511
+ return Boolean(entry && typeof entry === 'object' && 'ref' in entry);
512
+ }
513
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/eval.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import type { EvalRules } from './types.js';
2
+ export interface EvalResult {
3
+ pass: boolean;
4
+ failures: string[];
5
+ }
6
+ export declare function evaluateScenario(
7
+ finalText: string,
8
+ toolSequence: string[],
9
+ evalRules?: EvalRules
10
+ ): EvalResult;
11
+ export declare function extractValues(
12
+ text: string,
13
+ extractRules?: {
14
+ name: string;
15
+ regex: string;
16
+ }[]
17
+ ): Record<string, string | number | boolean | null>;
18
+ //# sourceMappingURL=eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,CAAC,EAAE,SAAS,GACpB,UAAU,CAYZ;AAmED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAO,GACnD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAiBlD"}