@openpond/evals 0.11.2 → 0.11.4

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/index.js CHANGED
@@ -14,6 +14,7 @@ export * from "./model-improvement-qualification.js";
14
14
  export * from "./preferences.js";
15
15
  export * from "./profile-evaluations.js";
16
16
  export * from "./profile-evaluation-comparisons.js";
17
+ export * from "./profile-evaluation-execution.js";
17
18
  export * from "./review-conformance.js";
18
19
  export * from "./rollouts.js";
19
20
  export * from "./telemetry.js";
@@ -0,0 +1,98 @@
1
+ import { ImmutableArtifactRefSchema, contentHash } from "@openpond/harness";
2
+ import { TaskGradeSchema, gradeTaskEvidence } from "./graders.js";
3
+ import { aggregateTasksetRunReceipts, assertTasksetMetricSource } from "./metrics.js";
4
+ import { createAttemptReceipt, verifyAttemptReceipt } from "./runs.js";
5
+ import { assertProfileEvaluationRunAdmission } from "./taskset-run-contract.js";
6
+ import { policyTaskView } from "./tasksets.js";
7
+ /** The installation owns execution, tools, approvals and storage. This runner
8
+ * owns frozen population dispatch and private grading for both Desktop and web. */
9
+ export async function executeProfileEvaluationRun(input) {
10
+ assertProfileEvaluationRunAdmission(input.manifest, input.taskset, input.catalog);
11
+ assertTasksetMetricSource(input.taskset, input.metricSource);
12
+ const source = input.manifest.profileEvaluation;
13
+ const definition = input.catalog.definitions.find((item) => item.id === source.definitionId);
14
+ const tasks = new Map(input.taskset.tasks.map((task) => [task.id, task]));
15
+ const receipts = [];
16
+ const grades = [];
17
+ for (const member of input.manifest.population) {
18
+ input.signal?.throwIfAborted();
19
+ const task = tasks.get(member.taskId);
20
+ const retained = await input.loadCompletedMember?.(member) ?? null;
21
+ if (retained) {
22
+ const { receipt, grade } = retained;
23
+ const { contentHash: gradeHash, ...gradeContent } = TaskGradeSchema.parse(grade);
24
+ if (!verifyAttemptReceipt(receipt)
25
+ || gradeHash !== contentHash(gradeContent)
26
+ || receipt.id !== member.receiptId
27
+ || receipt.runManifest.id !== input.manifest.id
28
+ || receipt.runManifest.contentHash !== input.manifest.contentHash
29
+ || receipt.taskId !== member.taskId || receipt.seed !== member.seed
30
+ || receipt.graderEvidenceRefs.length !== 1
31
+ || receipt.graderEvidenceRefs[0]?.contentHash !== gradeHash
32
+ || grade.taskHash !== contentHash(task)
33
+ || grade.graderSetHash !== contentHash(input.taskset.graders)
34
+ || receipt.metadata.score !== grade.score
35
+ || receipt.metadata.passed !== grade.passed) {
36
+ throw new Error(`Retained Profile evaluation member ${member.receiptId} differs from its admitted evidence.`);
37
+ }
38
+ grades.push(grade);
39
+ receipts.push(receipt);
40
+ continue;
41
+ }
42
+ const execution = await input.execute({
43
+ task: policyTaskView(task), seed: member.seed, source,
44
+ ...(input.signal ? { signal: input.signal } : {}),
45
+ });
46
+ input.signal?.throwIfAborted();
47
+ const grade = await gradeTaskEvidence({
48
+ task, evidence: execution.evidence, graders: input.taskset.graders,
49
+ ...(input.modelJudge ? { modelJudge: input.modelJudge } : {}),
50
+ ...(input.customVerifier ? { customVerifier: input.customVerifier } : {}),
51
+ ...(input.signal ? { signal: input.signal } : {}),
52
+ });
53
+ const gradeRef = ImmutableArtifactRefSchema.parse(await input.saveGrade(grade));
54
+ if (gradeRef.contentHash !== grade.contentHash)
55
+ throw new Error("Stored Profile evaluation grade differs from its graded evidence.");
56
+ const failureClass = execution.failureClass ?? grade.failureClass;
57
+ const receipt = createAttemptReceipt({
58
+ schemaVersion: "openpond.attemptReceipt.v1",
59
+ id: member.receiptId,
60
+ runManifest: { id: input.manifest.id, contentHash: input.manifest.contentHash },
61
+ taskId: member.taskId,
62
+ seed: member.seed,
63
+ terminal: execution.terminal,
64
+ failureClass,
65
+ outputHash: execution.evidence.infrastructureError ? null : contentHash(execution.evidence.output),
66
+ traceHash: execution.traceHash,
67
+ artifactRefs: execution.artifactRefs,
68
+ graderEvidenceRefs: [gradeRef],
69
+ startedAt: execution.startedAt,
70
+ completedAt: execution.completedAt,
71
+ latencyMs: execution.latencyMs,
72
+ costUsd: execution.costUsd,
73
+ metadata: {
74
+ gradingRole: "evaluation",
75
+ score: grade.score,
76
+ passed: grade.passed,
77
+ rewardEligible: grade.rewardEligible,
78
+ sourceRevision: source.sourceRevision,
79
+ definitionHash: source.definitionHash,
80
+ environmentHash: source.environmentHash,
81
+ },
82
+ });
83
+ await input.saveReceipt(receipt);
84
+ grades.push(grade);
85
+ receipts.push(receipt);
86
+ }
87
+ const metric = await aggregateTasksetRunReceipts({
88
+ manifest: input.manifest, taskset: input.taskset, receipts,
89
+ ...(input.metricSource !== undefined ? { source: input.metricSource } : {}),
90
+ ...(input.signal ? { signal: input.signal } : {}),
91
+ }, input.metricExecutor);
92
+ const passRate = grades.filter((grade) => grade.passed).length / grades.length;
93
+ return {
94
+ receipts, grades, metric, passRate,
95
+ passed: passRate >= definition.criterion.minimumPassRate
96
+ && (!definition.criterion.requireComplete || receipts.every((receipt) => receipt.terminal)),
97
+ };
98
+ }
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { assertContentHash, contentHash, ImmutableReleaseRefSchema, MetadataSchema, ModelRefSchema, ReleaseHashSchema, ReleaseIdSchema, ReleaseTimestampSchema } from "@openpond/harness";
3
3
  import { RunLimitsSchema, RuntimeTargetBindingSchema, verifyAttemptReceipt } from "./runs.js";
