@playcraft/common 0.1.44-beta → 0.1.46-beta

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 (24) hide show
  1. package/dist/cloud-workspace/runtime/batch-generation.d.ts +0 -200
  2. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +1 -1
  3. package/dist/cloud-workspace/runtime/batch-generation.js +0 -215
  4. package/dist/cloud-workspace/runtime/batch-generation.js.map +1 -1
  5. package/dist/cloud-workspace/runtime/batch-production.d.ts +0 -473
  6. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +1 -1
  7. package/dist/cloud-workspace/runtime/batch-production.js +1 -46
  8. package/dist/cloud-workspace/runtime/batch-production.js.map +1 -1
  9. package/dist/cloud-workspace/runtime/batch-runs.d.ts +0 -8
  10. package/dist/cloud-workspace/runtime/batch-runs.d.ts.map +1 -1
  11. package/dist/cloud-workspace/runtime/batch-runs.js +0 -13
  12. package/dist/cloud-workspace/runtime/batch-runs.js.map +1 -1
  13. package/dist/cloud-workspace/runtime/capabilities.d.ts +2 -2
  14. package/dist/cloud-workspace/runtime/handshake.d.ts +1 -1
  15. package/dist/cloud-workspace/runtime/index.d.ts +0 -1
  16. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -1
  17. package/dist/cloud-workspace/runtime/index.js +0 -1
  18. package/dist/cloud-workspace/runtime/index.js.map +1 -1
  19. package/dist/cloud-workspace/runtime/workspace-ui.d.ts +1 -1
  20. package/package.json +1 -1
  21. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts +0 -6
  22. package/dist/cloud-workspace/runtime/batch-production-authority.d.ts.map +0 -1
  23. package/dist/cloud-workspace/runtime/batch-production-authority.js +0 -31
  24. package/dist/cloud-workspace/runtime/batch-production-authority.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  export declare const MAX_BATCH_VARIANTS = 10;
3
- export declare const MAX_BATCH_GENERATION_SLOTS = 3;
4
3
  export declare const batchVariantDifferenceSchema: z.ZodReadonly<z.ZodObject<{
5
4
  variantId: z.ZodString;
6
5
  name: z.ZodString;
@@ -69,125 +68,7 @@ export declare const batchVariantManifestSchema: z.ZodReadonly<z.ZodObject<{
69
68
  }, z.core.$strict>>>>;
70
69
  }, z.core.$strict>>;
71
70
  export type BatchVariantManifest = z.infer<typeof batchVariantManifestSchema>;
72
- /** Uses SHA-256 (Secure Hash Algorithm 256-bit, 256 位安全散列算法) over the normalized manifest. */
73
- export declare function batchVariantManifestDigest(manifest: BatchVariantManifest): string;
74
- /**
75
- * The baseline is a commit on the batch preparation remix that was saved and pushed. `checksum` is the SHA-256 of the
76
- * commit's full tree listing, so equal engineering content always yields the same checksum.
77
- */
78
- export declare const batchBaselineSnapshotSchema: z.ZodReadonly<z.ZodObject<{
79
- batchId: z.ZodString;
80
- projectId: z.ZodString;
81
- snapshotId: z.ZodString;
82
- sourceWorkspaceId: z.ZodString;
83
- commitHash: z.ZodString;
84
- checksum: z.ZodString;
85
- sourceVersion: z.ZodString;
86
- engine: z.ZodString;
87
- skillLockDigest: z.ZodString;
88
- frozenAt: z.ZodString;
89
- }, z.core.$strict>>;
90
- export type BatchBaselineSnapshot = z.infer<typeof batchBaselineSnapshotSchema>;
91
71
  export declare function batchCommitSourceVersion(commitHash: string): string;
