@greatwait/contracts 0.2.3 → 0.3.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.
Files changed (79) hide show
  1. package/dist/attempt-search.d.ts +235 -0
  2. package/dist/attempt-search.js +98 -0
  3. package/dist/billing.d.ts +4 -4
  4. package/dist/bulk-operations.d.ts +1832 -0
  5. package/dist/bulk-operations.js +610 -0
  6. package/dist/configuration-bounds.d.ts +12 -0
  7. package/dist/configuration-bounds.js +12 -0
  8. package/dist/configuration.d.ts +71 -0
  9. package/dist/configuration.js +204 -0
  10. package/dist/data-export.d.ts +3 -3
  11. package/dist/effective-limits.d.ts +4 -4
  12. package/dist/execution-selection.d.ts +48 -0
  13. package/dist/execution-selection.js +21 -0
  14. package/dist/http-request.d.ts +1 -1
  15. package/dist/identifiers.d.ts +2 -0
  16. package/dist/identifiers.js +2 -0
  17. package/dist/identity.d.ts +3 -3
  18. package/dist/index.d.ts +5 -0
  19. package/dist/index.js +5 -0
  20. package/dist/occurrence-states.d.ts +14 -0
  21. package/dist/occurrence-states.js +13 -0
  22. package/dist/operations.d.ts +573 -89
  23. package/dist/operations.js +67 -0
  24. package/dist/protocol.d.ts +19 -5
  25. package/dist/protocol.js +14 -7
  26. package/dist/schedule-selection.d.ts +28 -0
  27. package/dist/schedule-selection.js +48 -0
  28. package/dist/scheduling-records.d.ts +20 -20
  29. package/dist/scheduling.d.ts +64 -63
  30. package/dist/scheduling.js +10 -37
  31. package/dist/test-sink.d.ts +6 -6
  32. package/dist/usage.d.ts +3 -3
  33. package/generated/v1/examples/attempts.search.response.json +42 -0
  34. package/generated/v1/examples/bulk.cancel.request.json +3 -0
  35. package/generated/v1/examples/bulk.cancel.response.json +59 -0
  36. package/generated/v1/examples/bulk.confirm.request.json +5 -0
  37. package/generated/v1/examples/bulk.confirm.response.json +59 -0
  38. package/generated/v1/examples/bulk.items.response.json +3 -0
  39. package/generated/v1/examples/bulk.list.response.json +63 -0
  40. package/generated/v1/examples/bulk.pause.request.json +3 -0
  41. package/generated/v1/examples/bulk.pause.response.json +59 -0
  42. package/generated/v1/examples/bulk.preview.request.json +12 -0
  43. package/generated/v1/examples/bulk.preview.response.json +59 -0
  44. package/generated/v1/examples/bulk.read.response.json +59 -0
  45. package/generated/v1/examples/bulk.resume.request.json +3 -0
  46. package/generated/v1/examples/bulk.resume.response.json +59 -0
  47. package/generated/v1/manifest.json +243 -1
  48. package/generated/v1/openapi.json +21569 -2418
  49. package/generated/v1/policy-matrix.json +63 -0
  50. package/generated/v1/schemas/attempts.search.query.json +96 -0
  51. package/generated/v1/schemas/attempts.search.response.json +271 -0
  52. package/generated/v1/schemas/bulk.cancel.request.json +13 -0
  53. package/generated/v1/schemas/bulk.cancel.response.json +1717 -0
  54. package/generated/v1/schemas/bulk.confirm.request-headers.json +13 -0
  55. package/generated/v1/schemas/bulk.confirm.request.json +19 -0
  56. package/generated/v1/schemas/bulk.confirm.response.json +1717 -0
  57. package/generated/v1/schemas/bulk.items.query.json +29 -0
  58. package/generated/v1/schemas/bulk.items.response.json +194 -0
  59. package/generated/v1/schemas/bulk.list.query.json +32 -0
  60. package/generated/v1/schemas/bulk.list.response.json +1789 -0
  61. package/generated/v1/schemas/bulk.pause.request.json +13 -0
  62. package/generated/v1/schemas/bulk.pause.response.json +1717 -0
  63. package/generated/v1/schemas/bulk.preview.request.json +1218 -0
  64. package/generated/v1/schemas/bulk.preview.response.json +1717 -0
  65. package/generated/v1/schemas/bulk.read.response.json +1717 -0
  66. package/generated/v1/schemas/bulk.resume.request.json +13 -0
  67. package/generated/v1/schemas/bulk.resume.response.json +1717 -0
  68. package/generated/v1/schemas/executions.list.query.json +33 -12
  69. package/generated/v1/schemas/schedules.list.query.json +32 -3
  70. package/generated/v1/snippets/attempts.search.json +6 -0
  71. package/generated/v1/snippets/bulk.cancel.json +6 -0
  72. package/generated/v1/snippets/bulk.confirm.json +6 -0
  73. package/generated/v1/snippets/bulk.items.json +6 -0
  74. package/generated/v1/snippets/bulk.list.json +6 -0
  75. package/generated/v1/snippets/bulk.pause.json +6 -0
  76. package/generated/v1/snippets/bulk.preview.json +6 -0
  77. package/generated/v1/snippets/bulk.read.json +6 -0
  78. package/generated/v1/snippets/bulk.resume.json +6 -0
  79. package/package.json +1 -1