4
4
  import { TasksetMetricPolicySchema } from "./metric-policy.js";
5
- import { ProfileEvaluationRunSourceSchema } from "./profile-evaluations.js";
5
+ import { ProfileEvaluationCatalogSchema, ProfileEvaluationRunSourceSchema } from "./profile-evaluations.js";
6
6
  import { assertTasksetRelease } from "./tasksets.js";
7
7
  /** A fixture check owns no model identity and cannot become a model evaluation. */
8
8
  export const TasksetRunPolicySchema = z.discriminatedUnion("kind", [
@@ -75,6 +75,39 @@ export function assertTasksetRunRelease(manifest, taskset) {
75
75
  || manifest.execution.policyHash !== contentHash(taskset.policy)))
76
76
  throw new Error("Taskset-owned execution differs from its pinned release.");
77
77
  }
78
+ /** Resolve the verifier-only definition before dispatch. A Profile run must
79
+ * evaluate exactly its declared frozen cases and seeds through its release. */
80
+ export function assertProfileEvaluationRunAdmission(manifest, taskset, catalogInput) {
81
+ assertTasksetRunRelease(manifest, taskset);
82
+ const catalog = ProfileEvaluationCatalogSchema.parse(catalogInput);
83
+ const source = manifest.profileEvaluation;
84
+ if (!source || manifest.execution.kind !== "harness" || manifest.policy.kind !== "model") {
85
+ throw new Error("Profile evaluation requires fresh model execution through its bound Harness.");
86
+ }
87
+ if (source.catalogHash !== contentHash(catalog))
88
+ throw new Error("Profile evaluation catalog differs from its pinned source.");
89
+ const definition = catalog.definitions.find((entry) => entry.id === source.definitionId);
90
+ if (!definition || source.definitionHash !== contentHash(definition)
91
+ || contentHash(source.target) !== contentHash(definition.target)) {
92
+ throw new Error("Profile evaluation definition differs from its pinned source.");
93
+ }
94
+ if (definition.tasksetRelease.id !== taskset.id || definition.tasksetRelease.contentHash !== taskset.contentHash) {
95
+ throw new Error("Profile evaluation Taskset differs from its pinned definition.");
96
+ }
97
+ if (definition.split === "train")
98
+ throw new Error("Profile evaluation cannot execute training cases.");
99
+ const tasks = new Map(taskset.tasks.map((task) => [task.id, task]));
100
+ if (definition.taskIds.some((id) => tasks.get(id)?.split !== definition.split)) {
101
+ throw new Error("Profile evaluation case is absent from its declared Taskset split.");
102
+ }
103
+ const expected = new Set(definition.taskIds.flatMap((taskId) => definition.seeds.map((seed) => JSON.stringify([taskId, seed]))));
104
+ const actual = new Set(manifest.population.map(({ taskId, seed }) => JSON.stringify([taskId, seed])));
105
+ if (manifest.population.some((member) => member.fixtureId !== null)
106
+ || actual.size !== expected.size || manifest.population.length !== expected.size
107
+ || [...actual].some((member) => !expected.has(member))) {
108
+ throw new Error("Profile evaluation population differs from its declared cases and seeds.");
109
+ }
110
+ }
78
111
  /** Complete runs cannot drop failed members, add convenient attempts or relabel
79
112
  * another task/seed's evidence. Ordering is always the admitted population's. */
