@lesliechan721/agent-skill-eval 0.1.0-beta.6 → 0.1.0-beta.60

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.
Files changed (123) hide show
  1. package/dist/bin.js +167 -39
  2. package/dist/bin.js.map +1 -1
  3. package/dist/codex-eval-app-server.d.ts +213 -0
  4. package/dist/codex-eval-app-server.js +1387 -0
  5. package/dist/codex-eval-app-server.js.map +1 -0
  6. package/dist/codex-eval-cases.d.ts +41 -0
  7. package/dist/codex-eval-cases.js +324 -0
  8. package/dist/codex-eval-cases.js.map +1 -0
  9. package/dist/codex-eval-isolation.d.ts +79 -0
  10. package/dist/codex-eval-isolation.js +420 -0
  11. package/dist/codex-eval-isolation.js.map +1 -0
  12. package/dist/codex-eval-process-tree.d.ts +42 -0
  13. package/dist/codex-eval-process-tree.js +860 -0
  14. package/dist/codex-eval-process-tree.js.map +1 -0
  15. package/dist/codex-eval-rollout.d.ts +8 -0
  16. package/dist/codex-eval-rollout.js +85 -0
  17. package/dist/codex-eval-rollout.js.map +1 -0
  18. package/dist/codex-eval-runtime-config.d.ts +43 -0
  19. package/dist/codex-eval-runtime-config.js +607 -0
  20. package/dist/codex-eval-runtime-config.js.map +1 -0
  21. package/dist/codex-trigger-eval.d.ts +86 -0
  22. package/dist/codex-trigger-eval.js +943 -0
  23. package/dist/codex-trigger-eval.js.map +1 -0
  24. package/dist/codex-workflow-evaluation.d.ts +91 -0
  25. package/dist/codex-workflow-evaluation.js +309 -0
  26. package/dist/codex-workflow-evaluation.js.map +1 -0
  27. package/dist/codex-workflow-fixtures.d.ts +37 -0
  28. package/dist/codex-workflow-fixtures.js +144 -0
  29. package/dist/codex-workflow-fixtures.js.map +1 -0
  30. package/dist/codex-workflow.d.ts +224 -0
  31. package/dist/codex-workflow.js +2143 -0
  32. package/dist/codex-workflow.js.map +1 -0
  33. package/dist/credentials.d.ts +5 -0
  34. package/dist/credentials.js +30 -0
  35. package/dist/credentials.js.map +1 -0
  36. package/dist/custom-process.d.ts +60 -0
  37. package/dist/custom-process.js +424 -0
  38. package/dist/custom-process.js.map +1 -0
  39. package/dist/eval-audit.d.ts +38 -0
  40. package/dist/eval-audit.js +71 -0
  41. package/dist/eval-audit.js.map +1 -0
  42. package/dist/eval-file.d.ts +9 -0
  43. package/dist/eval-file.js +15 -0
  44. package/dist/eval-file.js.map +1 -0
  45. package/dist/eval-process-management.d.ts +23 -0
  46. package/dist/eval-process-management.js +93 -0
  47. package/dist/eval-process-management.js.map +1 -0
  48. package/dist/eval-result.d.ts +79 -0
  49. package/dist/eval-result.js +144 -0
  50. package/dist/eval-result.js.map +1 -0
  51. package/dist/eval-run.d.ts +27 -0
  52. package/dist/eval-run.js +572 -0
  53. package/dist/eval-run.js.map +1 -0
  54. package/dist/eval-spec.d.ts +57 -0
  55. package/dist/eval-spec.js +120 -0
  56. package/dist/eval-spec.js.map +1 -0
  57. package/dist/eval-suite-binding.d.ts +4 -0
  58. package/dist/eval-suite-binding.js +19 -0
  59. package/dist/eval-suite-binding.js.map +1 -0
  60. package/dist/index.d.ts +46 -10
  61. package/dist/index.js +23 -6
  62. package/dist/index.js.map +1 -1
  63. package/dist/instruction-v2.d.ts +53 -0
  64. package/dist/instruction-v2.js +169 -0
  65. package/dist/instruction-v2.js.map +1 -0
  66. package/dist/json-schema.js +84 -5
  67. package/dist/json-schema.js.map +1 -1
  68. package/dist/output-path.js +2 -2
  69. package/dist/process-tree.d.ts +56 -1
  70. package/dist/process-tree.js +948 -179
  71. package/dist/process-tree.js.map +1 -1
  72. package/dist/process.d.ts +2 -2
  73. package/dist/process.js +104 -34
  74. package/dist/process.js.map +1 -1
  75. package/dist/provider-doctor.d.ts +46 -0
  76. package/dist/provider-doctor.js +123 -0
  77. package/dist/provider-doctor.js.map +1 -0
  78. package/dist/providers.d.ts +86 -0
  79. package/dist/providers.js +689 -0
  80. package/dist/providers.js.map +1 -0
  81. package/dist/run-paths.d.ts +8 -0
  82. package/dist/run-paths.js +71 -0
  83. package/dist/run-paths.js.map +1 -0
  84. package/dist/runtime-skill.d.ts +6 -0
  85. package/dist/runtime-skill.js +87 -3
  86. package/dist/runtime-skill.js.map +1 -1
  87. package/dist/schemas/digests.json +7 -3
  88. package/dist/schemas/eval-audit.schema.json +64 -0
  89. package/dist/schemas/eval-result.schema.json +232 -0
  90. package/dist/schemas/eval-spec.schema.json +109 -0
  91. package/dist/schemas/instruction-v2-receipt.schema.json +24 -0
  92. package/dist/schemas/instruction-v2-request.schema.json +51 -0
  93. package/dist/schemas/workflow-evaluation.schema.json +38 -0
  94. package/dist/schemas/workflow-fixture-action.schema.json +15 -0
  95. package/dist/schemas.d.ts +1 -3
  96. package/dist/schemas.js +22 -20
  97. package/dist/schemas.js.map +1 -1
  98. package/dist/selected-cases.d.ts +30 -0
  99. package/dist/selected-cases.js +386 -0
  100. package/dist/selected-cases.js.map +1 -0
  101. package/dist/types.d.ts +2 -34
  102. package/dist/windows-job.d.ts +26 -0
  103. package/dist/windows-job.js +80 -0
  104. package/dist/windows-job.js.map +1 -0
  105. package/dist/windows-native.d.ts +18 -0
  106. package/dist/windows-native.js +132 -0
  107. package/dist/windows-native.js.map +1 -0
  108. package/package.json +19 -3
  109. package/dist/bundle.d.ts +0 -93
  110. package/dist/bundle.js +0 -216
  111. package/dist/bundle.js.map +0 -1
  112. package/dist/capabilities.d.ts +0 -2
  113. package/dist/capabilities.js +0 -38
  114. package/dist/capabilities.js.map +0 -1
  115. package/dist/plan.d.ts +0 -79
  116. package/dist/plan.js +0 -285
  117. package/dist/plan.js.map +0 -1
  118. package/dist/run.d.ts +0 -2
  119. package/dist/run.js +0 -592
  120. package/dist/run.js.map +0 -1
  121. package/dist/schemas/aw-skill-eval-execution-plan.schema.json +0 -220
  122. package/dist/schemas/eval-run-bundle.schema.json +0 -408
  123. package/dist/schemas/eval-runtime-capabilities.schema.json +0 -85
