@automate.ax/integration-contracts 0.93.1 → 0.95.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/close/api.d.ts +3 -1
- package/dist/close/api.js +5 -2
- package/dist/close/events.d.ts +27 -27
- package/dist/close/schemas.d.ts +9 -9
- package/dist/close/schemas.js +1 -1
- package/dist/jobnimbus/api.d.ts +3 -1
- package/dist/jobnimbus/api.js +6 -5
- package/dist/trello/api.d.ts +25 -1
- package/dist/trello/api.js +56 -4
- package/dist/trello/event-schemas.d.ts +5585 -129
- package/dist/trello/event-schemas.js +324 -64
- package/dist/trello/index.d.ts +5277 -51
- package/dist/trello/index.js +106 -2
- package/dist/trello/schemas.d.ts +186 -0
- package/dist/trello/schemas.js +220 -0
- package/package.json +2 -2
- package/src/close/api.ts +5 -1
- package/src/close/schemas.ts +1 -1
- package/src/jobnimbus/api.ts +10 -4
- package/src/trello/api.ts +92 -5
- package/src/trello/event-schemas.ts +391 -91
- package/src/trello/index.ts +131 -1
- package/src/trello/schemas.ts +273 -0
package/dist/close/api.d.ts
CHANGED
|
@@ -13,14 +13,16 @@ interface CloseRequestOptions<TSchema extends z.ZodType> {
|
|
|
13
13
|
/** Error returned by a rejected Close API request. */
|
|
14
14
|
export declare class CloseApiError extends Error {
|
|
15
15
|
readonly details: Encodable;
|
|
16
|
+
readonly retryAfter?: string;
|
|
16
17
|
readonly status: number;
|
|
17
18
|
/**
|
|
18
19
|
* Creates an error from a rejected Close response.
|
|
19
20
|
*
|
|
20
21
|
* @param status - HTTP response status.
|
|
21
22
|
* @param details - Codec-safe response details.
|
|
23
|
+
* @param retryAfter - Raw provider retry timing, when present.
|
|
22
24
|
*/
|
|
23
|
-
constructor(status: number, details: Encodable);
|
|
25
|
+
constructor(status: number, details: Encodable, retryAfter?: string);
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Creates a minimal authenticated Close REST client.
|
package/dist/close/api.js
CHANGED
|
@@ -17,17 +17,20 @@ export const CLOSE_RESPONSE_SCHEMA = z.union([
|
|
|
17
17
|
/** Error returned by a rejected Close API request. */
|
|
18
18
|
export class CloseApiError extends Error {
|
|
19
19
|
details;
|
|
20
|
+
retryAfter;
|
|
20
21
|
status;
|
|
21
22
|
/**
|
|
22
23
|
* Creates an error from a rejected Close response.
|
|
23
24
|
*
|
|
24
25
|
* @param status - HTTP response status.
|
|
25
26
|
* @param details - Codec-safe response details.
|
|
27
|
+
* @param retryAfter - Raw provider retry timing, when present.
|
|
26
28
|
*/
|
|
27
|
-
constructor(status, details) {
|
|
29
|
+
constructor(status, details, retryAfter) {
|
|
28
30
|
super(`Close API request failed (${status}).`);
|
|
29
31
|
this.name = "CloseApiError";
|
|
30
32
|
this.details = details;
|
|
33
|
+
this.retryAfter = retryAfter;
|
|
31
34
|
this.status = status;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
@@ -85,7 +88,7 @@ export function getCloseApi(secret) {
|
|
|
85
88
|
const parsed = text ? parseJson(text) : null;
|
|
86
89
|
const result = CLOSE_RESPONSE_SCHEMA.safeParse(options.responseKeyFormat === "provider" ? parsed : fromClose(parsed));
|
|
87
90
|
if (!response.ok || !result.success) {
|
|
88
|
-
throw new CloseApiError(response.status, result.success ? result.data : { response: text });
|
|
91
|
+
throw new CloseApiError(response.status, result.success ? result.data : { response: text }, response.headers.get("Retry-After") ?? undefined);
|
|
89
92
|
}
|
|
90
93
|
return options.responseSchema.parse(result.data);
|
|
91
94
|
},
|
package/dist/close/events.d.ts
CHANGED
|
@@ -2139,7 +2139,7 @@ export declare const closeTriggerContracts: {
|
|
|
2139
2139
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2140
2140
|
id: z.ZodOptional<z.ZodString>;
|
|
2141
2141
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2142
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2142
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2143
2143
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2144
2144
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2145
2145
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2175,7 +2175,7 @@ export declare const closeTriggerContracts: {
|
|
|
2175
2175
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2176
2176
|
id: z.ZodOptional<z.ZodString>;
|
|
2177
2177
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2178
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2178
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2179
2179
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2180
2180
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2181
2181
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2213,7 +2213,7 @@ export declare const closeTriggerContracts: {
|
|
|
2213
2213
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2214
2214
|
id: z.ZodOptional<z.ZodString>;
|
|
2215
2215
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2216
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2216
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2217
2217
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2218
2218
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2219
2219
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2248,7 +2248,7 @@ export declare const closeTriggerContracts: {
|
|
|
2248
2248
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2249
2249
|
id: z.ZodOptional<z.ZodString>;
|
|
2250
2250
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2251
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2251
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2252
2252
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2253
2253
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2254
2254
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2283,7 +2283,7 @@ export declare const closeTriggerContracts: {
|
|
|
2283
2283
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2284
2284
|
id: z.ZodOptional<z.ZodString>;
|
|
2285
2285
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2286
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2286
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2287
2287
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2288
2288
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2289
2289
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2320,7 +2320,7 @@ export declare const closeTriggerContracts: {
|
|
|
2320
2320
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2321
2321
|
id: z.ZodOptional<z.ZodString>;
|
|
2322
2322
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2323
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2323
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2324
2324
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2325
2325
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2326
2326
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2361,7 +2361,7 @@ export declare const closeTriggerContracts: {
|
|
|
2361
2361
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2362
2362
|
id: z.ZodOptional<z.ZodString>;
|
|
2363
2363
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2364
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2364
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2365
2365
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2366
2366
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2367
2367
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2405,7 +2405,7 @@ export declare const closeTriggerContracts: {
|
|
|
2405
2405
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2406
2406
|
id: z.ZodOptional<z.ZodString>;
|
|
2407
2407
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2408
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2408
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2409
2409
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2410
2410
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2411
2411
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2444,7 +2444,7 @@ export declare const closeTriggerContracts: {
|
|
|
2444
2444
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2445
2445
|
id: z.ZodOptional<z.ZodString>;
|
|
2446
2446
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2447
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2447
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2448
2448
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2449
2449
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2450
2450
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2496,7 +2496,7 @@ export declare const closeTriggerContracts: {
|
|
|
2496
2496
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2497
2497
|
id: z.ZodOptional<z.ZodString>;
|
|
2498
2498
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2499
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2499
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2500
2500
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2501
2501
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2502
2502
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2532,7 +2532,7 @@ export declare const closeTriggerContracts: {
|
|
|
2532
2532
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2533
2533
|
id: z.ZodOptional<z.ZodString>;
|
|
2534
2534
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2535
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2535
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2536
2536
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2537
2537
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2538
2538
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2570,7 +2570,7 @@ export declare const closeTriggerContracts: {
|
|
|
2570
2570
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2571
2571
|
id: z.ZodOptional<z.ZodString>;
|
|
2572
2572
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2573
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2573
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2574
2574
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2575
2575
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2576
2576
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2605,7 +2605,7 @@ export declare const closeTriggerContracts: {
|
|
|
2605
2605
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2606
2606
|
id: z.ZodOptional<z.ZodString>;
|
|
2607
2607
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2608
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2608
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2609
2609
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2610
2610
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2611
2611
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2640,7 +2640,7 @@ export declare const closeTriggerContracts: {
|
|
|
2640
2640
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2641
2641
|
id: z.ZodOptional<z.ZodString>;
|
|
2642
2642
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2643
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2643
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2644
2644
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2645
2645
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2646
2646
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2677,7 +2677,7 @@ export declare const closeTriggerContracts: {
|
|
|
2677
2677
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2678
2678
|
id: z.ZodOptional<z.ZodString>;
|
|
2679
2679
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2680
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2680
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2681
2681
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2682
2682
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2683
2683
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2718,7 +2718,7 @@ export declare const closeTriggerContracts: {
|
|
|
2718
2718
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2719
2719
|
id: z.ZodOptional<z.ZodString>;
|
|
2720
2720
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2721
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2721
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2722
2722
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2723
2723
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2724
2724
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2762,7 +2762,7 @@ export declare const closeTriggerContracts: {
|
|
|
2762
2762
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2763
2763
|
id: z.ZodOptional<z.ZodString>;
|
|
2764
2764
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2765
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2765
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2766
2766
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2767
2767
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2768
2768
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2801,7 +2801,7 @@ export declare const closeTriggerContracts: {
|
|
|
2801
2801
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2802
2802
|
id: z.ZodOptional<z.ZodString>;
|
|
2803
2803
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2804
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2804
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2805
2805
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2806
2806
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2807
2807
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2873,7 +2873,7 @@ export declare const closeTriggerContracts: {
|
|
|
2873
2873
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2874
2874
|
id: z.ZodOptional<z.ZodString>;
|
|
2875
2875
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2876
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2876
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2877
2877
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2878
2878
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2879
2879
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2909,7 +2909,7 @@ export declare const closeTriggerContracts: {
|
|
|
2909
2909
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2910
2910
|
id: z.ZodOptional<z.ZodString>;
|
|
2911
2911
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2912
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2912
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2913
2913
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2914
2914
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2915
2915
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2947,7 +2947,7 @@ export declare const closeTriggerContracts: {
|
|
|
2947
2947
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2948
2948
|
id: z.ZodOptional<z.ZodString>;
|
|
2949
2949
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2950
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2950
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2951
2951
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2952
2952
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2953
2953
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -2982,7 +2982,7 @@ export declare const closeTriggerContracts: {
|
|
|
2982
2982
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
2983
2983
|
id: z.ZodOptional<z.ZodString>;
|
|
2984
2984
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
2985
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
2985
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
2986
2986
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2987
2987
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
2988
2988
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -3017,7 +3017,7 @@ export declare const closeTriggerContracts: {
|
|
|
3017
3017
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
3018
3018
|
id: z.ZodOptional<z.ZodString>;
|
|
3019
3019
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
3020
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
3020
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
3021
3021
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3022
3022
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3023
3023
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -3054,7 +3054,7 @@ export declare const closeTriggerContracts: {
|
|
|
3054
3054
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
3055
3055
|
id: z.ZodOptional<z.ZodString>;
|
|
3056
3056
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
3057
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
3057
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
3058
3058
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3059
3059
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3060
3060
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -3095,7 +3095,7 @@ export declare const closeTriggerContracts: {
|
|
|
3095
3095
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
3096
3096
|
id: z.ZodOptional<z.ZodString>;
|
|
3097
3097
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
3098
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
3098
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
3099
3099
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3100
3100
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3101
3101
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -3139,7 +3139,7 @@ export declare const closeTriggerContracts: {
|
|
|
3139
3139
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
3140
3140
|
id: z.ZodOptional<z.ZodString>;
|
|
3141
3141
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
3142
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
3142
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
3143
3143
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3144
3144
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3145
3145
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -3178,7 +3178,7 @@ export declare const closeTriggerContracts: {
|
|
|
3178
3178
|
dueDate: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>>;
|
|
3179
3179
|
id: z.ZodOptional<z.ZodString>;
|
|
3180
3180
|
isComplete: z.ZodOptional<z.ZodBoolean>;
|
|
3181
|
-
isDateless: z.ZodOptional<z.ZodOptional<z.ZodBoolean
|
|
3181
|
+
isDateless: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
|
|
3182
3182
|
leadId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3183
3183
|
leadName: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3184
3184
|
objectId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
package/dist/close/schemas.d.ts
CHANGED
|
@@ -381,7 +381,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
381
381
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
382
382
|
id: z.ZodString;
|
|
383
383
|
isComplete: z.ZodBoolean;
|
|
384
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
384
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
385
385
|
leadId: z.ZodNullable<z.ZodString>;
|
|
386
386
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
387
387
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -417,7 +417,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
417
417
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
418
418
|
id: z.ZodString;
|
|
419
419
|
isComplete: z.ZodBoolean;
|
|
420
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
420
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
421
421
|
leadId: z.ZodNullable<z.ZodString>;
|
|
422
422
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
423
423
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -455,7 +455,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
455
455
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
456
456
|
id: z.ZodString;
|
|
457
457
|
isComplete: z.ZodBoolean;
|
|
458
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
458
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
459
459
|
leadId: z.ZodNullable<z.ZodString>;
|
|
460
460
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
461
461
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -490,7 +490,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
490
490
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
491
491
|
id: z.ZodString;
|
|
492
492
|
isComplete: z.ZodBoolean;
|
|
493
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
493
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
494
494
|
leadId: z.ZodNullable<z.ZodString>;
|
|
495
495
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
496
496
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -525,7 +525,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
525
525
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
526
526
|
id: z.ZodString;
|
|
527
527
|
isComplete: z.ZodBoolean;
|
|
528
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
528
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
529
529
|
leadId: z.ZodNullable<z.ZodString>;
|
|
530
530
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
531
531
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -562,7 +562,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
562
562
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
563
563
|
id: z.ZodString;
|
|
564
564
|
isComplete: z.ZodBoolean;
|
|
565
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
565
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
566
566
|
leadId: z.ZodNullable<z.ZodString>;
|
|
567
567
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
568
568
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -603,7 +603,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
603
603
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
604
604
|
id: z.ZodString;
|
|
605
605
|
isComplete: z.ZodBoolean;
|
|
606
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
606
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
607
607
|
leadId: z.ZodNullable<z.ZodString>;
|
|
608
608
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
609
609
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -647,7 +647,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
647
647
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
648
648
|
id: z.ZodString;
|
|
649
649
|
isComplete: z.ZodBoolean;
|
|
650
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
650
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
651
651
|
leadId: z.ZodNullable<z.ZodString>;
|
|
652
652
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
653
653
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -686,7 +686,7 @@ export declare const CLOSE_TASK_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
686
686
|
dueDate: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString]>, z.ZodTransform<Date, string | Date>>>>;
|
|
687
687
|
id: z.ZodString;
|
|
688
688
|
isComplete: z.ZodBoolean;
|
|
689
|
-
isDateless: z.ZodOptional<z.ZodBoolean
|
|
689
|
+
isDateless: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
690
690
|
leadId: z.ZodNullable<z.ZodString>;
|
|
691
691
|
leadName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
692
692
|
objectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
package/dist/close/schemas.js
CHANGED
|
@@ -224,7 +224,7 @@ const CLOSE_TASK_FIELDS = {
|
|
|
224
224
|
dueDate: NULLABLE_DATE_SCHEMA.optional(),
|
|
225
225
|
id: z.string(),
|
|
226
226
|
isComplete: z.boolean(),
|
|
227
|
-
isDateless: z.boolean().optional(),
|
|
227
|
+
isDateless: z.boolean().nullable().optional(),
|
|
228
228
|
leadId: z.string().nullable(),
|
|
229
229
|
leadName: z.string().nullable().optional(),
|
|
230
230
|
objectId: z.string().nullable().optional(),
|
package/dist/jobnimbus/api.d.ts
CHANGED
|
@@ -21,14 +21,16 @@ interface JobNimbusRequestOptions<TSchema extends z.ZodType> {
|
|
|
21
21
|
/** Error returned by a rejected JobNimbus API request. */
|
|
22
22
|
export declare class JobNimbusApiError extends Error {
|
|
23
23
|
readonly details: Encodable;
|
|
24
|
+
readonly retryAfter?: string;
|
|
24
25
|
readonly status: number;
|
|
25
26
|
/**
|
|
26
27
|
* Creates an error from a rejected JobNimbus response.
|
|
27
28
|
*
|
|
28
29
|
* @param status - HTTP response status.
|
|
29
30
|
* @param details - Codec-safe response details.
|
|
31
|
+
* @param retryAfter - Raw provider retry timing, when present.
|
|
30
32
|
*/
|
|
31
|
-
constructor(status: number, details: Encodable);
|
|
33
|
+
constructor(status: number, details: Encodable, retryAfter?: string);
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Creates an authenticated client for one documented JobNimbus API root.
|
package/dist/jobnimbus/api.js
CHANGED
|
@@ -20,17 +20,20 @@ export const JOB_NIMBUS_RESPONSE_SCHEMA = z.union([
|
|
|
20
20
|
/** Error returned by a rejected JobNimbus API request. */
|
|
21
21
|
export class JobNimbusApiError extends Error {
|
|
22
22
|
details;
|
|
23
|
+
retryAfter;
|
|
23
24
|
status;
|
|
24
25
|
/**
|
|
25
26
|
* Creates an error from a rejected JobNimbus response.
|
|
26
27
|
*
|
|
27
28
|
* @param status - HTTP response status.
|
|
28
29
|
* @param details - Codec-safe response details.
|
|
30
|
+
* @param retryAfter - Raw provider retry timing, when present.
|
|
29
31
|
*/
|
|
30
|
-
constructor(status, details) {
|
|
32
|
+
constructor(status, details, retryAfter) {
|
|
31
33
|
super(`JobNimbus API request failed (${status}).`);
|
|
32
34
|
this.name = "JobNimbusApiError";
|
|
33
35
|
this.details = details;
|
|
36
|
+
this.retryAfter = retryAfter;
|
|
34
37
|
this.status = status;
|
|
35
38
|
}
|
|
36
39
|
}
|
|
@@ -96,7 +99,7 @@ export function getJobNimbusApi(secret, api) {
|
|
|
96
99
|
const text = await response.text();
|
|
97
100
|
const parsed = JOB_NIMBUS_RESPONSE_SCHEMA.safeParse(fromJobNimbus(text ? parseJson(text) : null));
|
|
98
101
|
if (!response.ok || !parsed.success) {
|
|
99
|
-
throw new JobNimbusApiError(response.status, parsed.success ? parsed.data : { response: text });
|
|
102
|
+
throw new JobNimbusApiError(response.status, parsed.success ? parsed.data : { response: text }, response.headers.get("Retry-After") ?? undefined);
|
|
100
103
|
}
|
|
101
104
|
return options.responseSchema.parse(parsed.data);
|
|
102
105
|
},
|
|
@@ -112,9 +115,7 @@ export async function downloadJobNimbusFile(secret, fileId) {
|
|
|
112
115
|
const { apiKey } = JOB_NIMBUS_SECRET_SCHEMA.parse(secret);
|
|
113
116
|
const response = await fetch(new URL(encodeURIComponent(z.string().trim().min(1).parse(fileId)), "https://app.jobnimbus.com/files/"), { headers: { Authorization: `Bearer ${apiKey}` } });
|
|
114
117
|
if (!response.ok) {
|
|
115
|
-
throw new JobNimbusApiError(response.status, {
|
|
116
|
-
response: await response.text(),
|
|
117
|
-
});
|
|
118
|
+
throw new JobNimbusApiError(response.status, { response: await response.text() }, response.headers.get("Retry-After") ?? undefined);
|
|
118
119
|
}
|
|
119
120
|
return response.blob();
|
|
120
121
|
}
|
package/dist/trello/api.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as z from "zod";
|
|
|
3
3
|
type TrelloQueryValue = boolean | number | string | undefined;
|
|
4
4
|
/** Options for one authenticated Trello REST request. */
|
|
5
5
|
export interface TrelloRequestOptions<TSchema extends z.ZodType> {
|
|
6
|
-
/** JSON request body for endpoints that accept one. */
|
|
6
|
+
/** JSON or multipart request body for endpoints that accept one. */
|
|
7
7
|
body?: unknown;
|
|
8
8
|
/** HTTP verb. Defaults to `GET`. */
|
|
9
9
|
method?: "DELETE" | "GET" | "POST" | "PUT";
|
|
@@ -24,8 +24,12 @@ export interface TrelloApi {
|
|
|
24
24
|
}
|
|
25
25
|
/** Structured Trello REST request error. */
|
|
26
26
|
export declare class TrelloApiError extends Error {
|
|
27
|
+
/** Provider error code, or an HTTP fallback code. */
|
|
28
|
+
readonly code: string;
|
|
27
29
|
/** Provider error body, when Trello returned text. */
|
|
28
30
|
readonly providerMessage?: string;
|
|
31
|
+
/** Rate-limit budget returned with the failed request. */
|
|
32
|
+
readonly rateLimit?: TrelloRateLimitMetadata;
|
|
29
33
|
/** Retry delay from Trello's `Retry-After` header, in seconds. */
|
|
30
34
|
readonly retryAfter?: number;
|
|
31
35
|
/** HTTP status returned by Trello. */
|
|
@@ -34,16 +38,36 @@ export declare class TrelloApiError extends Error {
|
|
|
34
38
|
* Creates a structured Trello API error.
|
|
35
39
|
*
|
|
36
40
|
* @param options - Provider and transport error details.
|
|
41
|
+
* @param options.code - Provider error code or HTTP fallback.
|
|
37
42
|
* @param options.providerMessage - Provider error body.
|
|
43
|
+
* @param options.rateLimit - Provider rate-limit budget.
|
|
38
44
|
* @param options.retryAfter - Retry delay in seconds.
|
|
39
45
|
* @param options.status - HTTP response status.
|
|
40
46
|
*/
|
|
41
47
|
constructor(options: {
|
|
48
|
+
code: string;
|
|
42
49
|
providerMessage?: string;
|
|
50
|
+
rateLimit?: TrelloRateLimitMetadata;
|
|
43
51
|
retryAfter?: number;
|
|
44
52
|
status: number;
|
|
45
53
|
});
|
|
46
54
|
}
|
|
55
|
+
/** One Trello key or token request budget. */
|
|
56
|
+
export interface TrelloRateLimitBudget {
|
|
57
|
+
/** Length of the provider budget window in milliseconds. */
|
|
58
|
+
intervalMs: number;
|
|
59
|
+
/** Maximum requests in the provider budget window. */
|
|
60
|
+
max: number;
|
|
61
|
+
/** Requests remaining in the current provider budget window. */
|
|
62
|
+
remaining: number;
|
|
63
|
+
}
|
|
64
|
+
/** Rate-limit budgets returned by Trello response headers. */
|
|
65
|
+
export interface TrelloRateLimitMetadata {
|
|
66
|
+
/** Shared API-key request budget. */
|
|
67
|
+
apiKey?: TrelloRateLimitBudget;
|
|
68
|
+
/** Connected user-token request budget. */
|
|
69
|
+
apiToken?: TrelloRateLimitBudget;
|
|
70
|
+
}
|
|
47
71
|
/**
|
|
48
72
|
* Creates a raw authenticated Trello REST helper.
|
|
49
73
|
*
|
package/dist/trello/api.js
CHANGED
|
@@ -6,12 +6,17 @@ const TRELLO_SECRET_SCHEMA = z.object({
|
|
|
6
6
|
token: z.string().min(1),
|
|
7
7
|
});
|
|
8
8
|
const TRELLO_ERROR_SCHEMA = z.looseObject({
|
|
9
|
+
error: z.string().optional(),
|
|
9
10
|
message: z.string().optional(),
|
|
10
11
|
});
|
|
11
12
|
/** Structured Trello REST request error. */
|
|
12
13
|
export class TrelloApiError extends Error {
|
|
14
|
+
/** Provider error code, or an HTTP fallback code. */
|
|
15
|
+
code;
|
|
13
16
|
/** Provider error body, when Trello returned text. */
|
|
14
17
|
providerMessage;
|
|
18
|
+
/** Rate-limit budget returned with the failed request. */
|
|
19
|
+
rateLimit;
|
|
15
20
|
/** Retry delay from Trello's `Retry-After` header, in seconds. */
|
|
16
21
|
retryAfter;
|
|
17
22
|
/** HTTP status returned by Trello. */
|
|
@@ -20,7 +25,9 @@ export class TrelloApiError extends Error {
|
|
|
20
25
|
* Creates a structured Trello API error.
|
|
21
26
|
*
|
|
22
27
|
* @param options - Provider and transport error details.
|
|
28
|
+
* @param options.code - Provider error code or HTTP fallback.
|
|
23
29
|
* @param options.providerMessage - Provider error body.
|
|
30
|
+
* @param options.rateLimit - Provider rate-limit budget.
|
|
24
31
|
* @param options.retryAfter - Retry delay in seconds.
|
|
25
32
|
* @param options.status - HTTP response status.
|
|
26
33
|
*/
|
|
@@ -29,7 +36,9 @@ export class TrelloApiError extends Error {
|
|
|
29
36
|
? `Trello API error (${options.status}): ${options.providerMessage}`
|
|
30
37
|
: `Trello API request failed with status ${options.status}.`);
|
|
31
38
|
this.name = "TrelloApiError";
|
|
39
|
+
this.code = options.code;
|
|
32
40
|
this.providerMessage = options.providerMessage;
|
|
41
|
+
this.rateLimit = options.rateLimit;
|
|
33
42
|
this.retryAfter = options.retryAfter;
|
|
34
43
|
this.status = options.status;
|
|
35
44
|
}
|
|
@@ -57,11 +66,16 @@ export function getTrelloApi(secret) {
|
|
|
57
66
|
}
|
|
58
67
|
url.searchParams.set("key", apiKey);
|
|
59
68
|
url.searchParams.set("token", token);
|
|
69
|
+
const isMultipart = options.body instanceof FormData;
|
|
60
70
|
const headers = new Headers({ Accept: "application/json" });
|
|
61
|
-
if (options.body !== undefined)
|
|
71
|
+
if (options.body !== undefined && !isMultipart)
|
|
62
72
|
headers.set("Content-Type", "application/json");
|
|
63
73
|
const response = await fetch(url, {
|
|
64
|
-
body: options.body === undefined
|
|
74
|
+
body: options.body === undefined
|
|
75
|
+
? undefined
|
|
76
|
+
: options.body instanceof FormData
|
|
77
|
+
? options.body
|
|
78
|
+
: JSON.stringify(options.body),
|
|
65
79
|
headers,
|
|
66
80
|
method: options.method ?? "GET",
|
|
67
81
|
});
|
|
@@ -69,9 +83,13 @@ export function getTrelloApi(secret) {
|
|
|
69
83
|
const responseText = await response.text();
|
|
70
84
|
const error = TRELLO_ERROR_SCHEMA.safeParse(parseJson(responseText));
|
|
71
85
|
throw new TrelloApiError({
|
|
86
|
+
code: error.success && error.data.error
|
|
87
|
+
? error.data.error
|
|
88
|
+
: `http_${response.status}`,
|
|
72
89
|
providerMessage: error.success && error.data.message
|
|
73
90
|
? error.data.message
|
|
74
91
|
: responseText || undefined,
|
|
92
|
+
rateLimit: parseRateLimitMetadata(response.headers),
|
|
75
93
|
retryAfter: parseRetryAfter(response.headers.get("Retry-After")),
|
|
76
94
|
status: response.status,
|
|
77
95
|
});
|
|
@@ -80,6 +98,32 @@ export function getTrelloApi(secret) {
|
|
|
80
98
|
},
|
|
81
99
|
};
|
|
82
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Parses Trello's key and token request budgets from response headers.
|
|
103
|
+
*
|
|
104
|
+
* @param headers - Provider response headers.
|
|
105
|
+
*/
|
|
106
|
+
function parseRateLimitMetadata(headers) {
|
|
107
|
+
const apiKey = parseRateLimitBudget(headers, "api-key");
|
|
108
|
+
const apiToken = parseRateLimitBudget(headers, "api-token");
|
|
109
|
+
if (!apiKey && !apiToken)
|
|
110
|
+
return undefined;
|
|
111
|
+
return { apiKey, apiToken };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Parses one complete Trello request budget.
|
|
115
|
+
*
|
|
116
|
+
* @param headers - Provider response headers.
|
|
117
|
+
* @param budget - Provider budget header prefix.
|
|
118
|
+
*/
|
|
119
|
+
function parseRateLimitBudget(headers, budget) {
|
|
120
|
+
const intervalMs = parseFiniteNumber(headers.get(`x-rate-limit-${budget}-interval-ms`));
|
|
121
|
+
const max = parseFiniteNumber(headers.get(`x-rate-limit-${budget}-max`));
|
|
122
|
+
const remaining = parseFiniteNumber(headers.get(`x-rate-limit-${budget}-remaining`));
|
|
123
|
+
if (intervalMs === undefined || max === undefined || remaining === undefined)
|
|
124
|
+
return undefined;
|
|
125
|
+
return { intervalMs, max, remaining };
|
|
126
|
+
}
|
|
83
127
|
/**
|
|
84
128
|
* Accepts a raw card ID, short link, or standard Trello card URL.
|
|
85
129
|
*
|
|
@@ -133,8 +177,16 @@ function parseJson(value) {
|
|
|
133
177
|
* @param value - Raw `Retry-After` header.
|
|
134
178
|
*/
|
|
135
179
|
function parseRetryAfter(value) {
|
|
180
|
+
return parseFiniteNumber(value);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Parses one finite numeric response header.
|
|
184
|
+
*
|
|
185
|
+
* @param value - Raw response header value.
|
|
186
|
+
*/
|
|
187
|
+
function parseFiniteNumber(value) {
|
|
136
188
|
if (value === null)
|
|
137
189
|
return undefined;
|
|
138
|
-
const
|
|
139
|
-
return Number.isFinite(
|
|
190
|
+
const number = Number(value);
|
|
191
|
+
return Number.isFinite(number) ? number : undefined;
|
|
140
192
|
}
|