@@ -1,3 +1,5 @@
1
+ import { projectAttemptPageSchema, projectAttemptSearchRequestSchema, } from "./attempt-search.js";
2
+ import { BULK_API_OPERATIONS } from "./bulk-operations.js";
1
3
  import { effectiveCustomerLimitsSchema } from "./effective-limits.js";
2
4
  import { z } from "./zod.js";
3
5
  import { MEMBER_OPERATIONS } from "./members.js";
@@ -545,6 +547,7 @@ export const OPERATIONS = [
545
547
  surfaces: ["api", "mock"],
546
548
  },
547
549
  ...DATA_EXPORT_OPERATIONS,
550
+ ...BULK_API_OPERATIONS,
548
551
  ...MEMBER_OPERATIONS,
549
552
  ...PROJECT_NOTIFICATION_OPERATIONS,
550
553
  ...ORGANIZATION_LIFECYCLE_OPERATIONS,
@@ -3622,6 +3625,70 @@ export const OPERATIONS = [
3622
3625
  : "Read an occurrence",
3623
3626
  surfaces: ["api", "mock"],
3624
3627
  },
3628
+ {
3629
+ creates: false,
3630
+ description: globalThis.GREATWAIT_RUNTIME_CONTRACTS_ONLY
3631
+ ? ""
3632
+ : "Search all retained delivery attempts by actual startedAt in the required UTC interval [startedFrom, startedBefore), newest first with attempt ID breaking ties. Combine HTTP responseStatus, statusClass, attempt outcome or diagnostic, endpoint, schedule and exact host identifier/tag filters. The matched attempt outcome remains searchable after recovery; occurrence.state is its current outcome. Follow schedule and occurrence IDs to retained details and attempts.list for the complete retry chain. Only safe metadata is returned. Retention horizons describe normal plan history and attempt-detail limits; absence after expiry is not evidence that a delivery never happened. Unavailable queries fail explicitly. Cursors are bound to the verified authority and every selected filter.",
3633
+ example: globalThis.GREATWAIT_RUNTIME_WITHOUT_EXAMPLES
3634
+ ? {}
3635
+ : {
3636
+ data: [
3637
+ {
3638
+ attempt: {
3639
+ id: "att_01h8xyz9k2m4n6p8r0t2v4w6y8",
3640
+ attemptNumber: 1,
3641
+ occurrence: "occ_01h8xyz9k2m4n6p8r0t2v4w6y8",
3642
+ startedAt: "2026-07-28T15:00:00.000Z",
3643
+ classifiedAt: "2026-07-28T15:00:00.071Z",
3644
+ state: "retryable_failure",
3645
+ responseStatus: 503,
3646
+ durationMs: 71,
3647
+ diagnostic: "http_retryable",
3648
+ remediation: "review_retry_policy",
3649
+ trigger: { kind: "automatic" },
3650
+ },
3651
+ occurrence: {
3652
+ id: "occ_01h8xyz9k2m4n6p8r0t2v4w6y8",
3653
+ schedule: "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
3654
+ generation: 1,
3655
+ sequence: 1,
3656
+ attemptCount: 2,
3657
+ plannedFor: "2026-07-28T14:50:00.000Z",
3658
+ settledAt: "2026-07-28T15:00:04.000Z",
3659
+ state: "succeeded",
3660
+ },
3661
+ schedule: {
3662
+ id: "sch_01h8xyz9k2m4n6p8r0t2v4w6y8",
3663
+ name: "Recovered delivery",
3664
+ },
3665
+ },
3666
+ ],
3667
+ freshness: { kind: "authoritative" },
3668
+ retention: {
3669
+ from: "2026-07-21T15:00:00.000Z",
3670
+ detailsFrom: "2026-07-21T15:00:00.000Z",
3671
+ },
3672
+ },
3673
+ id: "attempts.search",
3674
+ idempotent: true,
3675
+ mcp: { destructive: false, kind: "tool", openWorld: false },
3676
+ method: "GET",
3677
+ mutates: false,
3678
+ path: "/v1/attempts",
3679
+ principals: ["api-credential", "oauth", "session"],
3680
+ problems: ["invalid_request"],
3681
+ query: projectAttemptSearchRequestSchema,
3682
+ response: globalThis.GREATWAIT_API_REQUEST_REGISTRY
3683
+ ? API_UNUSED_RESPONSE_SCHEMA
3684
+ : projectAttemptPageSchema,
3685
+ scopes: ["occurrences:read"],
3686
+ sessionAuthority: "headers",
3687
+ summary: globalThis.GREATWAIT_API_REQUEST_REGISTRY
3688
+ ? ""
3689
+ : "Search delivery attempts by actual time",
3690
+ surfaces: ["api", "mock"],
3691
+ },
3625
3692
  {
3626
3693
  creates: false,
3627
3694
  description: globalThis.GREATWAIT_RUNTIME_CONTRACTS_ONLY
@@ -54,14 +54,28 @@ export type ScheduleOrder = (typeof SCHEDULE_ORDERS)[number];
54
54
  export declare const scheduleListRequestSchema: import("zod").ZodObject<{
55
55
  cursor: import("zod").ZodOptional<import("zod").ZodString>;
56
56
  limit: import("zod").ZodDefault<import("zod").ZodNumber>;
57
- external_identifier: import("zod").ZodOptional<import("zod").ZodString>;
58
- tag: import("zod").ZodOptional<import("zod").ZodString>;
59
- dueBefore: import("zod").ZodOptional<import("zod").ZodString>;
60
- endpoint: import("zod").ZodOptional<import("zod").ZodString>;
61
57
  order: import("zod").ZodDefault<import("zod").ZodEnum<{
62
- created: "created";
63
58
  due: "due";
59
+ created: "created";
64
60
  }>>;
61
+ external_identifier: import("zod").ZodOptional<import("zod").ZodString>;
62
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
63
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
64
+ cancelled: "cancelled";
65
+ active: "active";
66
+ paused: "paused";
67
+ completed: "completed";
68
+ }>>;
69
+ recurrence: import("zod").ZodOptional<import("zod").ZodEnum<{
70
+ at: "at";
71
+ every: "every";
72
+ cron: "cron";
73
+ }>>;
74
+ endpoint: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodLiteral<"none">]>>;
75
+ text: import("zod").ZodOptional<import("zod").ZodString>;
76
+ schedule: import("zod").ZodOptional<import("zod").ZodString>;
77
+ dueAfter: import("zod").ZodOptional<import("zod").ZodString>;
78
+ dueBefore: import("zod").ZodOptional<import("zod").ZodString>;
65
79
  }, import("zod/v4/core").$strip>;
