@pellux/goodvibes-sdk 0.26.2 → 0.26.4
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/_internal/contracts/artifacts/operator-contract.json +1 -1
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +1 -1
- package/dist/_internal/contracts/generated/foundation-metadata.js +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +1 -1
- package/dist/_internal/daemon/artifact-upload.d.ts.map +1 -1
- package/dist/_internal/daemon/artifact-upload.js +12 -46
- package/dist/_internal/platform/artifacts/store.d.ts.map +1 -1
- package/dist/_internal/platform/artifacts/store.js +8 -1
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Synced from packages/contracts/src/generated/foundation-metadata.ts
|
|
2
2
|
export const FOUNDATION_METADATA = {
|
|
3
3
|
"productId": "goodvibes",
|
|
4
|
-
"productVersion": "0.26.
|
|
4
|
+
"productVersion": "0.26.3",
|
|
5
5
|
"operatorMethodCount": 242,
|
|
6
6
|
"operatorEventCount": 30,
|
|
7
7
|
"peerEndpointCount": 6
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-upload.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/artifact-upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifact-upload.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/artifact-upload.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,CAAC,IAAI,MAAM,CAAC;IACvB,gBAAgB,CAAC,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,MAAM,EACX,cAAc,CAAC,UAAU,CAAC,GAC1B,aAAa,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,GAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAaD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAGrE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wBAAsB,+BAA+B,CACnD,aAAa,EAAE,uBAAuB,EACtC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAM1C"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Synced from packages/daemon-sdk/src/artifact-upload.ts
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import { createWriteStream } from 'node:fs';
|
|
4
3
|
import { mkdtemp, open, rm } from 'node:fs/promises';
|
|
5
4
|
import { tmpdir } from 'node:os';
|
|
6
5
|
import { join } from 'node:path';
|
|
@@ -243,43 +242,6 @@ function parseMultipartPartHeaders(headerText) {
|
|
|
243
242
|
output.contentType = contentType.split(';')[0]?.trim();
|
|
244
243
|
return output;
|
|
245
244
|
}
|
|
246
|
-
async function waitForWriterDrain(writer) {
|
|
247
|
-
await new Promise((resolve, reject) => {
|
|
248
|
-
const cleanup = () => {
|
|
249
|
-
writer.off('drain', onDrain);
|
|
250
|
-
writer.off('error', onError);
|
|
251
|
-
};
|
|
252
|
-
const onDrain = () => {
|
|
253
|
-
cleanup();
|
|
254
|
-
resolve();
|
|
255
|
-
};
|
|
256
|
-
const onError = (error) => {
|
|
257
|
-
cleanup();
|
|
258
|
-
reject(error);
|
|
259
|
-
};
|
|
260
|
-
writer.once('drain', onDrain);
|
|
261
|
-
writer.once('error', onError);
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
async function finishWriter(writer) {
|
|
265
|
-
await new Promise((resolve, reject) => {
|
|
266
|
-
const cleanup = () => {
|
|
267
|
-
writer.off('finish', onFinish);
|
|
268
|
-
writer.off('error', onError);
|
|
269
|
-
};
|
|
270
|
-
const onFinish = () => {
|
|
271
|
-
cleanup();
|
|
272
|
-
resolve();
|
|
273
|
-
};
|
|
274
|
-
const onError = (error) => {
|
|
275
|
-
cleanup();
|
|
276
|
-
reject(error);
|
|
277
|
-
};
|
|
278
|
-
writer.once('finish', onFinish);
|
|
279
|
-
writer.once('error', onError);
|
|
280
|
-
writer.end();
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
245
|
async function spoolMultipartUpload(req, maxFileBytes) {
|
|
284
246
|
const boundary = multipartBoundary(req.headers.get('content-type') ?? '');
|
|
285
247
|
if (!boundary)
|
|
@@ -386,25 +348,22 @@ async function spoolMultipartUpload(req, maxFileBytes) {
|
|
|
386
348
|
return state;
|
|
387
349
|
};
|
|
388
350
|
const readFilePart = async (headers) => {
|
|
389
|
-
const
|
|
351
|
+
const handle = await open(filePath, 'wx');
|
|
390
352
|
try {
|
|
391
353
|
const state = await readPart(async (chunk) => {
|
|
392
354
|
sizeBytes += chunk.byteLength;
|
|
393
355
|
if (typeof maxFileBytes === 'number' && sizeBytes > maxFileBytes) {
|
|
394
356
|
throw new Error(`Artifact exceeds the ${maxFileBytes}-byte limit.`);
|
|
395
357
|
}
|
|
396
|
-
|
|
397
|
-
await waitForWriterDrain(writer);
|
|
358
|
+
await handle.write(chunk);
|
|
398
359
|
});
|
|
399
|
-
await finishWriter(writer);
|
|
400
360
|
fileSeen = true;
|
|
401
361
|
filename = headers.filename;
|
|
402
362
|
mimeType = headers.contentType;
|
|
403
363
|
return state;
|
|
404
364
|
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
throw error;
|
|
365
|
+
finally {
|
|
366
|
+
await handle.close();
|
|
408
367
|
}
|
|
409
368
|
};
|
|
410
369
|
try {
|
|
@@ -484,7 +443,14 @@ async function* iterateUploadStream(stream) {
|
|
|
484
443
|
}
|
|
485
444
|
}
|
|
486
445
|
finally {
|
|
487
|
-
|
|
446
|
+
try {
|
|
447
|
+
reader.releaseLock();
|
|
448
|
+
}
|
|
449
|
+
catch {
|
|
450
|
+
// Some server runtimes expose request body readers whose releaseLock
|
|
451
|
+
// throws after successful consumption. Upload cleanup must not fail the
|
|
452
|
+
// artifact write.
|
|
453
|
+
}
|
|
488
454
|
}
|
|
489
455
|
return;
|
|
490
456
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/artifacts/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/artifacts/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;AAkND,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;gBAEtC,MAAM,EAAE,mBAAmB;IAavC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,WAAW,IAAI,MAAM;IAIrB,IAAI,CAAC,KAAK,SAAM,GAAG,kBAAkB,EAAE;IAQvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAKtC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5E,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM/D,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAiCvE,qBAAqB;YA+BrB,kBAAkB;IAkC1B,YAAY,CAChB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE;QACP,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;KACzC,GACL,OAAO,CAAC,kBAAkB,CAAC;IAoC9B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;YAaX,YAAY;YAoDZ,kBAAkB;IA6DhC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,uBAAuB;CAchC"}
|
|
@@ -125,7 +125,14 @@ async function* iterateWebStream(stream) {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
finally {
|
|
128
|
-
|
|
128
|
+
try {
|
|
129
|
+
reader.releaseLock();
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
logger.debug('[artifacts] Ignored upload stream reader release failure', {
|
|
133
|
+
error: summarizeError(error),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
129
136
|
}
|
|
130
137
|
}
|
|
131
138
|
function streamToAsyncIterable(stream) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.26.
|
|
3
|
+
let version = '0.26.4';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|