@openpond/evals 0.3.0 → 0.4.1

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 (53) hide show
  1. package/CONTRACT.md +11 -3
  2. package/README.md +45 -9
  3. package/RELEASING.md +13 -46
  4. package/dist/benchmarks.js +218 -0
  5. package/dist/builtin-benchmarks/harness-refiner.js +1267 -0
  6. package/dist/compatibility.js +2 -2
  7. package/dist/conformance.js +1 -2
  8. package/dist/evidence/authoring.js +1 -1
  9. package/dist/evidence/conformance.js +1 -1
  10. package/dist/evidence/contracts.js +1 -2
  11. package/dist/evidence/eligibility.js +1 -1
  12. package/dist/graders.js +1 -1
  13. package/dist/harness.js +33 -101
  14. package/dist/index.js +3 -3
  15. package/dist/model-improvement-qualification.js +125 -0
  16. package/dist/review-conformance.js +209 -0
  17. package/dist/runs.js +1 -9
  18. package/dist/tasksets.js +2 -15
  19. package/dist/types/benchmarks.d.ts +293 -0
  20. package/dist/types/benchmarks.d.ts.map +1 -0
  21. package/dist/types/builtin-benchmarks/harness-refiner.d.ts +119 -0
  22. package/dist/types/builtin-benchmarks/harness-refiner.d.ts.map +1 -0
  23. package/dist/types/compatibility.d.ts +1 -1
  24. package/dist/types/compatibility.d.ts.map +1 -1
  25. package/dist/types/conformance.d.ts +2 -0
  26. package/dist/types/conformance.d.ts.map +1 -1
  27. package/dist/types/evidence/conformance.d.ts +24 -24
  28. package/dist/types/evidence/contracts.d.ts +26 -26
  29. package/dist/types/harness.d.ts +3 -409
  30. package/dist/types/harness.d.ts.map +1 -1
  31. package/dist/types/index.d.ts +3 -3
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/types/model-improvement-qualification.d.ts +222 -0
  34. package/dist/types/model-improvement-qualification.d.ts.map +1 -0
  35. package/dist/types/review-conformance.d.ts +607 -0
  36. package/dist/types/review-conformance.d.ts.map +1 -0
  37. package/dist/types/runs.d.ts +1 -9
  38. package/dist/types/runs.d.ts.map +1 -1
  39. package/dist/types/tasksets.d.ts +2 -25
  40. package/dist/types/tasksets.d.ts.map +1 -1
  41. package/package.json +18 -10
  42. package/dist/common.js +0 -67
  43. package/dist/harness-improvements.js +0 -329
  44. package/dist/harness-workspaces.js +0 -368
  45. package/dist/sha256.js +0 -91
  46. package/dist/types/common.d.ts +0 -51
  47. package/dist/types/common.d.ts.map +0 -1
  48. package/dist/types/harness-improvements.d.ts +0 -523
  49. package/dist/types/harness-improvements.d.ts.map +0 -1
  50. package/dist/types/harness-workspaces.d.ts +0 -802
  51. package/dist/types/harness-workspaces.d.ts.map +0 -1
  52. package/dist/types/sha256.d.ts +0 -2
  53. package/dist/types/sha256.d.ts.map +0 -1