@@ -0,0 +1,132 @@
1
+ import { spawn } from 'node:child_process';
2
+ const MAX_INPUT_BYTES = 256 * 1024;
3
+ const MAX_OUTPUT_BYTES = 8 * 1024 * 1024;
4
+ const OPERATION_TIMEOUT_MS = 30_000;
5
+ const MAX_DOTNET_TICKS = 3155378975999999999n;
6
+ function validPid(value, allowZero = false) {
7
+ return typeof value === 'number' && Number.isSafeInteger(value) &&
8
+ value >= (allowZero ? 0 : 1) && value <= 0xffffffff;
9
+ }
10
+ function validTicks(value, cimPrecision = false) {
11
+ return typeof value === 'string' && /^[1-9][0-9]{0,18}$/u.test(value) &&
12
+ BigInt(value) <= MAX_DOTNET_TICKS && (!cimPrecision || value.endsWith('0'));
13
+ }
14
+ function hasKeys(value, keys) {
15
+ return value !== null && typeof value === 'object' && !Array.isArray(value) &&
16
+ Object.keys(value).length === keys.length && keys.every((key) => Object.hasOwn(value, key));
17
+ }
18
+ function invalidResponse() {
19
+ return new Error('Windows native helper returned an invalid response.');
20
+ }
21
+ async function runOperation(operation, input, options) {
22
+ const request = Buffer.from(JSON.stringify({ schemaVersion: 1, operation, input }), 'utf8');
23
+ const timeoutMs = options.timeoutMs ?? OPERATION_TIMEOUT_MS;
24
+ if (request.length > MAX_INPUT_BYTES || !Number.isSafeInteger(timeoutMs) ||
25
+ timeoutMs <= 0 || timeoutMs > OPERATION_TIMEOUT_MS) {
26
+ throw new Error('Invalid Windows native helper input.');
27
+ }
28
+ const helperPath = options.helperPath;
29
+ if (!helperPath)
30
+ throw new Error('Windows native operation requires a prepared helper.');
31
+ return new Promise((resolve, reject) => {
32
+ let settled = false;
33
+ let outputBytes = 0;
34
+ const chunks = [];
35
+ let child;
36
+ try {
37
+ child = (options.spawn ?? spawn)(helperPath, ['--operation'], {
38
+ windowsHide: true,
39
+ stdio: ['pipe', 'pipe', 'ignore'],
40
+ env: process.env,
41
+ });
42
+ }
43
+ catch {
44
+ reject(new Error('Windows native helper could not start.'));
45
+ return;
46
+ }
47
+ const finish = (error, result) => {
48
+ if (settled)
49
+ return;
50
+ settled = true;
51
+ clearTimeout(timer);
52
+ if (error) {
53
+ try {
54
+ child.kill();
55
+ }
56
+ catch { /* The helper can exit before cancellation. */ }
57
+ reject(error);
58
+ }
59
+ else {
60
+ resolve(result);
61
+ }
62
+ };
63
+ const timer = setTimeout(() => {
64
+ finish(new Error('Windows native helper operation timed out.'));
65
+ }, timeoutMs);
66
+ child.on('error', () => finish(new Error('Windows native helper could not start.')));
67
+ child.stdin.on('error', () => finish(new Error('Windows native helper input failed.')));
68
+ child.stdout.on('data', (chunk) => {
69
+ if (settled)
70
+ return;
71
+ outputBytes += chunk.length;
72
+ if (outputBytes > MAX_OUTPUT_BYTES) {
73
+ finish(new Error('Windows native helper output exceeded its limit.'));
74
+ return;
75
+ }
76
+ chunks.push(Buffer.from(chunk));
77
+ });
78
+ child.on('close', (code, signal) => {
79
+ if (settled)
80
+ return;
81
+ if (code !== 0 || signal !== null) {
82
+ finish(new Error('Windows native helper operation failed.'));
83
+ return;
84
+ }
85
+ try {
86
+ const response = JSON.parse(new TextDecoder('utf-8', { fatal: true })
87
+ .decode(Buffer.concat(chunks)));
88
+ if (!hasKeys(response, ['schemaVersion', 'result']) || response.schemaVersion !== 1) {
89
+ throw invalidResponse();
90
+ }
91
+ finish(undefined, response.result);
92
+ }
93
+ catch {
94
+ finish(invalidResponse());
95
+ }
96
+ });
97
+ try {
98
+ child.stdin.end(request);
99
+ }
100
+ catch {
101
+ finish(new Error('Windows native helper input failed.'));
102
+ }
103
+ });
104
+ }
105
+ /** Full 100 ns identity for compatibility with existing CLI win32:<ticks> locks. */
106
+ export async function readWindowsNativeProcessStart(pid, options = {}) {
107
+ if (!validPid(pid))
108
+ throw new Error('Invalid Windows process identifier.');
109
+ const result = await runOperation('processStart', { pid }, options);
110
+ if (result !== null && !validTicks(result))
111
+ throw invalidResponse();
112
+ return result;
113
+ }
114
+ /** Required live PIDs must be readable; only confirmed exits can be omitted. */
115
+ export async function readWindowsNativeProcessTable(requiredPids = [], options = {}) {
116
+ if (!Array.isArray(requiredPids) || ![...requiredPids].every((pid) => validPid(pid))) {
117
+ throw new Error('Invalid Windows process identifiers.');
118
+ }
119
+ const result = await runOperation('processTable', { requiredPids: [...new Set(requiredPids)] }, options);
120
+ if (!Array.isArray(result))
121
+ throw invalidResponse();
122
+ const seenPids = new Set();
123
+ for (const row of result) {
124
+ if (!hasKeys(row, ['pid', 'ppid', 'pgid', 'started']) || !validPid(row.pid) ||
125
+ !validPid(row.ppid, true) || row.pgid !== null || !validTicks(row.started, true) ||
126
+ seenPids.has(row.pid))
127
+ throw invalidResponse();
128
+ seenPids.add(row.pid);
129
+ }
130
+ return result;
131
+ }
132
+ //# sourceMappingURL=windows-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows-native.js","sourceRoot":"","sources":["../src/windows-native.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@lesliechan721/agent-skill-eval",
3
- "version": "0.1.0-beta.6",
3
+ "version": "0.1.0-beta.60",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
7
7
  },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/lesliechan721-arch/agent-workflow.git",
