@forgecart/cli 2.202610130322.0 → 2.202610130431.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/dist/src/admin-api/admin-api.result.d.ts +3 -0
- package/dist/src/admin-api/admin-api.result.js +14 -2
- package/dist/src/admin-api/admin-api.result.js.map +1 -1
- package/dist/src/sync/sync-bundle-push.d.ts +34 -0
- package/dist/src/sync/sync-bundle-push.js +97 -0
- package/dist/src/sync/sync-bundle-push.js.map +1 -0
- package/dist/src/sync/sync-record.file.d.ts +13 -7
- package/dist/src/sync/sync-record.file.js +15 -8
- package/dist/src/sync/sync-record.file.js.map +1 -1
- package/dist/src/sync/sync-repository.d.ts +7 -2
- package/dist/src/sync/sync-repository.js +26 -5
- package/dist/src/sync/sync-repository.js.map +1 -1
- package/dist/src/sync/sync-round.d.ts +6 -3
- package/dist/src/sync/sync-round.js +7 -4
- package/dist/src/sync/sync-round.js.map +1 -1
- package/dist/src/sync/sync.runner.d.ts +0 -2
- package/dist/src/sync/sync.runner.js +2 -8
- package/dist/src/sync/sync.runner.js.map +1 -1
- package/dist/src/sync/type/sync.types.d.ts +29 -0
- package/dist/src/sync/type/sync.types.js.map +1 -1
- package/dist/src/sync/workspace-sync.client.d.ts +34 -13
- package/dist/src/sync/workspace-sync.client.js +90 -19
- package/dist/src/sync/workspace-sync.client.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,6 +23,9 @@ export declare class AdminApiResult {
|
|
|
23
23
|
/** A list of objects, each read field by field as a result of the same operation. */
|
|
24
24
|
readObjectList(key: string): AdminApiResult[];
|
|
25
25
|
readCount(key: string): number;
|
|
26
|
+
readCountList(key: string): number[];
|
|
26
27
|
readBoolean(key: string): boolean;
|
|
28
|
+
/** A whole number of zero or more. */
|
|
29
|
+
private isCount;
|
|
27
30
|
private unreadable;
|
|
28
31
|
}
|
|
@@ -74,17 +74,29 @@ export class AdminApiResult {
|
|
|
74
74
|
}
|
|
75
75
|
readCount(key) {
|
|
76
76
|
const value = this.record[key];
|
|
77
|
-
if (
|
|
77
|
+
if (!this.isCount(value))
|
|
78
78
|
throw this.unreadable();
|
|
79
|
-
}
|
|
80
79
|
return value;
|
|
81
80
|
}
|
|
81
|
+
readCountList(key) {
|
|
82
|
+
const value = this.record[key];
|
|
83
|
+
if (!Array.isArray(value))
|
|
84
|
+
throw this.unreadable();
|
|
85
|
+
const items = value;
|
|
86
|
+
if (!items.every((item) => this.isCount(item)))
|
|
87
|
+
throw this.unreadable();
|
|
88
|
+
return items;
|
|
89
|
+
}
|
|
82
90
|
readBoolean(key) {
|
|
83
91
|
const value = this.record[key];
|
|
84
92
|
if (typeof value !== 'boolean')
|
|
85
93
|
throw this.unreadable();
|
|
86
94
|
return value;
|
|
87
95
|
}
|
|
96
|
+
/** A whole number of zero or more. */
|
|
97
|
+
isCount(value) {
|
|
98
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
|
|
99
|
+
}
|
|
88
100
|
unreadable() {
|
|
89
101
|
return AdminApiResult.unreadable(this.endpoint, this.field);
|
|
90
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-api.result.js","sourceRoot":"","sources":["../../../src/admin-api/admin-api.result.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"admin-api.result.js","sourceRoot":"","sources":["../../../src/admin-api/admin-api.result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SyncEnvFileLines, SyncPushResult } from './type/sync.types.js';
|
|
2
|
+
import type { WorkspaceSyncClient } from './workspace-sync.client.js';
|
|
3
|
+
/**
|
|
4
|
+
* How `forgecart sync` sends a push's bundle (factory task 2375). A bundle
|
|
5
|
+
* within one part travels as it always has: ONE push carrying it whole. A
|
|
6
|
+
* larger one travels in parts, so no hop's per-request body cap limits the
|
|
7
|
+
* size of a storefront: the begin declares the bundle — its byte length and
|
|
8
|
+
* sha256, the part size and each part's sha256 in order — and answers the parts
|
|
9
|
+
* the workspace already holds; every other part goes in a request of its own,
|
|
10
|
+
* each printed as it is sent; and ONE push naming the upload lands them as one
|
|
11
|
+
* bundle. A run cut off mid-way leaves the parts it sent on the workspace: the
|
|
12
|
+
* next run cuts the same bundle, begins it again, and sends only the rest.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SyncBundlePush {
|
|
15
|
+
private readonly client;
|
|
16
|
+
constructor(client: WorkspaceSyncClient);
|
|
17
|
+
/** Push `bundle` with the merchant lines of the env files `envFiles`, whole or in parts. */
|
|
18
|
+
send(bundle: Buffer, envFiles: readonly SyncEnvFileLines[]): Promise<SyncPushResult>;
|
|
19
|
+
/**
|
|
20
|
+
* Send every part the upload does not hold, in order, one request each, and
|
|
21
|
+
* print each as it goes — its place among the parts, and the bytes the
|
|
22
|
+
* workspace holds of the bundle once it arrived.
|
|
23
|
+
*/
|
|
24
|
+
private sendParts;
|
|
25
|
+
/** The upload against the begin's declaration: an answer for any other bundle is an error, never a guess. */
|
|
26
|
+
private assertDeclares;
|
|
27
|
+
/** What the workspace holds of the bundle's `total` parts as the upload begins. */
|
|
28
|
+
private heldPhrase;
|
|
29
|
+
/** `bundle` cut into parts of {@link PART_BYTES}, the last carrying the rest, each with its sha256. */
|
|
30
|
+
private partsOf;
|
|
31
|
+
private declarationOf;
|
|
32
|
+
private byteLengthOf;
|
|
33
|
+
private sha256Of;
|
|
34
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { print } from '../output.js';
|
|
3
|
+
/**
|
|
4
|
+
* The most bundle bytes one request carries, 8 MiB: a bundle no larger travels
|
|
5
|
+
* whole, and a larger one in parts this long but the last. One part and its
|
|
6
|
+
* multipart envelope stay well under every hop's per-request body cap.
|
|
7
|
+
*/
|
|
8
|
+
const PART_BYTES = 8 * 1024 * 1024;
|
|
9
|
+
/**
|
|
10
|
+
* How `forgecart sync` sends a push's bundle (factory task 2375). A bundle
|
|
11
|
+
* within one part travels as it always has: ONE push carrying it whole. A
|
|
12
|
+
* larger one travels in parts, so no hop's per-request body cap limits the
|
|
13
|
+
* size of a storefront: the begin declares the bundle — its byte length and
|
|
14
|
+
* sha256, the part size and each part's sha256 in order — and answers the parts
|
|
15
|
+
* the workspace already holds; every other part goes in a request of its own,
|
|
16
|
+
* each printed as it is sent; and ONE push naming the upload lands them as one
|
|
17
|
+
* bundle. A run cut off mid-way leaves the parts it sent on the workspace: the
|
|
18
|
+
* next run cuts the same bundle, begins it again, and sends only the rest.
|
|
19
|
+
*/
|
|
20
|
+
export class SyncBundlePush {
|
|
21
|
+
client;
|
|
22
|
+
constructor(client) {
|
|
23
|
+
this.client = client;
|
|
24
|
+
}
|
|
25
|
+
/** Push `bundle` with the merchant lines of the env files `envFiles`, whole or in parts. */
|
|
26
|
+
async send(bundle, envFiles) {
|
|
27
|
+
if (bundle.length <= PART_BYTES)
|
|
28
|
+
return this.client.push(bundle, envFiles);
|
|
29
|
+
const parts = this.partsOf(bundle);
|
|
30
|
+
const declaration = this.declarationOf(bundle, parts);
|
|
31
|
+
const upload = await this.client.beginUpload(declaration);
|
|
32
|
+
this.assertDeclares(upload, declaration);
|
|
33
|
+
await this.sendParts(upload, parts);
|
|
34
|
+
return this.client.land(upload.id, envFiles);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Send every part the upload does not hold, in order, one request each, and
|
|
38
|
+
* print each as it goes — its place among the parts, and the bytes the
|
|
39
|
+
* workspace holds of the bundle once it arrived.
|
|
40
|
+
*/
|
|
41
|
+
async sendParts(upload, parts) {
|
|
42
|
+
const held = new Set(upload.heldParts);
|
|
43
|
+
const pending = parts.filter((part) => !held.has(part.index));
|
|
44
|
+
let sent = upload.byteLength - this.byteLengthOf(pending);
|
|
45
|
+
print(` upload ${String(upload.byteLength)} bytes in ${String(parts.length)} parts: ${this.heldPhrase(held.size, parts.length)}`);
|
|
46
|
+
for (const part of pending) {
|
|
47
|
+
const answer = await this.client.pushPart(upload.id, part);
|
|
48
|
+
if (!answer.heldParts.includes(part.index)) {
|
|
49
|
+
throw new Error(`The workspace answered part ${String(part.index + 1)} of ${String(parts.length)} without holding it; nothing landed.`);
|
|
50
|
+
}
|
|
51
|
+
sent += part.bytes.length;
|
|
52
|
+
print(` upload part ${String(part.index + 1)} of ${String(parts.length)} sent — ${String(sent)} of ${String(upload.byteLength)} bytes`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** The upload against the begin's declaration: an answer for any other bundle is an error, never a guess. */
|
|
56
|
+
assertDeclares(upload, declaration) {
|
|
57
|
+
const partCount = declaration.partSha256s.length;
|
|
58
|
+
if (upload.byteLength === declaration.byteLength &&
|
|
59
|
+
upload.sha256 === declaration.sha256 &&
|
|
60
|
+
upload.partBytes === declaration.partBytes &&
|
|
61
|
+
upload.partCount === partCount &&
|
|
62
|
+
upload.heldParts.every((index) => index < partCount)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
throw new Error('The workspace answered the begin of the push with an upload of another bundle; nothing was sent.');
|
|
66
|
+
}
|
|
67
|
+
/** What the workspace holds of the bundle's `total` parts as the upload begins. */
|
|
68
|
+
heldPhrase(held, total) {
|
|
69
|
+
if (held === 0)
|
|
70
|
+
return 'sending every part';
|
|
71
|
+
return `the workspace holds ${String(held)} of the ${String(total)} from an earlier run, sending the rest`;
|
|
72
|
+
}
|
|
73
|
+
/** `bundle` cut into parts of {@link PART_BYTES}, the last carrying the rest, each with its sha256. */
|
|
74
|
+
partsOf(bundle) {
|
|
75
|
+
const parts = [];
|
|
76
|
+
for (let offset = 0; offset < bundle.length; offset += PART_BYTES) {
|
|
77
|
+
const bytes = bundle.subarray(offset, offset + PART_BYTES);
|
|
78
|
+
parts.push({ index: parts.length, bytes, sha256: this.sha256Of(bytes) });
|
|
79
|
+
}
|
|
80
|
+
return parts;
|
|
81
|
+
}
|
|
82
|
+
declarationOf(bundle, parts) {
|
|
83
|
+
return {
|
|
84
|
+
byteLength: bundle.length,
|
|
85
|
+
sha256: this.sha256Of(bundle),
|
|
86
|
+
partBytes: PART_BYTES,
|
|
87
|
+
partSha256s: parts.map((part) => part.sha256),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
byteLengthOf(parts) {
|
|
91
|
+
return parts.reduce((total, part) => total + part.bytes.length, 0);
|
|
92
|
+
}
|
|
93
|
+
sha256Of(bytes) {
|
|
94
|
+
return createHash('sha256').update(bytes).digest('hex');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=sync-bundle-push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-bundle-push.js","sourceRoot":"","sources":["../../../src/sync/sync-bundle-push.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,19 +2,25 @@ import type { SyncEnvDigests, SyncRecord } from './type/sync.types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* The last sync of one storefront (#2781), kept in `.forgecart/sync/state.json`
|
|
4
4
|
* beside the private repository: the channel it ran against — a digest of the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* channel token, never the token — the serving commit the laptop's tree last
|
|
6
|
+
* matched, and a digest of every merchant line of every env file as it last
|
|
7
|
+
* travelled, file by file. A record of another channel is no record: a
|
|
8
|
+
* storefront pointed at another channel syncs as a first sync.
|
|
9
|
+
*
|
|
10
|
+
* The admin API's URL is no part of the channel: it is the route a run reaches
|
|
11
|
+
* the shop by, and a hop in front of the shop — a proxy, an ingress, the edge —
|
|
12
|
+
* changes it while the channel and its board stay the same (factory task
|
|
13
|
+
* 2375). A laptop that pulled through one route pushes through another onto
|
|
14
|
+
* the base it pulled.
|
|
9
15
|
*/
|
|
10
16
|
export declare class SyncRecordFile {
|
|
11
|
-
private readonly channel;
|
|
12
17
|
private readonly path;
|
|
18
|
+
private readonly channel;
|
|
13
19
|
/**
|
|
14
20
|
* @param storefront the storefront directory.
|
|
15
|
-
* @param
|
|
21
|
+
* @param channelToken the token of the channel this run syncs against, kept only as its digest.
|
|
16
22
|
*/
|
|
17
|
-
constructor(storefront: string,
|
|
23
|
+
constructor(storefront: string, channelToken: string);
|
|
18
24
|
/** This channel's last sync — null before the first, or after a sync against another channel. */
|
|
19
25
|
read(): Promise<SyncRecord | null>;
|
|
20
26
|
/** Record a sync that left the laptop on `servingSha`, with the env files' lines as `env` digests them. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
1
2
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
3
|
import { join } from 'node:path';
|
|
3
4
|
import { isJsonObject } from '../json.js';
|
|
@@ -11,21 +12,27 @@ const COMMIT_ID_LENGTHS = new Set([40, 64]);
|
|
|
11
12
|
/**
|
|
12
13
|
* The last sync of one storefront (#2781), kept in `.forgecart/sync/state.json`
|
|
13
14
|
* beside the private repository: the channel it ran against — a digest of the
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* channel token, never the token — the serving commit the laptop's tree last
|
|
16
|
+
* matched, and a digest of every merchant line of every env file as it last
|
|
17
|
+
* travelled, file by file. A record of another channel is no record: a
|
|
18
|
+
* storefront pointed at another channel syncs as a first sync.
|
|
19
|
+
*
|
|
20
|
+
* The admin API's URL is no part of the channel: it is the route a run reaches
|
|
21
|
+
* the shop by, and a hop in front of the shop — a proxy, an ingress, the edge —
|
|
22
|
+
* changes it while the channel and its board stay the same (factory task
|
|
23
|
+
* 2375). A laptop that pulled through one route pushes through another onto
|
|
24
|
+
* the base it pulled.
|
|
18
25
|
*/
|
|
19
26
|
export class SyncRecordFile {
|
|
20
|
-
channel;
|
|
21
27
|
path;
|
|
28
|
+
channel;
|
|
22
29
|
/**
|
|
23
30
|
* @param storefront the storefront directory.
|
|
24
|
-
* @param
|
|
31
|
+
* @param channelToken the token of the channel this run syncs against, kept only as its digest.
|
|
25
32
|
*/
|
|
26
|
-
constructor(storefront,
|
|
27
|
-
this.channel = channel;
|
|
33
|
+
constructor(storefront, channelToken) {
|
|
28
34
|
this.path = join(storefront, ...SYNC_STATE_PATH, RECORD_FILE);
|
|
35
|
+
this.channel = createHash('sha256').update(channelToken).digest('hex');
|
|
29
36
|
}
|
|
30
37
|
/** This channel's last sync — null before the first, or after a sync against another channel. */
|
|
31
38
|
async read() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-record.file.js","sourceRoot":"","sources":["../../../src/sync/sync-record.file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,yDAAyD;AACzD,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,6FAA6F;AAC7F,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"sync-record.file.js","sourceRoot":"","sources":["../../../src/sync/sync-record.file.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,12 +60,17 @@ export declare class SyncRepository {
|
|
|
60
60
|
/**
|
|
61
61
|
* The ONE commit a push sends: the laptop's tree on the serving tip `serving`,
|
|
62
62
|
* keeping the platform's `.forgecart/` the serving tree carries — the laptop's
|
|
63
|
-
* own never travels.
|
|
63
|
+
* own never travels. It is dated as the serving tip it is cut on, so the same
|
|
64
|
+
* tree cut on the same tip is the same commit on every run: a run that
|
|
65
|
+
* re-sends a push an earlier run broke off sends the very bundle the
|
|
66
|
+
* workspace holds parts of. The pod mints the landed commit itself.
|
|
64
67
|
*/
|
|
65
68
|
pushCommit(localTree: string, serving: string): Promise<string>;
|
|
66
69
|
/**
|
|
67
70
|
* `commit` as the git bundle a push sends: its one ref `refs/heads/serving`,
|
|
68
|
-
* its one prerequisite the serving tip `serving` it was cut on.
|
|
71
|
+
* its one prerequisite the serving tip `serving` it was cut on. The pack is
|
|
72
|
+
* written by one thread, so the same commit is the same bundle, byte for
|
|
73
|
+
* byte, on every run.
|
|
69
74
|
*/
|
|
70
75
|
pushBundle(commit: string, serving: string): Promise<Buffer>;
|
|
71
76
|
/** The top-level entries of `tree`, in `ls-tree -z` form — the form `mktree -z` reads back. */
|
|
@@ -188,23 +188,41 @@ export class SyncRepository {
|
|
|
188
188
|
/**
|
|
189
189
|
* The ONE commit a push sends: the laptop's tree on the serving tip `serving`,
|
|
190
190
|
* keeping the platform's `.forgecart/` the serving tree carries — the laptop's
|
|
191
|
-
* own never travels.
|
|
191
|
+
* own never travels. It is dated as the serving tip it is cut on, so the same
|
|
192
|
+
* tree cut on the same tip is the same commit on every run: a run that
|
|
193
|
+
* re-sends a push an earlier run broke off sends the very bundle the
|
|
194
|
+
* workspace holds parts of. The pod mints the landed commit itself.
|
|
192
195
|
*/
|
|
193
196
|
async pushCommit(localTree, serving) {
|
|
194
197
|
const local = await this.topLevelEntries(localTree);
|
|
195
198
|
const platform = (await this.topLevelEntries(`${serving}^{tree}`)).filter((entry) => this.entryName(entry) === PLATFORM_DIR);
|
|
196
199
|
const tree = await this.makeTree([...local, ...platform]);
|
|
197
|
-
|
|
200
|
+
const servingDate = await this.git(['log', '-1', '--format=%cd', '--date=raw', serving]);
|
|
201
|
+
const date = `@${this.line(servingDate)}`;
|
|
202
|
+
const run = await this.git(['commit-tree', tree, '-p', serving, '-m', PUSH_MESSAGE], {
|
|
203
|
+
env: { GIT_AUTHOR_DATE: date, GIT_COMMITTER_DATE: date },
|
|
204
|
+
});
|
|
205
|
+
return this.line(run);
|
|
198
206
|
}
|
|
199
207
|
/**
|
|
200
208
|
* `commit` as the git bundle a push sends: its one ref `refs/heads/serving`,
|
|
201
|
-
* its one prerequisite the serving tip `serving` it was cut on.
|
|
209
|
+
* its one prerequisite the serving tip `serving` it was cut on. The pack is
|
|
210
|
+
* written by one thread, so the same commit is the same bundle, byte for
|
|
211
|
+
* byte, on every run.
|
|
202
212
|
*/
|
|
203
213
|
async pushBundle(commit, serving) {
|
|
204
214
|
await this.git(['update-ref', PUSH_REF, commit]);
|
|
205
215
|
const bundlePath = this.spoolPath('push');
|
|
206
216
|
try {
|
|
207
|
-
await this.git([
|
|
217
|
+
await this.git([
|
|
218
|
+
'-c',
|
|
219
|
+
'pack.threads=1',
|
|
220
|
+
'bundle',
|
|
221
|
+
'create',
|
|
222
|
+
bundlePath,
|
|
223
|
+
PUSH_REF,
|
|
224
|
+
`^${serving}`,
|
|
225
|
+
]);
|
|
208
226
|
return await readFile(bundlePath);
|
|
209
227
|
}
|
|
210
228
|
finally {
|
|
@@ -297,7 +315,10 @@ export class SyncRepository {
|
|
|
297
315
|
* caller reads it as an answer.
|
|
298
316
|
*/
|
|
299
317
|
async git(args, options = {}) {
|
|
300
|
-
const env =
|
|
318
|
+
const env = {
|
|
319
|
+
...this.repositoryEnv(options.indexFile ?? join(this.gitDir, INDEX_FILE)),
|
|
320
|
+
...options.env,
|
|
321
|
+
};
|
|
301
322
|
const run = await this.spawnGit([...this.gitFlags(), ...args], env, options);
|
|
302
323
|
if (options.allowFailure !== true)
|
|
303
324
|
this.assertSucceeded(args, run);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-repository.js","sourceRoot":"","sources":["../../../src/sync/sync-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-repository.js","sourceRoot":"","sources":["../../../src/sync/sync-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CliCredentials } from '../authorization/type/cli-authorization.types.js';
|
|
2
|
+
import type { SyncBundlePush } from './sync-bundle-push.js';
|
|
2
3
|
import { type SyncDivergenceSelection } from './sync-divergence.js';
|
|
3
4
|
import type { SyncEnvChannel } from './sync-env-channel.js';
|
|
4
5
|
import type { SyncRecordFile } from './sync-record.file.js';
|
|
@@ -14,8 +15,9 @@ import type { WorkspaceSyncClient } from './workspace-sync.client.js';
|
|
|
14
15
|
* Both sides are compared against the base — the serving commit the laptop
|
|
15
16
|
* last matched. Only the workspace changed: its tree is written onto the
|
|
16
17
|
* laptop. Only the laptop changed: its tree is committed on the serving tip and
|
|
17
|
-
* pushed as ONE git bundle
|
|
18
|
-
*
|
|
18
|
+
* pushed as ONE git bundle — in parts when it is larger than one request
|
|
19
|
+
* carries — which the pod lands through its promote pipeline or rejects with
|
|
20
|
+
* the gates' diagnostics (exit 1). Both changed: ONE selection —
|
|
19
21
|
* local overrides workspace, workspace overrides local, or Abort — never a
|
|
20
22
|
* merge; an abort or an unanswered selection ends the run on exit 4. The
|
|
21
23
|
* merchant lines of every env file travel with the tree, file for file; the
|
|
@@ -25,11 +27,12 @@ export declare class SyncRound {
|
|
|
25
27
|
private readonly options;
|
|
26
28
|
private readonly credentials;
|
|
27
29
|
private readonly client;
|
|
30
|
+
private readonly bundlePush;
|
|
28
31
|
private readonly repository;
|
|
29
32
|
private readonly records;
|
|
30
33
|
private readonly envChannel;
|
|
31
34
|
private readonly selection;
|
|
32
|
-
constructor(options: SyncRoundOptions, credentials: CliCredentials, client: WorkspaceSyncClient, repository: SyncRepository, records: SyncRecordFile, envChannel: SyncEnvChannel, selection: SyncDivergenceSelection);
|
|
35
|
+
constructor(options: SyncRoundOptions, credentials: CliCredentials, client: WorkspaceSyncClient, bundlePush: SyncBundlePush, repository: SyncRepository, records: SyncRecordFile, envChannel: SyncEnvChannel, selection: SyncDivergenceSelection);
|
|
33
36
|
/** Run the round; a board that moves under its push is read again, a bounded number of times. */
|
|
34
37
|
run(): Promise<SyncRoundEnd>;
|
|
35
38
|
private attempt;
|
|
@@ -22,8 +22,9 @@ const PLAN_LABEL_WIDTH = 10;
|
|
|
22
22
|
* Both sides are compared against the base — the serving commit the laptop
|
|
23
23
|
* last matched. Only the workspace changed: its tree is written onto the
|
|
24
24
|
* laptop. Only the laptop changed: its tree is committed on the serving tip and
|
|
25
|
-
* pushed as ONE git bundle
|
|
26
|
-
*
|
|
25
|
+
* pushed as ONE git bundle — in parts when it is larger than one request
|
|
26
|
+
* carries — which the pod lands through its promote pipeline or rejects with
|
|
27
|
+
* the gates' diagnostics (exit 1). Both changed: ONE selection —
|
|
27
28
|
* local overrides workspace, workspace overrides local, or Abort — never a
|
|
28
29
|
* merge; an abort or an unanswered selection ends the run on exit 4. The
|
|
29
30
|
* merchant lines of every env file travel with the tree, file for file; the
|
|
@@ -33,14 +34,16 @@ export class SyncRound {
|
|
|
33
34
|
options;
|
|
34
35
|
credentials;
|
|
35
36
|
client;
|
|
37
|
+
bundlePush;
|
|
36
38
|
repository;
|
|
37
39
|
records;
|
|
38
40
|
envChannel;
|
|
39
41
|
selection;
|
|
40
|
-
constructor(options, credentials, client, repository, records, envChannel, selection) {
|
|
42
|
+
constructor(options, credentials, client, bundlePush, repository, records, envChannel, selection) {
|
|
41
43
|
this.options = options;
|
|
42
44
|
this.credentials = credentials;
|
|
43
45
|
this.client = client;
|
|
46
|
+
this.bundlePush = bundlePush;
|
|
44
47
|
this.repository = repository;
|
|
45
48
|
this.records = records;
|
|
46
49
|
this.envChannel = envChannel;
|
|
@@ -310,7 +313,7 @@ export class SyncRound {
|
|
|
310
313
|
/** The push, or null when the board moved past the commit it was cut on before it landed. */
|
|
311
314
|
async sendPush(bundle, envFiles) {
|
|
312
315
|
try {
|
|
313
|
-
return await this.
|
|
316
|
+
return await this.bundlePush.send(bundle, envFiles);
|
|
314
317
|
}
|
|
315
318
|
catch (error) {
|
|
316
319
|
if (error instanceof AdminApiRefusal && error.code === SYNC_DIVERGED_CODE)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-round.js","sourceRoot":"","sources":["../../../src/sync/sync-round.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-round.js","sourceRoot":"","sources":["../../../src/sync/sync-round.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,8 +33,6 @@ export declare class SyncRunner {
|
|
|
33
33
|
/** Watch until Ctrl-C, which ends the run in flight and prints where it stood. */
|
|
34
34
|
private watch;
|
|
35
35
|
private assemble;
|
|
36
|
-
/** The channel a record belongs to: a digest of the admin API and the channel token — never the token. */
|
|
37
|
-
private channelOf;
|
|
38
36
|
/** The storefront as the merchant named it. */
|
|
39
37
|
private displayName;
|
|
40
38
|
private isDirectory;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
1
|
import { mkdir, stat } from 'node:fs/promises';
|
|
3
2
|
import { resolve } from 'node:path';
|
|
4
3
|
import { AdminApiClient } from '../admin-api/admin-api.client.js';
|
|
5
4
|
import { CliCredentialStep } from '../authorization/cli-credential-step.js';
|
|
6
5
|
import { QuestionPromptAdapter } from '../question/question-prompt.adapter.js';
|
|
6
|
+
import { SyncBundlePush } from './sync-bundle-push.js';
|
|
7
7
|
import { SyncDivergenceSelection } from './sync-divergence.js';
|
|
8
8
|
import { SyncEnvChannel } from './sync-env-channel.js';
|
|
9
9
|
import { SyncRecordFile } from './sync-record.file.js';
|
|
@@ -89,15 +89,9 @@ export class SyncRunner {
|
|
|
89
89
|
const pullOnly = this.options.pull === true;
|
|
90
90
|
const client = new WorkspaceSyncClient(new AdminApiClient(credentials, this.options.timeout), interrupt);
|
|
91
91
|
const repository = new SyncRepository(storefront);
|
|
92
|
-
const round = new SyncRound({ storefront: this.displayName(), pullOnly, dryRun: this.options.dryRun === true }, credentials, client, repository, new SyncRecordFile(storefront,
|
|
92
|
+
const round = new SyncRound({ storefront: this.displayName(), pullOnly, dryRun: this.options.dryRun === true }, credentials, client, new SyncBundlePush(client), repository, new SyncRecordFile(storefront, credentials.channelToken), new SyncEnvChannel(storefront), new SyncDivergenceSelection(new QuestionPromptAdapter(this.options), pullOnly));
|
|
93
93
|
return { client, repository, round };
|
|
94
94
|
}
|
|
95
|
-
/** The channel a record belongs to: a digest of the admin API and the channel token — never the token. */
|
|
96
|
-
channelOf(credentials) {
|
|
97
|
-
return createHash('sha256')
|
|
98
|
-
.update(`${credentials.adminApiUrl}\n${credentials.channelToken}`)
|
|
99
|
-
.digest('hex');
|
|
100
|
-
}
|
|
101
95
|
/** The storefront as the merchant named it. */
|
|
102
96
|
displayName() {
|
|
103
97
|
return this.name ?? '.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.runner.js","sourceRoot":"","sources":["../../../src/sync/sync.runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.runner.js","sourceRoot":"","sources":["../../../src/sync/sync.runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,35 @@ export interface SyncPulledBundle {
|
|
|
56
56
|
/** The merchant lines of every env file the workspace holds, file by file. */
|
|
57
57
|
envFiles: SyncEnvFileLines[];
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* A bundle as a chunked push declares it (factory task 2375): its byte length
|
|
61
|
+
* and sha256, the length of every part but the last, and each part's sha256 in
|
|
62
|
+
* index order.
|
|
63
|
+
*/
|
|
64
|
+
export interface SyncBundleDeclaration {
|
|
65
|
+
byteLength: number;
|
|
66
|
+
sha256: string;
|
|
67
|
+
partBytes: number;
|
|
68
|
+
partSha256s: string[];
|
|
69
|
+
}
|
|
70
|
+
/** One part of a bundle a chunked push sends: its index, its bytes and their sha256. */
|
|
71
|
+
export interface SyncBundlePart {
|
|
72
|
+
index: number;
|
|
73
|
+
bytes: Buffer;
|
|
74
|
+
sha256: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The upload the admin API answered a chunked push's begin or part with: its
|
|
78
|
+
* id, the bundle it declares, and the indexes of the parts it holds, ascending.
|
|
79
|
+
*/
|
|
80
|
+
export interface SyncUpload {
|
|
81
|
+
id: string;
|
|
82
|
+
byteLength: number;
|
|
83
|
+
sha256: string;
|
|
84
|
+
partBytes: number;
|
|
85
|
+
partCount: number;
|
|
86
|
+
heldParts: number[];
|
|
87
|
+
}
|
|
59
88
|
/** What the admin API answered a push. */
|
|
60
89
|
export interface SyncPushResult {
|
|
61
90
|
accepted: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.types.js","sourceRoot":"","sources":["../../../../src/sync/type/sync.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.types.js","sourceRoot":"","sources":["../../../../src/sync/type/sync.types.ts"],"names":[],"mappings":"AA0HA,+EAA+E;AAC/E,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,gCAAc,CAAA;IACd,oCAAkB,CAAA;AACpB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AA4CD,0CAA0C;AAC1C,MAAM,CAAN,IAAY,WAWX;AAXD,WAAY,WAAW;IACrB,6CAA6C;IAC7C,kCAAmB,CAAA;IACnB,uEAAuE;IACvE,4BAAa,CAAA;IACb,kEAAkE;IAClE,4BAAa,CAAA;IACb,oEAAoE;IACpE,wCAAyB,CAAA;IACzB,2DAA2D;IAC3D,oCAAqB,CAAA;AACvB,CAAC,EAXW,WAAW,KAAX,WAAW,QAWtB;AAmDD,mFAAmF;AACnF,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,uCAAe,CAAA;IACf,+CAAuB,CAAA;IACvB,uCAAe,CAAA;AACjB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { AdminApiClient } from '../admin-api/admin-api.client.js';
|
|
2
|
-
import type { SyncEnvFileLines, SyncPulledBundle, SyncPushResult, SyncServingState } from './type/sync.types.js';
|
|
2
|
+
import type { SyncBundleDeclaration, SyncBundlePart, SyncEnvFileLines, SyncPulledBundle, SyncPushResult, SyncServingState, SyncUpload } from './type/sync.types.js';
|
|
3
3
|
/**
|
|
4
|
-
* The admin API's
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* The admin API's workspace-sync operations (#2781) — the reads of the serving
|
|
5
|
+
* branch, the push, and the begin and the parts of a chunked push (factory task
|
|
6
|
+
* 2375) — the surface `forgecart sync` reaches the shop through, over the
|
|
7
|
+
* {@link AdminApiClient}: every exchange is bounded by `--timeout` and ends
|
|
8
|
+
* when the run is interrupted, and answers are read field by field.
|
|
9
|
+
* Credentials the API refuses are a `CliCredentialsRefusal`, which the
|
|
10
|
+
* credential step answers by authorizing. A workspace updating to the current
|
|
11
|
+
* version (#2371) is no refusal: every operation waits it out and asks again
|
|
11
12
|
* ({@link SyncImageUpdateWait}).
|
|
12
13
|
*/
|
|
13
14
|
export declare class WorkspaceSyncClient {
|
|
@@ -32,15 +33,33 @@ export declare class WorkspaceSyncClient {
|
|
|
32
33
|
* `envFiles`, file by file; a push without a bundle carries the lines alone.
|
|
33
34
|
*/
|
|
34
35
|
push(bundle: Buffer | null, envFiles: readonly SyncEnvFileLines[]): Promise<SyncPushResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Begin the chunked push of the bundle `declaration` declares — or, for a
|
|
38
|
+
* bundle the workspace already holds parts of, answer that same upload
|
|
39
|
+
* again — and answer the upload with the parts it holds.
|
|
40
|
+
*/
|
|
41
|
+
beginUpload(declaration: SyncBundleDeclaration): Promise<SyncUpload>;
|
|
42
|
+
/** Send ONE part of the upload `uploadId` as an authenticated upload carrying its sha256. */
|
|
43
|
+
pushPart(uploadId: string, part: SyncBundlePart): Promise<SyncUpload>;
|
|
44
|
+
/**
|
|
45
|
+
* Land the parts the upload `uploadId` holds as ONE bundle, with the
|
|
46
|
+
* merchant lines of the env files `envFiles`, file by file — a push naming
|
|
47
|
+
* its upload, carrying no bundle.
|
|
48
|
+
*/
|
|
49
|
+
land(uploadId: string, envFiles: readonly SyncEnvFileLines[]): Promise<SyncPushResult>;
|
|
50
|
+
/** Send a push and read what it did. */
|
|
51
|
+
private pushed;
|
|
35
52
|
/** A push with a bundle is an upload; one with env lines alone is plain JSON. */
|
|
36
53
|
private pushRequest;
|
|
54
|
+
/** The push carrying its bundle whole, declared by its byte length and sha256. */
|
|
55
|
+
private uploadRequest;
|
|
37
56
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* header; the boundary is the form's own.
|
|
57
|
+
* An operation carrying a file, as a GraphQL multipart request: the
|
|
58
|
+
* operation with `input`, the map naming the file's `variable`, and the
|
|
59
|
+
* file's `bytes`. The admin API reads a multipart request only with the
|
|
60
|
+
* preflight header; the boundary is the form's own.
|
|
42
61
|
*/
|
|
43
|
-
private
|
|
62
|
+
private fileRequest;
|
|
44
63
|
/**
|
|
45
64
|
* POST one operation over the admin API and answer its root field, asking
|
|
46
65
|
* again for as long as the admin API answers that the workspace is updating
|
|
@@ -51,6 +70,8 @@ export declare class WorkspaceSyncClient {
|
|
|
51
70
|
private exchangeThroughUpdate;
|
|
52
71
|
/** A pulled bundle's bytes against what it declares: its length, then its sha256. */
|
|
53
72
|
private assertDeclared;
|
|
73
|
+
/** A chunked push's upload, read field by field. */
|
|
74
|
+
private readUpload;
|
|
54
75
|
/** The workspace's env files: one entry each, naming an env file a storefront reads, with its lines. */
|
|
55
76
|
private readEnvFiles;
|
|
56
77
|
/** How many merchant keys a push merged into each env file it carried. */
|
|
@@ -37,18 +37,47 @@ const PUSH_DOCUMENT = `mutation WorkspaceSyncPush($input: PushWorkspaceSyncInput
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}`;
|
|
40
|
-
/** The
|
|
41
|
-
const
|
|
40
|
+
/** The SDK's `WorkspaceSyncBeginUpload` operation, verbatim. */
|
|
41
|
+
const BEGIN_DOCUMENT = `mutation WorkspaceSyncBeginUpload($input: BeginWorkspaceSyncUploadInput!) {
|
|
42
|
+
beginWorkspaceSyncUpload(input: $input) {
|
|
43
|
+
id
|
|
44
|
+
byteLength
|
|
45
|
+
sha256
|
|
46
|
+
partBytes
|
|
47
|
+
partCount
|
|
48
|
+
heldParts
|
|
49
|
+
}
|
|
50
|
+
}`;
|
|
51
|
+
/** The SDK's `WorkspaceSyncPushPart` operation, verbatim. */
|
|
52
|
+
const PART_DOCUMENT = `mutation WorkspaceSyncPushPart($input: PushWorkspaceSyncPartInput!) {
|
|
53
|
+
pushWorkspaceSyncPart(input: $input) {
|
|
54
|
+
id
|
|
55
|
+
byteLength
|
|
56
|
+
sha256
|
|
57
|
+
partBytes
|
|
58
|
+
partCount
|
|
59
|
+
heldParts
|
|
60
|
+
}
|
|
61
|
+
}`;
|
|
62
|
+
/**
|
|
63
|
+
* The multipart part a file travels in, and the variables a push's bundle and
|
|
64
|
+
* a part's bytes answer, each under its file name (GraphQL multipart request
|
|
65
|
+
* spec).
|
|
66
|
+
*/
|
|
67
|
+
const FILE_PART = '0';
|
|
42
68
|
const BUNDLE_VARIABLE = 'variables.input.bundle';
|
|
43
69
|
const BUNDLE_FILE_NAME = 'serving.bundle';
|
|
70
|
+
const PART_VARIABLE = 'variables.input.part';
|
|
71
|
+
const PART_FILE_NAME = 'serving.bundle.part';
|
|
44
72
|
/**
|
|
45
|
-
* The admin API's
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
73
|
+
* The admin API's workspace-sync operations (#2781) — the reads of the serving
|
|
74
|
+
* branch, the push, and the begin and the parts of a chunked push (factory task
|
|
75
|
+
* 2375) — the surface `forgecart sync` reaches the shop through, over the
|
|
76
|
+
* {@link AdminApiClient}: every exchange is bounded by `--timeout` and ends
|
|
77
|
+
* when the run is interrupted, and answers are read field by field.
|
|
78
|
+
* Credentials the API refuses are a `CliCredentialsRefusal`, which the
|
|
79
|
+
* credential step answers by authorizing. A workspace updating to the current
|
|
80
|
+
* version (#2371) is no refusal: every operation waits it out and asks again
|
|
52
81
|
* ({@link SyncImageUpdateWait}).
|
|
53
82
|
*/
|
|
54
83
|
export class WorkspaceSyncClient {
|
|
@@ -88,7 +117,34 @@ export class WorkspaceSyncClient {
|
|
|
88
117
|
* `envFiles`, file by file; a push without a bundle carries the lines alone.
|
|
89
118
|
*/
|
|
90
119
|
async push(bundle, envFiles) {
|
|
91
|
-
|
|
120
|
+
return this.pushed(this.pushRequest(bundle, envFiles));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Begin the chunked push of the bundle `declaration` declares — or, for a
|
|
124
|
+
* bundle the workspace already holds parts of, answer that same upload
|
|
125
|
+
* again — and answer the upload with the parts it holds.
|
|
126
|
+
*/
|
|
127
|
+
async beginUpload(declaration) {
|
|
128
|
+
const result = await this.exchange(this.api.jsonRequest(BEGIN_DOCUMENT, { input: declaration }), 'beginWorkspaceSyncUpload');
|
|
129
|
+
return this.readUpload(result);
|
|
130
|
+
}
|
|
131
|
+
/** Send ONE part of the upload `uploadId` as an authenticated upload carrying its sha256. */
|
|
132
|
+
async pushPart(uploadId, part) {
|
|
133
|
+
const input = { uploadId, index: part.index, sha256: part.sha256, part: null };
|
|
134
|
+
const result = await this.exchange(this.fileRequest(PART_DOCUMENT, input, PART_VARIABLE, part.bytes, PART_FILE_NAME), 'pushWorkspaceSyncPart');
|
|
135
|
+
return this.readUpload(result);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Land the parts the upload `uploadId` holds as ONE bundle, with the
|
|
139
|
+
* merchant lines of the env files `envFiles`, file by file — a push naming
|
|
140
|
+
* its upload, carrying no bundle.
|
|
141
|
+
*/
|
|
142
|
+
async land(uploadId, envFiles) {
|
|
143
|
+
return this.pushed(this.api.jsonRequest(PUSH_DOCUMENT, { input: { uploadId, envFiles } }));
|
|
144
|
+
}
|
|
145
|
+
/** Send a push and read what it did. */
|
|
146
|
+
async pushed(request) {
|
|
147
|
+
const result = await this.exchange(request, 'pushWorkspaceSync');
|
|
92
148
|
return {
|
|
93
149
|
accepted: result.readBoolean('accepted'),
|
|
94
150
|
servingSha: result.readNullableString('servingSha'),
|
|
@@ -104,12 +160,7 @@ export class WorkspaceSyncClient {
|
|
|
104
160
|
return this.api.jsonRequest(PUSH_DOCUMENT, { input: { envFiles } });
|
|
105
161
|
return this.uploadRequest(bundle, envFiles);
|
|
106
162
|
}
|
|
107
|
-
/**
|
|
108
|
-
* The push as a GraphQL multipart request: the operation, the map naming the
|
|
109
|
-
* bundle's variable, and the bundle itself, declared by its byte length and
|
|
110
|
-
* sha256. The admin API reads a multipart request only with the preflight
|
|
111
|
-
* header; the boundary is the form's own.
|
|
112
|
-
*/
|
|
163
|
+
/** The push carrying its bundle whole, declared by its byte length and sha256. */
|
|
113
164
|
uploadRequest(bundle, envFiles) {
|
|
114
165
|
const input = {
|
|
115
166
|
bundle: null,
|
|
@@ -117,10 +168,19 @@ export class WorkspaceSyncClient {
|
|
|
117
168
|
sha256: createHash('sha256').update(bundle).digest('hex'),
|
|
118
169
|
envFiles,
|
|
119
170
|
};
|
|
171
|
+
return this.fileRequest(PUSH_DOCUMENT, input, BUNDLE_VARIABLE, bundle, BUNDLE_FILE_NAME);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* An operation carrying a file, as a GraphQL multipart request: the
|
|
175
|
+
* operation with `input`, the map naming the file's `variable`, and the
|
|
176
|
+
* file's `bytes`. The admin API reads a multipart request only with the
|
|
177
|
+
* preflight header; the boundary is the form's own.
|
|
178
|
+
*/
|
|
179
|
+
fileRequest(document, input, variable, bytes, fileName) {
|
|
120
180
|
const form = new FormData();
|
|
121
|
-
form.append('operations', JSON.stringify({ query:
|
|
122
|
-
form.append('map', JSON.stringify({ [
|
|
123
|
-
form.append(
|
|
181
|
+
form.append('operations', JSON.stringify({ query: document, variables: { input } }));
|
|
182
|
+
form.append('map', JSON.stringify({ [FILE_PART]: [variable] }));
|
|
183
|
+
form.append(FILE_PART, new Blob([new Uint8Array(bytes)]), fileName);
|
|
124
184
|
return {
|
|
125
185
|
body: form,
|
|
126
186
|
headers: { ...this.api.authHeaders(), 'apollo-require-preflight': 'true' },
|
|
@@ -155,6 +215,17 @@ export class WorkspaceSyncClient {
|
|
|
155
215
|
throw new Error('The pulled bundle does not hash to the sha256 it declares; nothing was written.');
|
|
156
216
|
}
|
|
157
217
|
}
|
|
218
|
+
/** A chunked push's upload, read field by field. */
|
|
219
|
+
readUpload(result) {
|
|
220
|
+
return {
|
|
221
|
+
id: result.readString('id'),
|
|
222
|
+
byteLength: result.readCount('byteLength'),
|
|
223
|
+
sha256: result.readString('sha256'),
|
|
224
|
+
partBytes: result.readCount('partBytes'),
|
|
225
|
+
partCount: result.readCount('partCount'),
|
|
226
|
+
heldParts: result.readCountList('heldParts'),
|
|
227
|
+
};
|
|
228
|
+
}
|
|
158
229
|
/** The workspace's env files: one entry each, naming an env file a storefront reads, with its lines. */
|
|
159
230
|
readEnvFiles(result) {
|
|
160
231
|
return result.readObjectList('envFiles').map((entry) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-sync.client.js","sourceRoot":"","sources":["../../../src/sync/workspace-sync.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-sync.client.js","sourceRoot":"","sources":["../../../src/sync/workspace-sync.client.ts"],"names":[],"mappings":"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"}
|