66
80
  export type ScheduleListRequest = z.infer<typeof scheduleListRequestSchema>;
67
81
  /**
package/dist/protocol.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { z } from "./zod.js";
2
- import { externalIdentifierSchema, scheduleTagSchema, } from "./host-correlation.js";
2
+ import { scheduleSelectionSchema } from "./schedule-selection.js";
3
3
  import { PUBLIC_PAGE_SIZE } from "./configuration-bounds.js";
4
- import { endpointIdSchema, environmentIdSchema, organizationIdSchema, projectIdSchema, } from "./identifiers.js";
4
+ import { environmentIdSchema, organizationIdSchema, projectIdSchema, } from "./identifiers.js";
5
5
  import { timestampSchema } from "./time.js";
6
6
  /**
7
7
  * Request and collection mechanics: paging, optimistic concurrency, and
@@ -56,10 +56,7 @@ export const SCHEDULE_ORDERS = ["created", "due"];
56
56
  * no instant to compare and inventing one either way would be a guess.
57
57
  */
58
58
  export const scheduleListRequestSchema = pageRequestSchema.extend({
59
- external_identifier: externalIdentifierSchema.optional(),
60
- tag: scheduleTagSchema.optional(),
61
- dueBefore: timestampSchema.optional(),
62
- endpoint: endpointIdSchema.optional(),
59
+ ...scheduleSelectionSchema.shape,
63
60
  order: z.enum(SCHEDULE_ORDERS).default("created"),
64
61
  });
