@lesliechan721/agent-skill-eval 0.1.0-beta.7 → 0.1.0-beta.9
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/bin.js +149 -39
- package/dist/bin.js.map +1 -1
- package/dist/codex-eval-app-server.d.ts +199 -0
- package/dist/codex-eval-app-server.js +1366 -0
- package/dist/codex-eval-app-server.js.map +1 -0
- package/dist/codex-eval-cases.d.ts +43 -0
- package/dist/codex-eval-cases.js +327 -0
- package/dist/codex-eval-cases.js.map +1 -0
- package/dist/codex-eval-isolation.d.ts +61 -0
- package/dist/codex-eval-isolation.js +318 -0
- package/dist/codex-eval-isolation.js.map +1 -0
- package/dist/codex-eval-process-tree.d.ts +38 -0
- package/dist/codex-eval-process-tree.js +803 -0
- package/dist/codex-eval-process-tree.js.map +1 -0
- package/dist/codex-eval-runtime-config.d.ts +43 -0
- package/dist/codex-eval-runtime-config.js +607 -0
- package/dist/codex-eval-runtime-config.js.map +1 -0
- package/dist/codex-trigger-eval.d.ts +82 -0
- package/dist/codex-trigger-eval.js +789 -0
- package/dist/codex-trigger-eval.js.map +1 -0
- package/dist/codex-workflow.d.ts +188 -0
- package/dist/codex-workflow.js +1790 -0
- package/dist/codex-workflow.js.map +1 -0
- package/dist/credentials.d.ts +5 -0
- package/dist/credentials.js +30 -0
- package/dist/credentials.js.map +1 -0
- package/dist/custom-process.d.ts +58 -0
- package/dist/custom-process.js +409 -0
- package/dist/custom-process.js.map +1 -0
- package/dist/eval-audit.d.ts +38 -0
- package/dist/eval-audit.js +71 -0
- package/dist/eval-audit.js.map +1 -0
- package/dist/eval-file.d.ts +9 -0
- package/dist/eval-file.js +15 -0
- package/dist/eval-file.js.map +1 -0
- package/dist/eval-result.d.ts +64 -0
- package/dist/eval-result.js +144 -0
- package/dist/eval-result.js.map +1 -0
- package/dist/eval-run.d.ts +23 -0
- package/dist/eval-run.js +539 -0
- package/dist/eval-run.js.map +1 -0
- package/dist/eval-spec.d.ts +57 -0
- package/dist/eval-spec.js +120 -0
- package/dist/eval-spec.js.map +1 -0
- package/dist/eval-suite-binding.d.ts +4 -0
- package/dist/eval-suite-binding.js +19 -0
- package/dist/eval-suite-binding.js.map +1 -0
- package/dist/index.d.ts +34 -9
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/dist/json-schema.js +75 -5
- package/dist/json-schema.js.map +1 -1
- package/dist/output-path.js +2 -2
- package/dist/process-tree.d.ts +19 -1
- package/dist/process-tree.js +321 -66
- package/dist/process-tree.js.map +1 -1
- package/dist/process.d.ts +0 -2
- package/dist/process.js +76 -25
- package/dist/process.js.map +1 -1
- package/dist/provider-doctor.d.ts +33 -0
- package/dist/provider-doctor.js +86 -0
- package/dist/provider-doctor.js.map +1 -0
- package/dist/providers.d.ts +82 -0
- package/dist/providers.js +630 -0
- package/dist/providers.js.map +1 -0
- package/dist/run-paths.d.ts +8 -0
- package/dist/run-paths.js +71 -0
- package/dist/run-paths.js.map +1 -0
- package/dist/runtime-skill.d.ts +6 -0
- package/dist/runtime-skill.js +87 -3
- package/dist/runtime-skill.js.map +1 -1
- package/dist/schemas/digests.json +3 -3
- package/dist/schemas/eval-audit.schema.json +64 -0
- package/dist/schemas/eval-result.schema.json +202 -0
- package/dist/schemas/eval-spec.schema.json +109 -0
- package/dist/schemas.d.ts +1 -3
- package/dist/schemas.js +0 -17
- package/dist/schemas.js.map +1 -1
- package/dist/selected-cases.d.ts +30 -0
- package/dist/selected-cases.js +388 -0
- package/dist/selected-cases.js.map +1 -0
- package/dist/types.d.ts +2 -34
- package/package.json +6 -1
- package/dist/bundle.d.ts +0 -93
- package/dist/bundle.js +0 -216
- package/dist/bundle.js.map +0 -1
- package/dist/capabilities.d.ts +0 -2
- package/dist/capabilities.js +0 -38
- package/dist/capabilities.js.map +0 -1
- package/dist/plan.d.ts +0 -79
- package/dist/plan.js +0 -285
- package/dist/plan.js.map +0 -1
- package/dist/run.d.ts +0 -2
- package/dist/run.js +0 -592
- package/dist/run.js.map +0 -1
- package/dist/schemas/aw-skill-eval-execution-plan.schema.json +0 -220
- package/dist/schemas/eval-run-bundle.schema.json +0 -408
- package/dist/schemas/eval-runtime-capabilities.schema.json +0 -85
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { stable } from './common.js';
|
|
2
|
+
import { readEvalContractFile } from './eval-file.js';
|
|
3
|
+
import { validateJsonSchema } from './json-schema.js';
|
|
4
|
+
import { getSchema } from './schemas.js';
|
|
5
|
+
import { assertEvalProviderSuiteKind } from './eval-suite-binding.js';
|
|
6
|
+
export function evalResultVariantsForSpec(spec) {
|
|
7
|
+
if (spec.baseline.type === 'without-skill')
|
|
8
|
+
return ['current', 'without-skill'];
|
|
9
|
+
if (spec.baseline.type === 'previous-version')
|
|
10
|
+
return ['current', 'previous-version'];
|
|
11
|
+
return ['current'];
|
|
12
|
+
}
|
|
13
|
+
export function createEvalResultBinding(calculated, auditDigest, selectedCases) {
|
|
14
|
+
assertEvalProviderSuiteKind(calculated.spec.provider, selectedCases.suite.kind);
|
|
15
|
+
return {
|
|
16
|
+
specDigest: calculated.specDigest,
|
|
17
|
+
auditDigest,
|
|
18
|
+
targetDigest: calculated.targetDigest,
|
|
19
|
+
caseDigest: calculated.caseDigest,
|
|
20
|
+
provider: calculated.spec.provider,
|
|
21
|
+
selectedCaseIds: selectedCases.cases.map((entry) => entry.id),
|
|
22
|
+
allowedVariants: evalResultVariantsForSpec(calculated.spec),
|
|
23
|
+
runs: calculated.spec.runs,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function computeEvalResultSummary(runs) {
|
|
27
|
+
const summary = { passed: 0, failed: 0, timeout: 0, error: 0 };
|
|
28
|
+
for (const run of runs) {
|
|
29
|
+
if (run.status === 'timeout')
|
|
30
|
+
summary.timeout += 1;
|
|
31
|
+
else if (run.status === 'failed')
|
|
32
|
+
summary.error += 1;
|
|
33
|
+
else if (run.grade?.passed)
|
|
34
|
+
summary.passed += 1;
|
|
35
|
+
else
|
|
36
|
+
summary.failed += 1;
|
|
37
|
+
}
|
|
38
|
+
return summary;
|
|
39
|
+
}
|
|
40
|
+
export async function validateEvalResult(value, binding) {
|
|
41
|
+
const errors = validateJsonSchema(await getSchema('eval-result'), value);
|
|
42
|
+
if (errors.length > 0)
|
|
43
|
+
return { valid: false, errors, calculated: null };
|
|
44
|
+
const result = value;
|
|
45
|
+
const leapSecond = /:60(?=(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$)/iu;
|
|
46
|
+
const timestamp = (value) => {
|
|
47
|
+
const leap = leapSecond.test(value);
|
|
48
|
+
const parsed = Date.parse(leap ? value.replace(leapSecond, ':59') : value);
|
|
49
|
+
return leap ? parsed + 1_000 : parsed;
|
|
50
|
+
};
|
|
51
|
+
if (timestamp(result.finishedAt) < timestamp(result.startedAt))
|
|
52
|
+
errors.push('Result finishedAt must not be earlier than startedAt');
|
|
53
|
+
for (const [index, run] of result.runs.entries()) {
|
|
54
|
+
if (run.status === 'completed') {
|
|
55
|
+
if (run.grade === null)
|
|
56
|
+
errors.push(`run ${index} is completed but has no grade`);
|
|
57
|
+
if (run.error !== null)
|
|
58
|
+
errors.push(`run ${index} is completed but includes an error`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (run.grade !== null)
|
|
62
|
+
errors.push(`run ${index} has status ${run.status} but includes a grade`);
|
|
63
|
+
if (run.error === null)
|
|
64
|
+
errors.push(`run ${index} has status ${run.status} but has no error`);
|
|
65
|
+
}
|
|
66
|
+
if (typeof result.provider === 'object'
|
|
67
|
+
&& result.provider.type === 'codex-workflow'
|
|
68
|
+
&& run.status === 'completed') {
|
|
69
|
+
if (run.usage === null)
|
|
70
|
+
errors.push(`run ${index} codex-workflow has no usage evidence`);
|
|
71
|
+
const expected = [
|
|
72
|
+
{ path: 'workflow-evidence.json', role: 'evidence' },
|
|
73
|
+
{ path: 'workflow-trace.json', role: 'trace' },
|
|
74
|
+
{ path: 'model-output.txt', role: 'output' },
|
|
75
|
+
{ path: 'provider-result.json', role: 'result' },
|
|
76
|
+
];
|
|
77
|
+
if (!run.artifacts
|
|
78
|
+
|| stable([...run.artifacts].sort((left, right) => left.path.localeCompare(right.path)))
|
|
79
|
+
!== stable(expected.sort((left, right) => left.path.localeCompare(right.path))))
|
|
80
|
+
errors.push(`run ${index} codex-workflow artifacts are incomplete`);
|
|
81
|
+
}
|
|
82
|
+
else if (run.artifacts !== undefined) {
|
|
83
|
+
errors.push(`run ${index} must not include codex-workflow artifacts`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const summary = computeEvalResultSummary(result.runs);
|
|
87
|
+
if (stable(summary) !== stable(result.summary))
|
|
88
|
+
errors.push('Result summary does not match runs');
|
|
89
|
+
if (binding) {
|
|
90
|
+
for (const key of ['specDigest', 'auditDigest', 'targetDigest', 'caseDigest']) {
|
|
91
|
+
if (result[key] !== binding[key])
|
|
92
|
+
errors.push(`Result ${key} does not match its binding`);
|
|
93
|
+
}
|
|
94
|
+
if (stable(result.provider) !== stable(binding.provider))
|
|
95
|
+
errors.push('Result provider does not match its binding');
|
|
96
|
+
const selectedCaseIds = new Set(binding.selectedCaseIds);
|
|
97
|
+
const allowedVariants = new Set(binding.allowedVariants);
|
|
98
|
+
const observedRuns = new Set();
|
|
99
|
+
for (const [index, run] of result.runs.entries()) {
|
|
100
|
+
if (!selectedCaseIds.has(run.caseId)) {
|
|
101
|
+
errors.push(`run ${index} caseId is not selected by its binding`);
|
|
102
|
+
}
|
|
103
|
+
if (!allowedVariants.has(run.variant)) {
|
|
104
|
+
errors.push(`run ${index} variant is not enabled by its binding`);
|
|
105
|
+
}
|
|
106
|
+
if (run.attempt > binding.runs) {
|
|
107
|
+
errors.push(`run ${index} attempt exceeds its binding`);
|
|
108
|
+
}
|
|
109
|
+
const identity = JSON.stringify([run.caseId, run.variant, run.attempt]);
|
|
110
|
+
if (observedRuns.has(identity)) {
|
|
111
|
+
errors.push(`run ${index} duplicates a case, variant, and attempt tuple`);
|
|
112
|
+
}
|
|
113
|
+
observedRuns.add(identity);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return { valid: errors.length === 0, errors, calculated: errors.length === 0 ? result : null };
|
|
117
|
+
}
|
|
118
|
+
export async function parseEvalResult(value) {
|
|
119
|
+
const validation = await validateEvalResult(value);
|
|
120
|
+
if (!validation.valid || !validation.calculated)
|
|
121
|
+
throw new Error(validation.errors.join('; '));
|
|
122
|
+
return validation.calculated;
|
|
123
|
+
}
|
|
124
|
+
export async function validateEvalResultFile(resultPath, binding) {
|
|
125
|
+
try {
|
|
126
|
+
const file = await readEvalContractFile(resultPath, 'EvalResult');
|
|
127
|
+
const validation = await validateEvalResult(file.value, binding);
|
|
128
|
+
if (!validation.valid || !validation.calculated)
|
|
129
|
+
return { valid: false, errors: validation.errors, calculated: null };
|
|
130
|
+
return {
|
|
131
|
+
valid: true,
|
|
132
|
+
errors: [],
|
|
133
|
+
calculated: { result: validation.calculated, resultDigest: file.digest },
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
return {
|
|
138
|
+
valid: false,
|
|
139
|
+
errors: [`EvalResult is unavailable or invalid: ${error.message}`],
|
|
140
|
+
calculated: null,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=eval-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval-result.js","sourceRoot":"","sources":["../src/eval-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CustomProcessExecutorOptions, type EvalProviderRunResult } from './custom-process.js';
|
|
2
|
+
import { type EvalResult } from './eval-result.js';
|
|
3
|
+
import { type BuiltinEvalProviderDependencies, type BuiltinEvalProviderRunInput } from './providers.js';
|
|
4
|
+
import { type CodexWorkflowExecutorOptions } from './codex-workflow.js';
|
|
5
|
+
import { type SelectedCasesDocument, type SelectedEvalCase } from './selected-cases.js';
|
|
6
|
+
import type { Digest } from './types.js';
|
|
7
|
+
export interface RunEvalSpecOptions {
|
|
8
|
+
auditPath: string;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
sourceEnv?: NodeJS.ProcessEnv;
|
|
11
|
+
builtinProviderDependencies?: BuiltinEvalProviderDependencies;
|
|
12
|
+
runBuiltinProvider?: (id: string, input: BuiltinEvalProviderRunInput, dependencies?: BuiltinEvalProviderDependencies) => Promise<EvalProviderRunResult>;
|
|
13
|
+
executeCustomProvider?: (options: CustomProcessExecutorOptions) => Promise<EvalProviderRunResult>;
|
|
14
|
+
executeCodexWorkflowProvider?: (options: CodexWorkflowExecutorOptions) => Promise<EvalProviderRunResult>;
|
|
15
|
+
}
|
|
16
|
+
export interface RunEvalSpecResult {
|
|
17
|
+
valid: true;
|
|
18
|
+
resultPath: string;
|
|
19
|
+
resultDigest: Digest;
|
|
20
|
+
result: EvalResult;
|
|
21
|
+
}
|
|
22
|
+
export declare function adaptConversationProviderCase(document: SelectedCasesDocument, evalCase: SelectedEvalCase): Record<string, unknown>;
|
|
23
|
+
export declare function runEvalSpec(specPath: string, options: RunEvalSpecOptions): Promise<RunEvalSpecResult>;
|