11
+ "directory": "packages/agent-skill-eval"
12
+ },
8
13
  "publishConfig": {
9
14
  "access": "public",
10
15
  "registry": "https://registry.npmjs.org/"
@@ -21,14 +26,25 @@
21
26
  "files": [
22
27
  "dist/"
23
28
  ],
29
+ "dependencies": {
30
+ "fs-extra": "^11.3.0",
31
+ "toml-eslint-parser": "^1.0.3"
32
+ },
24
33
  "devDependencies": {
34
+ "@types/fs-extra": "^11.0.4",
25
35
  "@types/node": "^24.0.0",
26
36
  "typescript": "^5.9.3",
27
37
  "vitest": "^3.2.4"
28
38
  },
39
+ "optionalDependencies": {
40
+ "@lesliechan721/aw-windows-job-win32-x64": "0.1.0-beta.60",
41
+ "@lesliechan721/aw-windows-job-win32-arm64": "0.1.0-beta.60"
42
+ },
29
43
  "scripts": {
30
44
  "build": "node scripts/clean-dist.mjs && tsc -p tsconfig.json && node scripts/embed-schemas.mjs",
31
- "test": "pnpm run build && vitest run",
32
- "test:unit": "pnpm run build && vitest run tests/unit"
45
+ "build:dev": "tsc -p tsconfig.dev.json && node scripts/embed-schemas.mjs",
46
+ "test": "pnpm run test:unit",
47
+ "test:unit": "node ../../scripts/test/run-vitest.mjs run --project pure && node ../../scripts/test/run-vitest.mjs run --project filesystem-isolated && node ../../scripts/test/run-vitest.mjs run --project process-lifecycle --pool=forks --maxWorkers=1 --no-file-parallelism",
48
+ "test:dist": "node ../../scripts/test/run-vitest.mjs run --config vitest.dist.config.ts"
33
49
  }
34
50
  }
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import type { RuntimeCapabilities } from './types.js';
2
- export declare function getRuntimeCapabilities(platform?: NodeJS.Platform): RuntimeCapabilities;
@@ -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
@@ -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>>;