@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
package/dist/bundle.d.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import type { Digest, ValidationResult } from './types.js';
|
|
2
|
-
export interface EvalArtifact {
|
|
3
|
-
role: 'trace' | 'report' | 'output' | 'grading' | 'other';
|
|
4
|
-
path: string;
|
|
5
|
-
digest: Digest;
|
|
6
|
-
}
|
|
7
|
-
export interface EvalGrading {
|
|
8
|
-
grader: {
|
|
9
|
-
id: string;
|
|
10
|
-
version: string;
|
|
11
|
-
[key: string]: unknown;
|
|
12
|
-
};
|
|
13
|
-
result: Record<string, unknown>;
|
|
14
|
-
[key: string]: unknown;
|
|
15
|
-
}
|
|
16
|
-
export interface EvalRun {
|
|
17
|
-
caseId: string;
|
|
18
|
-
configuration: string;
|
|
19
|
-
comparisonId: string | null;
|
|
20
|
-
skillMode: 'with-skill' | 'without-skill' | 'previous-version';
|
|
21
|
-
skillDigest: Digest | null;
|
|
22
|
-
runIndex: number;
|
|
23
|
-
status: 'completed' | 'process-failed' | 'timeout' | 'error';
|
|
24
|
-
exitCode: number | null;
|
|
25
|
-
durationMs: number;
|
|
26
|
-
stdoutPath: string;
|
|
27
|
-
stdoutDigest: Digest;
|
|
28
|
-
stderrPath: string;
|
|
29
|
-
stderrDigest: Digest;
|
|
30
|
-
usage: Record<string, unknown> | null;
|
|
31
|
-
grading: EvalGrading | null;
|
|
32
|
-
artifacts: EvalArtifact[];
|
|
33
|
-
}
|
|
34
|
-
export interface ComparisonAggregate {
|
|
35
|
-
comparisonId: string;
|
|
36
|
-
caseId: string;
|
|
37
|
-
runIndex: number;
|
|
38
|
-
paired: boolean;
|
|
39
|
-
comparable: boolean;
|
|
40
|
-
}
|
|
41
|
-
export interface EvalRunBundle {
|
|
42
|
-
schemaVersion: 3;
|
|
43
|
-
runner: {
|
|
44
|
-
id: string;
|
|
45
|
-
version: string;
|
|
46
|
-
};
|
|
47
|
-
independentContext: boolean;
|
|
48
|
-
provider: {
|
|
49
|
-
id: string;
|
|
50
|
-
version: string;
|
|
51
|
-
};
|
|
52
|
-
planDigest: Digest;
|
|
53
|
-
targetSkillDigest: Digest;
|
|
54
|
-
caseCorpusDigest: Digest;
|
|
55
|
-
comparisonPlanned: boolean;
|
|
56
|
-
evidenceLevel: 'executed' | 'comparative';
|
|
57
|
-
evidenceRequirement?: {
|
|
58
|
-
minimumEvidenceLevel: 'executed' | 'comparative';
|
|
59
|
-
plannedComparisons: number;
|
|
60
|
-
comparableComparisons: number;
|
|
61
|
-
satisfied: boolean;
|
|
62
|
-
};
|
|
63
|
-
processManagement?: {
|
|
64
|
-
mode: 'managed' | 'verified-observed' | 'observed';
|
|
65
|
-
descendantCleanupGuaranteed: boolean;
|
|
66
|
-
limitation?: string;
|
|
67
|
-
};
|
|
68
|
-
runs: EvalRun[];
|
|
69
|
-
aggregate: {
|
|
70
|
-
cases: number;
|
|
71
|
-
configurations: number;
|
|
72
|
-
runs: number;
|
|
73
|
-
completed: number;
|
|
74
|
-
processFailed: number;
|
|
75
|
-
timedOut: number;
|
|
76
|
-
comparisons: ComparisonAggregate[];
|
|
77
|
-
};
|
|
78
|
-
limitations: string[];
|
|
79
|
-
}
|
|
80
|
-
export interface BundleCalculated {
|
|
81
|
-
bundleDigest: Digest;
|
|
82
|
-
cases?: number;
|
|
83
|
-
configurations?: number;
|
|
84
|
-
runs?: number;
|
|
85
|
-
completed?: number;
|
|
86
|
-
processFailed?: number;
|
|
87
|
-
timedOut?: number;
|
|
88
|
-
comparisons?: ComparisonAggregate[];
|
|
89
|
-
}
|
|
90
|
-
export declare function comparisonAggregate(runs: EvalRun[], gradingBoundRuns?: Set<string>): ComparisonAggregate[];
|
|
91
|
-
export declare function validateRunBundle(bundlePath: string, options?: {
|
|
92
|
-
evidenceRoot?: string;
|
|
93
|
-
}): Promise<ValidationResult<BundleCalculated>>;
|
package/dist/bundle.js
DELETED
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { lstat, readFile, realpath } from 'node:fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { isPathInside, sha256, stable } from './common.js';
|
|
4
|
-
import { validateJsonSchema } from './json-schema.js';
|
|
5
|
-
import { getSchema } from './schemas.js';
|
|
6
|
-
function identity(values) {
|
|
7
|
-
return JSON.stringify(values);
|
|
8
|
-
}
|
|
9
|
-
function graderIdentity(run) {
|
|
10
|
-
return run.grading ? identity([run.grading.grader.id, run.grading.grader.version]) : null;
|
|
11
|
-
}
|
|
12
|
-
function runIdentity(run) {
|
|
13
|
-
return identity([run.caseId, run.configuration, run.runIndex]);
|
|
14
|
-
}
|
|
15
|
-
export function comparisonAggregate(runs, gradingBoundRuns = new Set(runs
|
|
16
|
-
.filter((run) => run.grading !== null && run.artifacts.filter((entry) => entry.role === 'grading').length === 1)
|
|
17
|
-
.map(runIdentity))) {
|
|
18
|
-
const groups = new Map();
|
|
19
|
-
for (const run of runs) {
|
|
20
|
-
if (run.comparisonId === null)
|
|
21
|
-
continue;
|
|
22
|
-
const key = identity([run.comparisonId, run.caseId, run.runIndex]);
|
|
23
|
-
const group = groups.get(key) ?? {
|
|
24
|
-
comparisonId: run.comparisonId,
|
|
25
|
-
caseId: run.caseId,
|
|
26
|
-
runIndex: run.runIndex,
|
|
27
|
-
runs: [],
|
|
28
|
-
};
|
|
29
|
-
group.runs.push(run);
|
|
30
|
-
groups.set(key, group);
|
|
31
|
-
}
|
|
32
|
-
return [...groups.values()].map((group) => {
|
|
33
|
-
const withSkill = group.runs.filter((run) => run.skillMode === 'with-skill' && run.status === 'completed');
|
|
34
|
-
const baselines = group.runs.filter((run) => run.skillMode !== 'with-skill' && run.status === 'completed');
|
|
35
|
-
const paired = withSkill.length > 0 && baselines.length > 0;
|
|
36
|
-
const comparable = paired && withSkill.some((current) => {
|
|
37
|
-
if (!gradingBoundRuns.has(runIdentity(current)))
|
|
38
|
-
return false;
|
|
39
|
-
const currentGrader = graderIdentity(current);
|
|
40
|
-
return currentGrader !== null && baselines.some((baseline) => gradingBoundRuns.has(runIdentity(baseline)) && graderIdentity(baseline) === currentGrader);
|
|
41
|
-
});
|
|
42
|
-
return { comparisonId: group.comparisonId, caseId: group.caseId, runIndex: group.runIndex, paired, comparable };
|
|
43
|
-
}).sort((left, right) => identity([left.comparisonId, left.caseId, left.runIndex])
|
|
44
|
-
.localeCompare(identity([right.comparisonId, right.caseId, right.runIndex])));
|
|
45
|
-
}
|
|
46
|
-
function isCanonicalEvidencePath(value) {
|
|
47
|
-
if (!value || value.includes('\\') || path.posix.isAbsolute(value) || path.win32.isAbsolute(value))
|
|
48
|
-
return false;
|
|
49
|
-
return value.split('/').every((segment) => segment && segment !== '.' && segment !== '..');
|
|
50
|
-
}
|
|
51
|
-
async function evidenceErrors(root, value, digest, label) {
|
|
52
|
-
if (!isCanonicalEvidencePath(value))
|
|
53
|
-
return [`${label} must be a canonical POSIX relative file path`];
|
|
54
|
-
const candidate = path.resolve(root, value);
|
|
55
|
-
if (!isPathInside(root, candidate))
|
|
56
|
-
return [`${label} leaves the evidence root`];
|
|
57
|
-
try {
|
|
58
|
-
const info = await lstat(candidate);
|
|
59
|
-
if (info.isSymbolicLink())
|
|
60
|
-
return [`${label} must not be a symlink`];
|
|
61
|
-
if (!info.isFile())
|
|
62
|
-
return [`${label} must be a regular file`];
|
|
63
|
-
const actual = await realpath(candidate);
|
|
64
|
-
if (!isPathInside(root, actual))
|
|
65
|
-
return [`${label} leaves the evidence root`];
|
|
66
|
-
return sha256(await readFile(actual)) === digest ? [] : [`${label} digest does not match file content`];
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return [`${label} does not resolve to a regular evidence file`];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async function gradingBindingErrors(root, run, index) {
|
|
73
|
-
const artifacts = run.artifacts.filter((entry) => entry.role === 'grading');
|
|
74
|
-
if (run.grading === null) {
|
|
75
|
-
return artifacts.length === 0
|
|
76
|
-
? { errors: [], bound: false }
|
|
77
|
-
: { errors: [`runs[${index}] must not have a grading artifact when grading is null`], bound: false };
|
|
78
|
-
}
|
|
79
|
-
if (artifacts.length !== 1)
|
|
80
|
-
return { errors: [`runs[${index}] grading requires exactly one grading artifact`], bound: false };
|
|
81
|
-
const artifact = artifacts[0];
|
|
82
|
-
if (!isCanonicalEvidencePath(artifact.path))
|
|
83
|
-
return { errors: [], bound: false };
|
|
84
|
-
try {
|
|
85
|
-
const candidate = path.resolve(root, artifact.path);
|
|
86
|
-
if (!isPathInside(root, candidate))
|
|
87
|
-
return { errors: [], bound: false };
|
|
88
|
-
const info = await lstat(candidate);
|
|
89
|
-
if (info.isSymbolicLink() || !info.isFile())
|
|
90
|
-
return { errors: [], bound: false };
|
|
91
|
-
const actual = await realpath(candidate);
|
|
92
|
-
if (!isPathInside(root, actual))
|
|
93
|
-
return { errors: [], bound: false };
|
|
94
|
-
const bytes = await readFile(actual);
|
|
95
|
-
if (sha256(bytes) !== artifact.digest)
|
|
96
|
-
return { errors: [], bound: false };
|
|
97
|
-
const parsed = JSON.parse(bytes.toString('utf8'));
|
|
98
|
-
if (stable(parsed) !== stable(run.grading)) {
|
|
99
|
-
return { errors: [`runs[${index}] grading artifact does not match run.grading`], bound: false };
|
|
100
|
-
}
|
|
101
|
-
return { errors: [], bound: true };
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
if (error instanceof SyntaxError) {
|
|
105
|
-
return { errors: [`runs[${index}] grading artifact must contain JSON`], bound: false };
|
|
106
|
-
}
|
|
107
|
-
return { errors: [], bound: false };
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
export async function validateRunBundle(bundlePath, options = {}) {
|
|
111
|
-
let bundle;
|
|
112
|
-
const errors = [];
|
|
113
|
-
let raw;
|
|
114
|
-
try {
|
|
115
|
-
raw = await readFile(bundlePath);
|
|
116
|
-
}
|
|
117
|
-
catch (error) {
|
|
118
|
-
return { valid: false, errors: [`bundle is unavailable or invalid: ${error.message}`], calculated: null };
|
|
119
|
-
}
|
|
120
|
-
const digestCalculated = { bundleDigest: sha256(raw) };
|
|
121
|
-
try {
|
|
122
|
-
const value = JSON.parse(raw.toString('utf8'));
|
|
123
|
-
errors.push(...validateJsonSchema(await getSchema('eval-run-bundle'), value));
|
|
124
|
-
if (errors.length > 0)
|
|
125
|
-
return { valid: false, errors, calculated: digestCalculated };
|
|
126
|
-
bundle = value;
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
return { valid: false, errors: [`bundle is unavailable or invalid: ${error.message}`], calculated: digestCalculated };
|
|
130
|
-
}
|
|
131
|
-
const root = await realpath(options.evidenceRoot ?? path.dirname(path.resolve(bundlePath)));
|
|
132
|
-
const runIdentities = new Set();
|
|
133
|
-
const gradingBoundRuns = new Set();
|
|
134
|
-
for (let index = 0; index < bundle.runs.length; index += 1) {
|
|
135
|
-
const run = bundle.runs[index];
|
|
136
|
-
const key = identity([run.caseId, run.configuration, run.runIndex]);
|
|
137
|
-
if (runIdentities.has(key))
|
|
138
|
-
errors.push(`duplicate run identity ${key}`);
|
|
139
|
-
runIdentities.add(key);
|
|
140
|
-
if (run.skillMode === 'with-skill' && run.skillDigest !== bundle.targetSkillDigest)
|
|
141
|
-
errors.push(`with-skill run ${key} must use targetSkillDigest`);
|
|
142
|
-
if (run.skillMode === 'without-skill' && run.skillDigest !== null)
|
|
143
|
-
errors.push(`without-skill run ${key} must use skillDigest=null`);
|
|
144
|
-
if (run.skillMode === 'previous-version' && run.skillDigest === null)
|
|
145
|
-
errors.push(`previous-version run ${key} must use a Skill digest`);
|
|
146
|
-
errors.push(...await evidenceErrors(root, run.stdoutPath, run.stdoutDigest, `runs[${index}].stdoutPath`), ...await evidenceErrors(root, run.stderrPath, run.stderrDigest, `runs[${index}].stderrPath`));
|
|
147
|
-
for (let artifactIndex = 0; artifactIndex < run.artifacts.length; artifactIndex += 1) {
|
|
148
|
-
const artifact = run.artifacts[artifactIndex];
|
|
149
|
-
errors.push(...await evidenceErrors(root, artifact.path, artifact.digest, `runs[${index}].artifacts[${artifactIndex}].path`));
|
|
150
|
-
}
|
|
151
|
-
const gradingBinding = await gradingBindingErrors(root, run, index);
|
|
152
|
-
errors.push(...gradingBinding.errors);
|
|
153
|
-
if (gradingBinding.bound)
|
|
154
|
-
gradingBoundRuns.add(runIdentity(run));
|
|
155
|
-
}
|
|
156
|
-
const comparisons = comparisonAggregate(bundle.runs, gradingBoundRuns);
|
|
157
|
-
const calculated = {
|
|
158
|
-
bundleDigest: digestCalculated.bundleDigest,
|
|
159
|
-
cases: new Set(bundle.runs.map((run) => run.caseId)).size,
|
|
160
|
-
configurations: new Set(bundle.runs.map((run) => run.configuration)).size,
|
|
161
|
-
runs: bundle.runs.length,
|
|
162
|
-
completed: bundle.runs.filter((run) => run.status === 'completed').length,
|
|
163
|
-
processFailed: bundle.runs.filter((run) => run.status === 'process-failed' || run.status === 'error').length,
|
|
164
|
-
timedOut: bundle.runs.filter((run) => run.status === 'timeout').length,
|
|
165
|
-
comparisons,
|
|
166
|
-
};
|
|
167
|
-
for (const name of ['cases', 'configurations', 'runs', 'completed', 'processFailed', 'timedOut'])
|
|
168
|
-
if (bundle.aggregate[name] !== calculated[name])
|
|
169
|
-
errors.push(`aggregate.${name} does not match runs`);
|
|
170
|
-
const actualComparisons = [...bundle.aggregate.comparisons].sort((left, right) => identity([left.comparisonId, left.caseId, left.runIndex]).localeCompare(identity([right.comparisonId, right.caseId, right.runIndex])));
|
|
171
|
-
if (JSON.stringify(actualComparisons) !== JSON.stringify(comparisons))
|
|
172
|
-
errors.push('aggregate.comparisons does not match runs');
|
|
173
|
-
const comparisonPlanned = comparisons.length > 0;
|
|
174
|
-
if (bundle.comparisonPlanned !== comparisonPlanned)
|
|
175
|
-
errors.push('comparisonPlanned does not match run comparison identities');
|
|
176
|
-
const evidenceLevel = comparisons.some((entry) => entry.comparable) ? 'comparative' : 'executed';
|
|
177
|
-
if (bundle.evidenceLevel !== evidenceLevel)
|
|
178
|
-
errors.push(`evidenceLevel must be ${evidenceLevel} for the supplied runs`);
|
|
179
|
-
if (bundle.evidenceRequirement) {
|
|
180
|
-
const comparableComparisons = comparisons.filter((entry) => entry.comparable).length;
|
|
181
|
-
if (bundle.evidenceRequirement.comparableComparisons !== comparableComparisons)
|
|
182
|
-
errors.push('evidenceRequirement.comparableComparisons does not match aggregate comparisons');
|
|
183
|
-
if (bundle.evidenceRequirement.plannedComparisons < comparisons.length)
|
|
184
|
-
errors.push('evidenceRequirement.plannedComparisons is smaller than aggregate comparisons');
|
|
185
|
-
const comparisonCoverageSatisfied = bundle.evidenceRequirement.minimumEvidenceLevel === 'executed' || (bundle.evidenceRequirement.plannedComparisons > 0 &&
|
|
186
|
-
comparableComparisons === bundle.evidenceRequirement.plannedComparisons);
|
|
187
|
-
if (bundle.evidenceRequirement.satisfied && !comparisonCoverageSatisfied)
|
|
188
|
-
errors.push('evidenceRequirement.satisfied cannot be true without required comparison coverage');
|
|
189
|
-
}
|
|
190
|
-
if (bundle.processManagement?.mode === 'managed' &&
|
|
191
|
-
bundle.processManagement.descendantCleanupGuaranteed !== true)
|
|
192
|
-
errors.push('managed processManagement must guarantee descendant cleanup');
|
|
193
|
-
if (bundle.processManagement &&
|
|
194
|
-
bundle.processManagement.mode !== 'managed' &&
|
|
195
|
-
bundle.processManagement.descendantCleanupGuaranteed !== false)
|
|
196
|
-
errors.push('observed processManagement must not guarantee descendant cleanup');
|
|
197
|
-
if (bundle.processManagement &&
|
|
198
|
-
bundle.processManagement.mode !== 'managed' &&
|
|
199
|
-
!bundle.processManagement.limitation)
|
|
200
|
-
errors.push('observed processManagement requires a limitation');
|
|
201
|
-
if (bundle.processManagement?.limitation &&
|
|
202
|
-
!bundle.limitations.includes(bundle.processManagement.limitation))
|
|
203
|
-
errors.push('processManagement limitation must be preserved in limitations');
|
|
204
|
-
if (bundle.evidenceLevel === 'comparative' &&
|
|
205
|
-
bundle.evidenceRequirement?.satisfied !== false &&
|
|
206
|
-
bundle.processManagement?.mode === 'observed')
|
|
207
|
-
errors.push('accepted comparative evidence requires managed or verified-observed process management');
|
|
208
|
-
if (bundle.evidenceLevel === 'comparative' &&
|
|
209
|
-
bundle.evidenceRequirement?.satisfied === true &&
|
|
210
|
-
bundle.processManagement === undefined)
|
|
211
|
-
errors.push('accepted comparative evidence requires processManagement evidence');
|
|
212
|
-
if (comparisons.some((entry) => !entry.comparable) && bundle.limitations.length === 0)
|
|
213
|
-
errors.push('non-comparable planned comparisons require a limitation');
|
|
214
|
-
return { valid: errors.length === 0, errors, calculated };
|
|
215
|
-
}
|
|
216
|
-
//# sourceMappingURL=bundle.js.map
|
package/dist/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/capabilities.d.ts
DELETED
package/dist/capabilities.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';
|
|
2
|
-
import process from 'node:process';
|
|
3
|
-
export function getRuntimeCapabilities(platform = process.platform) {
|
|
4
|
-
const require = createRequire(import.meta.url);
|
|
5
|
-
const packageJson = require('../package.json');
|
|
6
|
-
const processObservationAvailable = platform === 'darwin' || platform === 'linux' || platform === 'win32';
|
|
7
|
-
return {
|
|
8
|
-
schemaVersion: 1,
|
|
9
|
-
provider: 'aw-skill-eval-process',
|
|
10
|
-
providerVersion: packageJson.version,
|
|
11
|
-
capabilities: {
|
|
12
|
-
triggerDiscovery: false,
|
|
13
|
-
skillPathExecution: processObservationAvailable,
|
|
14
|
-
previousVersionBaseline: processObservationAvailable,
|
|
15
|
-
withoutSkillBaseline: processObservationAvailable,
|
|
16
|
-
cleanContext: false,
|
|
17
|
-
parallelRuns: false,
|
|
18
|
-
toolTrace: false,
|
|
19
|
-
tokenUsage: true,
|
|
20
|
-
duration: true,
|
|
21
|
-
sandbox: false,
|
|
22
|
-
materialization: true,
|
|
23
|
-
},
|
|
24
|
-
limitations: [
|
|
25
|
-
'The process provider does not prove a clean model context.',
|
|
26
|
-
'The process provider does not supply a tool trace or sandbox.',
|
|
27
|
-
...(processObservationAvailable
|
|
28
|
-
? [
|
|
29
|
-
`Standalone ${platform} execution uses process observation and before/after Skill digests; it does not guarantee descendant cleanup.`,
|
|
30
|
-
...(platform === 'darwin' || platform === 'linux'
|
|
31
|
-
? ['Comparative evidence requires Full Access verified process observation or confirmed external containment.']
|
|
32
|
-
: ['Comparative evidence is disabled without confirmed external containment.']),
|
|
33
|
-
]
|
|
34
|
-
: [`Standalone ${platform} execution is disabled because process observation is unavailable.`]),
|
|
35
|
-
],
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=capabilities.js.map
|
package/dist/capabilities.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,MAAM,UAAU,sBAAsB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IACjF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAA;IACrE,MAAM,2BAA2B,GAAG,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAA;IACzG,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,uBAAuB;QACjC,eAAe,EAAE,WAAW,CAAC,OAAO;QACpC,YAAY,EAAE;YACZ,gBAAgB,EAAE,KAAK;YACvB,kBAAkB,EAAE,2BAA2B;YAC/C,uBAAuB,EAAE,2BAA2B;YACpD,oBAAoB,EAAE,2BAA2B;YACjD,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,IAAI;SACtB;QACD,WAAW,EAAE;YACX,4DAA4D;YAC5D,+DAA+D;YAC/D,GAAG,CAAC,2BAA2B;gBAC7B,CAAC,CAAC;oBACE,cAAc,QAAQ,+GAA+G;oBACrI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO;wBAC/C,CAAC,CAAC,CAAC,2GAA2G,CAAC;wBAC/G,CAAC,CAAC,CAAC,0EAA0E,CAAC,CAAC;iBAClF;gBACH,CAAC,CAAC,CAAC,cAAc,QAAQ,oEAAoE,CAAC,CAAC;SAClG;KACF,CAAA;AACH,CAAC"}
|
package/dist/plan.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
export { computeCaseCorpusDigest } from './corpus-digest.js';
|
|
2
|
-
import { type CapturedRuntimeSkill } from './runtime-skill.js';
|
|
3
|
-
import type { Digest, RuntimeCapabilities, ValidationResult } from './types.js';
|
|
4
|
-
export interface EvalConfiguration {
|
|
5
|
-
id: string;
|
|
6
|
-
skillMode: 'with-skill' | 'without-skill' | 'previous-version';
|
|
7
|
-
comparisonId: string | null;
|
|
8
|
-
skillPath?: string | null;
|
|
9
|
-
skillDigest?: Digest | null;
|
|
10
|
-
env?: Record<string, string>;
|
|
11
|
-
}
|
|
12
|
-
export interface AwSkillEvalExecutionPlan {
|
|
13
|
-
schemaVersion: 3;
|
|
14
|
-
planId: string;
|
|
15
|
-
minimumEvidenceLevel?: 'executed' | 'comparative';
|
|
16
|
-
target: {
|
|
17
|
-
name: string;
|
|
18
|
-
path: string;
|
|
19
|
-
digest: Digest;
|
|
20
|
-
};
|
|
21
|
-
cases: {
|
|
22
|
-
paths: string[];
|
|
23
|
-
corpusDigest: Digest;
|
|
24
|
-
};
|
|
25
|
-
provider: {
|
|
26
|
-
id: string;
|
|
27
|
-
command: string[];
|
|
28
|
-
cwd?: string | null;
|
|
29
|
-
env?: Record<string, string>;
|
|
30
|
-
capabilitiesPath: string;
|
|
31
|
-
capabilitiesDigest: Digest;
|
|
32
|
-
inheritEnvironment: boolean;
|
|
33
|
-
};
|
|
34
|
-
configurations: EvalConfiguration[];
|
|
35
|
-
runsPerCase: number;
|
|
36
|
-
timeoutMs: number;
|
|
37
|
-
outputRoot: string;
|
|
38
|
-
capture: {
|
|
39
|
-
outputs: boolean;
|
|
40
|
-
trace: boolean;
|
|
41
|
-
timing: boolean;
|
|
42
|
-
usage: boolean;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export interface EvalCase extends Record<string, unknown> {
|
|
46
|
-
id?: string | number;
|
|
47
|
-
}
|
|
48
|
-
export interface PlanCalculated {
|
|
49
|
-
targetSkillDigest: Digest | null;
|
|
50
|
-
caseCorpusDigest: Digest | null;
|
|
51
|
-
capabilitiesDigest: Digest | null;
|
|
52
|
-
configurationSkillDigests: Record<string, Digest | null>;
|
|
53
|
-
}
|
|
54
|
-
export interface CapturedPlanFile {
|
|
55
|
-
label: string;
|
|
56
|
-
requestedPath: string;
|
|
57
|
-
canonicalPath: string;
|
|
58
|
-
digest: Digest;
|
|
59
|
-
raw: string;
|
|
60
|
-
}
|
|
61
|
-
export interface CapturedExecutionPlan {
|
|
62
|
-
plan: AwSkillEvalExecutionPlan;
|
|
63
|
-
base: string;
|
|
64
|
-
outputRoot: string;
|
|
65
|
-
planFile: CapturedPlanFile;
|
|
66
|
-
caseFiles: CapturedPlanFile[];
|
|
67
|
-
capabilitiesFile: CapturedPlanFile;
|
|
68
|
-
cases: EvalCase[];
|
|
69
|
-
capabilities: RuntimeCapabilities;
|
|
70
|
-
skills: Map<string, CapturedRuntimeSkill | null>;
|
|
71
|
-
boundSkills: Map<string, CapturedRuntimeSkill>;
|
|
72
|
-
}
|
|
73
|
-
export interface CapturedExecutionPlanResult extends ValidationResult<PlanCalculated> {
|
|
74
|
-
captured: CapturedExecutionPlan | null;
|
|
75
|
-
}
|
|
76
|
-
export declare function casesFrom(document: unknown): EvalCase[];
|
|
77
|
-
export declare function promptOf(evalCase: EvalCase): string;
|
|
78
|
-
export declare function captureAndValidateExecutionPlan(planPath: string): Promise<CapturedExecutionPlanResult>;
|
|
79
|
-
export declare function validateExecutionPlan(planPath: string): Promise<ValidationResult<PlanCalculated>>;
|