@01.software/sdk 0.30.1 → 0.31.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/README.md +74 -20
- package/dist/client.cjs +81 -16
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +6 -6
- package/dist/client.d.ts +6 -6
- package/dist/client.js +81 -16
- package/dist/client.js.map +1 -1
- package/dist/{collection-client-B9d9kr1d.d.ts → collection-client-ByzY3hWK.d.ts} +3 -3
- package/dist/{collection-client-QPbwimkU.d.cts → collection-client-DFXXz0vk.d.cts} +3 -3
- package/dist/{const-VZuk2tWc.d.cts → const-AytzliEu.d.cts} +4 -4
- package/dist/{const-B75IFDRi.d.ts → const-BGCP-OJL.d.ts} +4 -4
- package/dist/{index-B2WbhEgT.d.cts → index-BGEhoDUs.d.cts} +1 -1
- package/dist/{index-B2WbhEgT.d.ts → index-BGEhoDUs.d.ts} +1 -1
- package/dist/index.cjs +156 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +156 -19
- package/dist/index.js.map +1 -1
- package/dist/{payload-types-DPjO_IbQ.d.cts → payload-types-Wa4-eC6x.d.cts} +790 -534
- package/dist/{payload-types-DPjO_IbQ.d.ts → payload-types-Wa4-eC6x.d.ts} +790 -534
- package/dist/query.cjs +63 -13
- package/dist/query.cjs.map +1 -1
- package/dist/query.d.cts +6 -6
- package/dist/query.d.ts +6 -6
- package/dist/query.js +63 -13
- package/dist/query.js.map +1 -1
- package/dist/realtime.d.cts +2 -2
- package/dist/realtime.d.ts +2 -2
- package/dist/server.cjs +142 -17
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +32 -7
- package/dist/server.d.ts +32 -7
- package/dist/server.js +142 -17
- package/dist/server.js.map +1 -1
- package/dist/{types-Dlb2mwpX.d.cts → types-BX2mqDf6.d.ts} +46 -6
- package/dist/{types-1fBLrYU7.d.ts → types-CVA10VC-.d.ts} +6 -2
- package/dist/{types-BwT0eeaz.d.cts → types-CmLG-7RL.d.cts} +6 -2
- package/dist/{types-DuSKPiY5.d.ts → types-DChFjQGz.d.cts} +46 -6
- package/dist/ui/form.d.cts +1 -1
- package/dist/ui/form.d.ts +1 -1
- package/dist/ui/video.d.cts +1 -1
- package/dist/ui/video.d.ts +1 -1
- package/dist/webhook.d.cts +3 -3
- package/dist/webhook.d.ts +3 -3
- package/package.json +1 -1
package/dist/query.cjs
CHANGED
|
@@ -385,8 +385,16 @@ var ValidationError = class extends SDKError {
|
|
|
385
385
|
}
|
|
386
386
|
};
|
|
387
387
|
var ApiError = class extends SDKError {
|
|
388
|
-
constructor(message, status, details, userMessage, suggestion) {
|
|
389
|
-
super(
|
|
388
|
+
constructor(message, status, details, userMessage, suggestion, requestId) {
|
|
389
|
+
super(
|
|
390
|
+
"API_ERROR",
|
|
391
|
+
message,
|
|
392
|
+
status,
|
|
393
|
+
details,
|
|
394
|
+
userMessage,
|
|
395
|
+
suggestion,
|
|
396
|
+
requestId
|
|
397
|
+
);
|
|
390
398
|
this.name = "ApiError";
|
|
391
399
|
}
|
|
392
400
|
};
|
|
@@ -417,19 +425,43 @@ var UsageLimitError = class extends SDKError {
|
|
|
417
425
|
};
|
|
418
426
|
var AuthError = class extends SDKError {
|
|
419
427
|
constructor(message, details, userMessage, suggestion, requestId) {
|
|
420
|
-
super(
|
|
428
|
+
super(
|
|
429
|
+
"auth_error",
|
|
430
|
+
message,
|
|
431
|
+
401,
|
|
432
|
+
details,
|
|
433
|
+
userMessage,
|
|
434
|
+
suggestion,
|
|
435
|
+
requestId
|
|
436
|
+
);
|
|
421
437
|
this.name = "AuthError";
|
|
422
438
|
}
|
|
423
439
|
};
|
|
424
440
|
var PermissionError = class extends SDKError {
|
|
425
441
|
constructor(message, details, userMessage, suggestion, requestId) {
|
|
426
|
-
super(
|
|
442
|
+
super(
|
|
443
|
+
"permission_error",
|
|
444
|
+
message,
|
|
445
|
+
403,
|
|
446
|
+
details,
|
|
447
|
+
userMessage,
|
|
448
|
+
suggestion,
|
|
449
|
+
requestId
|
|
450
|
+
);
|
|
427
451
|
this.name = "PermissionError";
|
|
428
452
|
}
|
|
429
453
|
};
|
|
430
454
|
var NotFoundError = class extends SDKError {
|
|
431
455
|
constructor(message, details, userMessage, suggestion, requestId) {
|
|
432
|
-
super(
|
|
456
|
+
super(
|
|
457
|
+
"not_found",
|
|
458
|
+
message,
|
|
459
|
+
404,
|
|
460
|
+
details,
|
|
461
|
+
userMessage,
|
|
462
|
+
suggestion,
|
|
463
|
+
requestId
|
|
464
|
+
);
|
|
433
465
|
this.name = "NotFoundError";
|
|
434
466
|
}
|
|
435
467
|
};
|
|
@@ -441,7 +473,7 @@ var ConflictError = class extends SDKError {
|
|
|
441
473
|
};
|
|
442
474
|
var createNetworkError = (message, status, details, userMessage, suggestion) => new NetworkError(message, status, details, userMessage, suggestion);
|
|
443
475
|
var createValidationError = (message, details, userMessage, suggestion, status) => new ValidationError(message, details, userMessage, suggestion, status);
|
|
444
|
-
var createApiError = (message, status, details, userMessage, suggestion) => new ApiError(message, status, details, userMessage, suggestion);
|
|
476
|
+
var createApiError = (message, status, details, userMessage, suggestion, requestId) => new ApiError(message, status, details, userMessage, suggestion, requestId);
|
|
445
477
|
var createConfigError = (message, details, userMessage, suggestion) => new ConfigError(message, details, userMessage, suggestion);
|
|
446
478
|
var createTimeoutError = (message, details, userMessage, suggestion) => new TimeoutError(message, details, userMessage, suggestion);
|
|
447
479
|
var createUsageLimitError = (message, usage, details, userMessage, suggestion) => new UsageLimitError(message, usage, details, userMessage, suggestion);
|
|
@@ -1077,6 +1109,22 @@ function debugLog(debug, type, message, data) {
|
|
|
1077
1109
|
console.groupEnd();
|
|
1078
1110
|
}
|
|
1079
1111
|
}
|
|
1112
|
+
function redactSensitiveHeader(value) {
|
|
1113
|
+
const prefix = value.toLowerCase().startsWith("bearer ") ? "Bearer " : "";
|
|
1114
|
+
return value.length > 20 ? `${prefix}...****${value.slice(-8)}` : "****";
|
|
1115
|
+
}
|
|
1116
|
+
function redactSensitiveHeaders(headers) {
|
|
1117
|
+
const redacted = Object.fromEntries(headers.entries());
|
|
1118
|
+
if (redacted.authorization) {
|
|
1119
|
+
redacted.authorization = redactSensitiveHeader(redacted.authorization);
|
|
1120
|
+
}
|
|
1121
|
+
if (redacted["x-preview-token"]) {
|
|
1122
|
+
redacted["x-preview-token"] = redactSensitiveHeader(
|
|
1123
|
+
redacted["x-preview-token"]
|
|
1124
|
+
);
|
|
1125
|
+
}
|
|
1126
|
+
return redacted;
|
|
1127
|
+
}
|
|
1080
1128
|
function getErrorSuggestion(status) {
|
|
1081
1129
|
if (status === 400)
|
|
1082
1130
|
return "The request data failed validation. Check field values and types.";
|
|
@@ -1151,6 +1199,12 @@ async function parseErrorBody(response) {
|
|
|
1151
1199
|
return fallback;
|
|
1152
1200
|
}
|
|
1153
1201
|
}
|
|
1202
|
+
function getParsedErrorSuggestion(status, parsed) {
|
|
1203
|
+
if (status === 403 && parsed.reason === "origin_not_allowed") {
|
|
1204
|
+
return "Add the request origin to the tenant Browser API origins, then retry the browser request.";
|
|
1205
|
+
}
|
|
1206
|
+
return getErrorSuggestion(status);
|
|
1207
|
+
}
|
|
1154
1208
|
async function delay(ms) {
|
|
1155
1209
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
1156
1210
|
}
|
|
@@ -1164,7 +1218,7 @@ function createHttpStatusError(status, parsed, details, requestId) {
|
|
|
1164
1218
|
...parsed.errors && { errors: parsed.errors },
|
|
1165
1219
|
...parsed.body && { body: parsed.body }
|
|
1166
1220
|
};
|
|
1167
|
-
const suggestion =
|
|
1221
|
+
const suggestion = getParsedErrorSuggestion(status, parsed);
|
|
1168
1222
|
if (status === 400 || status === 422) {
|
|
1169
1223
|
return attachRequestId(
|
|
1170
1224
|
createValidationError(
|
|
@@ -1270,11 +1324,7 @@ async function httpFetch(url, options) {
|
|
|
1270
1324
|
if (!headers.has("Content-Type") && requestInit.body && !(requestInit.body instanceof FormData)) {
|
|
1271
1325
|
headers.set("Content-Type", "application/json");
|
|
1272
1326
|
}
|
|
1273
|
-
const redactedHeaders =
|
|
1274
|
-
if (redactedHeaders["authorization"]) {
|
|
1275
|
-
const token = redactedHeaders["authorization"];
|
|
1276
|
-
redactedHeaders["authorization"] = token.length > 20 ? `Bearer ...****${token.slice(-8)}` : "****";
|
|
1277
|
-
}
|
|
1327
|
+
const redactedHeaders = redactSensitiveHeaders(headers);
|
|
1278
1328
|
debugLog(debug, "request", url, {
|
|
1279
1329
|
method: requestInit.method || "GET",
|
|
1280
1330
|
headers: redactedHeaders,
|
|
@@ -1292,7 +1342,7 @@ async function httpFetch(url, options) {
|
|
|
1292
1342
|
debugLog(debug, "response", url, {
|
|
1293
1343
|
status: response.status,
|
|
1294
1344
|
statusText: response.statusText,
|
|
1295
|
-
headers:
|
|
1345
|
+
headers: redactSensitiveHeaders(response.headers)
|
|
1296
1346
|
});
|
|
1297
1347
|
if (!response.ok) {
|
|
1298
1348
|
if (isUsageLimitExceededResponse(response)) {
|