@serve.zone/interfaces 27.3.1 → 27.4.0

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.
@@ -0,0 +1,510 @@
1
+ import { deepFreezeValue } from './private/canonicaljson.js';
2
+ import type {
3
+ ICloudlyLegacyDeploymentSettlementOfflineExportAttemptJournalV1,
4
+ ICloudlyLegacyDeploymentSettlementOfflineExportCompleteOutputReceiptV1,
5
+ ICloudlyLegacyDeploymentSettlementOfflineExportPlanV1,
6
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorizationV1,
7
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityReferenceV1,
8
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityV1,
9
+ ICloudlyLegacyDeploymentSettlementOfflineExportRehearsalAttestationV1,
10
+ ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityReferenceV1,
11
+ ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityV1,
12
+ ICloudlyLegacyDeploymentSettlementOfflineExportTransformResultV1,
13
+ } from './runtime.cloudlylegacydeploymentsettlement.offlineexport.js';
14
+
15
+ interface IOfflineExportGoldenArtifact<TValue> {
16
+ input: TValue;
17
+ canonical: string;
18
+ sha256: string;
19
+ hmac?: string;
20
+ }
21
+
22
+ interface ICloudlyLegacyDeploymentSettlementOfflineExportGoldenVectorsV1 {
23
+ version: 1;
24
+ sourceAuthority: {
25
+ input: ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityV1;
26
+ reference:
27
+ ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityReferenceV1;
28
+ canonical: string;
29
+ sha256: string;
30
+ };
31
+ plan: IOfflineExportGoldenArtifact<
32
+ ICloudlyLegacyDeploymentSettlementOfflineExportPlanV1
33
+ >;
34
+ rehearsalAttestation: IOfflineExportGoldenArtifact<
35
+ ICloudlyLegacyDeploymentSettlementOfflineExportRehearsalAttestationV1
36
+ >;
37
+ productionTransformAuthority: {
38
+ input:
39
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityV1;
40
+ reference:
41
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityReferenceV1;
42
+ canonical: string;
43
+ sha256: string;
44
+ };
45
+ transformAuthorization: IOfflineExportGoldenArtifact<
46
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorizationV1
47
+ >;
48
+ attemptJournal: IOfflineExportGoldenArtifact<
49
+ ICloudlyLegacyDeploymentSettlementOfflineExportAttemptJournalV1
50
+ >;
51
+ completeOutputReceipt: IOfflineExportGoldenArtifact<
52
+ ICloudlyLegacyDeploymentSettlementOfflineExportCompleteOutputReceiptV1
53
+ >;
54
+ result: IOfflineExportGoldenArtifact<
55
+ ICloudlyLegacyDeploymentSettlementOfflineExportTransformResultV1
56
+ >;
57
+ }
58
+
59
+ const oneSha = '1'.repeat(64);
60
+ const twoSha = '2'.repeat(64);
61
+ const stateA = `hmac-sha256:${'a'.repeat(64)}` as const;
62
+ const stateB = `hmac-sha256:${'b'.repeat(64)}` as const;
63
+
64
+ const sourceFile = {
65
+ format: 'smartdb.database.export.v1' as const,
66
+ databaseName: 'cloudly',
67
+ byteLength: 153,
68
+ sha256: 'df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734',
69
+ lineFeedTerminator: 'single-lf' as const,
70
+ };
71
+ const transformedCoreFile = {
72
+ ...sourceFile,
73
+ sha256: '90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958',
74
+ };
75
+ const completeOutputFile = {
76
+ ...sourceFile,
77
+ byteLength: 4249,
78
+ sha256: '9321522806fa2957c169940990a4bb7072cec52fa65243eb5b4b570f9dbe9677',
79
+ };
80
+ const counts = {
81
+ operationCount: 1,
82
+ routeClaimsStabilized: 1,
83
+ routeClaimsRemoved: 0,
84
+ resourceClaimsRemoved: 1,
85
+ };
86
+ const classificationCounts = {
87
+ 'image-recorded-not-current': 1,
88
+ 'image-recorded-current-failed': 0,
89
+ 'rolling-out-current-failed': 0,
90
+ 'rolling-out-superseded': 0,
91
+ };
92
+
93
+ const plan: ICloudlyLegacyDeploymentSettlementOfflineExportPlanV1 = {
94
+ schemaVersion: 1,
95
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-plan',
96
+ operationId: 'offline-settlement-operation-1',
97
+ settlementId: 'offline-settlement-1',
98
+ sourceFile,
99
+ effectiveAt: 1_700_000_100_000,
100
+ sourceStateHmac: stateA,
101
+ finalStateHmac: stateB,
102
+ sourceCensus: {
103
+ operations: 3,
104
+ services: 2,
105
+ images: 2,
106
+ releases: 2,
107
+ rolloutOperations: 1,
108
+ routeClaims: 1,
109
+ resourceClaims: 1,
110
+ },
111
+ entries: [{
112
+ operationId: 'deployment-operation-1',
113
+ serviceId: 'service-cloudly',
114
+ sourceRevision: 4,
115
+ sourceState: 'image-recorded',
116
+ classification: 'image-recorded-not-current',
117
+ finalRevision: 7,
118
+ sourceDocumentHmac: `hmac-sha256:${'c'.repeat(64)}`,
119
+ finalDocumentHmac: `hmac-sha256:${'d'.repeat(64)}`,
120
+ routeClaimsStabilized: 1,
121
+ routeClaimsRemoved: 0,
122
+ resourceClaimsRemoved: 1,
123
+ }],
124
+ counts,
125
+ classificationCounts,
126
+ };
127
+
128
+ const sourceAuthority:
129
+ ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityV1 = {
130
+ schemaVersion: 1,
131
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-source-authority',
132
+ role: 'source-rehearsal',
133
+ operationId: plan.operationId,
134
+ settlementId: plan.settlementId,
135
+ authorityId: 'offline-source-authority-1',
136
+ keyId: 'offline-source-key-1',
137
+ keyVersion: 1,
138
+ issuedAt: 1_700_000_000_000,
139
+ expiresAt: 1_700_003_600_000,
140
+ sourceFile,
141
+ approvedSourceBackup: {
142
+ backupId: 'backup-cloudly-approved-1',
143
+ sourceServiceId: 'service-cloudly',
144
+ snapshotId: 'snapshot-cloudly-approved-1',
145
+ backupReceiptSha256: oneSha,
146
+ },
147
+ planSha256: 'cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211',
148
+ rehearsalRequestSha256: twoSha,
149
+ };
150
+ const sourceReference:
151
+ ICloudlyLegacyDeploymentSettlementOfflineExportSourceAuthorityReferenceV1 = {
152
+ schemaVersion: 1,
153
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-authority-reference',
154
+ role: 'source-rehearsal',
155
+ operationId: plan.operationId,
156
+ settlementId: plan.settlementId,
157
+ authorityId: sourceAuthority.authorityId,
158
+ keyId: sourceAuthority.keyId,
159
+ keyVersion: 1,
160
+ authorityMetadataSha256:
161
+ 'd2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672',
162
+ };
163
+
164
+ const rehearsalAttestation:
165
+ ICloudlyLegacyDeploymentSettlementOfflineExportRehearsalAttestationV1 = {
166
+ schemaVersion: 1,
167
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-rehearsal-attestation',
168
+ sourceAuthority: sourceReference,
169
+ plan,
170
+ planSha256: sourceAuthority.planSha256,
171
+ rehearsalRequestSha256: sourceAuthority.rehearsalRequestSha256,
172
+ scratchAllocation: {
173
+ purpose: 'scratch-rehearsal',
174
+ rehearsalId: 'offline-rehearsal-1',
175
+ allocationId: '3'.repeat(64),
176
+ generation: 2,
177
+ bindingSha256: '4'.repeat(64),
178
+ receiptSha256: '5'.repeat(64),
179
+ },
180
+ outcome: 'transform-required',
181
+ observedFinalStateHmac: plan.finalStateHmac,
182
+ observedCounts: counts,
183
+ observedClassificationCounts: classificationCounts,
184
+ completedAt: 1_700_000_200_000,
185
+ payloadSha256: 'e0608cd3d32ffad30e5e6f0081f9b4f291721466d73ce10b4d67bd6af3f8cbd0',
186
+ mac: 'ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ',
187
+ };
188
+
189
+ const productionTransformAuthority:
190
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityV1 = {
191
+ schemaVersion: 1,
192
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-production-transform-authority',
193
+ role: 'production-transform',
194
+ operationId: plan.operationId,
195
+ settlementId: plan.settlementId,
196
+ authorityId: 'offline-production-transform-authority-1',
197
+ keyId: 'offline-production-transform-key-1',
198
+ keyVersion: 1,
199
+ issuedAt: 1_700_000_200_001,
200
+ expiresAt: 1_700_003_600_000,
201
+ sourceAuthority: sourceReference,
202
+ authenticatedRehearsalAttestationSha256:
203
+ '52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb',
204
+ };
205
+ const productionReference:
206
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorityReferenceV1 = {
207
+ schemaVersion: 1,
208
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-authority-reference',
209
+ role: 'production-transform',
210
+ operationId: plan.operationId,
211
+ settlementId: plan.settlementId,
212
+ authorityId: productionTransformAuthority.authorityId,
213
+ keyId: productionTransformAuthority.keyId,
214
+ keyVersion: 1,
215
+ authorityMetadataSha256:
216
+ 'e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3',
217
+ };
218
+
219
+ const transformAuthorization:
220
+ ICloudlyLegacyDeploymentSettlementOfflineExportProductionTransformAuthorizationV1 = {
221
+ schemaVersion: 1,
222
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-production-transform-authorization',
223
+ authority: productionReference,
224
+ sourceAuthority: sourceReference,
225
+ attemptId: 'offline-transform-attempt-1',
226
+ authenticatedRehearsalAttestationSha256:
227
+ productionTransformAuthority.authenticatedRehearsalAttestationSha256,
228
+ planSha256: sourceAuthority.planSha256,
229
+ requestSha256: '6'.repeat(64),
230
+ requestedAt: 1_700_000_200_002,
231
+ authorizedAt: 1_700_000_200_003,
232
+ payloadSha256: '4b26aab4acbcab2906f4dee3933993557f2d5041cce054b85218095ea36c9553',
233
+ mac: 'zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k',
234
+ };
235
+
236
+ const attemptJournal:
237
+ ICloudlyLegacyDeploymentSettlementOfflineExportAttemptJournalV1 = {
238
+ _id: 'offline-export-attempt-697623f8e74a47f3877ecb8d8498990177790714',
239
+ schemaVersion: 1,
240
+ kind: 'cloudly_legacy_deployment_settlement_export_attempt_v1',
241
+ purpose: 'production-transform',
242
+ operationId: plan.operationId,
243
+ settlementId: plan.settlementId,
244
+ attemptId: transformAuthorization.attemptId,
245
+ sourceAuthority: sourceReference,
246
+ productionTransformAuthority: productionReference,
247
+ authenticatedRehearsalAttestationSha256:
248
+ productionTransformAuthority.authenticatedRehearsalAttestationSha256,
249
+ transformAuthorizationSha256:
250
+ '623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704',
251
+ planSha256: sourceAuthority.planSha256,
252
+ requestSha256: transformAuthorization.requestSha256,
253
+ sourceFile,
254
+ transformedCoreFile,
255
+ sourceStateHmac: plan.sourceStateHmac,
256
+ finalStateHmac: plan.finalStateHmac,
257
+ outcome: 'transformed',
258
+ counts,
259
+ classificationCounts,
260
+ completedAt: 1_700_000_200_004,
261
+ mac: 'ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8',
262
+ };
263
+
264
+ const completeOutputReceipt:
265
+ ICloudlyLegacyDeploymentSettlementOfflineExportCompleteOutputReceiptV1 = {
266
+ schemaVersion: 1,
267
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-complete-output-receipt',
268
+ authority: productionReference,
269
+ sourceAuthority: sourceReference,
270
+ operationId: plan.operationId,
271
+ settlementId: plan.settlementId,
272
+ attemptId: transformAuthorization.attemptId,
273
+ journalSha256: '20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c',
274
+ transformedCoreFile,
275
+ completeOutputFile,
276
+ journalGrowthBytes: completeOutputFile.byteLength - transformedCoreFile.byteLength,
277
+ completedAt: 1_700_000_200_005,
278
+ payloadSha256: 'd4cd42199c816bb48a706be8c3d2a9e5b9ba2a1326b3ae092b1d97bf7335f407',
279
+ mac: 'ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8',
280
+ };
281
+
282
+ const result: ICloudlyLegacyDeploymentSettlementOfflineExportTransformResultV1 = {
283
+ schemaVersion: 1,
284
+ kind: 'cloudly-legacy-deployment-settlement-offline-export-transform-result',
285
+ status: 'completed',
286
+ operationId: plan.operationId,
287
+ settlementId: plan.settlementId,
288
+ attemptId: transformAuthorization.attemptId,
289
+ sourceAuthority: sourceReference,
290
+ productionTransformAuthority: productionReference,
291
+ planSha256: sourceAuthority.planSha256,
292
+ requestSha256: transformAuthorization.requestSha256,
293
+ completeOutputReceiptSha256:
294
+ '47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5',
295
+ outcome: 'transformed',
296
+ counts,
297
+ classificationCounts,
298
+ completedAt: completeOutputReceipt.completedAt,
299
+ };
300
+
301
+ const planCanonical =
302
+ '{"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,"rolling-out-current-failed":0,"rolling-out-superseded":0},'
303
+ + '"counts":{"operationCount":1,"resourceClaimsRemoved":1,"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
304
+ + '"effectiveAt":1700000100000,"entries":[{"classification":"image-recorded-not-current",'
305
+ + '"finalDocumentHmac":"hmac-sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",'
306
+ + '"finalRevision":7,"operationId":"deployment-operation-1","resourceClaimsRemoved":1,'
307
+ + '"routeClaimsRemoved":0,"routeClaimsStabilized":1,"serviceId":"service-cloudly",'
308
+ + '"sourceDocumentHmac":"hmac-sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",'
309
+ + '"sourceRevision":4,"sourceState":"image-recorded"}],'
310
+ + '"finalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
311
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-plan",'
312
+ + '"operationId":"offline-settlement-operation-1","schemaVersion":1,'
313
+ + '"settlementId":"offline-settlement-1","sourceCensus":{"images":2,"operations":3,'
314
+ + '"releases":2,"resourceClaims":1,"rolloutOperations":1,"routeClaims":1,"services":2},'
315
+ + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
316
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
317
+ + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"},'
318
+ + '"sourceStateHmac":"hmac-sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}';
319
+
320
+ const sourceReferenceCanonical =
321
+ '{"authorityId":"offline-source-authority-1",'
322
+ + '"authorityMetadataSha256":"d2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672",'
323
+ + '"keyId":"offline-source-key-1","keyVersion":1,'
324
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-authority-reference",'
325
+ + '"operationId":"offline-settlement-operation-1","role":"source-rehearsal",'
326
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1"}';
327
+
328
+ const productionReferenceCanonical =
329
+ '{"authorityId":"offline-production-transform-authority-1",'
330
+ + '"authorityMetadataSha256":"e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3",'
331
+ + '"keyId":"offline-production-transform-key-1","keyVersion":1,'
332
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-authority-reference",'
333
+ + '"operationId":"offline-settlement-operation-1","role":"production-transform",'
334
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1"}';
335
+
336
+ const sourceAuthorityCanonical =
337
+ '{"approvedSourceBackup":{"backupId":"backup-cloudly-approved-1",'
338
+ + '"backupReceiptSha256":"1111111111111111111111111111111111111111111111111111111111111111",'
339
+ + '"snapshotId":"snapshot-cloudly-approved-1","sourceServiceId":"service-cloudly"},'
340
+ + '"authorityId":"offline-source-authority-1","expiresAt":1700003600000,'
341
+ + '"issuedAt":1700000000000,"keyId":"offline-source-key-1","keyVersion":1,'
342
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-source-authority",'
343
+ + '"operationId":"offline-settlement-operation-1",'
344
+ + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
345
+ + '"rehearsalRequestSha256":"2222222222222222222222222222222222222222222222222222222222222222",'
346
+ + '"role":"source-rehearsal","schemaVersion":1,"settlementId":"offline-settlement-1",'
347
+ + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
348
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
349
+ + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"}}';
350
+
351
+ const rehearsalAttestationCanonical =
352
+ '{"completedAt":1700000200000,'
353
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-rehearsal-attestation",'
354
+ + '"mac":"ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ",'
355
+ + '"observedClassificationCounts":{"image-recorded-current-failed":0,'
356
+ + '"image-recorded-not-current":1,"rolling-out-current-failed":0,"rolling-out-superseded":0},'
357
+ + '"observedCounts":{"operationCount":1,"resourceClaimsRemoved":1,"routeClaimsRemoved":0,'
358
+ + '"routeClaimsStabilized":1},'
359
+ + '"observedFinalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
360
+ + '"outcome":"transform-required",'
361
+ + '"payloadSha256":"e0608cd3d32ffad30e5e6f0081f9b4f291721466d73ce10b4d67bd6af3f8cbd0",'
362
+ + `"plan":${planCanonical},`
363
+ + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
364
+ + '"rehearsalRequestSha256":"2222222222222222222222222222222222222222222222222222222222222222",'
365
+ + '"schemaVersion":1,"scratchAllocation":{'
366
+ + '"allocationId":"3333333333333333333333333333333333333333333333333333333333333333",'
367
+ + '"bindingSha256":"4444444444444444444444444444444444444444444444444444444444444444",'
368
+ + '"generation":2,"purpose":"scratch-rehearsal",'
369
+ + '"receiptSha256":"5555555555555555555555555555555555555555555555555555555555555555",'
370
+ + '"rehearsalId":"offline-rehearsal-1"},'
371
+ + `"sourceAuthority":${sourceReferenceCanonical}}`;
372
+
373
+ const productionTransformAuthorityCanonical =
374
+ '{"authenticatedRehearsalAttestationSha256":'
375
+ + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
376
+ + '"authorityId":"offline-production-transform-authority-1",'
377
+ + '"expiresAt":1700003600000,"issuedAt":1700000200001,'
378
+ + '"keyId":"offline-production-transform-key-1","keyVersion":1,'
379
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-production-transform-authority",'
380
+ + '"operationId":"offline-settlement-operation-1","role":"production-transform",'
381
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
382
+ + `"sourceAuthority":${sourceReferenceCanonical}}`;
383
+
384
+ const transformAuthorizationCanonical =
385
+ '{"attemptId":"offline-transform-attempt-1",'
386
+ + '"authenticatedRehearsalAttestationSha256":'
387
+ + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
388
+ + `"authority":${productionReferenceCanonical},`
389
+ + '"authorizedAt":1700000200003,'
390
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-production-transform-authorization",'
391
+ + '"mac":"zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k",'
392
+ + '"payloadSha256":"4b26aab4acbcab2906f4dee3933993557f2d5041cce054b85218095ea36c9553",'
393
+ + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
394
+ + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
395
+ + '"requestedAt":1700000200002,"schemaVersion":1,'
396
+ + `"sourceAuthority":${sourceReferenceCanonical}}`;
397
+
398
+ const attemptJournalCanonical =
399
+ '{"_id":"offline-export-attempt-697623f8e74a47f3877ecb8d8498990177790714",'
400
+ + '"attemptId":"offline-transform-attempt-1",'
401
+ + '"authenticatedRehearsalAttestationSha256":'
402
+ + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
403
+ + '"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,'
404
+ + '"rolling-out-current-failed":0,"rolling-out-superseded":0},'
405
+ + '"completedAt":1700000200004,"counts":{"operationCount":1,"resourceClaimsRemoved":1,'
406
+ + '"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
407
+ + '"finalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
408
+ + '"kind":"cloudly_legacy_deployment_settlement_export_attempt_v1",'
409
+ + '"mac":"ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8",'
410
+ + '"operationId":"offline-settlement-operation-1","outcome":"transformed",'
411
+ + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
412
+ + `"productionTransformAuthority":${productionReferenceCanonical},`
413
+ + '"purpose":"production-transform",'
414
+ + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
415
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
416
+ + `"sourceAuthority":${sourceReferenceCanonical},`
417
+ + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
418
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
419
+ + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"},'
420
+ + '"sourceStateHmac":"hmac-sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",'
421
+ + '"transformAuthorizationSha256":'
422
+ + '"623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704",'
423
+ + '"transformedCoreFile":{"byteLength":153,"databaseName":"cloudly",'
424
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
425
+ + '"sha256":"90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958"}}';
426
+
427
+ const completeOutputReceiptCanonical =
428
+ '{"attemptId":"offline-transform-attempt-1",'
429
+ + `"authority":${productionReferenceCanonical},`
430
+ + '"completeOutputFile":{"byteLength":4249,"databaseName":"cloudly",'
431
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
432
+ + '"sha256":"9321522806fa2957c169940990a4bb7072cec52fa65243eb5b4b570f9dbe9677"},'
433
+ + '"completedAt":1700000200005,"journalGrowthBytes":4096,'
434
+ + '"journalSha256":"20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c",'
435
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-complete-output-receipt",'
436
+ + '"mac":"ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8",'
437
+ + '"operationId":"offline-settlement-operation-1",'
438
+ + '"payloadSha256":"d4cd42199c816bb48a706be8c3d2a9e5b9ba2a1326b3ae092b1d97bf7335f407",'
439
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
440
+ + `"sourceAuthority":${sourceReferenceCanonical},`
441
+ + '"transformedCoreFile":{"byteLength":153,"databaseName":"cloudly",'
442
+ + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
443
+ + '"sha256":"90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958"}}';
444
+
445
+ const resultCanonical =
446
+ '{"attemptId":"offline-transform-attempt-1",'
447
+ + '"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,'
448
+ + '"rolling-out-current-failed":0,"rolling-out-superseded":0},'
449
+ + '"completeOutputReceiptSha256":'
450
+ + '"47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5",'
451
+ + '"completedAt":1700000200005,"counts":{"operationCount":1,"resourceClaimsRemoved":1,'
452
+ + '"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
453
+ + '"kind":"cloudly-legacy-deployment-settlement-offline-export-transform-result",'
454
+ + '"operationId":"offline-settlement-operation-1","outcome":"transformed",'
455
+ + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
456
+ + `"productionTransformAuthority":${productionReferenceCanonical},`
457
+ + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
458
+ + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
459
+ + `"sourceAuthority":${sourceReferenceCanonical},"status":"completed"}`;
460
+
461
+ export const cloudlyLegacyDeploymentSettlementOfflineExportGoldenVectors:
462
+ Readonly<ICloudlyLegacyDeploymentSettlementOfflineExportGoldenVectorsV1> = deepFreezeValue({
463
+ version: 1,
464
+ sourceAuthority: {
465
+ input: sourceAuthority,
466
+ reference: sourceReference,
467
+ canonical: sourceAuthorityCanonical,
468
+ sha256: 'd2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672',
469
+ },
470
+ plan: {
471
+ input: plan,
472
+ canonical: planCanonical,
473
+ sha256: 'cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211',
474
+ },
475
+ rehearsalAttestation: {
476
+ input: rehearsalAttestation,
477
+ canonical: rehearsalAttestationCanonical,
478
+ sha256: '52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb',
479
+ hmac: 'ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ',
480
+ },
481
+ productionTransformAuthority: {
482
+ input: productionTransformAuthority,
483
+ reference: productionReference,
484
+ canonical: productionTransformAuthorityCanonical,
485
+ sha256: 'e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3',
486
+ },
487
+ transformAuthorization: {
488
+ input: transformAuthorization,
489
+ canonical: transformAuthorizationCanonical,
490
+ sha256: '623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704',
491
+ hmac: 'zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k',
492
+ },
493
+ attemptJournal: {
494
+ input: attemptJournal,
495
+ canonical: attemptJournalCanonical,
496
+ sha256: '20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c',
497
+ hmac: 'ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8',
498
+ },
499
+ completeOutputReceipt: {
500
+ input: completeOutputReceipt,
501
+ canonical: completeOutputReceiptCanonical,
502
+ sha256: '47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5',
503
+ hmac: 'ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8',
504
+ },
505
+ result: {
506
+ input: result,
507
+ canonical: resultCanonical,
508
+ sha256: '014686d7f47b1d7361d895c503350ff18dd8218c5d78a047374fb09034591962',
509
+ },
510
+ });