@serve.zone/interfaces 27.3.0 → 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.
- package/changelog.md +21 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.js +43 -30
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.d.ts +291 -0
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.d.ts +30 -0
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.js +408 -0
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.js +1126 -0
- package/dist_ts/runtime.corestore.databaseexportpackage.d.ts +118 -0
- package/dist_ts/runtime.corestore.databaseexportpackage.golden.d.ts +22 -0
- package/dist_ts/runtime.corestore.databaseexportpackage.golden.js +242 -0
- package/dist_ts/runtime.corestore.databaseexportpackage.js +428 -0
- package/dist_ts/runtime.d.ts +2 -0
- package/dist_ts/runtime.js +3 -1
- package/package.json +1 -1
- package/readme.md +33 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.ts +510 -0
- package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.ts +2470 -0
- package/ts/runtime.cloudlylegacydeploymentsettlement.ts +38 -27
- package/ts/runtime.corestore.databaseexportpackage.golden.ts +323 -0
- package/ts/runtime.corestore.databaseexportpackage.ts +862 -0
- package/ts/runtime.ts +2 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import * as plugins from './plugins.runtime.js';
|
|
2
|
+
import { canonicalizeStrictJson, deepFreezeValue, } from './private/canonicaljson.js';
|
|
3
|
+
import { corestoreDatabaseBackupRuntimeLimits, encodeCorestoreDatabaseBackupReceipt, normalizeCorestoreDatabaseAllocationReference, normalizeCorestoreDatabaseBackupReceipt, } from './runtime.corestore.js';
|
|
4
|
+
export const corestoreDatabaseExportPackageRuntimeLimits = Object.freeze({
|
|
5
|
+
maximumControlBytes: corestoreDatabaseBackupRuntimeLimits.maximumControlBytes,
|
|
6
|
+
maximumInputBytes: corestoreDatabaseBackupRuntimeLimits.maximumSnapshotOriginalBytes,
|
|
7
|
+
maximumClosureBytes: corestoreDatabaseBackupRuntimeLimits.maximumClosureBytes,
|
|
8
|
+
maximumPackageAttemptIdLength: 128,
|
|
9
|
+
});
|
|
10
|
+
export class CorestoreDatabaseExportPackageCodecError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
path;
|
|
13
|
+
constructor(codeArg, pathArg) {
|
|
14
|
+
super(`${codeArg}:${pathArg}`);
|
|
15
|
+
this.name = 'CorestoreDatabaseExportPackageCodecError';
|
|
16
|
+
this.code = codeArg;
|
|
17
|
+
this.path = pathArg;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const inputIdentityKeys = [
|
|
21
|
+
'format',
|
|
22
|
+
'databaseName',
|
|
23
|
+
'byteLength',
|
|
24
|
+
'sha256',
|
|
25
|
+
'lineFeedTerminator',
|
|
26
|
+
];
|
|
27
|
+
const approvedBackupIdentityKeys = [
|
|
28
|
+
'backupId',
|
|
29
|
+
'sourceServiceId',
|
|
30
|
+
'snapshotId',
|
|
31
|
+
'backupReceiptSha256',
|
|
32
|
+
];
|
|
33
|
+
const requestKeys = [
|
|
34
|
+
'schemaVersion',
|
|
35
|
+
'kind',
|
|
36
|
+
'packageAttemptId',
|
|
37
|
+
'packageBackupId',
|
|
38
|
+
'input',
|
|
39
|
+
'approvedSourceBackup',
|
|
40
|
+
'completeOutputReceiptSha256',
|
|
41
|
+
'allocationExpectation',
|
|
42
|
+
];
|
|
43
|
+
const completionKeys = [
|
|
44
|
+
'schemaVersion',
|
|
45
|
+
'kind',
|
|
46
|
+
'packageAttemptId',
|
|
47
|
+
'requestSha256',
|
|
48
|
+
'completedAt',
|
|
49
|
+
'receipt',
|
|
50
|
+
'receiptSha256',
|
|
51
|
+
'closureByteLength',
|
|
52
|
+
'closureSha256',
|
|
53
|
+
];
|
|
54
|
+
const responseKeys = ['schemaVersion', 'kind', 'completion', 'replayed'];
|
|
55
|
+
const releaseRequestKeys = [
|
|
56
|
+
'schemaVersion',
|
|
57
|
+
'kind',
|
|
58
|
+
'packageAttemptId',
|
|
59
|
+
'requestSha256',
|
|
60
|
+
'completionSha256',
|
|
61
|
+
'callerFsyncedClosureByteLength',
|
|
62
|
+
'callerFsyncedClosureSha256',
|
|
63
|
+
'callerFsyncedReceiptByteLength',
|
|
64
|
+
'callerFsyncedReceiptSha256',
|
|
65
|
+
'callerFsyncedAt',
|
|
66
|
+
];
|
|
67
|
+
const releaseCompletionKeys = [
|
|
68
|
+
'schemaVersion',
|
|
69
|
+
'kind',
|
|
70
|
+
'packageAttemptId',
|
|
71
|
+
'requestSha256',
|
|
72
|
+
'completionSha256',
|
|
73
|
+
'releaseRequestSha256',
|
|
74
|
+
'releasedAt',
|
|
75
|
+
];
|
|
76
|
+
const releaseResponseKeys = ['schemaVersion', 'kind', 'release', 'replayed'];
|
|
77
|
+
const identifierPattern = /^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$/;
|
|
78
|
+
const packageAttemptIdPattern = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
|
|
79
|
+
const sha256Pattern = /^[a-f0-9]{64}$/;
|
|
80
|
+
const fail = (codeArg, pathArg) => {
|
|
81
|
+
throw new CorestoreDatabaseExportPackageCodecError(codeArg, pathArg);
|
|
82
|
+
};
|
|
83
|
+
const normalizeAllocationReference = (valueArg, pathArg) => {
|
|
84
|
+
try {
|
|
85
|
+
return normalizeCorestoreDatabaseAllocationReference(valueArg);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return fail('INVALID_VALUE', pathArg);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const normalizeBackupReceipt = (valueArg, pathArg) => {
|
|
92
|
+
try {
|
|
93
|
+
return normalizeCorestoreDatabaseBackupReceipt(valueArg);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return fail('INVALID_VALUE', pathArg);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const readRecord = (valueArg, pathArg) => {
|
|
100
|
+
if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg)) {
|
|
101
|
+
return fail('INVALID_DATA', pathArg);
|
|
102
|
+
}
|
|
103
|
+
const prototype = Object.getPrototypeOf(valueArg);
|
|
104
|
+
if (prototype !== Object.prototype && prototype !== null) {
|
|
105
|
+
return fail('INVALID_DATA', pathArg);
|
|
106
|
+
}
|
|
107
|
+
const value = valueArg;
|
|
108
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
109
|
+
if (typeof key !== 'string')
|
|
110
|
+
return fail('INVALID_DATA', pathArg);
|
|
111
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
112
|
+
if (!descriptor || !descriptor.enumerable || !Object.hasOwn(descriptor, 'value')) {
|
|
113
|
+
return fail('INVALID_DATA', pathArg);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return value;
|
|
117
|
+
};
|
|
118
|
+
const assertExactKeys = (valueArg, keysArg, pathArg) => {
|
|
119
|
+
const actual = Object.keys(valueArg).sort();
|
|
120
|
+
const expected = [...keysArg].sort();
|
|
121
|
+
if (actual.length !== expected.length
|
|
122
|
+
|| actual.some((keyArg, indexArg) => keyArg !== expected[indexArg])) {
|
|
123
|
+
fail('INVALID_SCHEMA', pathArg);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
const readIdentifier = (valueArg, pathArg) => {
|
|
127
|
+
if (typeof valueArg !== 'string' || !identifierPattern.test(valueArg)) {
|
|
128
|
+
return fail('INVALID_VALUE', pathArg);
|
|
129
|
+
}
|
|
130
|
+
return valueArg;
|
|
131
|
+
};
|
|
132
|
+
const readPackageAttemptId = (valueArg, pathArg) => {
|
|
133
|
+
if (typeof valueArg !== 'string' || !packageAttemptIdPattern.test(valueArg)) {
|
|
134
|
+
return fail('INVALID_VALUE', pathArg);
|
|
135
|
+
}
|
|
136
|
+
return valueArg;
|
|
137
|
+
};
|
|
138
|
+
const readSha256 = (valueArg, pathArg) => {
|
|
139
|
+
if (typeof valueArg !== 'string' || !sha256Pattern.test(valueArg)) {
|
|
140
|
+
return fail('INVALID_VALUE', pathArg);
|
|
141
|
+
}
|
|
142
|
+
return valueArg;
|
|
143
|
+
};
|
|
144
|
+
const readInteger = (valueArg, pathArg, minimumArg, maximumArg = Number.MAX_SAFE_INTEGER) => {
|
|
145
|
+
if (typeof valueArg !== 'number'
|
|
146
|
+
|| !Number.isSafeInteger(valueArg)
|
|
147
|
+
|| Object.is(valueArg, -0)
|
|
148
|
+
|| valueArg < minimumArg
|
|
149
|
+
|| valueArg > maximumArg) {
|
|
150
|
+
return fail('INVALID_VALUE', pathArg);
|
|
151
|
+
}
|
|
152
|
+
return valueArg;
|
|
153
|
+
};
|
|
154
|
+
const readBoolean = (valueArg, pathArg) => {
|
|
155
|
+
if (typeof valueArg !== 'boolean')
|
|
156
|
+
return fail('INVALID_VALUE', pathArg);
|
|
157
|
+
return valueArg;
|
|
158
|
+
};
|
|
159
|
+
const canonicalize = (valueArg, pathArg) => canonicalizeStrictJson(valueArg, () => fail('INVALID_DATA', pathArg), pathArg);
|
|
160
|
+
const finalize = (valueArg, pathArg) => {
|
|
161
|
+
const canonical = canonicalize(valueArg, pathArg);
|
|
162
|
+
if (Buffer.byteLength(canonical, 'utf8')
|
|
163
|
+
> corestoreDatabaseExportPackageRuntimeLimits.maximumControlBytes) {
|
|
164
|
+
return fail('LIMIT_EXCEEDED', pathArg);
|
|
165
|
+
}
|
|
166
|
+
return deepFreezeValue(valueArg);
|
|
167
|
+
};
|
|
168
|
+
const encodeNormalized = (valueArg, pathArg) => (Buffer.from(canonicalize(valueArg, pathArg), 'utf8'));
|
|
169
|
+
const digestBytes = (valueArg) => plugins.crypto
|
|
170
|
+
.createHash('sha256')
|
|
171
|
+
.update(new Uint8Array(valueArg))
|
|
172
|
+
.digest('hex');
|
|
173
|
+
const canonicalEqual = (leftArg, rightArg, pathArg) => (canonicalize(leftArg, `${pathArg}.left`) === canonicalize(rightArg, `${pathArg}.right`));
|
|
174
|
+
const normalizeInputIdentityInternal = (valueArg, pathArg) => {
|
|
175
|
+
const value = readRecord(valueArg, pathArg);
|
|
176
|
+
assertExactKeys(value, inputIdentityKeys, pathArg);
|
|
177
|
+
if (value.format !== 'smartdb.database.export.v1'
|
|
178
|
+
|| value.lineFeedTerminator !== 'single-lf') {
|
|
179
|
+
fail('INVALID_VALUE', `${pathArg}.format`);
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
format: 'smartdb.database.export.v1',
|
|
183
|
+
databaseName: readIdentifier(value.databaseName, `${pathArg}.databaseName`),
|
|
184
|
+
byteLength: readInteger(value.byteLength, `${pathArg}.byteLength`, 1, corestoreDatabaseExportPackageRuntimeLimits.maximumInputBytes),
|
|
185
|
+
sha256: readSha256(value.sha256, `${pathArg}.sha256`),
|
|
186
|
+
lineFeedTerminator: 'single-lf',
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
export const normalizeCorestoreDatabaseExportPackageInputIdentity = (valueArg) => finalize(normalizeInputIdentityInternal(valueArg, 'databaseExportPackageInput'), 'databaseExportPackageInput');
|
|
190
|
+
const normalizeApprovedBackupIdentityInternal = (valueArg, pathArg) => {
|
|
191
|
+
const value = readRecord(valueArg, pathArg);
|
|
192
|
+
assertExactKeys(value, approvedBackupIdentityKeys, pathArg);
|
|
193
|
+
return {
|
|
194
|
+
backupId: readIdentifier(value.backupId, `${pathArg}.backupId`),
|
|
195
|
+
sourceServiceId: readIdentifier(value.sourceServiceId, `${pathArg}.sourceServiceId`),
|
|
196
|
+
snapshotId: readIdentifier(value.snapshotId, `${pathArg}.snapshotId`),
|
|
197
|
+
backupReceiptSha256: readSha256(value.backupReceiptSha256, `${pathArg}.backupReceiptSha256`),
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
export const normalizeCorestoreDatabaseExportPackageApprovedBackupIdentity = (valueArg) => finalize(normalizeApprovedBackupIdentityInternal(valueArg, 'databaseExportPackageApprovedBackup'), 'databaseExportPackageApprovedBackup');
|
|
201
|
+
const normalizeAllocationExpectationInternal = (valueArg, pathArg) => {
|
|
202
|
+
const value = readRecord(valueArg, pathArg);
|
|
203
|
+
if (value.expectation === 'absent') {
|
|
204
|
+
assertExactKeys(value, ['expectation'], pathArg);
|
|
205
|
+
return { expectation: 'absent' };
|
|
206
|
+
}
|
|
207
|
+
if (value.expectation !== 'exact') {
|
|
208
|
+
fail('INVALID_VALUE', `${pathArg}.expectation`);
|
|
209
|
+
}
|
|
210
|
+
assertExactKeys(value, ['expectation', 'allocation'], pathArg);
|
|
211
|
+
return {
|
|
212
|
+
expectation: 'exact',
|
|
213
|
+
allocation: normalizeAllocationReference(value.allocation, `${pathArg}.allocation`),
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
export const normalizeCorestoreDatabaseExportPackageAllocationExpectation = (valueArg) => finalize(normalizeAllocationExpectationInternal(valueArg, 'databaseExportPackageAllocationExpectation'), 'databaseExportPackageAllocationExpectation');
|
|
217
|
+
export const normalizeCorestoreDatabaseExportPackageRequest = (valueArg) => {
|
|
218
|
+
const value = readRecord(valueArg, 'databaseExportPackageRequest');
|
|
219
|
+
assertExactKeys(value, requestKeys, 'databaseExportPackageRequest');
|
|
220
|
+
if (value.schemaVersion !== 1
|
|
221
|
+
|| value.kind !== 'corestore-database-export-package-request') {
|
|
222
|
+
fail('INVALID_VALUE', 'databaseExportPackageRequest.kind');
|
|
223
|
+
}
|
|
224
|
+
return finalize({
|
|
225
|
+
schemaVersion: 1,
|
|
226
|
+
kind: 'corestore-database-export-package-request',
|
|
227
|
+
packageAttemptId: readPackageAttemptId(value.packageAttemptId, 'databaseExportPackageRequest.packageAttemptId'),
|
|
228
|
+
packageBackupId: readIdentifier(value.packageBackupId, 'databaseExportPackageRequest.packageBackupId'),
|
|
229
|
+
input: normalizeInputIdentityInternal(value.input, 'databaseExportPackageRequest.input'),
|
|
230
|
+
approvedSourceBackup: normalizeApprovedBackupIdentityInternal(value.approvedSourceBackup, 'databaseExportPackageRequest.approvedSourceBackup'),
|
|
231
|
+
completeOutputReceiptSha256: readSha256(value.completeOutputReceiptSha256, 'databaseExportPackageRequest.completeOutputReceiptSha256'),
|
|
232
|
+
allocationExpectation: normalizeAllocationExpectationInternal(value.allocationExpectation, 'databaseExportPackageRequest.allocationExpectation'),
|
|
233
|
+
}, 'databaseExportPackageRequest');
|
|
234
|
+
};
|
|
235
|
+
export const encodeCorestoreDatabaseExportPackageRequest = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageRequest(valueArg), 'databaseExportPackageRequest');
|
|
236
|
+
export const computeCorestoreDatabaseExportPackageRequestSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageRequest(valueArg));
|
|
237
|
+
const digestCorestoreDatabaseExportPackageRequest = (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageRequest(valueArg));
|
|
238
|
+
export const classifyCorestoreDatabaseExportPackageRequestReuse = (persistedRequestArg, candidateRequestArg) => {
|
|
239
|
+
const persisted = normalizeCorestoreDatabaseExportPackageRequest(persistedRequestArg);
|
|
240
|
+
const candidate = normalizeCorestoreDatabaseExportPackageRequest(candidateRequestArg);
|
|
241
|
+
if (persisted.packageAttemptId !== candidate.packageAttemptId)
|
|
242
|
+
return 'different-attempt';
|
|
243
|
+
if (!canonicalEqual(persisted, candidate, 'databaseExportPackageRequest.reuse')) {
|
|
244
|
+
fail('ATTEMPT_CONFLICT', 'databaseExportPackageRequest.packageAttemptId');
|
|
245
|
+
}
|
|
246
|
+
return 'exact-replay';
|
|
247
|
+
};
|
|
248
|
+
export const normalizeCorestoreDatabaseExportPackageCompletion = (valueArg) => {
|
|
249
|
+
const value = readRecord(valueArg, 'databaseExportPackageCompletion');
|
|
250
|
+
assertExactKeys(value, completionKeys, 'databaseExportPackageCompletion');
|
|
251
|
+
if (value.schemaVersion !== 1
|
|
252
|
+
|| value.kind !== 'corestore-database-export-package-completion') {
|
|
253
|
+
fail('INVALID_VALUE', 'databaseExportPackageCompletion.kind');
|
|
254
|
+
}
|
|
255
|
+
const receipt = normalizeBackupReceipt(value.receipt, 'databaseExportPackageCompletion.receipt');
|
|
256
|
+
const receiptSha256 = readSha256(value.receiptSha256, 'databaseExportPackageCompletion.receiptSha256');
|
|
257
|
+
const closureByteLength = readInteger(value.closureByteLength, 'databaseExportPackageCompletion.closureByteLength', 1, corestoreDatabaseExportPackageRuntimeLimits.maximumClosureBytes);
|
|
258
|
+
const closureSha256 = readSha256(value.closureSha256, 'databaseExportPackageCompletion.closureSha256');
|
|
259
|
+
if (receiptSha256 !== digestBytes(encodeCorestoreDatabaseBackupReceipt(receipt))
|
|
260
|
+
|| closureByteLength !== receipt.closure.archiveBytes
|
|
261
|
+
|| closureSha256 !== receipt.closure.sha256) {
|
|
262
|
+
fail('CROSS_FIELD_MISMATCH', 'databaseExportPackageCompletion.receipt');
|
|
263
|
+
}
|
|
264
|
+
const completedAt = readInteger(value.completedAt, 'databaseExportPackageCompletion.completedAt', receipt.createdAt);
|
|
265
|
+
return finalize({
|
|
266
|
+
schemaVersion: 1,
|
|
267
|
+
kind: 'corestore-database-export-package-completion',
|
|
268
|
+
packageAttemptId: readPackageAttemptId(value.packageAttemptId, 'databaseExportPackageCompletion.packageAttemptId'),
|
|
269
|
+
requestSha256: readSha256(value.requestSha256, 'databaseExportPackageCompletion.requestSha256'),
|
|
270
|
+
completedAt,
|
|
271
|
+
receipt,
|
|
272
|
+
receiptSha256,
|
|
273
|
+
closureByteLength,
|
|
274
|
+
closureSha256,
|
|
275
|
+
}, 'databaseExportPackageCompletion');
|
|
276
|
+
};
|
|
277
|
+
export const normalizeCorestoreDatabaseExportPackageCompletionForRequest = (completionArg, requestArg) => {
|
|
278
|
+
const request = normalizeCorestoreDatabaseExportPackageRequest(requestArg);
|
|
279
|
+
const completion = normalizeCorestoreDatabaseExportPackageCompletion(completionArg);
|
|
280
|
+
const receiptAllocation = completion.receipt.snapshot.databaseAllocation;
|
|
281
|
+
const allocationMatches = request.allocationExpectation.expectation === 'absent'
|
|
282
|
+
? receiptAllocation === undefined
|
|
283
|
+
: receiptAllocation !== undefined
|
|
284
|
+
&& canonicalEqual(receiptAllocation, request.allocationExpectation.allocation, 'databaseExportPackageCompletion.receipt.snapshot.databaseAllocation');
|
|
285
|
+
if (completion.packageAttemptId !== request.packageAttemptId
|
|
286
|
+
|| completion.requestSha256 !== digestCorestoreDatabaseExportPackageRequest(request)
|
|
287
|
+
|| completion.receipt.backupId !== request.packageBackupId
|
|
288
|
+
|| completion.receipt.sourceServiceId !== request.approvedSourceBackup.sourceServiceId
|
|
289
|
+
|| completion.receipt.snapshot.databaseName !== request.input.databaseName
|
|
290
|
+
|| completion.receipt.snapshot.originalSize !== request.input.byteLength
|
|
291
|
+
|| !allocationMatches) {
|
|
292
|
+
fail('CROSS_FIELD_MISMATCH', 'databaseExportPackageCompletion.request');
|
|
293
|
+
}
|
|
294
|
+
return completion;
|
|
295
|
+
};
|
|
296
|
+
export const encodeCorestoreDatabaseExportPackageCompletion = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageCompletion(valueArg), 'databaseExportPackageCompletion');
|
|
297
|
+
export const computeCorestoreDatabaseExportPackageCompletionSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageCompletion(valueArg));
|
|
298
|
+
const digestCorestoreDatabaseExportPackageCompletion = (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageCompletion(valueArg));
|
|
299
|
+
export const normalizeCorestoreDatabaseExportPackageResponse = (valueArg) => {
|
|
300
|
+
const value = readRecord(valueArg, 'databaseExportPackageResponse');
|
|
301
|
+
assertExactKeys(value, responseKeys, 'databaseExportPackageResponse');
|
|
302
|
+
if (value.schemaVersion !== 1
|
|
303
|
+
|| value.kind !== 'corestore-database-export-package-response') {
|
|
304
|
+
fail('INVALID_VALUE', 'databaseExportPackageResponse.kind');
|
|
305
|
+
}
|
|
306
|
+
return finalize({
|
|
307
|
+
schemaVersion: 1,
|
|
308
|
+
kind: 'corestore-database-export-package-response',
|
|
309
|
+
completion: normalizeCorestoreDatabaseExportPackageCompletion(value.completion),
|
|
310
|
+
replayed: readBoolean(value.replayed, 'databaseExportPackageResponse.replayed'),
|
|
311
|
+
}, 'databaseExportPackageResponse');
|
|
312
|
+
};
|
|
313
|
+
export const normalizeCorestoreDatabaseExportPackageResponseForRequest = (responseArg, requestArg) => {
|
|
314
|
+
const response = normalizeCorestoreDatabaseExportPackageResponse(responseArg);
|
|
315
|
+
normalizeCorestoreDatabaseExportPackageCompletionForRequest(response.completion, requestArg);
|
|
316
|
+
return response;
|
|
317
|
+
};
|
|
318
|
+
export const encodeCorestoreDatabaseExportPackageResponse = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageResponse(valueArg), 'databaseExportPackageResponse');
|
|
319
|
+
export const computeCorestoreDatabaseExportPackageResponseSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageResponse(valueArg));
|
|
320
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseRequest = (valueArg) => {
|
|
321
|
+
const value = readRecord(valueArg, 'databaseExportPackageReleaseRequest');
|
|
322
|
+
assertExactKeys(value, releaseRequestKeys, 'databaseExportPackageReleaseRequest');
|
|
323
|
+
if (value.schemaVersion !== 1
|
|
324
|
+
|| value.kind !== 'corestore-database-export-package-release-request') {
|
|
325
|
+
fail('INVALID_VALUE', 'databaseExportPackageReleaseRequest.kind');
|
|
326
|
+
}
|
|
327
|
+
return finalize({
|
|
328
|
+
schemaVersion: 1,
|
|
329
|
+
kind: 'corestore-database-export-package-release-request',
|
|
330
|
+
packageAttemptId: readPackageAttemptId(value.packageAttemptId, 'databaseExportPackageReleaseRequest.packageAttemptId'),
|
|
331
|
+
requestSha256: readSha256(value.requestSha256, 'databaseExportPackageReleaseRequest.requestSha256'),
|
|
332
|
+
completionSha256: readSha256(value.completionSha256, 'databaseExportPackageReleaseRequest.completionSha256'),
|
|
333
|
+
callerFsyncedClosureByteLength: readInteger(value.callerFsyncedClosureByteLength, 'databaseExportPackageReleaseRequest.callerFsyncedClosureByteLength', 1, corestoreDatabaseExportPackageRuntimeLimits.maximumClosureBytes),
|
|
334
|
+
callerFsyncedClosureSha256: readSha256(value.callerFsyncedClosureSha256, 'databaseExportPackageReleaseRequest.callerFsyncedClosureSha256'),
|
|
335
|
+
callerFsyncedReceiptByteLength: readInteger(value.callerFsyncedReceiptByteLength, 'databaseExportPackageReleaseRequest.callerFsyncedReceiptByteLength', 1, corestoreDatabaseExportPackageRuntimeLimits.maximumControlBytes),
|
|
336
|
+
callerFsyncedReceiptSha256: readSha256(value.callerFsyncedReceiptSha256, 'databaseExportPackageReleaseRequest.callerFsyncedReceiptSha256'),
|
|
337
|
+
callerFsyncedAt: readInteger(value.callerFsyncedAt, 'databaseExportPackageReleaseRequest.callerFsyncedAt', 1),
|
|
338
|
+
}, 'databaseExportPackageReleaseRequest');
|
|
339
|
+
};
|
|
340
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseRequestForCompletion = (releaseRequestArg, requestArg, completionArg) => {
|
|
341
|
+
const request = normalizeCorestoreDatabaseExportPackageRequest(requestArg);
|
|
342
|
+
const completion = normalizeCorestoreDatabaseExportPackageCompletionForRequest(completionArg, request);
|
|
343
|
+
const releaseRequest = normalizeCorestoreDatabaseExportPackageReleaseRequest(releaseRequestArg);
|
|
344
|
+
const receiptBytes = encodeCorestoreDatabaseBackupReceipt(completion.receipt);
|
|
345
|
+
if (releaseRequest.packageAttemptId !== request.packageAttemptId
|
|
346
|
+
|| releaseRequest.requestSha256 !== digestCorestoreDatabaseExportPackageRequest(request)
|
|
347
|
+
|| releaseRequest.completionSha256
|
|
348
|
+
!== digestCorestoreDatabaseExportPackageCompletion(completion)
|
|
349
|
+
|| releaseRequest.callerFsyncedClosureByteLength !== completion.closureByteLength
|
|
350
|
+
|| releaseRequest.callerFsyncedClosureSha256 !== completion.closureSha256
|
|
351
|
+
|| releaseRequest.callerFsyncedReceiptByteLength !== receiptBytes.byteLength
|
|
352
|
+
|| releaseRequest.callerFsyncedReceiptSha256 !== completion.receiptSha256
|
|
353
|
+
|| releaseRequest.callerFsyncedAt < completion.completedAt) {
|
|
354
|
+
fail('CROSS_FIELD_MISMATCH', 'databaseExportPackageReleaseRequest.completion');
|
|
355
|
+
}
|
|
356
|
+
return releaseRequest;
|
|
357
|
+
};
|
|
358
|
+
export const encodeCorestoreDatabaseExportPackageReleaseRequest = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageReleaseRequest(valueArg), 'databaseExportPackageReleaseRequest');
|
|
359
|
+
export const computeCorestoreDatabaseExportPackageReleaseRequestSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageReleaseRequest(valueArg));
|
|
360
|
+
const digestCorestoreDatabaseExportPackageReleaseRequest = (valueArg) => (digestBytes(encodeCorestoreDatabaseExportPackageReleaseRequest(valueArg)));
|
|
361
|
+
export const classifyCorestoreDatabaseExportPackageReleaseRequestReuse = (persistedRequestArg, candidateRequestArg) => {
|
|
362
|
+
const persisted = normalizeCorestoreDatabaseExportPackageReleaseRequest(persistedRequestArg);
|
|
363
|
+
const candidate = normalizeCorestoreDatabaseExportPackageReleaseRequest(candidateRequestArg);
|
|
364
|
+
if (persisted.packageAttemptId !== candidate.packageAttemptId)
|
|
365
|
+
return 'different-attempt';
|
|
366
|
+
if (!canonicalEqual(persisted, candidate, 'databaseExportPackageReleaseRequest.reuse')) {
|
|
367
|
+
fail('ATTEMPT_CONFLICT', 'databaseExportPackageReleaseRequest.packageAttemptId');
|
|
368
|
+
}
|
|
369
|
+
return 'exact-replay';
|
|
370
|
+
};
|
|
371
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseCompletion = (valueArg) => {
|
|
372
|
+
const value = readRecord(valueArg, 'databaseExportPackageReleaseCompletion');
|
|
373
|
+
assertExactKeys(value, releaseCompletionKeys, 'databaseExportPackageReleaseCompletion');
|
|
374
|
+
if (value.schemaVersion !== 1
|
|
375
|
+
|| value.kind !== 'corestore-database-export-package-release-completion') {
|
|
376
|
+
fail('INVALID_VALUE', 'databaseExportPackageReleaseCompletion.kind');
|
|
377
|
+
}
|
|
378
|
+
return finalize({
|
|
379
|
+
schemaVersion: 1,
|
|
380
|
+
kind: 'corestore-database-export-package-release-completion',
|
|
381
|
+
packageAttemptId: readPackageAttemptId(value.packageAttemptId, 'databaseExportPackageReleaseCompletion.packageAttemptId'),
|
|
382
|
+
requestSha256: readSha256(value.requestSha256, 'databaseExportPackageReleaseCompletion.requestSha256'),
|
|
383
|
+
completionSha256: readSha256(value.completionSha256, 'databaseExportPackageReleaseCompletion.completionSha256'),
|
|
384
|
+
releaseRequestSha256: readSha256(value.releaseRequestSha256, 'databaseExportPackageReleaseCompletion.releaseRequestSha256'),
|
|
385
|
+
releasedAt: readInteger(value.releasedAt, 'databaseExportPackageReleaseCompletion.releasedAt', 1),
|
|
386
|
+
}, 'databaseExportPackageReleaseCompletion');
|
|
387
|
+
};
|
|
388
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseCompletionForRequest = (releaseCompletionArg, releaseRequestArg, requestArg, completionArg) => {
|
|
389
|
+
const request = normalizeCorestoreDatabaseExportPackageRequest(requestArg);
|
|
390
|
+
const completion = normalizeCorestoreDatabaseExportPackageCompletionForRequest(completionArg, request);
|
|
391
|
+
const releaseRequest = normalizeCorestoreDatabaseExportPackageReleaseRequestForCompletion(releaseRequestArg, request, completion);
|
|
392
|
+
const releaseCompletion = normalizeCorestoreDatabaseExportPackageReleaseCompletion(releaseCompletionArg);
|
|
393
|
+
if (releaseCompletion.packageAttemptId !== request.packageAttemptId
|
|
394
|
+
|| releaseCompletion.requestSha256 !== digestCorestoreDatabaseExportPackageRequest(request)
|
|
395
|
+
|| releaseCompletion.completionSha256
|
|
396
|
+
!== digestCorestoreDatabaseExportPackageCompletion(completion)
|
|
397
|
+
|| releaseCompletion.releaseRequestSha256
|
|
398
|
+
!== digestCorestoreDatabaseExportPackageReleaseRequest(releaseRequest)
|
|
399
|
+
|| releaseCompletion.releasedAt < releaseRequest.callerFsyncedAt) {
|
|
400
|
+
fail('CROSS_FIELD_MISMATCH', 'databaseExportPackageReleaseCompletion.request');
|
|
401
|
+
}
|
|
402
|
+
return releaseCompletion;
|
|
403
|
+
};
|
|
404
|
+
export const encodeCorestoreDatabaseExportPackageReleaseCompletion = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageReleaseCompletion(valueArg), 'databaseExportPackageReleaseCompletion');
|
|
405
|
+
export const computeCorestoreDatabaseExportPackageReleaseCompletionSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageReleaseCompletion(valueArg));
|
|
406
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseResponse = (valueArg) => {
|
|
407
|
+
const value = readRecord(valueArg, 'databaseExportPackageReleaseResponse');
|
|
408
|
+
assertExactKeys(value, releaseResponseKeys, 'databaseExportPackageReleaseResponse');
|
|
409
|
+
if (value.schemaVersion !== 1
|
|
410
|
+
|| value.kind !== 'corestore-database-export-package-release-response') {
|
|
411
|
+
fail('INVALID_VALUE', 'databaseExportPackageReleaseResponse.kind');
|
|
412
|
+
}
|
|
413
|
+
return finalize({
|
|
414
|
+
schemaVersion: 1,
|
|
415
|
+
kind: 'corestore-database-export-package-release-response',
|
|
416
|
+
release: normalizeCorestoreDatabaseExportPackageReleaseCompletion(value.release),
|
|
417
|
+
replayed: readBoolean(value.replayed, 'databaseExportPackageReleaseResponse.replayed'),
|
|
418
|
+
}, 'databaseExportPackageReleaseResponse');
|
|
419
|
+
};
|
|
420
|
+
export const normalizeCorestoreDatabaseExportPackageReleaseResponseForRequest = (responseArg, releaseRequestArg, requestArg, completionArg) => {
|
|
421
|
+
const response = normalizeCorestoreDatabaseExportPackageReleaseResponse(responseArg);
|
|
422
|
+
normalizeCorestoreDatabaseExportPackageReleaseCompletionForRequest(response.release, releaseRequestArg, requestArg, completionArg);
|
|
423
|
+
return response;
|
|
424
|
+
};
|
|
425
|
+
export const encodeCorestoreDatabaseExportPackageReleaseResponse = (valueArg) => encodeNormalized(normalizeCorestoreDatabaseExportPackageReleaseResponse(valueArg), 'databaseExportPackageReleaseResponse');
|
|
426
|
+
export const computeCorestoreDatabaseExportPackageReleaseResponseSha256 = async (valueArg) => digestBytes(encodeCorestoreDatabaseExportPackageReleaseResponse(valueArg));
|
|
427
|
+
export { corestoreDatabaseExportPackageGoldenVectors, } from './runtime.corestore.databaseexportpackage.golden.js';
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb3Jlc3RvcmUuZGF0YWJhc2VleHBvcnRwYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvcnVudGltZS5jb3Jlc3RvcmUuZGF0YWJhc2VleHBvcnRwYWNrYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixlQUFlLEdBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFLcEMsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQyxvQ0FBb0MsRUFDcEMsNkNBQTZDLEVBQzdDLHVDQUF1QyxHQUN4QyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdkUsbUJBQW1CLEVBQUUsb0NBQW9DLENBQUMsbUJBQW1CO0lBQzdFLGlCQUFpQixFQUFFLG9DQUFvQyxDQUFDLDRCQUE0QjtJQUNwRixtQkFBbUIsRUFBRSxvQ0FBb0MsQ0FBQyxtQkFBbUI7SUFDN0UsNkJBQTZCLEVBQUUsR0FBRztDQUMxQixDQUFDLENBQUM7QUFVWixNQUFNLE9BQU8sd0NBQXlDLFNBQVEsS0FBSztJQUNqRCxJQUFJLENBQWdEO0lBQ3BELElBQUksQ0FBUztJQUU3QixZQUNFLE9BQXNELEVBQ3RELE9BQWU7UUFFZixLQUFLLENBQUMsR0FBRyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLDBDQUEwQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQThGRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFFBQVE7SUFDUixjQUFjO0lBQ2QsWUFBWTtJQUNaLFFBQVE7SUFDUixvQkFBb0I7Q0FDWixD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
|
package/dist_ts/runtime.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ import { validateSecretRecipientMetadata } from './data/secret.js';
|
|
|
4
4
|
import type { IWorkloadInitActiveApprovalAuthorityV1, IWorkloadInitApprovalAuthorityReferenceV1 } from './runtime.workloadinit.js';
|
|
5
5
|
export * from './runtime.workloadinit.js';
|
|
6
6
|
export * from './runtime.corestore.js';
|
|
7
|
+
export * from './runtime.corestore.databaseexportpackage.js';
|
|
7
8
|
export * from './runtime.cloudlylegacydeploymentsettlement.js';
|
|
9
|
+
export * from './runtime.cloudlylegacydeploymentsettlement.offlineexport.js';
|
|
8
10
|
export interface ISealedResolvedSecretMaterialEntry {
|
|
9
11
|
secretVersionId: string;
|
|
10
12
|
envelope: plugins.smartcrypto.IX25519EnvelopeV1;
|