80
113
  export function orderTasksetRunReceipts(manifest, receipts) {
@@ -14,6 +14,7 @@ export * from "./model-improvement-qualification.js";
14
14
  export * from "./preferences.js";
15
15
  export * from "./profile-evaluations.js";
16
16
  export * from "./profile-evaluation-comparisons.js";
17
+ export * from "./profile-evaluation-execution.js";
17
18
  export * from "./review-conformance.js";
18
19
  export * from "./rollouts.js";
19
20
  export * from "./telemetry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
@@ -1870,10 +1870,10 @@ export declare const LearningResourceKindSchema: z.ZodEnum<{
1870
1870
  source: "source";
1871
1871
  asset: "asset";
1872
1872
  decision: "decision";
1873
+ grade: "grade";
1873
1874
  binding: "binding";
1874
1875
  dispatch: "dispatch";
1875
1876
  batch: "batch";
1876
- grade: "grade";
1877
1877
  schedule: "schedule";
1878
1878
  definition: "definition";
1879
1879
  draft: "draft";
@@ -1573,10 +1573,10 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
1573
1573
  source: "source";
1574
1574
  asset: "asset";
1575
1575
  decision: "decision";
1576
+ grade: "grade";
1576
1577
  binding: "binding";
1577
1578
  dispatch: "dispatch";
1578
1579
  batch: "batch";
1579
- grade: "grade";
1580
1580
  schedule: "schedule";
1581
1581
  definition: "definition";
1582
1582
  draft: "draft";
@@ -1601,10 +1601,10 @@ export declare const LearningReadRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
1601
1601
  source: "source";
1602
1602
  asset: "asset";
1603
1603
  decision: "decision";
1604
+ grade: "grade";
1604
1605
  binding: "binding";
1605
1606
  dispatch: "dispatch";
1606
1607
  batch: "batch";
1607
- grade: "grade";
1608
1608
  schedule: "schedule";
1609
1609
  definition: "definition";
1610
1610
  draft: "draft";
@@ -0,0 +1,56 @@
1
+ import { type ImmutableArtifactRef } from "@openpond/harness";
2
+ import { type AttemptEvidence, type CustomVerifierRunner, type ModelJudgeRunner, type TaskGrade } from "./graders.js";
3
+ import { type TasksetMetricExecutor, type TasksetMetricResult } from "./metrics.js";
4
+ import { type AttemptReceipt } from "./runs.js";
5
+ import { type TasksetRunManifest } from "./taskset-run-contract.js";
6
+ import { policyTaskView, type TasksetRelease } from "./tasksets.js";
7
+ import type { ProfileEvaluationCatalog, ProfileEvaluationRunSource } from "./profile-evaluations.js";
8
+ type PolicyTask = ReturnType<typeof policyTaskView>;
9
+ /** The installation owns execution, tools, approvals and storage. This runner
10
+ * owns frozen population dispatch and private grading for both Desktop and web. */
11
+ export declare function executeProfileEvaluationRun(input: {
12
+ manifest: TasksetRunManifest;
13
+ taskset: TasksetRelease;
14
+ catalog: ProfileEvaluationCatalog;
15
+ execute: (member: {
16
+ task: PolicyTask;
17
+ seed: string;
18
+ source: ProfileEvaluationRunSource;
19
+ signal?: AbortSignal;
20
+ }) => Promise<{
21
+ evidence: AttemptEvidence;
22
+ traceHash: string;
23
+ artifactRefs: ImmutableArtifactRef[];
24
+ startedAt: string;
25
+ completedAt: string;
26
+ latencyMs: number;
27
+ costUsd: number | null;
28
+ terminal: boolean;
29
+ failureClass?: AttemptReceipt["failureClass"];
30
+ }>;
31
+ saveGrade: (grade: TaskGrade) => Promise<ImmutableArtifactRef>;
32
+ saveReceipt: (receipt: AttemptReceipt) => Promise<void>;
33
+ /** A retained complete member can be reused after an interrupted run. The
34
+ * runner checks its immutable manifest, task, grader, and grade references. */
35
+ loadCompletedMember?: (member: {
36
+ receiptId: string;
37
+ taskId: string;
38
+ seed: string;
39
+ }) => Promise<{
40
+ receipt: AttemptReceipt;
41
+ grade: TaskGrade;
42
+ } | null>;
43
+ modelJudge?: ModelJudgeRunner;
44
+ customVerifier?: CustomVerifierRunner;
45
+ metricSource?: string;
46
+ metricExecutor?: TasksetMetricExecutor;
47
+ signal?: AbortSignal;
48
+ }): Promise<{
49
+ receipts: AttemptReceipt[];
50
+ grades: TaskGrade[];
51
+ metric: TasksetMetricResult;
52
+ passRate: number;
53
+ passed: boolean;
54
+ }>;
55
+ export {};
56
+ //# sourceMappingURL=profile-evaluation-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-evaluation-execution.d.ts","sourceRoot":"","sources":["../../../../src/profile-evaluation-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEvG,OAAO,EAAsC,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1J,OAAO,EAA0D,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5I,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAuC,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAErG,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpD;mFACmF;AACnF,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,wBAAwB,CAAC;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,UAAU,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,0BAA0B,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC;QACZ,QAAQ,EAAE,eAAe,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,oBAAoB,EAAE,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC,CAAC;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD;mFAC+E;IAC/E,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAC7F,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,SAAS,CAAC;KAClB,GAAG,IAAI,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAwFD"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { type AttemptReceipt } from "./runs.js";
3
3
  import { type TasksetMetricPolicy } from "./metric-policy.js";
4
+ import { type ProfileEvaluationCatalog } from "./profile-evaluations.js";
4
5
  import { type TasksetRelease } from "./tasksets.js";
5
6
  /** A fixture check owns no model identity and cannot become a model evaluation. */
6
7
  export declare const TasksetRunPolicySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -274,6 +275,9 @@ export declare function tasksetRunMetricPolicy(taskset: TasksetRelease): Taskset
274
275
  /** Admission verifies this before dispatch. Package byte verification belongs
275
276
  * to the package loader; this validates the release and population semantics. */
276
277
  export declare function assertTasksetRunRelease(manifest: TasksetRunManifest, taskset: TasksetRelease): void;
278
+ /** Resolve the verifier-only definition before dispatch. A Profile run must
279
+ * evaluate exactly its declared frozen cases and seeds through its release. */
280
+ export declare function assertProfileEvaluationRunAdmission(manifest: TasksetRunManifest, taskset: TasksetRelease, catalogInput: ProfileEvaluationCatalog): void;
277
281
  /** Complete runs cannot drop failed members, add convenient attempts or relabel
278
282
  * another task/seed's evidence. Ordering is always the admitted population's. */
279
283
  export declare function orderTasksetRunReceipts(manifest: TasksetRunManifest, receipts: AttemptReceipt[]): AttemptReceipt[];
@@ -1 +1 @@
1
- {"version":3,"file":"taskset-run-contract.d.ts","sourceRoot":"","sources":["../../../../src/taskset-run-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnH,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1E,mFAAmF;AACnF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;4BAGjC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;4BAGpC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;kBAKxB,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuB1C,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAiF,CAAC;AACvH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,GAAG,kBAAkB,CAGnH;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CAKnF;AAED;iFACiF;AACjF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAcnG;AAED;iFACiF;AACjF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAclH"}
1
+ {"version":3,"file":"taskset-run-contract.d.ts","sourceRoot":"","sources":["../../../../src/taskset-run-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAqE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnH,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAoE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC3I,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1E,mFAAmF;AACnF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;4BAGjC,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;4BAGpC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;kBAKxB,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuB1C,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAiF,CAAC;AACvH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,GAAG,kBAAkB,CAGnH;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CAKnF;AAED;iFACiF;AACjF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAcnG;AAED;+EAC+E;AAC/E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,wBAAwB,GACrC,IAAI,CA4BN;AAED;iFACiF;AACjF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAclH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openpond/evals",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "Portable Tasksets, graders, evaluation runs, receipts, conformance fixtures, and Work evidence for OpenPond Harnesses",
5
5
  "license": "MIT",
6
6
  "type": "module",