65
62
  /**
@@ -160,7 +157,17 @@ function authorityFingerprint(authority) {
160
157
  return hash.toString(16).padStart(8, "0");
161
158
  }
162
159
  function base64UrlEncode(value) {
163
- return btoa(value)
160
+ // Cursor JSON can include Unicode filter values. Escape UTF-16 units outside
161
+ // Latin-1 before btoa; JSON.parse restores them, including surrogate pairs.
162
+ // Keep the existing decoder so previously issued Latin-1 cursors still work.
163
+ const encodable = value
164
+ .split("")
165
+ .map((unit) => {
166
+ const code = unit.charCodeAt(0);
167
+ return code > 255 ? `\\u${code.toString(16).padStart(4, "0")}` : unit;
168
+ })
169
+ .join("");
170
+ return btoa(encodable)
164
171
  .replace(/\+/gu, "-")
165
172
  .replace(/\//gu, "_")
166
173
  .replace(/=+$/u, "");
@@ -0,0 +1,28 @@
1
+ import { z } from "./zod.js";
2
+ /** Shared schedule predicates. Every populated field intersects before paging. */
3
+ export declare const scheduleSelectionSchema: import("zod").ZodObject<{
4
+ external_identifier: import("zod").ZodOptional<import("zod").ZodString>;
5
+ tag: import("zod").ZodOptional<import("zod").ZodString>;
6
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
7
+ cancelled: "cancelled";
8
+ active: "active";
9
+ paused: "paused";
10
+ completed: "completed";
11
+ }>>;
12
+ recurrence: import("zod").ZodOptional<import("zod").ZodEnum<{
13
+ at: "at";
14
+ every: "every";
15
+ cron: "cron";
16
+ }>>;
17
+ endpoint: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodLiteral<"none">]>>;
18
+ text: import("zod").ZodOptional<import("zod").ZodString>;
19
+ schedule: import("zod").ZodOptional<import("zod").ZodString>;
20
+ dueAfter: import("zod").ZodOptional<import("zod").ZodString>;
21
+ dueBefore: import("zod").ZodOptional<import("zod").ZodString>;
22
+ }, import("zod/v4/core").$strip>;
23
+ export type ScheduleSelection = z.infer<typeof scheduleSelectionSchema>;
24
+ export type NormalizedScheduleSelection = {
25
+ readonly [Key in keyof ScheduleSelection]?: Exclude<ScheduleSelection[Key], undefined>;
26
+ };
27
+ /** Canonical predicate shape for lists, cursor bindings and bulk selections. */
28
+ export declare function normalizeScheduleSelection(selection: ScheduleSelection): NormalizedScheduleSelection;
@@ -0,0 +1,48 @@
1
+ import { z } from "./zod.js";
2
+ import { endpointIdSchema, scheduleIdSchema } from "./identifiers.js";
3
+ import { externalIdentifierSchema, scheduleTagSchema, } from "./host-correlation.js";
4
+ import { timestampSchema } from "./time.js";
5
+ /** Shared schedule predicates. Every populated field intersects before paging. */
6
+ export const scheduleSelectionSchema = z.object({
7
+ external_identifier: externalIdentifierSchema.optional(),
8
+ tag: scheduleTagSchema.optional(),
9
+ status: z.enum(["active", "paused", "cancelled", "completed"]).optional(),
10
+ recurrence: z.enum(["at", "every", "cron"]).optional(),
11
+ endpoint: z.union([endpointIdSchema, z.literal("none")]).optional(),
12
+ text: z
13
+ .string()
14
+ .max(256)
15
+ .refine((value) => !value.includes("\u0000"), "must not contain NUL characters")
16
+ .optional()
17
+ .describe("Case-insensitive literal substring of schedule name, endpoint address or schedule identifier."),
18
+ schedule: scheduleIdSchema.optional(),
19
+ dueAfter: timestampSchema.optional(),
20
+ dueBefore: timestampSchema.optional(),
21
+ });
22
+ /** Canonical predicate shape for lists, cursor bindings and bulk selections. */
23
+ export function normalizeScheduleSelection(selection) {
24
+ const text = selection.text?.trim();
25
+ return {
26
+ ...(selection.external_identifier === undefined
27
+ ? {}
28
+ : { external_identifier: selection.external_identifier }),
29
+ ...(selection.tag === undefined ? {} : { tag: selection.tag }),
30
+ ...(selection.status === undefined ? {} : { status: selection.status }),
31
+ ...(selection.recurrence === undefined
32
+ ? {}
33
+ : { recurrence: selection.recurrence }),
34
+ ...(selection.endpoint === undefined
35
+ ? {}
36
+ : { endpoint: selection.endpoint }),
37
+ ...(text === undefined || text === "" ? {} : { text }),
38
+ ...(selection.schedule === undefined
39
+ ? {}
40
+ : { schedule: selection.schedule }),
41
+ ...(selection.dueAfter === undefined
42
+ ? {}
43
+ : { dueAfter: selection.dueAfter }),
44
+ ...(selection.dueBefore === undefined
45
+ ? {}
46
+ : { dueBefore: selection.dueBefore }),
47
+ };
48
+ }
@@ -7,9 +7,9 @@ export declare const portableScheduleRecordSchema: import("zod").ZodObject<{
7
7
  GET: "GET";
8
8
  }>;