92
- /** The baseline digest binds business ownership, the frozen commit and execution configuration together. */
93
- export declare function batchBaselineSnapshotDigest(baseline: BatchBaselineSnapshot): string;
94
- export declare function assertBatchBaselineUnchanged(existing: BatchBaselineSnapshot, candidate: BatchBaselineSnapshot): void;
95
- /** These facts must come from trusted Runtime receipts; a submitted boolean is not execution evidence. */
96
- export declare const batchBaselineValidationSchema: z.ZodReadonly<z.ZodObject<{
97
- snapshotId: z.ZodString;
98
- snapshotChecksum: z.ZodString;
99
- buildId: z.ZodString;
100
- previewId: z.ZodString;
101
- previewUrl: z.ZodString;
102
- buildSucceeded: z.ZodLiteral<true>;
103
- previewOpened: z.ZodLiteral<true>;
104
- writersStopped: z.ZodLiteral<true>;
105
- validatedAt: z.ZodString;
106
- }, z.core.$strict>>;
107
- export type BatchBaselineValidation = z.infer<typeof batchBaselineValidationSchema>;
108
- export declare const batchApprovalSchema: z.ZodReadonly<z.ZodObject<{
109
- batchId: z.ZodString;
110
- projectId: z.ZodString;
111
- snapshotId: z.ZodString;
112
- snapshotChecksum: z.ZodString;
113
- baselineDigest: z.ZodString;
114
- manifestVersion: z.ZodNumber;
115
- manifestDigest: z.ZodString;
116
- approvedBy: z.ZodString;
117
- approvedAt: z.ZodString;
118
- }, z.core.$strict>>;
119
- export type BatchApproval = z.infer<typeof batchApprovalSchema>;
120
- type BatchApprovalContext = {
121
- baseline: BatchBaselineSnapshot;
122
- manifest: BatchVariantManifest;
123
- validation: BatchBaselineValidation;
124
- };
125
- /** Persist creation authorization or the explicit approval and queue admission in one transaction. */
126
- export declare function createBatchApproval(input: BatchApprovalContext & {
127
- actorId: string;
128
- approvedAt: string;
129
- }): BatchApproval;
130
- export declare function assertBatchApproval(input: BatchApprovalContext & {
131
- approval: BatchApproval;
132
- }): void;
133
- export declare const BATCH_ATTEMPT_STATUSES: readonly ["queued", "preparing", "generating", "saving", "building", "publishing", "completed", "failed", "cancelling", "cancelled", "unknown"];
134
- export declare const batchAttemptStatusSchema: z.ZodEnum<{
135
- unknown: "unknown";
136
- completed: "completed";
137
- failed: "failed";
138
- cancelled: "cancelled";
139
- queued: "queued";
140
- generating: "generating";
141
- preparing: "preparing";
142
- saving: "saving";
143
- building: "building";
144
- publishing: "publishing";
145
- cancelling: "cancelling";
146
- }>;
147
- export type BatchAttemptStatus = z.infer<typeof batchAttemptStatusSchema>;
148
- export declare const batchResultVersionSchema: z.ZodReadonly<z.ZodObject<{
149
- createdAt: z.ZodString;
150
- batchId: z.ZodString;
151
- variantId: z.ZodString;
152
- resultVersionId: z.ZodString;
153
- projectId: z.ZodString;
154
- remixId: z.ZodString;
155
- workspaceId: z.ZodString;
156
- snapshotId: z.ZodString;
157
- snapshotChecksum: z.ZodString;
158
- manifestVersion: z.ZodNumber;
159
- manifestDigest: z.ZodString;
160
- }, z.core.$strict>>;
161
- export type BatchResultVersion = z.infer<typeof batchResultVersionSchema>;
162
- export declare const batchAttemptIdentitySchema: z.ZodReadonly<z.ZodObject<{
163
- attemptId: z.ZodString;
164
- batchId: z.ZodString;
165
- variantId: z.ZodString;
166
- resultVersionId: z.ZodString;
167
- projectId: z.ZodString;
168
- remixId: z.ZodString;
169
- workspaceId: z.ZodString;
170
- snapshotId: z.ZodString;
171
- snapshotChecksum: z.ZodString;
172
- manifestVersion: z.ZodNumber;
173
- manifestDigest: z.ZodString;
174
- }, z.core.$strict>>;
175
- export type BatchAttemptIdentity = z.infer<typeof batchAttemptIdentitySchema>;
176
- /** Submission authorizes this manifest and immutable input, without claiming baseline validation. */
177
- export declare function assertDirectBatchAttemptAuthorized(input: {
178
- manifest: BatchVariantManifest;
179
- attempt: BatchAttemptIdentity;
180
- }): void;
181
- export declare function assertBatchAttemptApproved(input: BatchApprovalContext & {
182
- approval: BatchApproval;
183
- attempt: BatchAttemptIdentity;
184
- }): void;
185
- export declare const batchStoppedEvidenceSchema: z.ZodObject<{
186
- executionStopped: z.ZodBoolean;
187
- managedWritesStopped: z.ZodBoolean;
188
- }, z.core.$strict>;
189
- export type BatchStoppedEvidence = z.infer<typeof batchStoppedEvidenceSchema>;
190
- export declare function canReleaseBatchAttempt(status: BatchAttemptStatus, stopped: BatchStoppedEvidence): boolean;
191
72
  export declare const batchSavedEvidenceSchema: z.ZodObject<{
192
73
  pushedCommitHash: z.ZodString;
193
74
  attemptId: z.ZodString;
@@ -197,85 +78,4 @@ export declare const batchSavedEvidenceSchema: z.ZodObject<{
197
78
  commitHash: z.ZodString;
198
79
  }, z.core.$strict>;
199
80
  export type BatchSavedEvidence = z.infer<typeof batchSavedEvidenceSchema>;
200
- export declare const batchBuildEvidenceSchema: z.ZodObject<{
201
- buildId: z.ZodString;
202
- succeeded: z.ZodBoolean;
203
- attemptId: z.ZodString;
204
- resultVersionId: z.ZodString;
205
- workspaceId: z.ZodString;
206
- sourceDigest: z.ZodString;
207
- commitHash: z.ZodString;
208
- }, z.core.$strict>;
209
- export type BatchBuildEvidence = z.infer<typeof batchBuildEvidenceSchema>;
210
- export declare const batchPreviewEvidenceSchema: z.ZodObject<{
211
- buildId: z.ZodString;
212
- previewId: z.ZodString;
213
- previewUrl: z.ZodString;
214
- published: z.ZodBoolean;
215
- opened: z.ZodBoolean;
216
- attemptId: z.ZodString;
217
- resultVersionId: z.ZodString;
218
- workspaceId: z.ZodString;
219
- sourceDigest: z.ZodString;
220
- commitHash: z.ZodString;
221
- }, z.core.$strict>;
222
- export type BatchPreviewEvidence = z.infer<typeof batchPreviewEvidenceSchema>;
223
- export declare const batchCompletionEvidenceSchema: z.ZodObject<{
224
- attempt: z.ZodReadonly<z.ZodObject<{
225
- attemptId: z.ZodString;
226
- batchId: z.ZodString;
227
- variantId: z.ZodString;
228
- resultVersionId: z.ZodString;
229
- projectId: z.ZodString;
230
- remixId: z.ZodString;
231
- workspaceId: z.ZodString;
232
- snapshotId: z.ZodString;
233
- snapshotChecksum: z.ZodString;
234
- manifestVersion: z.ZodNumber;
235
- manifestDigest: z.ZodString;
236
- }, z.core.$strict>>;
237
- saved: z.ZodObject<{
238
- pushedCommitHash: z.ZodString;
239
- attemptId: z.ZodString;
240
- resultVersionId: z.ZodString;
241
- workspaceId: z.ZodString;
242
- sourceDigest: z.ZodString;
243
- commitHash: z.ZodString;
244
- }, z.core.$strict>;
245
- build: z.ZodObject<{
246
- buildId: z.ZodString;
247
- succeeded: z.ZodBoolean;
248
- attemptId: z.ZodString;
249
- resultVersionId: z.ZodString;
250
- workspaceId: z.ZodString;
251
- sourceDigest: z.ZodString;
252
- commitHash: z.ZodString;
253
- }, z.core.$strict>;
254
- preview: z.ZodObject<{
255
- buildId: z.ZodString;
256
- previewId: z.ZodString;
257
- previewUrl: z.ZodString;
258
- published: z.ZodBoolean;
259
- opened: z.ZodBoolean;
260
- attemptId: z.ZodString;
261
- resultVersionId: z.ZodString;
262
- workspaceId: z.ZodString;
263
- sourceDigest: z.ZodString;
264
- commitHash: z.ZodString;
265
- }, z.core.$strict>;
266
- stopped: z.ZodObject<{
267
- executionStopped: z.ZodBoolean;
268
- managedWritesStopped: z.ZodBoolean;
269
- }, z.core.$strict>;
270
- }, z.core.$strict>;
271
- export type BatchCompletionEvidence = z.infer<typeof batchCompletionEvidenceSchema>;
272
- export type BatchCompletionDecision = {
273
- complete: true;
274
- } | {
275
- complete: false;
276
- reason: 'invalid_evidence' | 'attempt_mismatch' | 'save_unpushed' | 'build_mismatch' | 'build_failed' | 'preview_mismatch' | 'preview_unavailable' | 'execution_not_stopped';
277
- };
278
- /** Only evidence from the current attempt and exact saved version can complete a result. */
279
- export declare function evaluateBatchCompletion(input: BatchCompletionEvidence): BatchCompletionDecision;
280
- export {};
281
81
  //# sourceMappingURL=batch-generation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batch-generation.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/batch-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-generation.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/batch-generation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAQrC,eAAO,MAAM,4BAA4B;;;;;mBAKnB,CAAC;AACvB,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,wFAAwF;AACxF,eAAO,MAAM,yBAAyB;;;;;;;;;;mBAczB,CAAC;AACd,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0B1B,CAAC;AACd,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AASD,eAAO,MAAM,wBAAwB;;;;;;;kBAG1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -1,19 +1,12 @@
1
- import { createHash } from 'node:crypto';
2
1
  import { z } from 'zod';
3
2
  import { batchSourceSnapshotRefSchema } from './execution-admission.js';
4
- import { stableStringify } from './operations.js';
5
3
  import { workspaceDirectoryNameSchema } from './workspace-directories.js';
6
- const sha256 = (value) => createHash('sha256').update(value).digest('hex');
7
4
  export const MAX_BATCH_VARIANTS = 10;
8
- export const MAX_BATCH_GENERATION_SLOTS = 3;
9
5
  const identitySchema = z.string().trim().min(1).max(128);
10
6
  const digestSchema = z.string().regex(/^[a-f0-9]{64}$/);
11
7
  const commitSchema = z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);
