@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.
@@ -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
  },
@@ -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>>>;
@@ -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>>;
@@ -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(),
@@ -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.
@@ -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
  }
@@ -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
  *
@@ -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 ? undefined : JSON.stringify(options.body),
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 seconds = Number(value);
139
- return Number.isFinite(seconds) ? seconds : undefined;
190
+ const number = Number(value);
191
+ return Number.isFinite(number) ? number : undefined;
140
192
  }