9
9
  bodyMode: import("zod").ZodEnum<{
10
+ none: "none";
10
11
  envelope: "envelope";
11
12
  json: "json";
12
- none: "none";
13
13
  }>;
14
14
  headers: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
15
15
  name: import("zod").ZodString;
@@ -132,9 +132,9 @@ export declare const portableScheduleRecordSchema: import("zod").ZodObject<{
132
132
  timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
133
133
  }, import("zod/v4/core").$strip>], "kind">;
134
134
  status: import("zod").ZodEnum<{
135
- paused: "paused";
136
- active: "active";
137
135
  cancelled: "cancelled";
136
+ active: "active";
137
+ paused: "paused";
138
138
  completed: "completed";
139
139
  }>;
140
140
  updatedAt: import("zod").ZodString;
@@ -172,14 +172,14 @@ export declare const portableOccurrenceRecordSchema: import("zod").ZodObject<{
172
172
  sequence: import("zod").ZodNumber;
173
173
  settledAt: import("zod").ZodOptional<import("zod").ZodString>;
174
174
  state: import("zod").ZodEnum<{
175
- succeeded: "succeeded";
176
- ambiguous: "ambiguous";
177
- due: "due";
178
- cancelled: "cancelled";
179
175
  planned: "planned";
176
+ due: "due";
180
177
  dispatching: "dispatching";
181
178
  retry_wait: "retry_wait";
179
+ ambiguous: "ambiguous";
180
+ succeeded: "succeeded";
182
181
  terminal_failed: "terminal_failed";
182
+ cancelled: "cancelled";
183
183
  skipped_stale: "skipped_stale";
184
184
  }>;
185
185
  firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
@@ -240,8 +240,8 @@ export declare const portableAttemptRecordSchema: import("zod").ZodObject<{
240
240
  body: import("zod").ZodOptional<import("zod").ZodObject<{
241
241
  contentType: import("zod").ZodString;
242
242
  encoding: import("zod").ZodEnum<{
243
- utf8: "utf8";
244
243
  base64: "base64";
244
+ utf8: "utf8";
245
245
  }>;
246
246
  content: import("zod").ZodString;
247
247
  capturedBytes: import("zod").ZodInt;
@@ -276,8 +276,8 @@ export declare const portableAttemptRecordSchema: import("zod").ZodObject<{
276
276
  responseStatus: import("zod").ZodOptional<import("zod").ZodNumber>;
277
277
  startedAt: import("zod").ZodString;
278
278
  state: import("zod").ZodOptional<import("zod").ZodEnum<{
279
- succeeded: "succeeded";
280
279
  ambiguous: "ambiguous";
280
+ succeeded: "succeeded";
281
281
  retryable_failure: "retryable_failure";
282
282
  terminal_failure: "terminal_failure";
283
283
  }>>;
@@ -322,9 +322,9 @@ export declare const portableAttemptRecordSchema: import("zod").ZodObject<{
322
322
  GET: "GET";
323
323
  }>;
324
324
  bodyMode: import("zod").ZodEnum<{
325
+ none: "none";
325
326
  envelope: "envelope";
326
327
  json: "json";
327
- none: "none";
328
328
  }>;
329
329
  headers: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
330
330
  name: import("zod").ZodString;
@@ -428,8 +428,8 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
428
428
  body: import("zod").ZodOptional<import("zod").ZodObject<{
429
429
  contentType: import("zod").ZodString;
430
430
  encoding: import("zod").ZodEnum<{
431
- utf8: "utf8";
432
431
  base64: "base64";
432
+ utf8: "utf8";
433
433
  }>;
434
434
  content: import("zod").ZodString;
435
435
  capturedBytes: import("zod").ZodInt;
@@ -464,8 +464,8 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
464
464
  responseStatus: import("zod").ZodOptional<import("zod").ZodNumber>;
465
465
  startedAt: import("zod").ZodString;
466
466
  state: import("zod").ZodOptional<import("zod").ZodEnum<{
467
- succeeded: "succeeded";
468
467
  ambiguous: "ambiguous";
468
+ succeeded: "succeeded";
469
469
  retryable_failure: "retryable_failure";
470
470
  terminal_failure: "terminal_failure";
471
471
  }>>;
@@ -510,9 +510,9 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
510
510
  GET: "GET";
511
511
  }>;
512
512
  bodyMode: import("zod").ZodEnum<{
513
+ none: "none";
513
514
  envelope: "envelope";
514
515
  json: "json";
515
- none: "none";
516
516
  }>;
517
517
  headers: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
518
518
  name: import("zod").ZodString;
@@ -565,14 +565,14 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
565
565
  sequence: import("zod").ZodNumber;
566
566
  settledAt: import("zod").ZodOptional<import("zod").ZodString>;
567
567
  state: import("zod").ZodEnum<{
568
- succeeded: "succeeded";
569
- ambiguous: "ambiguous";
570
- due: "due";
571
- cancelled: "cancelled";
572
568
  planned: "planned";
569
+ due: "due";
573
570
  dispatching: "dispatching";
574
571
  retry_wait: "retry_wait";
572
+ ambiguous: "ambiguous";
573
+ succeeded: "succeeded";
575
574
  terminal_failed: "terminal_failed";
575
+ cancelled: "cancelled";
576
576
  skipped_stale: "skipped_stale";
577
577
  }>;
578
578
  firstAttemptLatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
@@ -650,9 +650,9 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
650
650
  GET: "GET";
651
651
  }>;
652
652
  bodyMode: import("zod").ZodEnum<{
653
+ none: "none";
653
654
  envelope: "envelope";
654
655
  json: "json";
655
- none: "none";
656
656
  }>;
657
657
  headers: import("zod").ZodArray<import("zod").ZodUnion<readonly [import("zod").ZodObject<{
658
658
  name: import("zod").ZodString;
@@ -775,9 +775,9 @@ export declare const portableSchedulingRecordSetSchema: import("zod").ZodObject<
775
775
  timeZone: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
776
776
  }, import("zod/v4/core").$strip>], "kind">;
777
777
  status: import("zod").ZodEnum<{
778
- paused: "paused";
779
- active: "active";
780
778
  cancelled: "cancelled";
779
+ active: "active";
780
+ paused: "paused";
781
781
  completed: "completed";
782
782
  }>;
783
783
  updatedAt: import("zod").ZodString;