@inspectr/mcplab-core 1.22.2 → 1.23.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/dist/abort.d.ts +1 -1
- package/dist/agent.d.ts +72 -87
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +9 -2
- package/dist/agent.js.map +1 -1
- package/dist/artifacts.d.ts +9 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +22 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/assistant-tools.d.ts +1 -1
- package/dist/attachments.d.ts +4 -9
- package/dist/browser-provider-store.d.ts +5 -0
- package/dist/browser-provider-store.d.ts.map +1 -0
- package/dist/browser-provider-store.js +42 -0
- package/dist/browser-provider-store.js.map +1 -0
- package/dist/browser-providers.d.ts +48 -0
- package/dist/browser-providers.d.ts.map +1 -0
- package/dist/browser-providers.js +198 -0
- package/dist/browser-providers.js.map +1 -0
- package/dist/browser.d.ts +3 -7
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -0
- package/dist/browser.js.map +1 -1
- package/dist/check-counts.d.ts +3 -5
- package/dist/check-counts.d.ts.map +1 -1
- package/dist/check-counts.js +11 -2
- package/dist/check-counts.js.map +1 -1
- package/dist/config-values.d.ts +1 -1
- package/dist/config.d.ts +21 -33
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -42
- package/dist/config.js.map +1 -1
- package/dist/default-browser-providers.d.ts +13 -0
- package/dist/default-browser-providers.d.ts.map +1 -0
- package/dist/default-browser-providers.js +99 -0
- package/dist/default-browser-providers.js.map +1 -0
- package/dist/eval.d.ts +23 -53
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +38 -6
- package/dist/eval.js.map +1 -1
- package/dist/evaluation-config-store.d.ts +20 -17
- package/dist/index.d.ts +17 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/langsmith-tracing.d.ts +32 -21
- package/dist/langsmith-tracing.js.map +1 -1
- package/dist/mcp.d.ts +63 -79
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js.map +1 -1
- package/dist/queue-contract.d.ts +93 -27
- package/dist/queue-contract.d.ts.map +1 -1
- package/dist/queue-contract.js +31 -1
- package/dist/queue-contract.js.map +1 -1
- package/dist/result-metrics.d.ts +3 -0
- package/dist/result-metrics.d.ts.map +1 -0
- package/dist/result-metrics.js +6 -0
- package/dist/result-metrics.js.map +1 -0
- package/dist/results-query.d.ts +51 -60
- package/dist/results-query.d.ts.map +1 -1
- package/dist/results-query.js +23 -47
- package/dist/results-query.js.map +1 -1
- package/dist/results.d.ts +20 -18
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +26 -7
- package/dist/results.js.map +1 -1
- package/dist/run-directory-snapshots.d.ts +12 -0
- package/dist/run-directory-snapshots.d.ts.map +1 -0
- package/dist/run-directory-snapshots.js +56 -0
- package/dist/run-directory-snapshots.js.map +1 -0
- package/dist/runner.d.ts +109 -121
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +117 -66
- package/dist/runner.js.map +1 -1
- package/dist/runtime-overrides.d.ts +4 -7
- package/dist/scenario-builder.d.ts +15 -15
- package/dist/scenario-observation.d.ts +22 -0
- package/dist/scenario-observation.d.ts.map +1 -0
- package/dist/scenario-observation.js +70 -0
- package/dist/scenario-observation.js.map +1 -0
- package/dist/test-case-store.d.ts +26 -26
- package/dist/tool-definition-token-estimates.d.ts +13 -16
- package/dist/trace-token-estimates.d.ts +5 -11
- package/dist/trace.d.ts +4 -4
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js.map +1 -1
- package/dist/types.d.ts +46 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { stringify as stringifyYaml } from 'yaml';
|
|
2
|
+
function record(value, label) {
|
|
3
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
4
|
+
throw new Error(`Invalid browser provider ${label}.`);
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
function stringValue(value, label) {
|
|
8
|
+
if (typeof value !== 'string' || !value.trim())
|
|
9
|
+
throw new Error(`Invalid browser provider ${label}.`);
|
|
10
|
+
return value.trim();
|
|
11
|
+
}
|
|
12
|
+
function locator(value, label) {
|
|
13
|
+
const source = record(value, label);
|
|
14
|
+
if (!Array.isArray(source.segments) ||
|
|
15
|
+
source.segments.length === 0 ||
|
|
16
|
+
source.segments.some((item) => typeof item !== 'string' || !item.trim())) {
|
|
17
|
+
throw new Error(`Invalid browser provider ${label} locator.`);
|
|
18
|
+
}
|
|
19
|
+
return { segments: source.segments.map((item) => String(item).trim()) };
|
|
20
|
+
}
|
|
21
|
+
function optionalLocator(value, label) {
|
|
22
|
+
return value === undefined ? undefined : locator(value, label);
|
|
23
|
+
}
|
|
24
|
+
function origin(value, label) {
|
|
25
|
+
const parsed = new URL(stringValue(value, label));
|
|
26
|
+
if (!['http:', 'https:'].includes(parsed.protocol) ||
|
|
27
|
+
parsed.username ||
|
|
28
|
+
parsed.password ||
|
|
29
|
+
parsed.pathname !== '/' ||
|
|
30
|
+
parsed.search ||
|
|
31
|
+
parsed.hash) {
|
|
32
|
+
throw new Error(`Invalid browser provider ${label} origin.`);
|
|
33
|
+
}
|
|
34
|
+
return parsed.origin;
|
|
35
|
+
}
|
|
36
|
+
export function validateBrowserProviderProfile(value) {
|
|
37
|
+
const source = record(value, 'profile');
|
|
38
|
+
if (source.source !== undefined && source.source !== 'builtin' && source.source !== 'workspace')
|
|
39
|
+
throw new Error('Invalid browser provider source.');
|
|
40
|
+
if (Object.prototype.hasOwnProperty.call(source, 'script') ||
|
|
41
|
+
Object.prototype.hasOwnProperty.call(source, 'scriptSource')) {
|
|
42
|
+
throw new Error('Executable browser provider profiles are not supported.');
|
|
43
|
+
}
|
|
44
|
+
if (source.schemaVersion !== 1)
|
|
45
|
+
throw new Error('Unsupported browser provider profile schema.');
|
|
46
|
+
const id = stringValue(source.id, 'id');
|
|
47
|
+
const name = stringValue(source.name, 'name');
|
|
48
|
+
const match = record(source.match, 'match');
|
|
49
|
+
if (!Array.isArray(match.origins) || match.origins.length === 0)
|
|
50
|
+
throw new Error('Browser provider match origins are required.');
|
|
51
|
+
const origins = match.origins.map((item) => origin(item, 'match'));
|
|
52
|
+
const composer = record(source.composer, 'composer');
|
|
53
|
+
const inputMode = composer.inputMode;
|
|
54
|
+
if (inputMode !== 'input' && inputMode !== 'textarea' && inputMode !== 'contenteditable')
|
|
55
|
+
throw new Error('Invalid browser provider composer input mode.');
|
|
56
|
+
const submit = record(source.submit, 'submit');
|
|
57
|
+
if (submit.action !== 'click' && submit.action !== 'enter')
|
|
58
|
+
throw new Error('Invalid browser provider submit action.');
|
|
59
|
+
if (submit.action === 'click' && !submit.locator)
|
|
60
|
+
throw new Error('Browser provider click submit locator is required.');
|
|
61
|
+
const assistant = record(source.assistantMessages, 'assistantMessages');
|
|
62
|
+
const completion = record(source.completion, 'completion');
|
|
63
|
+
if (typeof completion.stabilityMs !== 'number' ||
|
|
64
|
+
!Number.isFinite(completion.stabilityMs) ||
|
|
65
|
+
completion.stabilityMs < 250)
|
|
66
|
+
throw new Error('Invalid browser provider completion stability.');
|
|
67
|
+
const learned = record(source.learned, 'learned');
|
|
68
|
+
const confidence = record(learned.confidence ?? {}, 'confidence');
|
|
69
|
+
for (const value of Object.values(confidence))
|
|
70
|
+
if (value !== 'high' && value !== 'medium' && value !== 'low')
|
|
71
|
+
throw new Error('Invalid browser provider confidence.');
|
|
72
|
+
const result = {
|
|
73
|
+
schemaVersion: 1,
|
|
74
|
+
id,
|
|
75
|
+
name,
|
|
76
|
+
...(source.source === 'builtin' || source.source === 'workspace'
|
|
77
|
+
? { source: source.source }
|
|
78
|
+
: {}),
|
|
79
|
+
match: { origins },
|
|
80
|
+
composer: { locator: locator(composer.locator, 'composer'), inputMode },
|
|
81
|
+
submit: { action: submit.action, locator: optionalLocator(submit.locator, 'submit') },
|
|
82
|
+
assistantMessages: {
|
|
83
|
+
locator: locator(assistant.locator, 'assistantMessages'),
|
|
84
|
+
textLocator: optionalLocator(assistant.textLocator, 'assistantMessages text')
|
|
85
|
+
},
|
|
86
|
+
completion: {
|
|
87
|
+
generatingLocator: optionalLocator(completion.generatingLocator, 'generating'),
|
|
88
|
+
idleLocator: optionalLocator(completion.idleLocator, 'idle'),
|
|
89
|
+
workingLocator: optionalLocator(completion.workingLocator, 'working'),
|
|
90
|
+
stabilityMs: completion.stabilityMs
|
|
91
|
+
},
|
|
92
|
+
learned: {
|
|
93
|
+
sourceOrigin: origin(learned.sourceOrigin, 'source'),
|
|
94
|
+
createdAt: stringValue(learned.createdAt ?? new Date().toISOString(), 'createdAt'),
|
|
95
|
+
updatedAt: stringValue(learned.updatedAt ?? learned.createdAt ?? new Date().toISOString(), 'updatedAt'),
|
|
96
|
+
confidence: confidence
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
if (source.newConversation !== undefined) {
|
|
100
|
+
const newConversation = record(source.newConversation, 'newConversation');
|
|
101
|
+
if (newConversation.action !== 'click' && newConversation.action !== 'navigate')
|
|
102
|
+
throw new Error('Invalid browser provider new conversation action.');
|
|
103
|
+
if (newConversation.action === 'click' && !newConversation.locator)
|
|
104
|
+
throw new Error('Browser provider new conversation locator is required.');
|
|
105
|
+
if (newConversation.action === 'navigate') {
|
|
106
|
+
const navigationUrl = stringValue(newConversation.url, 'navigation URL');
|
|
107
|
+
let navigationOrigin;
|
|
108
|
+
try {
|
|
109
|
+
navigationOrigin = new URL(navigationUrl, origins[0]).origin;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
throw new Error('Invalid browser provider navigation URL.');
|
|
113
|
+
}
|
|
114
|
+
if (!origins.includes(navigationOrigin))
|
|
115
|
+
throw new Error('Browser provider navigation URL must match a provider origin.');
|
|
116
|
+
}
|
|
117
|
+
if (newConversation.confirmation !== undefined &&
|
|
118
|
+
newConversation.confirmation !== 'context-change')
|
|
119
|
+
throw new Error('Invalid browser provider new conversation confirmation.');
|
|
120
|
+
if (newConversation.locators !== undefined &&
|
|
121
|
+
(!Array.isArray(newConversation.locators) ||
|
|
122
|
+
newConversation.locators.some((item) => !item || typeof item !== 'object')))
|
|
123
|
+
throw new Error('Invalid browser provider new conversation locators.');
|
|
124
|
+
result.newConversation = {
|
|
125
|
+
action: newConversation.action,
|
|
126
|
+
locator: optionalLocator(newConversation.locator, 'newConversation'),
|
|
127
|
+
locators: Array.isArray(newConversation.locators)
|
|
128
|
+
? newConversation.locators.map((item) => locator(item, 'newConversation alternative'))
|
|
129
|
+
: undefined,
|
|
130
|
+
confirmation: newConversation.confirmation,
|
|
131
|
+
url: typeof newConversation.url === 'string' ? newConversation.url : undefined
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
export function parseBrowserProviderProfiles(value) {
|
|
137
|
+
const source = record(value ?? {}, 'profiles');
|
|
138
|
+
const profiles = {};
|
|
139
|
+
for (const [id, raw] of Object.entries(source)) {
|
|
140
|
+
const profile = record(raw, id);
|
|
141
|
+
const composer = record(profile.composer, `${id} composer`);
|
|
142
|
+
const submit = record(profile.submit, `${id} submit`);
|
|
143
|
+
const assistant = record(profile.assistant_messages, `${id} assistant_messages`);
|
|
144
|
+
const completion = record(profile.completion, `${id} completion`);
|
|
145
|
+
const learned = record(profile.learned ?? {}, `${id} learned`);
|
|
146
|
+
const normalized = validateBrowserProviderProfile({
|
|
147
|
+
...profile,
|
|
148
|
+
id,
|
|
149
|
+
schemaVersion: profile.schema_version,
|
|
150
|
+
composer: { ...composer, inputMode: composer.input_mode },
|
|
151
|
+
submit,
|
|
152
|
+
assistantMessages: { locator: assistant.locator, textLocator: assistant.text_locator },
|
|
153
|
+
completion: {
|
|
154
|
+
generatingLocator: completion.generating_locator,
|
|
155
|
+
idleLocator: completion.idle_locator,
|
|
156
|
+
workingLocator: completion.working_locator,
|
|
157
|
+
stabilityMs: completion.stability_ms
|
|
158
|
+
},
|
|
159
|
+
newConversation: profile.new_conversation,
|
|
160
|
+
learned: {
|
|
161
|
+
sourceOrigin: learned.source_origin,
|
|
162
|
+
createdAt: learned.created_at,
|
|
163
|
+
updatedAt: learned.updated_at,
|
|
164
|
+
confidence: learned.confidence
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
profiles[id] = normalized;
|
|
168
|
+
}
|
|
169
|
+
return profiles;
|
|
170
|
+
}
|
|
171
|
+
export function serializeBrowserProviderProfile(profile) {
|
|
172
|
+
return `${stringifyYaml({
|
|
173
|
+
schema_version: profile.schemaVersion,
|
|
174
|
+
name: profile.name,
|
|
175
|
+
match: profile.match,
|
|
176
|
+
composer: {
|
|
177
|
+
locator: profile.composer.locator,
|
|
178
|
+
input_mode: profile.composer.inputMode
|
|
179
|
+
},
|
|
180
|
+
submit: profile.submit,
|
|
181
|
+
assistant_messages: {
|
|
182
|
+
locator: profile.assistantMessages.locator,
|
|
183
|
+
text_locator: profile.assistantMessages.textLocator
|
|
184
|
+
},
|
|
185
|
+
completion: {
|
|
186
|
+
generating_locator: profile.completion.generatingLocator,
|
|
187
|
+
idle_locator: profile.completion.idleLocator,
|
|
188
|
+
working_locator: profile.completion.workingLocator,
|
|
189
|
+
stability_ms: profile.completion.stabilityMs
|
|
190
|
+
},
|
|
191
|
+
new_conversation: profile.newConversation,
|
|
192
|
+
learned: {
|
|
193
|
+
source_origin: profile.learned.sourceOrigin,
|
|
194
|
+
confidence: profile.learned.confidence
|
|
195
|
+
}
|
|
196
|
+
})}\n`;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=browser-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-providers.js","sourceRoot":"","sources":["../src/browser-providers.ts"],"names":[],"mappings":"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"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export { tallyCheckCounts } from './check-counts.js';
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
formatToolSequenceLabel,
|
|
6
|
-
type ToolInputAssertionFailureKind
|
|
7
|
-
} from './eval.js';
|
|
8
|
-
//# sourceMappingURL=browser.d.ts.map
|
|
2
|
+
export { formatToolInputAssertionFailureReason, formatToolInputAssertionLabel, formatToolSequenceLabel, type ToolInputAssertionFailureKind } from './eval.js';
|
|
3
|
+
export { calculatePassRate } from './result-metrics.js';
|
|
4
|
+
//# sourceMappingURL=browser.d.ts.map
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EACvB,KAAK,6BAA6B,EACnC,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EACvB,KAAK,6BAA6B,EACnC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/browser.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { tallyCheckCounts } from './check-counts.js';
|
|
2
2
|
export { formatToolInputAssertionFailureReason, formatToolInputAssertionLabel, formatToolSequenceLabel } from './eval.js';
|
|
3
|
+
export { calculatePassRate } from './result-metrics.js';
|
|
3
4
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EAExB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,EAExB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/check-counts.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { CheckCounts } from './types.js';
|
|
2
|
-
export declare function tallyCheckCounts(
|
|
3
|
-
checks: Iterable<{
|
|
2
|
+
export declare function tallyCheckCounts(checks: Iterable<{
|
|
4
3
|
status: string;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=check-counts.d.ts.map
|
|
4
|
+
}>): CheckCounts;
|
|
5
|
+
//# sourceMappingURL=check-counts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-counts.d.ts","sourceRoot":"","sources":["../src/check-counts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"check-counts.d.ts","sourceRoot":"","sources":["../src/check-counts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,WAAW,CAmBlF"}
|
package/dist/check-counts.js
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
export function tallyCheckCounts(checks) {
|
|
2
|
-
const counts = {
|
|
2
|
+
const counts = {
|
|
3
|
+
passed: 0,
|
|
4
|
+
failed: 0,
|
|
5
|
+
not_evaluated: 0,
|
|
6
|
+
not_executed: 0,
|
|
7
|
+
total: 0
|
|
8
|
+
};
|
|
3
9
|
for (const check of checks) {
|
|
4
10
|
if (check.status === 'passed')
|
|
5
11
|
counts.passed += 1;
|
|
6
12
|
else if (check.status === 'failed')
|
|
7
13
|
counts.failed += 1;
|
|
8
|
-
else if (check.status === 'not_evaluated')
|
|
14
|
+
else if (check.status === 'not_evaluated' || check.status === 'not_applicable') {
|
|
9
15
|
counts.not_evaluated += 1;
|
|
16
|
+
}
|
|
17
|
+
else if (check.status === 'not_executed')
|
|
18
|
+
counts.not_executed = (counts.not_executed ?? 0) + 1;
|
|
10
19
|
else
|
|
11
20
|
continue;
|
|
12
21
|
counts.total += 1;
|
package/dist/check-counts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-counts.js","sourceRoot":"","sources":["../src/check-counts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,MAAoC;IACnE,MAAM,MAAM,GAAgB,
|
|
1
|
+
{"version":3,"file":"check-counts.js","sourceRoot":"","sources":["../src/check-counts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,MAAoC;IACnE,MAAM,MAAM,GAAgB;QAC1B,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;KACT,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;aAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;aAClD,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC/E,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;YACxC,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;YAClD,SAAS;QACd,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/config-values.d.ts
CHANGED
package/dist/config.d.ts
CHANGED
|
@@ -1,45 +1,33 @@
|
|
|
1
1
|
import type { EvalConfig, ExecutableEvalConfig, SourceEvalConfig } from './types.js';
|
|
2
|
-
export declare function loadConfig(
|
|
3
|
-
path: string,
|
|
4
|
-
options?: {
|
|
2
|
+
export declare function loadConfig(path: string, options?: {
|
|
5
3
|
bundleRoot?: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
warnings: string[];
|
|
4
|
+
}): {
|
|
5
|
+
config: EvalConfig;
|
|
6
|
+
sourceConfig: SourceEvalConfig;
|
|
7
|
+
hash: string;
|
|
8
|
+
raw: string;
|
|
9
|
+
bundleRoot: string;
|
|
10
|
+
warnings: string[];
|
|
14
11
|
};
|
|
15
|
-
export declare function selectScenarios<
|
|
16
|
-
T extends {
|
|
12
|
+
export declare function selectScenarios<T extends {
|
|
17
13
|
scenarios: Array<{
|
|
18
|
-
|
|
14
|
+
id: string;
|
|
19
15
|
}>;
|
|
20
|
-
|
|
21
|
-
>(config: T, scenarioId?: string): T;
|
|
16
|
+
}>(config: T, scenarioId?: string): T;
|
|
22
17
|
export declare function readLibraryAgentsAndServers(bundleRoot: string): {
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
servers: EvalConfig['servers'];
|
|
19
|
+
agents: EvalConfig['agents'];
|
|
25
20
|
};
|
|
26
21
|
export declare function normalizeSourceConfig(sourceConfig: SourceEvalConfig): {
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
config: SourceEvalConfig;
|
|
23
|
+
warnings: string[];
|
|
29
24
|
};
|
|
30
|
-
export declare function normalizeLibraryServers(
|
|
31
|
-
|
|
32
|
-
): Record<string, EvalConfig['servers'][string]>;
|
|
33
|
-
export declare function normalizeLibraryAgents(
|
|
34
|
-
raw: unknown
|
|
35
|
-
): Record<string, EvalConfig['agents'][string]>;
|
|
25
|
+
export declare function normalizeLibraryServers(raw: unknown): Record<string, EvalConfig['servers'][string]>;
|
|
26
|
+
export declare function normalizeLibraryAgents(raw: unknown): Record<string, EvalConfig['agents'][string]>;
|
|
36
27
|
export declare function resolveScenarioLibraryDir(bundleRoot: string): {
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
path: string;
|
|
29
|
+
usedLegacy: boolean;
|
|
39
30
|
};
|
|
40
31
|
export declare function hashConfig(config: EvalConfig): string;
|
|
41
|
-
export declare function expandConfigForAgents(
|
|
42
|
-
|
|
43
|
-
requestedAgents?: string[]
|
|
44
|
-
): ExecutableEvalConfig;
|
|
45
|
-
//# sourceMappingURL=config.d.ts.map
|
|
32
|
+
export declare function expandConfigForAgents(config: EvalConfig, requestedAgents?: string[]): ExecutableEvalConfig;
|
|
33
|
+
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,UAAU,EACV,oBAAoB,EAUpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAuDpB,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,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAwBA;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;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAIV,UAAU,EACV,oBAAoB,EAUpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAuDpB,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,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAwBA;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;AAiQD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG;IAC/D,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC9B,CAMA;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG;IACrE,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAyNA;AAYD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAoC/C;AA0CD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAyBjG;AAgBD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB,CAOA;AAoBD,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAErD;AAgBD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,oBAAoB,CAuBtB"}
|
package/dist/config.js
CHANGED
|
@@ -155,13 +155,7 @@ function resolveReferences(sourceConfig, configPath, bundleRootOverride) {
|
|
|
155
155
|
throw new Error(`Duplicate agent id detected: ${resolvedId}`);
|
|
156
156
|
}
|
|
157
157
|
seenAgentNames.add(resolvedId);
|
|
158
|
-
resolvedAgents[resolvedId] =
|
|
159
|
-
provider: entry.provider,
|
|
160
|
-
model: entry.model,
|
|
161
|
-
temperature: entry.temperature,
|
|
162
|
-
max_tokens: entry.max_tokens,
|
|
163
|
-
system: entry.system
|
|
164
|
-
};
|
|
158
|
+
resolvedAgents[resolvedId] = normalizeAgentDefinition(entry, resolvedId);
|
|
165
159
|
}
|
|
166
160
|
const resolvedScenarios = [];
|
|
167
161
|
const seenScenarioIds = new Set();
|
|
@@ -400,12 +394,7 @@ export function normalizeSourceConfig(sourceConfig) {
|
|
|
400
394
|
}
|
|
401
395
|
normalizedAgents.push({
|
|
402
396
|
id: resolvedId,
|
|
403
|
-
|
|
404
|
-
provider: agent.provider,
|
|
405
|
-
model: agent.model,
|
|
406
|
-
temperature: agent.temperature,
|
|
407
|
-
max_tokens: agent.max_tokens,
|
|
408
|
-
system: agent.system
|
|
397
|
+
...normalizeAgentDefinition(agent, resolvedId)
|
|
409
398
|
});
|
|
410
399
|
}
|
|
411
400
|
}
|
|
@@ -416,14 +405,7 @@ export function normalizeSourceConfig(sourceConfig) {
|
|
|
416
405
|
for (const [name, agent] of Object.entries(legacyInlineAgents)) {
|
|
417
406
|
normalizedAgents.push({
|
|
418
407
|
id: name,
|
|
419
|
-
|
|
420
|
-
? String(agent.name)
|
|
421
|
-
: undefined,
|
|
422
|
-
provider: agent.provider,
|
|
423
|
-
model: agent.model,
|
|
424
|
-
temperature: agent.temperature,
|
|
425
|
-
max_tokens: agent.max_tokens,
|
|
426
|
-
system: agent.system
|
|
408
|
+
...normalizeAgentDefinition(agent, name)
|
|
427
409
|
});
|
|
428
410
|
}
|
|
429
411
|
if (Object.keys(legacyInlineAgents).length > 0) {
|
|
@@ -568,6 +550,41 @@ export function normalizeLibraryServers(raw) {
|
|
|
568
550
|
}
|
|
569
551
|
return out;
|
|
570
552
|
}
|
|
553
|
+
function normalizeAgentDefinition(raw, id) {
|
|
554
|
+
if (raw.type === 'browser') {
|
|
555
|
+
const betweenScenarios = raw.new_conversation_between_scenarios ?? raw.newConversationBetweenScenarios;
|
|
556
|
+
if (!raw.url)
|
|
557
|
+
throw new Error(`Browser agent ${id} requires a url`);
|
|
558
|
+
if (typeof raw.provider !== 'string' || !raw.provider.trim()) {
|
|
559
|
+
throw new Error(`Browser agent ${id} requires a provider`);
|
|
560
|
+
}
|
|
561
|
+
return {
|
|
562
|
+
type: 'browser',
|
|
563
|
+
name: typeof raw.name === 'string' ? raw.name : undefined,
|
|
564
|
+
provider: raw.provider,
|
|
565
|
+
url: String(raw.url),
|
|
566
|
+
...(typeof betweenScenarios === 'boolean'
|
|
567
|
+
? { newConversationBetweenScenarios: betweenScenarios }
|
|
568
|
+
: {})
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
if (!raw.provider || !raw.model)
|
|
572
|
+
throw new Error(`LLM agent ${id} requires a provider and model`);
|
|
573
|
+
if (raw.provider !== 'openai' &&
|
|
574
|
+
raw.provider !== 'anthropic' &&
|
|
575
|
+
raw.provider !== 'azure_openai') {
|
|
576
|
+
throw new Error(`LLM agent ${id} has unsupported provider: ${String(raw.provider)}`);
|
|
577
|
+
}
|
|
578
|
+
return {
|
|
579
|
+
name: typeof raw.name === 'string' ? raw.name : undefined,
|
|
580
|
+
provider: raw.provider,
|
|
581
|
+
model: String(raw.model),
|
|
582
|
+
...(typeof raw.temperature === 'number' ? { temperature: raw.temperature } : {}),
|
|
583
|
+
...(typeof raw.max_tokens === 'number' ? { max_tokens: raw.max_tokens } : {}),
|
|
584
|
+
...(typeof raw.max_turns === 'number' ? { max_turns: raw.max_turns } : {}),
|
|
585
|
+
...(typeof raw.system === 'string' ? { system: raw.system } : {})
|
|
586
|
+
};
|
|
587
|
+
}
|
|
571
588
|
export function normalizeLibraryAgents(raw) {
|
|
572
589
|
const out = {};
|
|
573
590
|
if (Array.isArray(raw)) {
|
|
@@ -576,17 +593,11 @@ export function normalizeLibraryAgents(raw) {
|
|
|
576
593
|
continue;
|
|
577
594
|
const agent = entry;
|
|
578
595
|
const id = String(agent.id ?? agent.name ?? '').trim();
|
|
579
|
-
if (!id
|
|
596
|
+
if (!id)
|
|
580
597
|
continue;
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
model: agent.model,
|
|
585
|
-
temperature: agent.temperature,
|
|
586
|
-
max_tokens: agent.max_tokens,
|
|
587
|
-
max_turns: agent.max_turns,
|
|
588
|
-
system: agent.system
|
|
589
|
-
};
|
|
598
|
+
if (agent.type === 'browser' || (agent.provider && agent.model)) {
|
|
599
|
+
out[id] = normalizeAgentDefinition(agent, id);
|
|
600
|
+
}
|
|
590
601
|
}
|
|
591
602
|
return out;
|
|
592
603
|
}
|
|
@@ -596,17 +607,12 @@ export function normalizeLibraryAgents(raw) {
|
|
|
596
607
|
if (!value || typeof value !== 'object')
|
|
597
608
|
continue;
|
|
598
609
|
const agent = value;
|
|
599
|
-
if (
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
temperature: agent.temperature,
|
|
606
|
-
max_tokens: agent.max_tokens,
|
|
607
|
-
max_turns: agent.max_turns,
|
|
608
|
-
system: agent.system
|
|
609
|
-
};
|
|
610
|
+
if (agent.type === 'browser') {
|
|
611
|
+
out[id] = normalizeAgentDefinition(agent, id);
|
|
612
|
+
}
|
|
613
|
+
else if (agent.provider && agent.model) {
|
|
614
|
+
out[id] = normalizeAgentDefinition(agent, id);
|
|
615
|
+
}
|
|
610
616
|
}
|
|
611
617
|
return out;
|
|
612
618
|
}
|