12
8
  const timestampSchema = z.string().datetime();
13
9
  const descriptionSchema = z.string().trim().min(1).max(8_000);
14
- const previewUrlSchema = z.string().url().max(2_048).refine(value => /^https?:\/\//i.test(value), {
15
- message: 'batch_preview_url_invalid',
16
- });
17
10
  export const batchVariantDifferenceSchema = z.object({
18
11
  variantId: identitySchema,
19
12
  name: z.string().trim().min(1).max(200),
@@ -63,170 +56,9 @@ export const batchVariantManifestSchema = z.object({
63
56
  context.addIssue({ code: 'custom', path: ['sourceSnapshot'], message: 'batch_source_identity_mismatch' });
64
57
  }
65
58
  }).readonly();
66
- /** Uses SHA-256 (Secure Hash Algorithm 256-bit, 256 位安全散列算法) over the normalized manifest. */
67
- export function batchVariantManifestDigest(manifest) {
68
- return sha256(stableStringify(batchVariantManifestSchema.parse(manifest)));
69
- }
70
- /**
71
- * The baseline is a commit on the batch preparation remix that was saved and pushed. `checksum` is the SHA-256 of the
72
- * commit's full tree listing, so equal engineering content always yields the same checksum.
73
- */
74
- export const batchBaselineSnapshotSchema = z.object({
75
- batchId: identitySchema,
76
- projectId: identitySchema,
77
- snapshotId: identitySchema,
78
- sourceWorkspaceId: identitySchema,
79
- commitHash: commitSchema,
80
- checksum: digestSchema,
81
- sourceVersion: z.string().trim().min(1).max(256),
82
- engine: z.string().trim().min(1).max(128),
83
- skillLockDigest: digestSchema,
84
- frozenAt: timestampSchema,
85
- }).strict().superRefine((value, context) => {
86
- if (value.sourceVersion !== batchCommitSourceVersion(value.commitHash)) {
87
- context.addIssue({ code: 'custom', path: ['sourceVersion'], message: 'batch_snapshot_source_version_mismatch' });
88
- }
89
- }).readonly();
90
59
  export function batchCommitSourceVersion(commitHash) {
91
60
  return `git:${commitHash}`;
92
61
  }
93
- /** The baseline digest binds business ownership, the frozen commit and execution configuration together. */
94
- export function batchBaselineSnapshotDigest(baseline) {
95
- return sha256(stableStringify(batchBaselineSnapshotSchema.parse(baseline)));
96
- }
97
- export function assertBatchBaselineUnchanged(existing, candidate) {
98
- const before = batchBaselineSnapshotSchema.parse(existing);
99
- const after = batchBaselineSnapshotSchema.parse(candidate);
100
- if (stableStringify(before) !== stableStringify(after))
101
- throw new Error('batch_baseline_is_immutable');
102
- }
103
- /** These facts must come from trusted Runtime receipts; a submitted boolean is not execution evidence. */
104
- export const batchBaselineValidationSchema = z.object({
105
- snapshotId: identitySchema,
106
- snapshotChecksum: digestSchema,
107
- buildId: identitySchema,
108
- previewId: identitySchema,
109
- previewUrl: previewUrlSchema,
110
- buildSucceeded: z.literal(true),
111
- previewOpened: z.literal(true),
112
- writersStopped: z.literal(true),
113
- validatedAt: timestampSchema,
114
- }).strict().readonly();
115
- export const batchApprovalSchema = z.object({
116
- batchId: identitySchema,
117
- projectId: identitySchema,
118
- snapshotId: identitySchema,
119
- snapshotChecksum: digestSchema,
120
- baselineDigest: digestSchema,
121
- manifestVersion: z.number().int().positive(),
122
- manifestDigest: digestSchema,
123
- approvedBy: identitySchema,
124
- approvedAt: timestampSchema,
125
- }).strict().readonly();
126
- function verifiedBatchApprovalContext(input) {
127
- const baseline = batchBaselineSnapshotSchema.parse(input.baseline);
128
- const manifest = batchVariantManifestSchema.parse(input.manifest);
129
- const validation = batchBaselineValidationSchema.parse(input.validation);
130
- if (manifest.batchId !== baseline.batchId)
131
- throw new Error('batch_identity_mismatch');
132
- if (validation.snapshotId !== baseline.snapshotId || validation.snapshotChecksum !== baseline.checksum) {
133
- throw new Error('batch_baseline_validation_mismatch');
134
- }
135
- if (Date.parse(validation.validatedAt) < Date.parse(baseline.frozenAt)) {
136
- throw new Error('batch_validation_precedes_freeze');
137
- }
138
- return { baseline, manifest, validation };
139
- }
140
- /** Persist creation authorization or the explicit approval and queue admission in one transaction. */
141
- export function createBatchApproval(input) {
142
- const { baseline, manifest, validation } = verifiedBatchApprovalContext(input);
143
- const approval = batchApprovalSchema.parse({
144
- batchId: baseline.batchId,
145
- projectId: baseline.projectId,
146
- snapshotId: baseline.snapshotId,
147
- snapshotChecksum: baseline.checksum,
148
- baselineDigest: batchBaselineSnapshotDigest(baseline),
149
- manifestVersion: manifest.version,
150
- manifestDigest: batchVariantManifestDigest(manifest),
151
- approvedBy: input.actorId,
152
- approvedAt: input.approvedAt,
153
- });
154
- if (Date.parse(approval.approvedAt) < Date.parse(validation.validatedAt)) {
155
- throw new Error('batch_approval_precedes_validation');
156
- }
157
- return approval;
158
- }
159
- export function assertBatchApproval(input) {
160
- const { baseline, manifest, validation } = verifiedBatchApprovalContext(input);
161
- const approval = batchApprovalSchema.parse(input.approval);
162
- if (approval.batchId !== baseline.batchId || approval.projectId !== baseline.projectId ||
163
- approval.snapshotId !== baseline.snapshotId || approval.snapshotChecksum !== baseline.checksum ||
164
- approval.baselineDigest !== batchBaselineSnapshotDigest(baseline) || approval.manifestVersion !== manifest.version ||
165
- approval.manifestDigest !== batchVariantManifestDigest(manifest)) {
166
- throw new Error('batch_approval_stale');
167
- }
168
- if (Date.parse(approval.approvedAt) < Date.parse(validation.validatedAt)) {
169
- throw new Error('batch_approval_precedes_validation');
170
- }
171
- }
172
- export const BATCH_ATTEMPT_STATUSES = [
173
- 'queued', 'preparing', 'generating', 'saving', 'building', 'publishing',
174
- 'completed', 'failed', 'cancelling', 'cancelled', 'unknown',
175
- ];
176
- export const batchAttemptStatusSchema = z.enum(BATCH_ATTEMPT_STATUSES);
177
- const resultIdentityFields = {
178
- batchId: identitySchema,
179
- variantId: identitySchema,
180
- resultVersionId: identitySchema,
181
- projectId: identitySchema,
182
- remixId: identitySchema,
183
- workspaceId: identitySchema,
184
- snapshotId: identitySchema,
185
- snapshotChecksum: digestSchema,
186
- manifestVersion: z.number().int().positive(),
187
- manifestDigest: digestSchema,
188
- };
189
- export const batchResultVersionSchema = z.object({
190
- ...resultIdentityFields,
191
- createdAt: timestampSchema,
192
- }).strict().readonly();
193
- export const batchAttemptIdentitySchema = z.object({
194
- ...resultIdentityFields,
195
- attemptId: identitySchema,
196
- }).strict().readonly();
197
- /** Submission authorizes this manifest and immutable input, without claiming baseline validation. */
198
- export function assertDirectBatchAttemptAuthorized(input) {
199
- const manifest = batchVariantManifestSchema.parse(input.manifest);
200
- const attempt = batchAttemptIdentitySchema.parse(input.attempt);
201
- const source = manifest.sourceSnapshot;
202
- if (manifest.executionMode !== 'direct-source' || !source || attempt.batchId !== manifest.batchId
203
- || attempt.snapshotId !== source.snapshotId || attempt.snapshotChecksum !== source.checksum
204
- || attempt.manifestVersion !== manifest.version || attempt.manifestDigest !== batchVariantManifestDigest(manifest)
205
- || !manifest.variants.some(variant => variant.variantId === attempt.variantId)) {
206
- throw new Error('batch_attempt_source_mismatch');
207
- }
208
- }
209
- export function assertBatchAttemptApproved(input) {
210
- assertBatchApproval(input);
211
- const attempt = batchAttemptIdentitySchema.parse(input.attempt);
212
- const { baseline, manifest } = input;
213
- if (attempt.batchId !== baseline.batchId || attempt.projectId !== baseline.projectId ||
214
- attempt.snapshotId !== baseline.snapshotId ||
215
- attempt.snapshotChecksum !== baseline.checksum || attempt.manifestVersion !== manifest.version ||
216
- attempt.manifestDigest !== batchVariantManifestDigest(manifest) ||
217
- !manifest.variants.some(variant => variant.variantId === attempt.variantId)) {
218
- throw new Error('batch_attempt_approval_mismatch');
219
- }
220
- }
221
- export const batchStoppedEvidenceSchema = z.object({
222
- executionStopped: z.boolean(),
223
- managedWritesStopped: z.boolean(),
224
- }).strict();
225
- export function canReleaseBatchAttempt(status, stopped) {
226
- const evidence = batchStoppedEvidenceSchema.parse(stopped);
227
- return (status === 'completed' || status === 'failed' || status === 'cancelled') &&
228
- evidence.executionStopped && evidence.managedWritesStopped;
229
- }
230
62
  const stageIdentityFields = {
231
63
  attemptId: identitySchema,
232
64
  resultVersionId: identitySchema,
@@ -238,51 +70,4 @@ export const batchSavedEvidenceSchema = z.object({
238
70
  ...stageIdentityFields,
239
71
  pushedCommitHash: commitSchema,
240
72
  }).strict();
241
- export const batchBuildEvidenceSchema = z.object({
242
- ...stageIdentityFields,
243
- buildId: identitySchema,
244
- succeeded: z.boolean(),
245
- }).strict();
246
- export const batchPreviewEvidenceSchema = z.object({
247
- ...stageIdentityFields,
248
- buildId: identitySchema,
249
- previewId: identitySchema,
250
- previewUrl: previewUrlSchema,
251
- published: z.boolean(),
252
- opened: z.boolean(),
253
- }).strict();
254
- export const batchCompletionEvidenceSchema = z.object({
255
- attempt: batchAttemptIdentitySchema,
256
- saved: batchSavedEvidenceSchema,
257
- build: batchBuildEvidenceSchema,
258
- preview: batchPreviewEvidenceSchema,
259
- stopped: batchStoppedEvidenceSchema,
260
- }).strict();
261
- /** Only evidence from the current attempt and exact saved version can complete a result. */
262
- export function evaluateBatchCompletion(input) {
263
- const parsed = batchCompletionEvidenceSchema.safeParse(input);
264
- if (!parsed.success)
265
- return { complete: false, reason: 'invalid_evidence' };
266
- const { attempt, saved, build, preview, stopped } = parsed.data;
267
- for (const stage of [saved, build, preview]) {
268
- if (stage.attemptId !== attempt.attemptId || stage.resultVersionId !== attempt.resultVersionId ||
269
- stage.workspaceId !== attempt.workspaceId)
270
- return { complete: false, reason: 'attempt_mismatch' };
271
- }
272
- if (saved.commitHash !== saved.pushedCommitHash)
273
- return { complete: false, reason: 'save_unpushed' };
274
- if (build.commitHash !== saved.commitHash || build.sourceDigest !== saved.sourceDigest) {
275
- return { complete: false, reason: 'build_mismatch' };
276
- }
277
- if (!build.succeeded)
278
- return { complete: false, reason: 'build_failed' };
279
- if (preview.buildId !== build.buildId || preview.commitHash !== build.commitHash ||
280
- preview.sourceDigest !== build.sourceDigest)
281
- return { complete: false, reason: 'preview_mismatch' };
282
- if (!preview.published || !preview.opened)
283
- return { complete: false, reason: 'preview_unavailable' };
284
- if (!canReleaseBatchAttempt('completed', stopped))
285
- return { complete: false, reason: 'execution_not_stopped' };
286
- return { complete: true };
287
- }
288
73
  //# sourceMappingURL=batch-generation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batch-generation.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/batch-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-generation.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/batch-generation.ts"],"names":[],"mappings":"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"}