@@ -1,368 +0,0 @@
1
- import { z } from "zod";
2
- import { contentHash, ImmutableReleaseRefSchema, ReleaseHashSchema, ReleaseIdSchema, ReleaseTimestampSchema, } from "./common.js";
3
- const MetadataSchema = z.record(z.string(), z.unknown()).default({});
4
- const RevisionSchema = z.number().int().nonnegative();
5
- const BoundedTextSchema = z.string().trim().min(1).max(100_000);
6
- export const HarnessOwnerScopeSchema = z
7
- .object({
8
- kind: z.enum(["personal", "team"]),
9
- id: ReleaseIdSchema,
10
- })
11
- .strict();
12
- export const HarnessCurrentChannelSchema = z
13
- .object({
14
- name: ReleaseIdSchema,
15
- release: ImmutableReleaseRefSchema.nullable(),
16
- revision: RevisionSchema,
17
- })
18
- .strict();
19
- /**
20
- * Mutable, host-owned authoring state. Portable runs never consume this object;
21
- * they consume the immutable release selected from currentChannel.
22
- */
23
- export const HarnessWorkspaceSchema = z
24
- .object({
25
- schemaVersion: z.literal("openpond.harnessWorkspace.v1"),
26
- id: ReleaseIdSchema,
27
- ownerScope: HarnessOwnerScopeSchema,
28
- name: z.string().trim().min(1).max(240),
29
- location: z.enum(["local", "hosted"]),
30
- sourceRevision: z.string().trim().min(1).max(500),
31
- revision: RevisionSchema,
32
- dirty: z.boolean(),
33
- currentChannel: HarnessCurrentChannelSchema,
34
- createdAt: ReleaseTimestampSchema,
35
- updatedAt: ReleaseTimestampSchema,
36
- metadata: MetadataSchema,
37
- })
38
- .strict();
39
- export const HarnessImprovementRouteSchema = z.enum([
40
- "runtime",
41
- "memory",
42
- "prompt",
43
- "skill",
44
- "agent",
45
- "product",
46
- "taskset",
47
- "training",
48
- ]);
49
- export const HarnessChangeEffectSchema = z.enum([
50
- "text_instruction",
51
- "memory",
52
- "dependency_selection",
53
- "executable_code",
54
- "business_logic",
55
- "financial_logic",
56
- "permission",
57
- "connected_app",
58
- "publication",
59
- "deployment",
60
- "training",
61
- "model_binding",
62
- "team_or_global",
63
- ]);
64
- export const HarnessOverlayEditSchema = z
65
- .object({
66
- id: ReleaseIdSchema,
67
- route: HarnessImprovementRouteSchema,
68
- operation: z.enum(["create", "update", "delete"]),
69
- target: z.string().trim().min(1).max(2_000),
70
- summary: z.string().trim().min(1).max(2_000),
71
- content: z.string().max(1_000_000).nullable(),
72
- contentHash: ReleaseHashSchema.nullable(),
73
- effects: z.array(HarnessChangeEffectSchema).min(1).max(20),
74
- })
75
- .strict()
76
- .superRefine((edit, context) => {
77
- if (edit.operation === "delete") {
78
- if (edit.content !== null || edit.contentHash !== null) {
79
- context.addIssue({
80
- code: "custom",
81
- message: "delete edits cannot include replacement content",
82
- path: ["content"],
83
- });
84
- }
85
- return;
86
- }
87
- if (edit.content === null || edit.contentHash === null) {
88
- context.addIssue({
89
- code: "custom",
90
- message: "create and update edits require content and contentHash",
91
- path: ["content"],
92
- });
93
- return;
94
- }
95
- const expected = contentHash(edit.content);
96
- if (edit.contentHash !== expected) {
97
- context.addIssue({
98
- code: "custom",
99
- message: `edit contentHash is ${edit.contentHash}; expected ${expected}`,
100
- path: ["contentHash"],
101
- });
102
- }
103
- });
104
- export const HarnessWorkspaceRevisionRefSchema = z
105
- .object({
106
- workspaceId: ReleaseIdSchema,
107
- revision: RevisionSchema,
108
- sourceRevision: z.string().trim().min(1).max(500),
109
- channelRevision: RevisionSchema,
110
- })
111
- .strict();
112
- export const HarnessOverlaySnapshotRefSchema = z
113
- .object({
114
- id: ReleaseIdSchema,
115
- revision: RevisionSchema,
116
- contentHash: ReleaseHashSchema,
117
- })
118
- .strict();
119
- export const HarnessTurnSnapshotSchema = z
120
- .object({
121
- schemaVersion: z.literal("openpond.harnessTurnSnapshot.v1"),
122
- workspaceId: ReleaseIdSchema,
123
- workspaceRevision: RevisionSchema,
124
- sourceRevision: z.string().trim().min(1).max(500),
125
- channelName: ReleaseIdSchema,
126
- channelRevision: RevisionSchema,
127
- harnessRelease: ImmutableReleaseRefSchema,
128
- overlay: HarnessOverlaySnapshotRefSchema.nullable().optional().default(null),
129
- })
130
- .strict();
131
- export const HarnessRunOverlayContentSchema = z
132
- .object({
133
- schemaVersion: z.literal("openpond.harnessRunOverlay.v1"),
134
- id: ReleaseIdSchema,
135
- runId: ReleaseIdSchema,
136
- baseHarnessRelease: ImmutableReleaseRefSchema,
137
- workspace: HarnessWorkspaceRevisionRefSchema,
138
- revision: RevisionSchema,
139
- status: z.enum(["active", "frozen", "abandoned"]),
140
- edits: z.array(HarnessOverlayEditSchema).max(1_000),
141
- createdAt: ReleaseTimestampSchema,
142
- updatedAt: ReleaseTimestampSchema,
143
- metadata: MetadataSchema,
144
- })
145
- .strict();
146
- export const HarnessRunOverlaySchema = HarnessRunOverlayContentSchema.extend({
147
- contentHash: ReleaseHashSchema,
148
- }).strict();
149
- export const HarnessProposalEvidenceRefSchema = z
150
- .object({
151
- kind: z.enum([
152
- "tool_event",
153
- "recovery",
154
- "validation",
155
- "user_correction",
156
- "work_output",
157
- "work_receipt",
158
- ]),
159
- id: ReleaseIdSchema,
160
- contentHash: ReleaseHashSchema.nullable(),
161
- })
162
- .strict();
163
- export const HarnessValidationPlanItemSchema = z
164
- .object({
165
- id: ReleaseIdSchema,
166
- kind: z.enum([
167
- "dependency",
168
- "schema",
169
- "package",
170
- "file_render",
171
- "skill",
172
- "prompt",
173
- "business_formula",
174
- "targeted_evaluation",
175
- "observed_recovery",
176
- ]),
177
- description: BoundedTextSchema,
178
- required: z.boolean(),
179
- })
180
- .strict();
181
- export const HarnessImprovementProposalContentSchema = z
182
- .object({
183
- schemaVersion: z.literal("openpond.harnessImprovementProposal.v1"),
184
- id: ReleaseIdSchema,
185
- overlay: HarnessOverlaySnapshotRefSchema,
186
- baseHarnessRelease: ImmutableReleaseRefSchema,
187
- expectedWorkspace: HarnessWorkspaceRevisionRefSchema,
188
- requestedScope: z.enum(["personal", "team", "global"]),
189
- route: HarnessImprovementRouteSchema,
190
- risk: z.enum(["low", "review", "restricted"]),
191
- effects: z.array(HarnessChangeEffectSchema).min(1).max(20),
192
- evidence: z.array(HarnessProposalEvidenceRefSchema).min(1).max(1_000),
193
- edits: z.array(HarnessOverlayEditSchema).min(1).max(1_000),
194
- validationPlan: z.array(HarnessValidationPlanItemSchema).min(1).max(100),
195
- expectedOutcome: BoundedTextSchema,
196
- createdAt: ReleaseTimestampSchema,
197
- metadata: MetadataSchema,
198
- })
199
- .strict()
200
- .superRefine((proposal, context) => {
201
- const declaredEffects = new Set(proposal.effects);
202
- for (const [index, edit] of proposal.edits.entries()) {
203
- if (edit.route !== proposal.route) {
204
- context.addIssue({
205
- code: "custom",
206
- message: "every edit route must match the proposal route",
207
- path: ["edits", index, "route"],
208
- });
209
- }
210
- for (const effect of edit.effects) {
211
- if (!declaredEffects.has(effect)) {
212
- context.addIssue({
213
- code: "custom",
214
- message: `edit effect ${effect} is missing from proposal effects`,
215
- path: ["edits", index, "effects"],
216
- });
217
- }
218
- }
219
- }
220
- if (new Set(proposal.validationPlan.map((item) => item.id)).size !== proposal.validationPlan.length) {
221
- context.addIssue({
222
- code: "custom",
223
- message: "validation plan ids must be unique",
224
- path: ["validationPlan"],
225
- });
226
- }
227
- });
228
- export const HarnessImprovementProposalSchema = HarnessImprovementProposalContentSchema.extend({
229
- contentHash: ReleaseHashSchema,
230
- }).strict();
231
- export const HarnessTargetedValidationReceiptContentSchema = z
232
- .object({
233
- schemaVersion: z.literal("openpond.harnessTargetedValidationReceipt.v1"),
234
- id: ReleaseIdSchema,
235
- proposal: ImmutableReleaseRefSchema,
236
- validationId: ReleaseIdSchema,
237
- kind: HarnessValidationPlanItemSchema.shape.kind,
238
- status: z.enum(["passed", "failed", "blocked", "skipped"]),
239
- summary: BoundedTextSchema,
240
- evidenceRefs: z.array(HarnessProposalEvidenceRefSchema).max(1_000),
241
- createdAt: ReleaseTimestampSchema,
242
- metadata: MetadataSchema,
243
- })
244
- .strict();
245
- export const HarnessTargetedValidationReceiptSchema = HarnessTargetedValidationReceiptContentSchema.extend({
246
- contentHash: ReleaseHashSchema,
247
- }).strict();
248
- export const HarnessAdvanceDecisionSchema = z.enum([
249
- "advanced",
250
- "retained",
251
- "conflict",
252
- "rolled_back",
253
- ]);
254
- export const HarnessAdvanceReceiptContentSchema = z
255
- .object({
256
- schemaVersion: z.literal("openpond.harnessAdvanceReceipt.v1"),
257
- id: ReleaseIdSchema,
258
- workspaceId: ReleaseIdSchema,
259
- ownerScope: HarnessOwnerScopeSchema,
260
- proposal: ImmutableReleaseRefSchema.nullable(),
261
- expectedWorkspaceRevision: RevisionSchema,
262
- observedWorkspaceRevision: RevisionSchema,
263
- previousChannelRevision: RevisionSchema,
264
- nextChannelRevision: RevisionSchema,
265
- previousRelease: ImmutableReleaseRefSchema.nullable(),
266
- nextRelease: ImmutableReleaseRefSchema.nullable(),
267
- validationReceipts: z.array(ImmutableReleaseRefSchema).max(100),
268
- decision: HarnessAdvanceDecisionSchema,
269
- reason: BoundedTextSchema,
270
- rollbackOf: ImmutableReleaseRefSchema.nullable(),
271
- createdAt: ReleaseTimestampSchema,
272
- metadata: MetadataSchema,
273
- })
274
- .strict()
275
- .superRefine((receipt, context) => {
276
- const changed = receipt.nextChannelRevision === receipt.previousChannelRevision + 1;
277
- if (["advanced", "rolled_back"].includes(receipt.decision) !== changed) {
278
- context.addIssue({
279
- code: "custom",
280
- message: "only successful advancement or rollback increments the channel revision",
281
- path: ["nextChannelRevision"],
282
- });
283
- }
284
- if (receipt.decision === "rolled_back" && receipt.rollbackOf === null) {
285
- context.addIssue({
286
- code: "custom",
287
- message: "rollback receipts require rollbackOf",
288
- path: ["rollbackOf"],
289
- });
290
- }
291
- if (receipt.decision !== "rolled_back" && receipt.rollbackOf !== null) {
292
- context.addIssue({
293
- code: "custom",
294
- message: "rollbackOf is only valid for rollback receipts",
295
- path: ["rollbackOf"],
296
- });
297
- }
298
- });
299
- export const HarnessAdvanceReceiptSchema = HarnessAdvanceReceiptContentSchema.extend({
300
- contentHash: ReleaseHashSchema,
301
- }).strict();
302
- export const HarnessOverlayMergeReceiptContentSchema = z
303
- .object({
304
- schemaVersion: z.literal("openpond.harnessOverlayMergeReceipt.v1"),
305
- id: ReleaseIdSchema,
306
- workspaceId: ReleaseIdSchema,
307
- baseHarnessRelease: ImmutableReleaseRefSchema,
308
- leftOverlay: HarnessOverlaySnapshotRefSchema,
309
- rightOverlay: HarnessOverlaySnapshotRefSchema,
310
- decision: z.enum(["merged", "conflict"]),
311
- mergedOverlay: HarnessOverlaySnapshotRefSchema.nullable(),
312
- conflictTargets: z.array(z.string().trim().min(1).max(2_000)).max(1_000),
313
- requiresRevalidation: z.literal(true),
314
- createdAt: ReleaseTimestampSchema,
315
- metadata: MetadataSchema,
316
- })
317
- .strict()
318
- .superRefine((receipt, context) => {
319
- if ((receipt.decision === "merged") !== (receipt.mergedOverlay !== null)) {
320
- context.addIssue({
321
- code: "custom",
322
- message: "merged decisions require a merged overlay; conflicts cannot provide one",
323
- path: ["mergedOverlay"],
324
- });
325
- }
326
- if ((receipt.decision === "conflict") !== (receipt.conflictTargets.length > 0)) {
327
- context.addIssue({
328
- code: "custom",
329
- message: "conflict decisions require conflict targets and merged decisions cannot include them",
330
- path: ["conflictTargets"],
331
- });
332
- }
333
- });
334
- export const HarnessOverlayMergeReceiptSchema = HarnessOverlayMergeReceiptContentSchema.extend({
335
- contentHash: ReleaseHashSchema,
336
- }).strict();
337
- export function createHarnessRunOverlay(content) {
338
- const parsed = HarnessRunOverlayContentSchema.parse(content);
339
- return HarnessRunOverlaySchema.parse({ ...parsed, contentHash: contentHash(parsed) });
340
- }
341
- export function createHarnessImprovementProposal(content) {
342
- const parsed = HarnessImprovementProposalContentSchema.parse(content);
343
- return HarnessImprovementProposalSchema.parse({
344
- ...parsed,
345
- contentHash: contentHash(parsed),
346
- });
347
- }
348
- export function createHarnessTargetedValidationReceipt(content) {
349
- const parsed = HarnessTargetedValidationReceiptContentSchema.parse(content);
350
- return HarnessTargetedValidationReceiptSchema.parse({
351
- ...parsed,
352
- contentHash: contentHash(parsed),
353
- });
354
- }
355
- export function createHarnessAdvanceReceipt(content) {
356
- const parsed = HarnessAdvanceReceiptContentSchema.parse(content);
357
- return HarnessAdvanceReceiptSchema.parse({
358
- ...parsed,
359
- contentHash: contentHash(parsed),
360
- });
361
- }
362
- export function createHarnessOverlayMergeReceipt(content) {
363
- const parsed = HarnessOverlayMergeReceiptContentSchema.parse(content);
364
- return HarnessOverlayMergeReceiptSchema.parse({
365
- ...parsed,
366
- contentHash: contentHash(parsed),
367
- });
368
- }
package/dist/sha256.js DELETED
@@ -1,91 +0,0 @@
1
- // FIPS 180-4 SHA-256 implemented over platform-neutral typed arrays so the
2
- // portable contracts keep the same synchronous content-hash API in any host.
3
- const INITIAL_STATE = new Uint32Array([
4
- 0x6a09e667,
5
- 0xbb67ae85,
6
- 0x3c6ef372,
7
- 0xa54ff53a,
8
- 0x510e527f,
9
- 0x9b05688c,
10
- 0x1f83d9ab,
11
- 0x5be0cd19,
12
- ]);
13
- const ROUND_CONSTANTS = new Uint32Array([
14
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
15
- 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
16
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
17
- 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
18
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
19
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
20
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
21
- 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
22
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
23
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
24
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
25
- 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
26
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
27
- 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
28
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
29
- 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
30
- ]);
31
- export function sha256Hex(value) {
32
- const bytes = typeof value === "string" ? new TextEncoder().encode(value) : value;
33
- const paddedLength = Math.ceil((bytes.byteLength + 9) / 64) * 64;
34
- const padded = new Uint8Array(paddedLength);
35
- padded.set(bytes);
36
- padded[bytes.byteLength] = 0x80;
37
- const bitLength = bytes.byteLength * 8;
38
- const view = new DataView(padded.buffer);
39
- view.setUint32(paddedLength - 8, Math.floor(bitLength / 0x1_0000_0000), false);
40
- view.setUint32(paddedLength - 4, bitLength >>> 0, false);
41
- const state = new Uint32Array(INITIAL_STATE);
42
- const words = new Uint32Array(64);
43
- for (let offset = 0; offset < paddedLength; offset += 64) {
44
- for (let index = 0; index < 16; index += 1) {
45
- words[index] = view.getUint32(offset + index * 4, false);
46
- }
47
- for (let index = 16; index < 64; index += 1) {
48
- const previous = words[index - 15];
49
- const recent = words[index - 2];
50
- const sigma0 = rotateRight(previous, 7) ^ rotateRight(previous, 18) ^ (previous >>> 3);
51
- const sigma1 = rotateRight(recent, 17) ^ rotateRight(recent, 19) ^ (recent >>> 10);
52
- words[index] = (words[index - 16] + sigma0 + words[index - 7] + sigma1) >>> 0;
53
- }
54
- let a = state[0];
55
- let b = state[1];
56
- let c = state[2];
57
- let d = state[3];
58
- let e = state[4];
59
- let f = state[5];
60
- let g = state[6];
61
- let h = state[7];
62
- for (let index = 0; index < 64; index += 1) {
63
- const choice = (e & f) ^ (~e & g);
64
- const majority = (a & b) ^ (a & c) ^ (b & c);
65
- const sum0 = rotateRight(a, 2) ^ rotateRight(a, 13) ^ rotateRight(a, 22);
66
- const sum1 = rotateRight(e, 6) ^ rotateRight(e, 11) ^ rotateRight(e, 25);
67
- const first = (h + sum1 + choice + ROUND_CONSTANTS[index] + words[index]) >>> 0;
68
- const second = (sum0 + majority) >>> 0;
69
- h = g;
70
- g = f;
71
- f = e;
72
- e = (d + first) >>> 0;
73
- d = c;
74
- c = b;
75
- b = a;
76
- a = (first + second) >>> 0;
77
- }
78
- state[0] = (state[0] + a) >>> 0;
79
- state[1] = (state[1] + b) >>> 0;
80
- state[2] = (state[2] + c) >>> 0;
81
- state[3] = (state[3] + d) >>> 0;
82
- state[4] = (state[4] + e) >>> 0;
83
- state[5] = (state[5] + f) >>> 0;
84
- state[6] = (state[6] + g) >>> 0;
85
- state[7] = (state[7] + h) >>> 0;
86
- }
87
- return Array.from(state, (word) => word.toString(16).padStart(8, "0")).join("");
88
- }
89
- function rotateRight(value, bits) {
90
- return (value >>> bits) | (value << (32 - bits));
91
- }
@@ -1,51 +0,0 @@
1
- import { z } from "zod";
2
- export declare const MAX_PORTABLE_PATH_BYTES = 2000;
3
- export declare const MAX_PORTABLE_ASSET_BYTES = 250000000;
4
- export declare const ReleaseIdSchema: z.ZodString;
5
- export declare const ReleaseHashSchema: z.ZodString;
6
- export declare const ReleaseTimestampSchema: z.ZodString;
7
- export declare const MetadataSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
- export declare const ImmutableReleaseRefSchema: z.ZodObject<{
9
- id: z.ZodString;
10
- contentHash: z.ZodString;
11
- }, z.core.$strict>;
12
- export declare const ImmutableAssetRefSchema: z.ZodObject<{
13
- id: z.ZodString;
14
- path: z.ZodString;
15
- contentHash: z.ZodString;
16
- sizeBytes: z.ZodNumber;
17
- mediaType: z.ZodString;
18
- visibility: z.ZodEnum<{
19
- policy: "policy";
20
- verifier: "verifier";
21
- host_private: "host_private";
22
- }>;
23
- }, z.core.$strict>;
24
- export declare const ImmutableArtifactRefSchema: z.ZodObject<{
25
- id: z.ZodString;
26
- contentHash: z.ZodString;
27
- mediaType: z.ZodDefault<z.ZodNullable<z.ZodString>>;
28
- sizeBytes: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
29
- }, z.core.$strict>;
30
- export declare const FailureClassSchema: z.ZodEnum<{
31
- policy_failure: "policy_failure";
32
- grader_failure: "grader_failure";
33
- environment_failure: "environment_failure";
34
- infrastructure_failure: "infrastructure_failure";
35
- timeout: "timeout";
36
- cancelled: "cancelled";
37
- }>;
38
- export declare function canonicalJson(value: unknown): string;
39
- export declare function sha256(value: string | Uint8Array): string;
40
- export declare function contentHash(value: unknown): string;
41
- export declare function withContentHash<T extends Record<string, unknown>>(value: T): T & {
42
- contentHash: string;
43
- };
44
- export declare function assertContentHash(value: {
45
- contentHash: string;
46
- } & Record<string, unknown>, label: string): void;
47
- export type ImmutableReleaseRef = z.infer<typeof ImmutableReleaseRefSchema>;
48
- export type ImmutableAssetRef = z.infer<typeof ImmutableAssetRefSchema>;
49
- export type ImmutableArtifactRef = z.infer<typeof ImmutableArtifactRefSchema>;
50
- export type FailureClass = z.infer<typeof FailureClassSchema>;
51
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,wBAAwB,YAAc,CAAC;AACpD,eAAO,MAAM,eAAe,aAAoC,CAAC;AACjE,eAAO,MAAM,iBAAiB,aAAqC,CAAC;AACpE,eAAO,MAAM,sBAAsB,aAAwC,CAAC;AAC5E,eAAO,MAAM,cAAc,sDAAgD,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;kBAG3B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;kBAOzB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;kBAK5B,CAAC;AAEZ,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AAEH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAExG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/G;AAkBD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}