@zapier/zapier-sdk 0.48.1 → 0.49.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 (207) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +818 -70
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +10 -1
  5. package/dist/api/polling.d.ts +7 -0
  6. package/dist/api/polling.d.ts.map +1 -1
  7. package/dist/api/polling.js +29 -4
  8. package/dist/api/types.d.ts +7 -0
  9. package/dist/api/types.d.ts.map +1 -1
  10. package/dist/experimental.cjs +10389 -0
  11. package/dist/experimental.d.mts +2292 -0
  12. package/dist/experimental.d.ts +2308 -0
  13. package/dist/experimental.d.ts.map +1 -0
  14. package/dist/experimental.js +155 -0
  15. package/dist/experimental.mjs +10207 -0
  16. package/dist/index-C2vsvjgN.d.mts +9539 -0
  17. package/dist/index-C2vsvjgN.d.ts +9539 -0
  18. package/dist/index.cjs +813 -602
  19. package/dist/index.d.mts +6 -8562
  20. package/dist/index.d.ts +7 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +5 -1
  23. package/dist/index.mjs +801 -602
  24. package/dist/plugins/apps/index.d.ts +1 -1
  25. package/dist/plugins/deprecated/inputFields.d.ts +468 -0
  26. package/dist/plugins/deprecated/inputFields.d.ts.map +1 -0
  27. package/dist/plugins/deprecated/inputFields.js +73 -0
  28. package/dist/plugins/fetch/index.d.ts +1 -1
  29. package/dist/plugins/fetch/schemas.d.ts +1 -1
  30. package/dist/plugins/{getInputFieldsSchema → getActionInputFieldsSchema}/index.d.ts +4 -4
  31. package/dist/plugins/getActionInputFieldsSchema/index.d.ts.map +1 -0
  32. package/dist/plugins/{getInputFieldsSchema → getActionInputFieldsSchema}/index.js +4 -4
  33. package/dist/plugins/{getInputFieldsSchema → getActionInputFieldsSchema}/schemas.d.ts +8 -8
  34. package/dist/plugins/getActionInputFieldsSchema/schemas.d.ts.map +1 -0
  35. package/dist/plugins/{getInputFieldsSchema → getActionInputFieldsSchema}/schemas.js +13 -10
  36. package/dist/plugins/{listInputFieldChoices → listActionInputFieldChoices}/index.d.ts +4 -4
  37. package/dist/plugins/listActionInputFieldChoices/index.d.ts.map +1 -0
  38. package/dist/plugins/{listInputFieldChoices → listActionInputFieldChoices}/index.js +4 -4
  39. package/dist/plugins/{listInputFieldChoices → listActionInputFieldChoices}/schemas.d.ts +10 -10
  40. package/dist/plugins/listActionInputFieldChoices/schemas.d.ts.map +1 -0
  41. package/dist/plugins/{listInputFieldChoices → listActionInputFieldChoices}/schemas.js +13 -10
  42. package/dist/plugins/{listInputFields → listActionInputFields}/index.d.ts +4 -4
  43. package/dist/plugins/listActionInputFields/index.d.ts.map +1 -0
  44. package/dist/plugins/{listInputFields → listActionInputFields}/index.js +4 -4
  45. package/dist/plugins/{listInputFields → listActionInputFields}/schemas.d.ts +9 -9
  46. package/dist/plugins/listActionInputFields/schemas.d.ts.map +1 -0
  47. package/dist/plugins/{listInputFields → listActionInputFields}/schemas.js +7 -7
  48. package/dist/plugins/request/index.d.ts +2 -2
  49. package/dist/plugins/request/schemas.d.ts +2 -2
  50. package/dist/plugins/triggers/ackTriggerInboxMessages/index.d.ts +51 -0
  51. package/dist/plugins/triggers/ackTriggerInboxMessages/index.d.ts.map +1 -0
  52. package/dist/plugins/triggers/ackTriggerInboxMessages/index.js +35 -0
  53. package/dist/plugins/triggers/ackTriggerInboxMessages/schemas.d.ts +34 -0
  54. package/dist/plugins/triggers/ackTriggerInboxMessages/schemas.d.ts.map +1 -0
  55. package/dist/plugins/triggers/ackTriggerInboxMessages/schemas.js +17 -0
  56. package/dist/plugins/triggers/createTriggerInbox/index.d.ts +62 -0
  57. package/dist/plugins/triggers/createTriggerInbox/index.d.ts.map +1 -0
  58. package/dist/plugins/triggers/createTriggerInbox/index.js +54 -0
  59. package/dist/plugins/triggers/createTriggerInbox/schemas.d.ts +20 -0
  60. package/dist/plugins/triggers/createTriggerInbox/schemas.d.ts.map +1 -0
  61. package/dist/plugins/triggers/createTriggerInbox/schemas.js +20 -0
  62. package/dist/plugins/triggers/deleteTriggerInbox/index.d.ts +50 -0
  63. package/dist/plugins/triggers/deleteTriggerInbox/index.d.ts.map +1 -0
  64. package/dist/plugins/triggers/deleteTriggerInbox/index.js +27 -0
  65. package/dist/plugins/triggers/deleteTriggerInbox/schemas.d.ts +14 -0
  66. package/dist/plugins/triggers/deleteTriggerInbox/schemas.d.ts.map +1 -0
  67. package/dist/plugins/triggers/deleteTriggerInbox/schemas.js +9 -0
  68. package/dist/plugins/triggers/drainTriggerInbox/index.d.ts +213 -0
  69. package/dist/plugins/triggers/drainTriggerInbox/index.d.ts.map +1 -0
  70. package/dist/plugins/triggers/drainTriggerInbox/index.js +227 -0
  71. package/dist/plugins/triggers/drainTriggerInbox/pipeline.d.ts +56 -0
  72. package/dist/plugins/triggers/drainTriggerInbox/pipeline.d.ts.map +1 -0
  73. package/dist/plugins/triggers/drainTriggerInbox/pipeline.js +225 -0
  74. package/dist/plugins/triggers/drainTriggerInbox/schemas.d.ts +104 -0
  75. package/dist/plugins/triggers/drainTriggerInbox/schemas.d.ts.map +1 -0
  76. package/dist/plugins/triggers/drainTriggerInbox/schemas.js +102 -0
  77. package/dist/plugins/triggers/ensureTriggerInbox/index.d.ts +63 -0
  78. package/dist/plugins/triggers/ensureTriggerInbox/index.d.ts.map +1 -0
  79. package/dist/plugins/triggers/ensureTriggerInbox/index.js +77 -0
  80. package/dist/plugins/triggers/ensureTriggerInbox/schemas.d.ts +21 -0
  81. package/dist/plugins/triggers/ensureTriggerInbox/schemas.d.ts.map +1 -0
  82. package/dist/plugins/triggers/ensureTriggerInbox/schemas.js +21 -0
  83. package/dist/plugins/triggers/getTriggerInbox/index.d.ts +50 -0
  84. package/dist/plugins/triggers/getTriggerInbox/index.d.ts.map +1 -0
  85. package/dist/plugins/triggers/getTriggerInbox/index.js +26 -0
  86. package/dist/plugins/triggers/getTriggerInbox/schemas.d.ts +14 -0
  87. package/dist/plugins/triggers/getTriggerInbox/schemas.d.ts.map +1 -0
  88. package/dist/plugins/triggers/getTriggerInbox/schemas.js +9 -0
  89. package/dist/plugins/triggers/getTriggerInputFieldsSchema/index.d.ts +48 -0
  90. package/dist/plugins/triggers/getTriggerInputFieldsSchema/index.d.ts.map +1 -0
  91. package/dist/plugins/triggers/getTriggerInputFieldsSchema/index.js +23 -0
  92. package/dist/plugins/triggers/getTriggerInputFieldsSchema/schemas.d.ts +13 -0
  93. package/dist/plugins/triggers/getTriggerInputFieldsSchema/schemas.d.ts.map +1 -0
  94. package/dist/plugins/triggers/getTriggerInputFieldsSchema/schemas.js +10 -0
  95. package/dist/plugins/triggers/leaseTriggerInboxMessages/index.d.ts +58 -0
  96. package/dist/plugins/triggers/leaseTriggerInboxMessages/index.d.ts.map +1 -0
  97. package/dist/plugins/triggers/leaseTriggerInboxMessages/index.js +70 -0
  98. package/dist/plugins/triggers/leaseTriggerInboxMessages/schemas.d.ts +57 -0
  99. package/dist/plugins/triggers/leaseTriggerInboxMessages/schemas.d.ts.map +1 -0
  100. package/dist/plugins/triggers/leaseTriggerInboxMessages/schemas.js +25 -0
  101. package/dist/plugins/triggers/listTriggerInboxMessages/index.d.ts +51 -0
  102. package/dist/plugins/triggers/listTriggerInboxMessages/index.d.ts.map +1 -0
  103. package/dist/plugins/triggers/listTriggerInboxMessages/index.js +48 -0
  104. package/dist/plugins/triggers/listTriggerInboxMessages/schemas.d.ts +37 -0
  105. package/dist/plugins/triggers/listTriggerInboxMessages/schemas.d.ts.map +1 -0
  106. package/dist/plugins/triggers/listTriggerInboxMessages/schemas.js +27 -0
  107. package/dist/plugins/triggers/listTriggerInboxes/index.d.ts +56 -0
  108. package/dist/plugins/triggers/listTriggerInboxes/index.d.ts.map +1 -0
  109. package/dist/plugins/triggers/listTriggerInboxes/index.js +51 -0
  110. package/dist/plugins/triggers/listTriggerInboxes/schemas.d.ts +58 -0
  111. package/dist/plugins/triggers/listTriggerInboxes/schemas.d.ts.map +1 -0
  112. package/dist/plugins/triggers/listTriggerInboxes/schemas.js +35 -0
  113. package/dist/plugins/triggers/listTriggerInputFieldChoices/index.d.ts +77 -0
  114. package/dist/plugins/triggers/listTriggerInputFieldChoices/index.d.ts.map +1 -0
  115. package/dist/plugins/triggers/listTriggerInputFieldChoices/index.js +30 -0
  116. package/dist/plugins/triggers/listTriggerInputFieldChoices/schemas.d.ts +20 -0
  117. package/dist/plugins/triggers/listTriggerInputFieldChoices/schemas.d.ts.map +1 -0
  118. package/dist/plugins/triggers/listTriggerInputFieldChoices/schemas.js +28 -0
  119. package/dist/plugins/triggers/listTriggerInputFields/index.d.ts +101 -0
  120. package/dist/plugins/triggers/listTriggerInputFields/index.d.ts.map +1 -0
  121. package/dist/plugins/triggers/listTriggerInputFields/index.js +33 -0
  122. package/dist/plugins/triggers/listTriggerInputFields/schemas.d.ts +16 -0
  123. package/dist/plugins/triggers/listTriggerInputFields/schemas.d.ts.map +1 -0
  124. package/dist/plugins/triggers/listTriggerInputFields/schemas.js +21 -0
  125. package/dist/plugins/triggers/pauseTriggerInbox/index.d.ts +50 -0
  126. package/dist/plugins/triggers/pauseTriggerInbox/index.d.ts.map +1 -0
  127. package/dist/plugins/triggers/pauseTriggerInbox/index.js +26 -0
  128. package/dist/plugins/triggers/pauseTriggerInbox/schemas.d.ts +14 -0
  129. package/dist/plugins/triggers/pauseTriggerInbox/schemas.d.ts.map +1 -0
  130. package/dist/plugins/triggers/pauseTriggerInbox/schemas.js +9 -0
  131. package/dist/plugins/triggers/releaseTriggerInboxMessages/index.d.ts +51 -0
  132. package/dist/plugins/triggers/releaseTriggerInboxMessages/index.d.ts.map +1 -0
  133. package/dist/plugins/triggers/releaseTriggerInboxMessages/index.js +37 -0
  134. package/dist/plugins/triggers/releaseTriggerInboxMessages/schemas.d.ts +34 -0
  135. package/dist/plugins/triggers/releaseTriggerInboxMessages/schemas.d.ts.map +1 -0
  136. package/dist/plugins/triggers/releaseTriggerInboxMessages/schemas.js +17 -0
  137. package/dist/plugins/triggers/resumeTriggerInbox/index.d.ts +50 -0
  138. package/dist/plugins/triggers/resumeTriggerInbox/index.d.ts.map +1 -0
  139. package/dist/plugins/triggers/resumeTriggerInbox/index.js +26 -0
  140. package/dist/plugins/triggers/resumeTriggerInbox/schemas.d.ts +14 -0
  141. package/dist/plugins/triggers/resumeTriggerInbox/schemas.d.ts.map +1 -0
  142. package/dist/plugins/triggers/resumeTriggerInbox/schemas.js +9 -0
  143. package/dist/plugins/triggers/shared.d.ts +17 -0
  144. package/dist/plugins/triggers/shared.d.ts.map +1 -0
  145. package/dist/plugins/triggers/shared.js +16 -0
  146. package/dist/plugins/triggers/updateTriggerInbox/index.d.ts +51 -0
  147. package/dist/plugins/triggers/updateTriggerInbox/index.d.ts.map +1 -0
  148. package/dist/plugins/triggers/updateTriggerInbox/index.js +30 -0
  149. package/dist/plugins/triggers/updateTriggerInbox/schemas.d.ts +15 -0
  150. package/dist/plugins/triggers/updateTriggerInbox/schemas.d.ts.map +1 -0
  151. package/dist/plugins/triggers/updateTriggerInbox/schemas.js +15 -0
  152. package/dist/plugins/triggers/utils.d.ts +17 -0
  153. package/dist/plugins/triggers/utils.d.ts.map +1 -0
  154. package/dist/plugins/triggers/utils.js +28 -0
  155. package/dist/plugins/triggers/watchTriggerInbox/index.d.ts +163 -0
  156. package/dist/plugins/triggers/watchTriggerInbox/index.d.ts.map +1 -0
  157. package/dist/plugins/triggers/watchTriggerInbox/index.js +111 -0
  158. package/dist/registry.d.ts.map +1 -1
  159. package/dist/registry.js +2 -0
  160. package/dist/resolvers/actionKey.d.ts +1 -0
  161. package/dist/resolvers/actionKey.d.ts.map +1 -1
  162. package/dist/resolvers/actionKey.js +1 -1
  163. package/dist/resolvers/index.d.ts +2 -2
  164. package/dist/resolvers/index.d.ts.map +1 -1
  165. package/dist/resolvers/index.js +2 -2
  166. package/dist/resolvers/triggerInbox.d.ts +4 -0
  167. package/dist/resolvers/triggerInbox.d.ts.map +1 -0
  168. package/dist/resolvers/triggerInbox.js +18 -0
  169. package/dist/schemas/TriggerInbox.d.ts +59 -0
  170. package/dist/schemas/TriggerInbox.d.ts.map +1 -0
  171. package/dist/schemas/TriggerInbox.js +81 -0
  172. package/dist/schemas/TriggerMessage.d.ts +48 -0
  173. package/dist/schemas/TriggerMessage.d.ts.map +1 -0
  174. package/dist/schemas/TriggerMessage.js +79 -0
  175. package/dist/sdk.d.ts +621 -17
  176. package/dist/sdk.d.ts.map +1 -1
  177. package/dist/sdk.js +26 -9
  178. package/dist/types/errors.d.ts +13 -0
  179. package/dist/types/errors.d.ts.map +1 -1
  180. package/dist/types/errors.js +16 -0
  181. package/dist/types/plugin.d.ts +12 -1
  182. package/dist/types/plugin.d.ts.map +1 -1
  183. package/dist/types/properties.d.ts +12 -0
  184. package/dist/types/properties.d.ts.map +1 -1
  185. package/dist/types/properties.js +25 -0
  186. package/dist/types/registry.d.ts +5 -0
  187. package/dist/types/registry.d.ts.map +1 -1
  188. package/dist/types/sdk.d.ts +2 -2
  189. package/dist/types/sdk.d.ts.map +1 -1
  190. package/dist/types/signals.d.ts +20 -0
  191. package/dist/types/signals.d.ts.map +1 -0
  192. package/dist/types/signals.js +21 -0
  193. package/dist/utils/abort-utils.d.ts +13 -0
  194. package/dist/utils/abort-utils.d.ts.map +1 -1
  195. package/dist/utils/abort-utils.js +15 -0
  196. package/dist/utils/retry-utils.d.ts +6 -2
  197. package/dist/utils/retry-utils.d.ts.map +1 -1
  198. package/dist/utils/retry-utils.js +22 -3
  199. package/dist/utils/schema-utils.d.ts +19 -1
  200. package/dist/utils/schema-utils.d.ts.map +1 -1
  201. package/package.json +12 -1
  202. package/dist/plugins/getInputFieldsSchema/index.d.ts.map +0 -1
  203. package/dist/plugins/getInputFieldsSchema/schemas.d.ts.map +0 -1
  204. package/dist/plugins/listInputFieldChoices/index.d.ts.map +0 -1
  205. package/dist/plugins/listInputFieldChoices/schemas.d.ts.map +0 -1
  206. package/dist/plugins/listInputFields/index.d.ts.map +0 -1
  207. package/dist/plugins/listInputFields/schemas.d.ts.map +0 -1
