swarm-deploy 0.1.0 → 0.3.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 +60 -0
- package/README.md +780 -50
- package/RELEASING.md +2 -2
- package/SECURITY.md +2 -3
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +182 -25
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +32 -27
- package/dist/client.js +103 -54
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +6 -0
- package/dist/errors.js.map +1 -1
- package/dist/files.d.ts +13 -28
- package/dist/files.js +13 -78
- package/dist/files.js.map +1 -1
- package/dist/hooks-module.d.ts +9 -0
- package/dist/hooks-module.js +118 -0
- package/dist/hooks-module.js.map +1 -0
- package/dist/hooks.d.ts +69 -0
- package/dist/hooks.js +88 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/release.d.ts +26 -0
- package/dist/release.js +419 -0
- package/dist/release.js.map +1 -0
- package/dist/server.d.ts +97 -0
- package/dist/server.js +527 -53
- package/dist/server.js.map +1 -1
- package/dist/storage/commit-journal.d.ts +39 -2
- package/dist/storage/commit-journal.js +140 -2
- package/dist/storage/commit-journal.js.map +1 -1
- package/dist/storage/commit-store.d.ts +69 -8
- package/dist/storage/commit-store.js +374 -22
- package/dist/storage/commit-store.js.map +1 -1
- package/dist/storage/layout.js +7 -1
- package/dist/storage/layout.js.map +1 -1
- package/dist/storage/link-store.d.ts +88 -0
- package/dist/storage/link-store.js +448 -0
- package/dist/storage/link-store.js.map +1 -0
- package/dist/storage/recovery.d.ts +2 -1
- package/dist/storage/recovery.js +8 -1
- package/dist/storage/recovery.js.map +1 -1
- package/dist/storage/retention.d.ts +41 -21
- package/dist/storage/retention.js +162 -8
- package/dist/storage/retention.js.map +1 -1
- package/dist/storage/tar-session-store.d.ts +36 -5
- package/dist/storage/tar-session-store.js +283 -55
- package/dist/storage/tar-session-store.js.map +1 -1
- package/dist/storage/tree-fs.d.ts +44 -0
- package/dist/storage/tree-fs.js +580 -0
- package/dist/storage/tree-fs.js.map +1 -0
- package/dist/storage/tree-staging.d.ts +9 -0
- package/dist/storage/tree-staging.js +64 -0
- package/dist/storage/tree-staging.js.map +1 -0
- package/dist/storage/types.d.ts +15 -0
- package/dist/symlinks.d.ts +44 -0
- package/dist/symlinks.js +153 -0
- package/dist/symlinks.js.map +1 -0
- package/dist/tar-protocol/controls.d.ts +52 -0
- package/dist/tar-protocol/controls.js +160 -2
- package/dist/tar-protocol/controls.js.map +1 -1
- package/dist/tar-protocol/direct-wire.d.ts +8 -3
- package/dist/tar-protocol/direct-wire.js +14 -3
- package/dist/tar-protocol/direct-wire.js.map +1 -1
- package/dist/tar-protocol/manifest.d.ts +13 -1
- package/dist/tar-protocol/manifest.js +26 -1
- package/dist/tar-protocol/manifest.js.map +1 -1
- package/dist/tar-protocol/tree-extract.d.ts +37 -0
- package/dist/tar-protocol/tree-extract.js +240 -0
- package/dist/tar-protocol/tree-extract.js.map +1 -0
- package/dist/tar-protocol/tree-manifest.d.ts +45 -0
- package/dist/tar-protocol/tree-manifest.js +277 -0
- package/dist/tar-protocol/tree-manifest.js.map +1 -0
- package/dist/tar-protocol/tree-path.d.ts +15 -0
- package/dist/tar-protocol/tree-path.js +68 -0
- package/dist/tar-protocol/tree-path.js.map +1 -0
- package/dist/tar-protocol/tree.d.ts +68 -0
- package/dist/tar-protocol/tree.js +269 -0
- package/dist/tar-protocol/tree.js.map +1 -0
- package/dist/tar-protocol/ustar.d.ts +14 -0
- package/dist/tar-protocol/ustar.js +81 -1
- package/dist/tar-protocol/ustar.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +3 -1
package/dist/client.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.FINGERPRINT_LENGTH = exports.DEFAULT_IDLE_TIMEOUT = exports.MAX_CONNECT_
|
|
|
7
7
|
exports.fingerprint = fingerprint;
|
|
8
8
|
const b4a_1 = __importDefault(require("b4a"));
|
|
9
9
|
const _events_1 = __importDefault(require("#events"));
|
|
10
|
-
const _fs_1 = __importDefault(require("#fs"));
|
|
11
10
|
const abort_js_1 = require("./abort.js");
|
|
12
11
|
const direct_dht_js_1 = require("./direct-dht.js");
|
|
13
12
|
const errors_js_1 = require("./errors.js");
|
|
@@ -15,6 +14,8 @@ const files_js_1 = require("./files.js");
|
|
|
15
14
|
const identity_js_1 = require("./identity.js");
|
|
16
15
|
const direct_wire_js_1 = require("./tar-protocol/direct-wire.js");
|
|
17
16
|
const manifest_js_1 = require("./tar-protocol/manifest.js");
|
|
17
|
+
const tree_manifest_js_1 = require("./tar-protocol/tree-manifest.js");
|
|
18
|
+
const controls_js_1 = require("./tar-protocol/controls.js");
|
|
18
19
|
const hash_js_1 = require("./tar-protocol/hash.js");
|
|
19
20
|
const EventEmitter = _events_1.default.EventEmitter;
|
|
20
21
|
const DEFAULT_CONNECT_TIMEOUT = 30_000;
|
|
@@ -64,11 +65,31 @@ function logger(log) {
|
|
|
64
65
|
error: (m, d) => call('error', m, d)
|
|
65
66
|
};
|
|
66
67
|
}
|
|
68
|
+
function isTreeManifest(manifest) {
|
|
69
|
+
return 'kind' in manifest && manifest.kind === 'directory';
|
|
70
|
+
}
|
|
71
|
+
function manifestMetadata(manifest, reset) {
|
|
72
|
+
return isTreeManifest(manifest)
|
|
73
|
+
? (0, tree_manifest_js_1.treeMetadataFromManifest)(manifest, reset)
|
|
74
|
+
: (0, manifest_js_1.metadataFromManifest)(manifest, reset);
|
|
75
|
+
}
|
|
76
|
+
function manifestPayloadBytes(manifest) {
|
|
77
|
+
return isTreeManifest(manifest) ? manifest.payloadBytes : manifest.fileSize;
|
|
78
|
+
}
|
|
79
|
+
function manifestDigest(manifest) {
|
|
80
|
+
return isTreeManifest(manifest) ? manifest.treeSha256 : manifest.fileSha256;
|
|
81
|
+
}
|
|
82
|
+
function regenerateSuffix(manifest, offset, write, options) {
|
|
83
|
+
return isTreeManifest(manifest)
|
|
84
|
+
? (0, tree_manifest_js_1.regenerateTreeTarSuffix)(manifest, offset, write, options)
|
|
85
|
+
: (0, manifest_js_1.regenerateTarSuffix)(manifest, offset, write, options);
|
|
86
|
+
}
|
|
67
87
|
class Client extends EventEmitter {
|
|
68
88
|
publicKey;
|
|
69
89
|
serverPublicKey;
|
|
70
90
|
connectTimeout;
|
|
71
91
|
idleTimeout;
|
|
92
|
+
includeSourceParent;
|
|
72
93
|
logger;
|
|
73
94
|
direct;
|
|
74
95
|
abort = (0, abort_js_1.createAbortController)();
|
|
@@ -85,6 +106,11 @@ class Client extends EventEmitter {
|
|
|
85
106
|
this.serverPublicKey = key(options.serverPublicKey, 'server public key', errors_js_1.ERRORS.INVALID_PUBLIC_KEY);
|
|
86
107
|
this.connectTimeout = duration(options.connectTimeout, 'connect timeout', DEFAULT_CONNECT_TIMEOUT);
|
|
87
108
|
this.idleTimeout = duration(options.idleTimeout, 'idle timeout', DEFAULT_IDLE_TIMEOUT);
|
|
109
|
+
if (options.includeSourceParent !== undefined &&
|
|
110
|
+
typeof options.includeSourceParent !== 'boolean') {
|
|
111
|
+
throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Invalid source parent option');
|
|
112
|
+
}
|
|
113
|
+
this.includeSourceParent = options.includeSourceParent !== false;
|
|
88
114
|
this.publicKey = b4a_1.default.from(keyPair.publicKey);
|
|
89
115
|
this.direct = new direct_dht_js_1.DirectDhtClient({
|
|
90
116
|
keyPair,
|
|
@@ -100,7 +126,7 @@ class Client extends EventEmitter {
|
|
|
100
126
|
}
|
|
101
127
|
catch { }
|
|
102
128
|
}
|
|
103
|
-
async uploadManifest(manifest, reset = false
|
|
129
|
+
async uploadManifest(manifest, reset = false) {
|
|
104
130
|
(0, abort_js_1.throwIfAborted)(this.signal);
|
|
105
131
|
const socket = await this.direct.connect(this.serverPublicKey, {
|
|
106
132
|
signal: this.signal,
|
|
@@ -115,13 +141,13 @@ class Client extends EventEmitter {
|
|
|
115
141
|
const reader = new direct_wire_js_1.DirectWireReader(socket);
|
|
116
142
|
let verificationStarted = false;
|
|
117
143
|
try {
|
|
118
|
-
const metadata = (
|
|
144
|
+
const metadata = manifestMetadata(manifest, reset);
|
|
119
145
|
await (0, direct_wire_js_1.writeMetadata)(socket, metadata, { signal: this.signal, timeout: this.idleTimeout });
|
|
120
146
|
this.emitSafe('offer', { name: manifest.name, status: 'offered' });
|
|
121
147
|
const admission = await reader.control(direct_wire_js_1.decodeDirectAdmission, this.signal, this.idleTimeout);
|
|
122
148
|
if (admission.status === 'ALREADY_COMMITTED') {
|
|
123
149
|
this.emitSafe('offer', { name: manifest.name, status: 'already-committed' });
|
|
124
|
-
return this.result(manifest, 'ALREADY_COMMITTED'
|
|
150
|
+
return this.result(manifest, 'ALREADY_COMMITTED');
|
|
125
151
|
}
|
|
126
152
|
if (admission.status === 'REJECTED')
|
|
127
153
|
throw fail(admission.code, 'Server rejected upload');
|
|
@@ -133,7 +159,7 @@ class Client extends EventEmitter {
|
|
|
133
159
|
throw fail(final.code, 'Server failed verified upload');
|
|
134
160
|
this.emitSafe('verification', { name: manifest.name, status: 'succeeded' });
|
|
135
161
|
this.emitSafe('commit', { name: manifest.name, status: 'succeeded' });
|
|
136
|
-
return this.result(manifest, 'COMMITTED'
|
|
162
|
+
return this.result(manifest, 'COMMITTED');
|
|
137
163
|
}
|
|
138
164
|
const offset = admission.offset;
|
|
139
165
|
const expected = admission.status === 'RESUME' ? b4a_1.default.from(admission.prefixSha256, 'hex') : null;
|
|
@@ -143,7 +169,7 @@ class Client extends EventEmitter {
|
|
|
143
169
|
offset
|
|
144
170
|
});
|
|
145
171
|
let progress = offset;
|
|
146
|
-
const regenerated = await (
|
|
172
|
+
const regenerated = await regenerateSuffix(manifest, offset, async (chunk) => {
|
|
147
173
|
await (0, direct_wire_js_1.writeTar)(socket, chunk, { signal: this.signal, timeout: this.idleTimeout });
|
|
148
174
|
progress += chunk.byteLength;
|
|
149
175
|
this.emitSafe('progress', {
|
|
@@ -158,7 +184,7 @@ class Client extends EventEmitter {
|
|
|
158
184
|
this.emitSafe('offer', { name: manifest.name, status: 'reset', offset: 0 });
|
|
159
185
|
reader.closeReader();
|
|
160
186
|
socket.destroy();
|
|
161
|
-
return this.uploadManifest(manifest, true
|
|
187
|
+
return this.uploadManifest(manifest, true);
|
|
162
188
|
}
|
|
163
189
|
if (regenerated.bytesSent !== manifest.tarSize - offset) {
|
|
164
190
|
throw fail(errors_js_1.ERRORS.PROTOCOL_INVALID, 'Incomplete deterministic TAR transfer');
|
|
@@ -180,7 +206,7 @@ class Client extends EventEmitter {
|
|
|
180
206
|
}
|
|
181
207
|
this.emitSafe('verification', { name: manifest.name, status: 'succeeded' });
|
|
182
208
|
this.emitSafe('commit', { name: manifest.name, status: 'succeeded' });
|
|
183
|
-
return this.result(manifest, 'COMMITTED'
|
|
209
|
+
return this.result(manifest, 'COMMITTED');
|
|
184
210
|
}
|
|
185
211
|
catch (error) {
|
|
186
212
|
const reason = codeOf(error);
|
|
@@ -198,63 +224,74 @@ class Client extends EventEmitter {
|
|
|
198
224
|
catch { }
|
|
199
225
|
}
|
|
200
226
|
}
|
|
201
|
-
result(manifest, status
|
|
227
|
+
result(manifest, status) {
|
|
228
|
+
const kind = isTreeManifest(manifest) ? 'directory' : 'file';
|
|
202
229
|
const result = {
|
|
203
230
|
status,
|
|
231
|
+
kind,
|
|
204
232
|
name: manifest.name,
|
|
205
|
-
size: manifest
|
|
206
|
-
digest: b4a_1.default.from(manifest
|
|
207
|
-
transferId: b4a_1.default.from(manifest.transferId)
|
|
233
|
+
size: manifestPayloadBytes(manifest),
|
|
234
|
+
digest: b4a_1.default.from(manifestDigest(manifest)),
|
|
235
|
+
transferId: b4a_1.default.from(manifest.transferId),
|
|
236
|
+
...(isTreeManifest(manifest) ? { entryCount: manifest.entryCount } : {})
|
|
208
237
|
};
|
|
209
238
|
this.logger.info('Direct upload completed', { name: result.name, status: result.status });
|
|
210
|
-
this.emitSafe('result', { name: result.name, status, final });
|
|
239
|
+
this.emitSafe('result', { name: result.name, kind, status, final: true });
|
|
211
240
|
return result;
|
|
212
241
|
}
|
|
213
|
-
async
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
242
|
+
async performLink(target, name) {
|
|
243
|
+
const request = { v: 1, kind: 'link', target, name };
|
|
244
|
+
// Validate before opening a connection so malformed names never leave the client.
|
|
245
|
+
(0, controls_js_1.encodeLinkRequestRecord)(request);
|
|
246
|
+
(0, abort_js_1.throwIfAborted)(this.signal);
|
|
247
|
+
const socket = await this.direct.connect(this.serverPublicKey, {
|
|
248
|
+
signal: this.signal,
|
|
249
|
+
timeout: this.connectTimeout
|
|
250
|
+
});
|
|
251
|
+
const remote = socket.remotePublicKey;
|
|
252
|
+
this.emitSafe('connection', { fingerprint: remote ? fingerprint(remote) : 'invalid' });
|
|
253
|
+
this.emitSafe('connection-open', { fingerprint: remote ? fingerprint(remote) : 'invalid' });
|
|
254
|
+
socket.once('close', () => this.emitSafe('connection-close', {
|
|
255
|
+
fingerprint: this.serverPublicKey ? fingerprint(this.serverPublicKey) : 'invalid'
|
|
256
|
+
}));
|
|
257
|
+
const reader = new direct_wire_js_1.DirectWireReader(socket);
|
|
258
|
+
try {
|
|
259
|
+
await (0, direct_wire_js_1.writeLinkRequest)(socket, request, { signal: this.signal, timeout: this.idleTimeout });
|
|
260
|
+
this.emitSafe('link', { target, name, status: 'requested', final: false });
|
|
261
|
+
(0, direct_wire_js_1.endWrite)(socket);
|
|
262
|
+
const response = await reader.control(direct_wire_js_1.decodeDirectLinkResult, this.signal, this.idleTimeout);
|
|
263
|
+
if (response.status === 'FAILED')
|
|
264
|
+
throw fail(response.code, 'Server failed link request');
|
|
265
|
+
const result = { target, name, status: response.status };
|
|
266
|
+
this.logger.info('Direct link completed', {
|
|
267
|
+
target: result.target,
|
|
268
|
+
name: result.name,
|
|
269
|
+
status: result.status
|
|
270
|
+
});
|
|
271
|
+
this.emitSafe('link', { ...result, final: true });
|
|
272
|
+
return result;
|
|
221
273
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
274
|
+
catch (error) {
|
|
275
|
+
this.emitSafe('link', { target, name, status: codeOf(error), final: true });
|
|
276
|
+
throw error;
|
|
225
277
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
continue;
|
|
229
|
-
if (entry.kind === 'failed') {
|
|
230
|
-
results.push({ name: entry.name, status: errors_js_1.ERRORS.PROTOCOL_INVALID, reason: entry.reason });
|
|
231
|
-
continue;
|
|
232
|
-
}
|
|
278
|
+
finally {
|
|
279
|
+
reader.closeReader();
|
|
233
280
|
try {
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
catch (error) {
|
|
237
|
-
const status = codeOf(error);
|
|
238
|
-
results.push({ name: entry.name, status });
|
|
239
|
-
this.emitSafe('result', { name: entry.name, status, final: false });
|
|
281
|
+
socket.destroy();
|
|
240
282
|
}
|
|
283
|
+
catch { }
|
|
241
284
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
};
|
|
248
|
-
const
|
|
249
|
-
this.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
files: results.length,
|
|
253
|
-
committed,
|
|
254
|
-
failed: results.length - committed,
|
|
255
|
-
skipped: selection.skipped.length
|
|
256
|
-
});
|
|
257
|
-
return result;
|
|
285
|
+
}
|
|
286
|
+
async perform(inputPath) {
|
|
287
|
+
if (typeof inputPath !== 'string' || !inputPath) {
|
|
288
|
+
throw fail(errors_js_1.ERRORS.INVALID_FILENAME, 'Invalid upload path');
|
|
289
|
+
}
|
|
290
|
+
const target = await (0, files_js_1.selectUploadTarget)(inputPath, { signal: this.signal });
|
|
291
|
+
const options = { signal: this.signal, includeSourceParent: this.includeSourceParent };
|
|
292
|
+
return this.uploadManifest(target.kind === 'directory'
|
|
293
|
+
? await (0, tree_manifest_js_1.buildTreeManifest)(target.path, this.publicKey, options)
|
|
294
|
+
: await (0, manifest_js_1.buildTarManifest)(target.path, this.publicKey, options));
|
|
258
295
|
}
|
|
259
296
|
upload(inputPath) {
|
|
260
297
|
if (this.closed)
|
|
@@ -264,7 +301,19 @@ class Client extends EventEmitter {
|
|
|
264
301
|
.catch((error) => {
|
|
265
302
|
const reason = codeOf(error);
|
|
266
303
|
this.emitSafe('failure', { fingerprint: fingerprint(this.serverPublicKey), reason });
|
|
267
|
-
|
|
304
|
+
throw error;
|
|
305
|
+
});
|
|
306
|
+
this.queue = operation.then(() => undefined, () => undefined);
|
|
307
|
+
return operation;
|
|
308
|
+
}
|
|
309
|
+
link(target, name) {
|
|
310
|
+
if (this.closed)
|
|
311
|
+
return Promise.reject(fail(errors_js_1.ERRORS.ABORTED, 'Client is closed'));
|
|
312
|
+
const operation = this.queue
|
|
313
|
+
.then(() => this.performLink(target, name))
|
|
314
|
+
.catch((error) => {
|
|
315
|
+
const reason = codeOf(error);
|
|
316
|
+
this.emitSafe('failure', { fingerprint: fingerprint(this.serverPublicKey), reason });
|
|
268
317
|
throw error;
|
|
269
318
|
});
|
|
270
319
|
this.queue = operation.then(() => undefined, () => undefined);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;QA0dE,WAAW;AA1db,8CAAqB;AACrB,sDAA4B;AAC5B,yCAAwF;AACxF,mDAKwB;AACxB,2CAAsE;AACtE,yCAA+C;AAC/C,+CAA+C;AAC/C,kEASsC;AACtC,4DAMmC;AACnC,sEAKwC;AACxC,4DAA4F;AAC5F,oDAAqD;AAYrD,MAAM,YAAY,GAAG,iBAAM,CAAC,YAAY,CAAA;AACxC,MAAM,uBAAuB,GAAG,MAAM,CAAA;QAqapC,uBAAuB;AApazB,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAA;QAqapC,mBAAmB;AAparB,MAAM,oBAAoB,GAAG,MAAM,CAAA;QAqajC,oBAAoB;AApatB,MAAM,kBAAkB,GAAG,EAAE,CAAA;QAqa3B,kBAAkB;AAvVpB,SAAS,IAAI,CAAC,IAAe,EAAE,OAAe,EAAE,KAAK,GAAY,IAAI;IACnE,OAAO,IAAI,4BAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACnD,CAAC;AACD,SAAS,GAAG,CAAC,KAAc,EAAE,KAAa,EAAE,IAAe;IACzD,IAAI,CAAC,aAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,EAAE;QAAE,MAAM,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,EAAE,CAAC,CAAA;IACzF,OAAO,aAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc,EAAE,KAAa,EAAE,QAAgB;IAC/D,MAAM,MAAM,GAAG,KAAK,IAAI,QAAQ,CAAA;IAChC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC5B,MAAiB,IAAI,CAAC;QACtB,MAAiB,GAAG,mBAAmB,EACxC,CAAC;QACD,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,WAAW,KAAK,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,MAAgB,CAAA;AACzB,CAAC;AACD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,YAAY,4BAAgB;QACtC,MAAM,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAiB,CAAC;QACvD,CAAC,CAAE,KAAK,CAAC,IAAkB;QAC3B,CAAC,CAAC,kBAAM,CAAC,gBAAgB,CAAA;AAC7B,CAAC;AACD,SAAS,WAAW,CAAC,KAAiB;IACpC,OAAO,aAAG,CAAC,QAAQ,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAA;AAC9E,CAAC;AACD,SAAS,MAAM,CAAC,GAA8B;IAC5C,MAAM,IAAI,GAAG,CAAC,MAAoB,EAAE,OAAe,EAAE,OAAiC,EAAQ,EAAE;QAC9F,IAAI,CAAC;YACH,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,CAAA;IACD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACrC,CAAA;AACH,CAAC;AAID,SAAS,cAAc,CAAC,QAAqB;IAC3C,OAAO,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAA;AAC5D,CAAC;AACD,SAAS,gBAAgB,CAAC,QAAqB,EAAE,KAAc;IAC7D,OAAO,cAAc,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,IAAA,2CAAwB,EAAC,QAAQ,EAAE,KAAK,CAAC;QAC3C,CAAC,CAAC,IAAA,kCAAoB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AACD,SAAS,oBAAoB,CAAC,QAAqB;IACjD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAA;AAC7E,CAAC;AACD,SAAS,cAAc,CAAC,QAAqB;IAC3C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;AAC7E,CAAC;AACD,SAAS,gBAAgB,CACvB,QAAqB,EACrB,MAAc,EACd,KAA8C,EAC9C,OAA6E;IAE7E,OAAO,cAAc,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,IAAA,0CAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;QAC3D,CAAC,CAAC,IAAA,iCAAmB,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC;AAUD,YAAoB,SAAQ,YAAY;IAC7B,SAAS,CAAW;IACpB,eAAe,CAAW;IAC1B,cAAc,CAAQ;IACtB,WAAW,CAAQ;IACnB,mBAAmB,CAAS;IAC5B,MAAM,CAAkB;IAChB,MAAM,CAAiB;IACvB,KAAK,GAAG,IAAA,gCAAqB,GAAE,CAAA;IAC/B,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IACpD,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IACzB,YAAY,GAAyB,IAAI,CAAA;IACjD,MAAM,GAAG,KAAK,CAAA;IAEd,YAAY,OAAsB;QAChC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,6BAAe,EAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,GAAG,CACxB,OAAO,CAAC,eAAe,EACvB,mBAAmB,EACnB,kBAAM,CAAC,kBAAkB,CAC1B,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAC5B,OAAO,CAAC,cAAc,EACtB,iBAAiB,EACjB,uBAAuB,CACxB,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAA;QACtF,IACE,OAAO,CAAC,mBAAmB,KAAK,SAAS;YACzC,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAChD,CAAC;YACD,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,KAAK,KAAK,CAAA;QAChE,IAAI,CAAC,SAAS,GAAG,aAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAe,CAAC;YAChC,OAAO;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IACO,QAAQ,CAAC,IAAY,EAAE,OAAgC;QAC7D,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAqB,EAAE,KAAK,GAAG,KAAK;QAC/D,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;QACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QAC3F,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACxB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAChC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,iCAAgB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,mBAAmB,GAAG,KAAK,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAClD,MAAM,IAAA,8BAAa,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YACzF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;YAClE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,sCAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5F,IAAI,SAAS,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU;gBAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAA;YACzF,IAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gBACzE,mBAAmB,GAAG,IAAI,CAAA;gBAC1B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,kCAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBACpF,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;oBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAA;gBACzF,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;gBAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;gBACrE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC3C,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;YAC/B,MAAM,QAAQ,GACZ,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAChF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBAC9D,MAAM;aACP,CAAC,CAAA;YACF,IAAI,QAAQ,GAAG,MAAM,CAAA;YACrB,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,MAAM,EACN,KAAK,EAAE,KAAK,EAAE,EAAE;gBACd,MAAM,IAAA,yBAAQ,EAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;gBACjF,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAA;gBAC5B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,QAAQ,CAAC,OAAO;iBAC7B,CAAC,CAAA;YACJ,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CACxD,CAAA;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,IAAI,KAAK;oBAAE,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAA;gBAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC3E,MAAM,CAAC,WAAW,EAAE,CAAA;gBACpB,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC;gBACxD,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC,CAAA;YAC9E,CAAC;YACD,IAAI,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAClC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAA;gBAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,QAAQ,CAAC,OAAO;iBAC7B,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;YACzE,mBAAmB,GAAG,IAAI,CAAA;YAC1B,IAAA,yBAAQ,EAAC,MAAM,CAAC,CAAA;YAChB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,kCAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YACpF,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YACrE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;gBAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YAC5E,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAA;YACpB,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,QAAqB,EAAE,MAAoB;QACxD,MAAM,IAAI,GAAiB,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAA;QAC1E,MAAM,MAAM,GAAiB;YAC3B,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC;YACpC,MAAM,EAAE,aAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1C,UAAU,EAAE,aAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACzE,OAAO,MAAM,CAAA;IACf,CAAC;IACO,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QACpD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAU,EAAE,IAAI,EAAE,MAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACtE,kFAAkF;QAClF,IAAA,qCAAuB,EAAC,OAAO,CAAC,CAAA;QAChC,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE;YAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;QACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QAC3F,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACxB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAChC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,iCAAgB,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC;YACH,MAAM,IAAA,iCAAgB,EAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YAC3F,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1E,IAAA,yBAAQ,EAAC,MAAM,CAAC,CAAA;YAChB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,uCAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAA;YACzF,MAAM,MAAM,GAAqB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;YAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACxC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACjD,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3E,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAA;YACpB,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,SAAiB;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,kBAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAA;QAC5D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAkB,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3E,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACtF,OAAO,IAAI,CAAC,cAAc,CACxB,MAAM,CAAC,IAAI,KAAK,WAAW;YACzB,CAAC,CAAC,MAAM,IAAA,oCAAiB,EAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;YAC/D,CAAC,CAAC,MAAM,IAAA,8BAAgB,EAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CACjE,CAAA;IACH,CAAC;IACD,MAAM,CAAC,SAAiB;QACtB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;aACzB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YACpF,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,MAAc,EAAE,IAAY;QAC/B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;aACzB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC1C,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;YACpF,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;QACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,KAAK;QACH,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAA;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK;aAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;aAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CACF"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -16,6 +16,12 @@ export declare const ERRORS: {
|
|
|
16
16
|
readonly UPLOAD_IDLE_TIMEOUT: 'UPLOAD_IDLE_TIMEOUT';
|
|
17
17
|
readonly ABORTED: 'ABORTED';
|
|
18
18
|
readonly COMMIT_FAILED: 'COMMIT_FAILED';
|
|
19
|
+
readonly LINK_CONFLICT: 'LINK_CONFLICT';
|
|
20
|
+
readonly LINK_FAILED: 'LINK_FAILED';
|
|
21
|
+
readonly LINK_NOT_ALLOWED: 'LINK_NOT_ALLOWED';
|
|
22
|
+
readonly LINK_TARGET_NOT_FOUND: 'LINK_TARGET_NOT_FOUND';
|
|
23
|
+
readonly UNSUPPORTED_STORAGE: 'UNSUPPORTED_STORAGE';
|
|
24
|
+
readonly HOOK_FAILED: 'HOOK_FAILED';
|
|
19
25
|
readonly CLEANUP_FAILED: 'CLEANUP_FAILED';
|
|
20
26
|
};
|
|
21
27
|
export type ErrorCode = (typeof ERRORS)[keyof typeof ERRORS];
|
package/dist/errors.js
CHANGED
|
@@ -19,6 +19,12 @@ exports.ERRORS = {
|
|
|
19
19
|
UPLOAD_IDLE_TIMEOUT: 'UPLOAD_IDLE_TIMEOUT',
|
|
20
20
|
ABORTED: 'ABORTED',
|
|
21
21
|
COMMIT_FAILED: 'COMMIT_FAILED',
|
|
22
|
+
LINK_CONFLICT: 'LINK_CONFLICT',
|
|
23
|
+
LINK_FAILED: 'LINK_FAILED',
|
|
24
|
+
LINK_NOT_ALLOWED: 'LINK_NOT_ALLOWED',
|
|
25
|
+
LINK_TARGET_NOT_FOUND: 'LINK_TARGET_NOT_FOUND',
|
|
26
|
+
UNSUPPORTED_STORAGE: 'UNSUPPORTED_STORAGE',
|
|
27
|
+
HOOK_FAILED: 'HOOK_FAILED',
|
|
22
28
|
CLEANUP_FAILED: 'CLEANUP_FAILED'
|
|
23
29
|
};
|
|
24
30
|
class SwarmDeployError extends Error {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;CACxB,CAAA;AAIV,sBAA8B,SAAQ,KAAK;IAOzC,YAAY,IAAwB,EAAE,OAAe,EAAE,KAAK,GAAmB,IAAI;QACjF,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;CACxB,CAAA;AAIV,sBAA8B,SAAQ,KAAK;IAOzC,YAAY,IAAwB,EAAE,OAAe,EAAE,KAAK,GAAmB,IAAI;QACjF,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF"}
|
package/dist/files.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { ArtifactKind } from './types.js';
|
|
1
2
|
/** Reserved top-level namespace for server-managed historical artifacts. */
|
|
2
3
|
export declare const HISTORY_NAME_PREFIX = "history-";
|
|
3
|
-
export interface
|
|
4
|
+
export interface SelectUploadTargetOptions {
|
|
4
5
|
signal?: {
|
|
5
6
|
readonly aborted: boolean;
|
|
6
7
|
addEventListener(event: 'abort', callback: () => void, options?: {
|
|
@@ -9,6 +10,12 @@ export interface SelectUploadPathsOptions {
|
|
|
9
10
|
removeEventListener(event: 'abort', callback: () => void): void;
|
|
10
11
|
} | null;
|
|
11
12
|
}
|
|
13
|
+
export interface UploadTarget {
|
|
14
|
+
kind: ArtifactKind;
|
|
15
|
+
/** The managed artifact basename. */
|
|
16
|
+
name: string;
|
|
17
|
+
path: string;
|
|
18
|
+
}
|
|
12
19
|
export declare function validateBasename(name: string): string;
|
|
13
20
|
export declare function isReservedHistoryName(name: unknown): boolean;
|
|
14
21
|
/** The unique top-level path preserving the inode a replacement superseded. */
|
|
@@ -18,30 +25,8 @@ export declare function historyName(oldTransferId: string): string;
|
|
|
18
25
|
* the reserved history namespace and duplicate entries are always rejected.
|
|
19
26
|
*/
|
|
20
27
|
export declare function validateReplaceNames(values?: Iterable<string>): Set<string>;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
export interface SkippedUploadPath {
|
|
28
|
-
kind: 'skipped';
|
|
29
|
-
name: string;
|
|
30
|
-
path: string;
|
|
31
|
-
reason: SkippedUploadReason;
|
|
32
|
-
}
|
|
33
|
-
export interface FailedUploadPath {
|
|
34
|
-
kind: 'failed';
|
|
35
|
-
name: string;
|
|
36
|
-
path: string;
|
|
37
|
-
reason: 'unreadable';
|
|
38
|
-
code: string | null;
|
|
39
|
-
}
|
|
40
|
-
export type UploadPathEntry = SelectedUploadPath | SkippedUploadPath | FailedUploadPath;
|
|
41
|
-
export interface UploadPathSelection {
|
|
42
|
-
paths: string[];
|
|
43
|
-
skipped: Array<Omit<SkippedUploadPath, 'kind'>>;
|
|
44
|
-
failed: Array<Omit<FailedUploadPath, 'kind'>>;
|
|
45
|
-
entries: UploadPathEntry[];
|
|
46
|
-
}
|
|
47
|
-
export declare function selectUploadPaths(inputPath: string, { signal }?: SelectUploadPathsOptions): Promise<UploadPathSelection>;
|
|
28
|
+
/**
|
|
29
|
+
* Classifies one upload input. A directory becomes exactly one recursive
|
|
30
|
+
* directory artifact; children are never uploaded independently.
|
|
31
|
+
*/
|
|
32
|
+
export declare function selectUploadTarget(inputPath: string, { signal }?: SelectUploadTargetOptions): Promise<UploadTarget>;
|
package/dist/files.js
CHANGED
|
@@ -8,9 +8,8 @@ exports.validateBasename = validateBasename;
|
|
|
8
8
|
exports.isReservedHistoryName = isReservedHistoryName;
|
|
9
9
|
exports.historyName = historyName;
|
|
10
10
|
exports.validateReplaceNames = validateReplaceNames;
|
|
11
|
-
exports.
|
|
11
|
+
exports.selectUploadTarget = selectUploadTarget;
|
|
12
12
|
const b4a_1 = __importDefault(require("b4a"));
|
|
13
|
-
const error_code_js_1 = require("./error-code.js");
|
|
14
13
|
const _fs_1 = __importDefault(require("#fs"));
|
|
15
14
|
const _path_1 = __importDefault(require("#path"));
|
|
16
15
|
const abort_js_1 = require("./abort.js");
|
|
@@ -63,88 +62,24 @@ function validateReplaceNames(values) {
|
|
|
63
62
|
}
|
|
64
63
|
return names;
|
|
65
64
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return { kind: 'skipped', reason: 'directory' };
|
|
72
|
-
}
|
|
73
|
-
if (!stat.isFile()) {
|
|
74
|
-
return { kind: 'skipped', reason: 'not-regular-file' };
|
|
75
|
-
}
|
|
76
|
-
const name = _path_1.default.basename(entryPath);
|
|
77
|
-
try {
|
|
78
|
-
validateBasename(name);
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
return { kind: 'skipped', reason: 'invalid-filename' };
|
|
82
|
-
}
|
|
83
|
-
if (isReservedHistoryName(name)) {
|
|
84
|
-
return { kind: 'skipped', reason: 'reserved-history' };
|
|
85
|
-
}
|
|
86
|
-
return { kind: 'selected', name };
|
|
87
|
-
}
|
|
88
|
-
async function selectUploadPaths(inputPath, { signal = null } = {}) {
|
|
65
|
+
/**
|
|
66
|
+
* Classifies one upload input. A directory becomes exactly one recursive
|
|
67
|
+
* directory artifact; children are never uploaded independently.
|
|
68
|
+
*/
|
|
69
|
+
async function selectUploadTarget(inputPath, { signal = null } = {}) {
|
|
89
70
|
(0, abort_js_1.throwIfAborted)(signal);
|
|
90
|
-
const
|
|
71
|
+
const stat = await _fs_1.default.promises.lstat(inputPath);
|
|
91
72
|
(0, abort_js_1.throwIfAborted)(signal);
|
|
92
|
-
if (
|
|
73
|
+
if (stat.isSymbolicLink()) {
|
|
93
74
|
throw new errors_js_1.SwarmDeployError(errors_js_1.ERRORS.INVALID_FILENAME, 'Symlinks are not supported');
|
|
94
75
|
}
|
|
95
|
-
if (
|
|
96
|
-
const name = validateBasename(_path_1.default.basename(inputPath));
|
|
97
|
-
if (isReservedHistoryName(name)) {
|
|
98
|
-
throw new errors_js_1.SwarmDeployError(errors_js_1.ERRORS.INVALID_FILENAME, 'Reserved artifact name');
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
paths: [inputPath],
|
|
102
|
-
skipped: [],
|
|
103
|
-
failed: [],
|
|
104
|
-
entries: [{ kind: 'selected', name, path: inputPath }]
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
if (!rootStat.isDirectory()) {
|
|
76
|
+
if (!stat.isFile() && !stat.isDirectory()) {
|
|
108
77
|
throw new errors_js_1.SwarmDeployError(errors_js_1.ERRORS.INVALID_FILENAME, 'Path must be a regular file or directory');
|
|
109
78
|
}
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const skipped = [];
|
|
114
|
-
const failed = [];
|
|
115
|
-
const entries = [];
|
|
116
|
-
for (const name of names) {
|
|
117
|
-
(0, abort_js_1.throwIfAborted)(signal);
|
|
118
|
-
const entryPath = _path_1.default.join(inputPath, name);
|
|
119
|
-
let entryStat;
|
|
120
|
-
try {
|
|
121
|
-
entryStat = await _fs_1.default.promises.lstat(entryPath);
|
|
122
|
-
}
|
|
123
|
-
catch (err) {
|
|
124
|
-
(0, abort_js_1.throwIfAborted)(signal);
|
|
125
|
-
const entry = {
|
|
126
|
-
name,
|
|
127
|
-
path: entryPath,
|
|
128
|
-
reason: 'unreadable',
|
|
129
|
-
code: (0, error_code_js_1.errorCode)(err)
|
|
130
|
-
};
|
|
131
|
-
failed.push(entry);
|
|
132
|
-
entries.push({ kind: 'failed', ...entry });
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
const classified = classifyEntry(entryPath, entryStat);
|
|
136
|
-
if (classified.kind === 'selected') {
|
|
137
|
-
paths.push(entryPath);
|
|
138
|
-
entries.push({ kind: 'selected', name, path: entryPath });
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
skipped.push({
|
|
142
|
-
name,
|
|
143
|
-
path: entryPath,
|
|
144
|
-
reason: classified.reason
|
|
145
|
-
});
|
|
146
|
-
entries.push({ kind: 'skipped', name, path: entryPath, reason: classified.reason });
|
|
79
|
+
const name = validateBasename(_path_1.default.basename(_path_1.default.resolve(inputPath)));
|
|
80
|
+
if (isReservedHistoryName(name)) {
|
|
81
|
+
throw new errors_js_1.SwarmDeployError(errors_js_1.ERRORS.INVALID_FILENAME, 'Reserved artifact name');
|
|
147
82
|
}
|
|
148
|
-
return {
|
|
83
|
+
return { kind: stat.isDirectory() ? 'directory' : 'file', name, path: inputPath };
|
|
149
84
|
}
|
|
150
85
|
//# sourceMappingURL=files.js.map
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,8CAAqB;AACrB,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ServerHooks } from './hooks.js';
|
|
2
|
+
/**
|
|
3
|
+
* Loads a JavaScript hooks module (`.js`, `.mjs` or `.cjs`) and returns the
|
|
4
|
+
* validated, frozen hook snapshot. Only `beforeCommit`, `afterCommit` and
|
|
5
|
+
* `onFailure` are picked, by own property name; other exports are ignored.
|
|
6
|
+
* Defined named exports take precedence over the default export's callbacks. Every failure is a fixed-message configuration
|
|
7
|
+
* error that never includes module content.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadHooksModule(modulePath: string, cwd: string): Promise<ServerHooks>;
|