@aexhq/sdk 0.40.7 → 0.40.9
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/_contracts/asset-upload-helper.d.ts +38 -0
- package/dist/_contracts/asset-upload-helper.js +111 -0
- package/dist/_contracts/internal.d.ts +5 -9
- package/dist/_contracts/internal.js +5 -79
- package/dist/_contracts/operations.d.ts +9 -2
- package/dist/_contracts/operations.js +143 -16
- package/dist/_contracts/retry-core.d.ts +27 -0
- package/dist/_contracts/retry-core.js +75 -0
- package/dist/_contracts/runtime-types.d.ts +6 -0
- package/dist/asset-upload.d.ts +2 -1
- package/dist/asset-upload.js +28 -61
- package/dist/asset-upload.js.map +1 -1
- package/dist/cli.mjs +299 -80
- package/dist/cli.mjs.sha256 +1 -1
- package/dist/client.d.ts +5 -0
- package/dist/client.js +3 -2
- package/dist/client.js.map +1 -1
- package/dist/retry.js +13 -41
- package/dist/retry.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public-safe retry primitives shared by public packages through the
|
|
3
|
+
* `@aexhq/contracts/internal` subpath. Keep this module free of hosted
|
|
4
|
+
* implementation details and do not export it from the public contracts root.
|
|
5
|
+
*/
|
|
6
|
+
export const RETRYABLE_HTTP_STATUS = [429, 500, 502, 503, 504, 529];
|
|
7
|
+
export const RATE_LIMIT_HTTP_STATUS = [429, 503, 529];
|
|
8
|
+
const RETRYABLE_HTTP_STATUS_SET = new Set(RETRYABLE_HTTP_STATUS);
|
|
9
|
+
const RATE_LIMIT_HTTP_STATUS_SET = new Set(RATE_LIMIT_HTTP_STATUS);
|
|
10
|
+
export function isRetryableHttpStatus(status) {
|
|
11
|
+
return RETRYABLE_HTTP_STATUS_SET.has(status);
|
|
12
|
+
}
|
|
13
|
+
export function isRateLimitHttpStatus(status) {
|
|
14
|
+
return RATE_LIMIT_HTTP_STATUS_SET.has(status);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parse an HTTP `Retry-After` header into milliseconds. RFC 7231 permits either
|
|
18
|
+
* a non-negative integer number of seconds or an HTTP-date.
|
|
19
|
+
*/
|
|
20
|
+
export function parseRetryAfterMs(headerValue, now = Date.now()) {
|
|
21
|
+
if (headerValue === null || headerValue === undefined)
|
|
22
|
+
return undefined;
|
|
23
|
+
const trimmed = headerValue.trim();
|
|
24
|
+
if (trimmed.length === 0)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (/^\d+$/.test(trimmed)) {
|
|
27
|
+
return Number(trimmed) * 1000;
|
|
28
|
+
}
|
|
29
|
+
const dateMs = Date.parse(trimmed);
|
|
30
|
+
if (!Number.isNaN(dateMs)) {
|
|
31
|
+
return Math.max(0, dateMs - now);
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Full-jitter exponential backoff: the nominal wait doubles per failed attempt
|
|
37
|
+
* and the actual delay is sampled uniformly in `[0, nominal]`.
|
|
38
|
+
*/
|
|
39
|
+
export function computeRetryBackoffDelayMs(config, attemptNumber, random) {
|
|
40
|
+
const exponent = Math.max(0, attemptNumber - 1);
|
|
41
|
+
const nominal = Math.min(config.maxDelayMs, config.initialDelayMs * 2 ** exponent);
|
|
42
|
+
return Math.round(random() * nominal);
|
|
43
|
+
}
|
|
44
|
+
/** Combine a server `Retry-After` floor with the jittered backoff delay. */
|
|
45
|
+
export function computeRetryDelayMs(config, attemptNumber, random, retryAfterMs) {
|
|
46
|
+
const backoff = computeRetryBackoffDelayMs(config, attemptNumber, random);
|
|
47
|
+
return retryAfterMs === undefined ? backoff : Math.max(retryAfterMs, backoff);
|
|
48
|
+
}
|
|
49
|
+
export function abortableSleep(ms, signal) {
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
if (signal?.aborted) {
|
|
52
|
+
reject(abortReason(signal));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const timer = setTimeout(() => {
|
|
56
|
+
signal?.removeEventListener("abort", onAbort);
|
|
57
|
+
resolve();
|
|
58
|
+
}, ms);
|
|
59
|
+
const onAbort = () => {
|
|
60
|
+
clearTimeout(timer);
|
|
61
|
+
reject(signal ? abortReason(signal) : makeAbortError());
|
|
62
|
+
};
|
|
63
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function abortReason(signal) {
|
|
67
|
+
return signal.reason instanceof Error ? signal.reason : makeAbortError();
|
|
68
|
+
}
|
|
69
|
+
function makeAbortError() {
|
|
70
|
+
if (typeof DOMException !== "undefined")
|
|
71
|
+
return new DOMException("Aborted", "AbortError");
|
|
72
|
+
const err = new Error("Aborted");
|
|
73
|
+
err.name = "AbortError";
|
|
74
|
+
return err;
|
|
75
|
+
}
|
|
@@ -432,6 +432,12 @@ export interface ReadOutputTextOptions {
|
|
|
432
432
|
* reached, so the remainder of a large file is never transferred.
|
|
433
433
|
*/
|
|
434
434
|
readonly maxBytes?: number;
|
|
435
|
+
/**
|
|
436
|
+
* Per-attempt timeout for fetching and reading the selected output body.
|
|
437
|
+
* Defaults to 15_000ms; idempotent output reads retry once on timeout before
|
|
438
|
+
* surfacing a structured NETWORK_ERROR.
|
|
439
|
+
*/
|
|
440
|
+
readonly timeoutMs?: number;
|
|
435
441
|
/**
|
|
436
442
|
* When set, return only the lines of the (capped) text matching this pattern.
|
|
437
443
|
* A string is matched literally (case-insensitive); a RegExp is used as given.
|
package/dist/asset-upload.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* 3. POST /assets/finalize → confirms the object exists (HEAD only).
|
|
20
20
|
*
|
|
21
21
|
*/
|
|
22
|
-
import type
|
|
22
|
+
import { type AssetFetch, type AssetUploadRetryOptions, type AssetsHttpClient, type UploadedAsset } from "./_contracts/internal.js";
|
|
23
23
|
import type { ByteSink } from "./canonical-zip.js";
|
|
24
24
|
export { uploadAsset } from "./_contracts/internal.js";
|
|
25
25
|
export type { AssetFetch, AssetsHttpClient, UploadAssetArgs, UploadedAsset } from "./_contracts/internal.js";
|
|
@@ -39,6 +39,7 @@ export interface UploadAssetStreamArgs {
|
|
|
39
39
|
readonly drive: ZipStreamDriver;
|
|
40
40
|
readonly contentType?: string;
|
|
41
41
|
readonly fetch?: AssetFetch;
|
|
42
|
+
readonly retry?: AssetUploadRetryOptions;
|
|
42
43
|
readonly partSize?: number;
|
|
43
44
|
readonly partConcurrency?: number;
|
|
44
45
|
}
|
package/dist/asset-upload.js
CHANGED
|
@@ -19,9 +19,8 @@
|
|
|
19
19
|
* 3. POST /assets/finalize → confirms the object exists (HEAD only).
|
|
20
20
|
*
|
|
21
21
|
*/
|
|
22
|
-
import {
|
|
22
|
+
import { abortableSleep, directUploadRetryDelayMs, directUploadNetworkError, directUploadResponseError, isRetryableUploadError, isRetryableUploadStatus, parseRetryAfterMs, resolveAssetUploadRetryConfig, withinDirectUploadRetryBudget } from "./_contracts/internal.js";
|
|
23
23
|
export { uploadAsset } from "./_contracts/internal.js";
|
|
24
|
-
const DIRECT_UPLOAD_MAX_ATTEMPTS = 3;
|
|
25
24
|
// ---------------------------------------------------------------------------
|
|
26
25
|
// Internal helpers
|
|
27
26
|
// ---------------------------------------------------------------------------
|
|
@@ -93,7 +92,10 @@ export async function uploadAssetMultipart(args) {
|
|
|
93
92
|
let url = urlByPart.get(partNumber);
|
|
94
93
|
if (!url)
|
|
95
94
|
url = await refreshPartUrl(partNumber);
|
|
96
|
-
const etag = await putPartWithRetry(doFetch, url, bytes, args.contentType, () => refreshPartUrl(partNumber));
|
|
95
|
+
const etag = await putPartWithRetry(doFetch, url, bytes, args.contentType, () => refreshPartUrl(partNumber), args.retry);
|
|
96
|
+
if (!etag) {
|
|
97
|
+
throw new Error(`uploadAssetMultipart: part ${partNumber} PUT succeeded without an ETag header`);
|
|
98
|
+
}
|
|
97
99
|
parts.push({ partNumber, etag });
|
|
98
100
|
};
|
|
99
101
|
const submitPart = async (partNumber, bytes) => {
|
|
@@ -207,10 +209,15 @@ function makePartChunker(partSize, emit) {
|
|
|
207
209
|
};
|
|
208
210
|
}
|
|
209
211
|
/** PUT one part with bounded retry; refreshes the URL once on a 403 (expiry). Returns the ETag. */
|
|
210
|
-
async function putPartWithRetry(fetchImpl, url, bytes, contentType, refreshUrl) {
|
|
212
|
+
async function putPartWithRetry(fetchImpl, url, bytes, contentType, refreshUrl, retryOptions) {
|
|
211
213
|
let currentUrl = url;
|
|
212
214
|
let refreshed = false;
|
|
213
|
-
|
|
215
|
+
const retryConfig = resolveAssetUploadRetryConfig(retryOptions);
|
|
216
|
+
const sleep = retryOptions?.sleep ?? abortableSleep;
|
|
217
|
+
const random = retryOptions?.random ?? Math.random;
|
|
218
|
+
const now = retryOptions?.now ?? Date.now;
|
|
219
|
+
const startedAt = now();
|
|
220
|
+
for (let attempt = 1; attempt <= retryConfig.maxAttempts; attempt++) {
|
|
214
221
|
let response;
|
|
215
222
|
try {
|
|
216
223
|
response = await fetchImpl(currentUrl, {
|
|
@@ -220,8 +227,14 @@ async function putPartWithRetry(fetchImpl, url, bytes, contentType, refreshUrl)
|
|
|
220
227
|
});
|
|
221
228
|
}
|
|
222
229
|
catch (err) {
|
|
223
|
-
if (attempt <
|
|
230
|
+
if (attempt < retryConfig.maxAttempts && isRetryableUploadError(err)) {
|
|
231
|
+
const delay = directUploadRetryDelayMs(retryConfig, attempt, random, undefined);
|
|
232
|
+
if (!withinDirectUploadRetryBudget(retryConfig, startedAt, delay, now)) {
|
|
233
|
+
throw directUploadNetworkError(currentUrl, err, attempt);
|
|
234
|
+
}
|
|
235
|
+
await sleep(delay);
|
|
224
236
|
continue;
|
|
237
|
+
}
|
|
225
238
|
throw directUploadNetworkError(currentUrl, err, attempt);
|
|
226
239
|
}
|
|
227
240
|
if (response.ok) {
|
|
@@ -235,66 +248,20 @@ async function putPartWithRetry(fetchImpl, url, bytes, contentType, refreshUrl)
|
|
|
235
248
|
currentUrl = await refreshUrl();
|
|
236
249
|
continue;
|
|
237
250
|
}
|
|
238
|
-
if (attempt <
|
|
251
|
+
if (attempt < retryConfig.maxAttempts && isRetryableUploadStatus(response.status)) {
|
|
252
|
+
const retryAfterMs = parseRetryAfterMs(response.headers?.get("retry-after"), now());
|
|
253
|
+
const delay = directUploadRetryDelayMs(retryConfig, attempt, random, retryAfterMs);
|
|
254
|
+
if (!withinDirectUploadRetryBudget(retryConfig, startedAt, delay, now)) {
|
|
255
|
+
const detail = await response.text().catch(() => "");
|
|
256
|
+
throw directUploadResponseError(currentUrl, response.status, detail, attempt);
|
|
257
|
+
}
|
|
239
258
|
await response.text().catch(() => "");
|
|
259
|
+
await sleep(delay);
|
|
240
260
|
continue;
|
|
241
261
|
}
|
|
242
262
|
const detail = await response.text().catch(() => "");
|
|
243
263
|
throw directUploadResponseError(currentUrl, response.status, detail, attempt);
|
|
244
264
|
}
|
|
245
|
-
throw directUploadResponseError(currentUrl, 0, "exhausted retries",
|
|
246
|
-
}
|
|
247
|
-
function isRetryableUploadStatus(status) {
|
|
248
|
-
return status === 408 || status === 425 || status === 429 || (status >= 500 && status <= 599);
|
|
249
|
-
}
|
|
250
|
-
function isRetryableUploadError(err) {
|
|
251
|
-
if (isNamedError(err, "AbortError"))
|
|
252
|
-
return false;
|
|
253
|
-
return true;
|
|
254
|
-
}
|
|
255
|
-
function directUploadNetworkError(uploadUrl, err, attempts) {
|
|
256
|
-
const safeUrl = redactUrl(uploadUrl);
|
|
257
|
-
const code = extractErrorCode(err);
|
|
258
|
-
const detail = sanitizeUploadText(errorMessage(err)).slice(0, 500);
|
|
259
|
-
return new Error(`uploadAsset: direct upload PUT failed for ${safeUrl} after ${attemptsLabel(attempts)}` +
|
|
260
|
-
(code ? ` (${code})` : "") +
|
|
261
|
-
(detail ? `: ${detail}` : ""));
|
|
262
|
-
}
|
|
263
|
-
function directUploadResponseError(uploadUrl, status, detail, attempts) {
|
|
264
|
-
const safeUrl = redactUrl(uploadUrl);
|
|
265
|
-
const safeDetail = sanitizeUploadText(detail).slice(0, 500);
|
|
266
|
-
return new Error(`uploadAsset: direct upload PUT failed for ${safeUrl} with status ${status}` +
|
|
267
|
-
(attempts > 1 ? ` after ${attemptsLabel(attempts)}` : "") +
|
|
268
|
-
(safeDetail ? `: ${safeDetail}` : ""));
|
|
269
|
-
}
|
|
270
|
-
function attemptsLabel(attempts) {
|
|
271
|
-
return attempts === 1 ? "1 attempt" : `${attempts} attempts`;
|
|
272
|
-
}
|
|
273
|
-
function errorMessage(err) {
|
|
274
|
-
if (err instanceof Error)
|
|
275
|
-
return err.message || err.name;
|
|
276
|
-
if (typeof err === "string")
|
|
277
|
-
return err;
|
|
278
|
-
return String(err);
|
|
279
|
-
}
|
|
280
|
-
function isNamedError(err, name) {
|
|
281
|
-
return stringProperty(err, "name") === name;
|
|
282
|
-
}
|
|
283
|
-
function stringProperty(value, key) {
|
|
284
|
-
if (!value || typeof value !== "object")
|
|
285
|
-
return undefined;
|
|
286
|
-
const prop = value[key];
|
|
287
|
-
return typeof prop === "string" && prop.length > 0 ? prop : undefined;
|
|
288
|
-
}
|
|
289
|
-
function sanitizeUploadText(text) {
|
|
290
|
-
return text
|
|
291
|
-
.replace(/https?:\/\/[^\s<>"'`]+/g, (raw) => redactUrlPreservingTrailingPunctuation(raw))
|
|
292
|
-
.replace(/\b(?:X-Amz-(?:Algorithm|Credential|Date|Expires|Security-Token|Signature|SignedHeaders)|AWSAccessKeyId|Signature|Credential|Security-Token|AccessKeyId|SecretAccessKey|SessionToken)=([^&\s<>"'`]+)/gi, "[redacted]")
|
|
293
|
-
.replace(/\bAKIA[0-9A-Z]{8,}\b/g, "[redacted]");
|
|
294
|
-
}
|
|
295
|
-
function redactUrlPreservingTrailingPunctuation(raw) {
|
|
296
|
-
const trailing = raw.match(/[),.;:!?]+$/)?.[0] ?? "";
|
|
297
|
-
const candidate = trailing ? raw.slice(0, -trailing.length) : raw;
|
|
298
|
-
return `${redactUrl(candidate)}${trailing}`;
|
|
265
|
+
throw directUploadResponseError(currentUrl, 0, "exhausted retries", retryConfig.maxAttempts);
|
|
299
266
|
}
|
|
300
267
|
//# sourceMappingURL=asset-upload.js.map
|
package/dist/asset-upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-upload.js","sourceRoot":"","sources":["../src/asset-upload.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asset-upload.js","sourceRoot":"","sources":["../src/asset-upload.ts"],"names":[],"mappings":"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"}
|