@@ -0,0 +1,81 @@
1
+ import { z } from "zod";
2
+ import { withFormatter } from "../utils/schema-utils";
3
+ // Open enum: known values listed for docs / TS autocomplete (when the
4
+ // doc-gen / type-trick tooling consumes the union AST), plus a string
5
+ // fallback so a new server-side value doesn't crash the parse.
6
+ export const TriggerInboxStatusSchema = z
7
+ .union([
8
+ z.enum([
9
+ "initializing",
10
+ "active",
11
+ "paused",
12
+ "deleting",
13
+ "initialization_failure",
14
+ ]),
15
+ z.string(),
16
+ ])
17
+ .describe("Inbox lifecycle status");
18
+ // Open enum: trigger ops can ship new reasons (rate_limited,
19
+ // quota_exceeded, etc.) without an SDK release.
20
+ export const TriggerInboxPausedReasonSchema = z
21
+ .union([
22
+ z.enum([
23
+ "user",
24
+ "authentication",
25
+ "authentication_access_revoked",
26
+ "partner_revoked",
27
+ "subscribe_failed",
28
+ "migrate_failed",
29
+ "abandoned",
30
+ "unknown",
31
+ "upstream_failures",
32
+ ]),
33
+ z.string(),
34
+ ])
35
+ .describe("Why the inbox was paused, if applicable");
36
+ export const TriggerSubscriptionApiSchema = z.object({
37
+ connection_id: z.union([z.string(), z.number(), z.null()]),
38
+ app_key: z.string(),
39
+ action_key: z.string(),
40
+ inputs: z.record(z.string(), z.unknown()),
41
+ });
42
+ const TriggerInboxItemSchemaBase = z.object({
43
+ id: z.string(),
44
+ created_at: z.string(),
45
+ name: z.string().nullable(),
46
+ status: TriggerInboxStatusSchema,
47
+ paused_reason: TriggerInboxPausedReasonSchema.nullable(),
48
+ notification_url: z.string().nullable(),
49
+ subscription: TriggerSubscriptionApiSchema,
50
+ });
51
+ export const TriggerInboxItemSchema = withFormatter(TriggerInboxItemSchemaBase, {
52
+ format: (item) => {
53
+ const details = [
54
+ {
55
+ text: `Status: ${item.status}`,
56
+ style: item.status === "active" ? "accent" : "dim",
57
+ },
58
+ {
59
+ text: `Subscription: ${item.subscription.app_key} / ${item.subscription.action_key}`,
60
+ style: "dim",
61
+ },
62
+ ];
63
+ if (item.paused_reason) {
64
+ details.push({
65
+ text: `Paused reason: ${item.paused_reason}`,
66
+ style: "warning",
67
+ });
68
+ }
69
+ if (item.notification_url) {
70
+ details.push({
71
+ text: `Notify: ${item.notification_url}`,
72
+ style: "dim",
73
+ });
74
+ }
75
+ return {
76
+ title: item.name ?? `Trigger Inbox ${item.id}`,
77
+ id: item.id,
78
+ details,
79
+ };
80
+ },
81
+ });
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ export declare const TriggerMessageStatusSchema: z.ZodUnion<readonly [z.ZodEnum<{
3
+ available: "available";
4
+ leased: "leased";
5
+ acked: "acked";
6
+ quarantined: "quarantined";
7
+ }>, z.ZodString]>;
8
+ export type TriggerMessageStatus = z.infer<typeof TriggerMessageStatusSchema>;
9
+ export declare const TriggerMessageAttributesSchema: z.ZodObject<{
10
+ lease_count: z.ZodNumber;
11
+ error_message: z.ZodNullable<z.ZodString>;
12
+ possible_duplicate_data: z.ZodBoolean;
13
+ }, z.core.$strip>;
14
+ export type TriggerMessageAttributes = z.infer<typeof TriggerMessageAttributesSchema>;
15
+ export declare const TriggerMessageItemSchema: z.ZodObject<{
16
+ id: z.ZodString;
17
+ created_at: z.ZodString;
18
+ status: z.ZodUnion<readonly [z.ZodEnum<{
19
+ available: "available";
20
+ leased: "leased";
21
+ acked: "acked";
22
+ quarantined: "quarantined";
23
+ }>, z.ZodString]>;
24
+ message_attributes: z.ZodObject<{
25
+ lease_count: z.ZodNumber;
26
+ error_message: z.ZodNullable<z.ZodString>;
27
+ possible_duplicate_data: z.ZodBoolean;
28
+ }, z.core.$strip>;
29
+ }, z.core.$strip>;
30
+ export type TriggerMessageItem = z.infer<typeof TriggerMessageItemSchema>;
31
+ export declare const LeasedTriggerMessageItemSchema: z.ZodObject<{
32
+ id: z.ZodString;
33
+ created_at: z.ZodString;
34
+ status: z.ZodUnion<readonly [z.ZodEnum<{
35
+ available: "available";
36
+ leased: "leased";
37
+ acked: "acked";
38
+ quarantined: "quarantined";
39
+ }>, z.ZodString]>;
40
+ message_attributes: z.ZodObject<{
41
+ lease_count: z.ZodNumber;
42
+ error_message: z.ZodNullable<z.ZodString>;
43
+ possible_duplicate_data: z.ZodBoolean;
44
+ }, z.core.$strip>;
45
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
46
+ }, z.core.$strip>;
47
+ export type LeasedTriggerMessageItem = z.infer<typeof LeasedTriggerMessageItemSchema>;
48
+ //# sourceMappingURL=TriggerMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerMessage.d.ts","sourceRoot":"","sources":["../../src/schemas/TriggerMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;iBAEA,CAAC;AAExC,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AASF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAoCpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;iBAqC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { z } from "zod";
2
+ import { withFormatter } from "../utils/schema-utils";
3
+ // Open enum: known values listed for docs / TS autocomplete (when the
4
+ // doc-gen / type-trick tooling consumes the union AST), plus a string
5
+ // fallback so a new server-side state doesn't crash the parse.
6
+ export const TriggerMessageStatusSchema = z
7
+ .union([z.enum(["available", "leased", "acked", "quarantined"]), z.string()])
8
+ .describe("Message lifecycle status");
9
+ export const TriggerMessageAttributesSchema = z.object({
10
+ lease_count: z.number().int(),
11
+ error_message: z.string().nullable(),
12
+ possible_duplicate_data: z.boolean(),
13
+ });
14
+ const TriggerMessageItemSchemaBase = z.object({
15
+ id: z.string(),
16
+ created_at: z.string(),
17
+ status: TriggerMessageStatusSchema,
18
+ message_attributes: TriggerMessageAttributesSchema,
19
+ });
20
+ export const TriggerMessageItemSchema = withFormatter(TriggerMessageItemSchemaBase, {
21
+ format: (item) => {
22
+ const details = [
23
+ { text: `Status: ${item.status}`, style: "dim" },
24
+ {
25
+ text: `Lease count: ${item.message_attributes.lease_count}`,
26
+ style: "dim",
27
+ },
28
+ ];
29
+ if (item.message_attributes.error_message) {
30
+ details.push({
31
+ text: `Error: ${item.message_attributes.error_message}`,
32
+ style: "warning",
33
+ });
34
+ }
35
+ if (item.message_attributes.possible_duplicate_data) {
36
+ details.push({
37
+ text: "Possible duplicate data",
38
+ style: "warning",
39
+ });
40
+ }
41
+ return {
42
+ title: `Message ${item.id}`,
43
+ id: item.id,
44
+ details,
45
+ };
46
+ },
47
+ });
48
+ const LeasedTriggerMessageItemSchemaBase = TriggerMessageItemSchemaBase.extend({
49
+ payload: z.record(z.string(), z.unknown()),
50
+ });
51
+ export const LeasedTriggerMessageItemSchema = withFormatter(LeasedTriggerMessageItemSchemaBase, {
52
+ format: (item) => {
53
+ const details = [
54
+ { text: `Status: ${item.status}`, style: "dim" },
55
+ {
56
+ text: `Lease count: ${item.message_attributes.lease_count}`,
57
+ style: "dim",
58
+ },
59
+ ];
60
+ if (item.message_attributes.error_message) {
61
+ details.push({
62
+ text: `Error: ${item.message_attributes.error_message}`,
63
+ style: "warning",
64
+ });
65
+ }
66
+ if (item.message_attributes.possible_duplicate_data) {
67
+ details.push({
68
+ text: "Possible duplicate data",
69
+ style: "warning",
70
+ });
71
+ }
72
+ return {
73
+ title: `Message ${item.id}`,
74
+ id: item.id,
75
+ data: item.payload,
76
+ details,
77
+ };
78
+ },
79
+ });