@apollo-deploy/signal-schemas 1.0.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 (258) hide show
  1. package/README.md +117 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/definitions/common.d.ts +72 -0
  4. package/dist/definitions/common.d.ts.map +1 -0
  5. package/dist/definitions/common.js +95 -0
  6. package/dist/definitions/common.js.map +1 -0
  7. package/dist/definitions/deliverability/deliverability.schema.d.ts +98 -0
  8. package/dist/definitions/deliverability/deliverability.schema.d.ts.map +1 -0
  9. package/dist/definitions/deliverability/deliverability.schema.js +77 -0
  10. package/dist/definitions/deliverability/domain.schema.d.ts +23 -0
  11. package/dist/definitions/deliverability/domain.schema.d.ts.map +1 -0
  12. package/dist/definitions/deliverability/domain.schema.js +12 -0
  13. package/dist/definitions/deliverability/domain.schema.js.map +1 -0
  14. package/dist/definitions/deliverability/index.d.ts +4 -0
  15. package/dist/definitions/deliverability/index.d.ts.map +1 -0
  16. package/dist/definitions/deliverability/index.js +4 -0
  17. package/dist/definitions/deliverability/index.js.map +1 -0
  18. package/dist/definitions/deliverability/request.schema.d.ts +27 -0
  19. package/dist/definitions/deliverability/request.schema.d.ts.map +1 -0
  20. package/dist/definitions/deliverability/request.schema.js +17 -0
  21. package/dist/definitions/deliverability/request.schema.js.map +1 -0
  22. package/dist/definitions/deliverability/response.schema.d.ts +72 -0
  23. package/dist/definitions/deliverability/response.schema.d.ts.map +1 -0
  24. package/dist/definitions/deliverability/response.schema.js +37 -0
  25. package/dist/definitions/deliverability/response.schema.js.map +1 -0
  26. package/dist/definitions/deliverability/schemas.d.ts +91 -0
  27. package/dist/definitions/deliverability/schemas.d.ts.map +1 -0
  28. package/dist/definitions/deliverability/schemas.js +67 -0
  29. package/dist/definitions/domains/domain.schema.d.ts +160 -0
  30. package/dist/definitions/domains/domain.schema.d.ts.map +1 -0
  31. package/dist/definitions/domains/domain.schema.js +36 -0
  32. package/dist/definitions/domains/domain.schema.js.map +1 -0
  33. package/dist/definitions/domains/domains.schema.d.ts +668 -0
  34. package/dist/definitions/domains/domains.schema.d.ts.map +1 -0
  35. package/dist/definitions/domains/domains.schema.js +113 -0
  36. package/dist/definitions/domains/index.d.ts +4 -0
  37. package/dist/definitions/domains/index.d.ts.map +1 -0
  38. package/dist/definitions/domains/index.js +4 -0
  39. package/dist/definitions/domains/index.js.map +1 -0
  40. package/dist/definitions/domains/request.schema.d.ts +26 -0
  41. package/dist/definitions/domains/request.schema.d.ts.map +1 -0
  42. package/dist/definitions/domains/request.schema.js +21 -0
  43. package/dist/definitions/domains/request.schema.js.map +1 -0
  44. package/dist/definitions/domains/response.schema.d.ts +491 -0
  45. package/dist/definitions/domains/response.schema.d.ts.map +1 -0
  46. package/dist/definitions/domains/response.schema.js +24 -0
  47. package/dist/definitions/domains/response.schema.js.map +1 -0
  48. package/dist/definitions/domains/schemas.d.ts +545 -0
  49. package/dist/definitions/domains/schemas.d.ts.map +1 -0
  50. package/dist/definitions/domains/schemas.js +110 -0
  51. package/dist/definitions/emails/domain.schema.d.ts +20 -0
  52. package/dist/definitions/emails/domain.schema.d.ts.map +1 -0
  53. package/dist/definitions/emails/domain.schema.js +11 -0
  54. package/dist/definitions/emails/domain.schema.js.map +1 -0
  55. package/dist/definitions/emails/emails.schema.d.ts +230 -0
  56. package/dist/definitions/emails/emails.schema.d.ts.map +1 -0
  57. package/dist/definitions/emails/emails.schema.js +176 -0
  58. package/dist/definitions/emails/index.d.ts +4 -0
  59. package/dist/definitions/emails/index.d.ts.map +1 -0
  60. package/dist/definitions/emails/index.js +4 -0
  61. package/dist/definitions/emails/index.js.map +1 -0
  62. package/dist/definitions/emails/request.schema.d.ts +96 -0
  63. package/dist/definitions/emails/request.schema.d.ts.map +1 -0
  64. package/dist/definitions/emails/request.schema.js +65 -0
  65. package/dist/definitions/emails/request.schema.js.map +1 -0
  66. package/dist/definitions/emails/response.schema.d.ts +141 -0
  67. package/dist/definitions/emails/response.schema.d.ts.map +1 -0
  68. package/dist/definitions/emails/response.schema.js +54 -0
  69. package/dist/definitions/emails/response.schema.js.map +1 -0
  70. package/dist/definitions/emails/schemas.d.ts +284 -0
  71. package/dist/definitions/emails/schemas.d.ts.map +1 -0
  72. package/dist/definitions/emails/schemas.js +227 -0
  73. package/dist/definitions/health/domain.schema.d.ts +11 -0
  74. package/dist/definitions/health/domain.schema.d.ts.map +1 -0
  75. package/dist/definitions/health/domain.schema.js +8 -0
  76. package/dist/definitions/health/domain.schema.js.map +1 -0
  77. package/dist/definitions/health/health.schema.d.ts +27 -0
  78. package/dist/definitions/health/health.schema.d.ts.map +1 -0
  79. package/dist/definitions/health/health.schema.js +23 -0
  80. package/dist/definitions/health/index.d.ts +3 -0
  81. package/dist/definitions/health/index.d.ts.map +1 -0
  82. package/dist/definitions/health/index.js +3 -0
  83. package/dist/definitions/health/index.js.map +1 -0
  84. package/dist/definitions/health/request.schema.d.ts +8 -0
  85. package/dist/definitions/health/request.schema.d.ts.map +1 -0
  86. package/dist/definitions/health/request.schema.js +8 -0
  87. package/dist/definitions/health/request.schema.js.map +1 -0
  88. package/dist/definitions/health/response.schema.d.ts +26 -0
  89. package/dist/definitions/health/response.schema.d.ts.map +1 -0
  90. package/dist/definitions/health/response.schema.js +16 -0
  91. package/dist/definitions/health/response.schema.js.map +1 -0
  92. package/dist/definitions/health/schemas.d.ts +30 -0
  93. package/dist/definitions/health/schemas.d.ts.map +1 -0
  94. package/dist/definitions/health/schemas.js +23 -0
  95. package/dist/definitions/index.d.ts +25 -0
  96. package/dist/definitions/index.d.ts.map +1 -0
  97. package/dist/definitions/index.js +25 -0
  98. package/dist/definitions/index.js.map +1 -0
  99. package/dist/definitions/projects/domain.schema.d.ts +42 -0
  100. package/dist/definitions/projects/domain.schema.d.ts.map +1 -0
  101. package/dist/definitions/projects/domain.schema.js +46 -0
  102. package/dist/definitions/projects/domain.schema.js.map +1 -0
  103. package/dist/definitions/projects/index.d.ts +4 -0
  104. package/dist/definitions/projects/index.d.ts.map +1 -0
  105. package/dist/definitions/projects/index.js +4 -0
  106. package/dist/definitions/projects/index.js.map +1 -0
  107. package/dist/definitions/projects/projects.schema.d.ts +8 -0
  108. package/dist/definitions/projects/projects.schema.d.ts.map +1 -0
  109. package/dist/definitions/projects/projects.schema.js +23 -0
  110. package/dist/definitions/projects/request.schema.d.ts +41 -0
  111. package/dist/definitions/projects/request.schema.d.ts.map +1 -0
  112. package/dist/definitions/projects/request.schema.js +43 -0
  113. package/dist/definitions/projects/request.schema.js.map +1 -0
  114. package/dist/definitions/projects/response.schema.d.ts +79 -0
  115. package/dist/definitions/projects/response.schema.d.ts.map +1 -0
  116. package/dist/definitions/projects/response.schema.js +43 -0
  117. package/dist/definitions/projects/response.schema.js.map +1 -0
  118. package/dist/definitions/projects/schemas.d.ts +114 -0
  119. package/dist/definitions/projects/schemas.d.ts.map +1 -0
  120. package/dist/definitions/projects/schemas.js +87 -0
  121. package/dist/definitions/signal-email/domain.schema.d.ts +135 -0
  122. package/dist/definitions/signal-email/domain.schema.d.ts.map +1 -0
  123. package/dist/definitions/signal-email/domain.schema.js +130 -0
  124. package/dist/definitions/signal-email/domain.schema.js.map +1 -0
  125. package/dist/definitions/signal-email/index.d.ts +23 -0
  126. package/dist/definitions/signal-email/index.d.ts.map +1 -0
  127. package/dist/definitions/signal-email/index.js +26 -0
  128. package/dist/definitions/signal-email/index.js.map +1 -0
  129. package/dist/definitions/signal-email/request.schema.d.ts +123 -0
  130. package/dist/definitions/signal-email/request.schema.d.ts.map +1 -0
  131. package/dist/definitions/signal-email/request.schema.js +201 -0
  132. package/dist/definitions/signal-email/request.schema.js.map +1 -0
  133. package/dist/definitions/signal-email/response.schema.d.ts +73 -0
  134. package/dist/definitions/signal-email/response.schema.d.ts.map +1 -0
  135. package/dist/definitions/signal-email/response.schema.js +83 -0
  136. package/dist/definitions/signal-email/response.schema.js.map +1 -0
  137. package/dist/definitions/signal-projects/domain.schema.d.ts +227 -0
  138. package/dist/definitions/signal-projects/domain.schema.d.ts.map +1 -0
  139. package/dist/definitions/signal-projects/domain.schema.js +230 -0
  140. package/dist/definitions/signal-projects/domain.schema.js.map +1 -0
  141. package/dist/definitions/signal-projects/index.d.ts +16 -0
  142. package/dist/definitions/signal-projects/index.d.ts.map +1 -0
  143. package/dist/definitions/signal-projects/index.js +16 -0
  144. package/dist/definitions/signal-projects/index.js.map +1 -0
  145. package/dist/definitions/signal-projects/request.schema.d.ts +254 -0
  146. package/dist/definitions/signal-projects/request.schema.d.ts.map +1 -0
  147. package/dist/definitions/signal-projects/request.schema.js +213 -0
  148. package/dist/definitions/signal-projects/request.schema.js.map +1 -0
  149. package/dist/definitions/signal-projects/response.schema.d.ts +615 -0
  150. package/dist/definitions/signal-projects/response.schema.d.ts.map +1 -0
  151. package/dist/definitions/signal-projects/response.schema.js +267 -0
  152. package/dist/definitions/signal-projects/response.schema.js.map +1 -0
  153. package/dist/definitions/suppressions/domain.schema.d.ts +13 -0
  154. package/dist/definitions/suppressions/domain.schema.d.ts.map +1 -0
  155. package/dist/definitions/suppressions/domain.schema.js +8 -0
  156. package/dist/definitions/suppressions/domain.schema.js.map +1 -0
  157. package/dist/definitions/suppressions/index.d.ts +4 -0
  158. package/dist/definitions/suppressions/index.d.ts.map +1 -0
  159. package/dist/definitions/suppressions/index.js +4 -0
  160. package/dist/definitions/suppressions/index.js.map +1 -0
  161. package/dist/definitions/suppressions/request.schema.d.ts +39 -0
  162. package/dist/definitions/suppressions/request.schema.d.ts.map +1 -0
  163. package/dist/definitions/suppressions/request.schema.js +27 -0
  164. package/dist/definitions/suppressions/request.schema.js.map +1 -0
  165. package/dist/definitions/suppressions/response.schema.d.ts +42 -0
  166. package/dist/definitions/suppressions/response.schema.d.ts.map +1 -0
  167. package/dist/definitions/suppressions/response.schema.js +18 -0
  168. package/dist/definitions/suppressions/response.schema.js.map +1 -0
  169. package/dist/definitions/suppressions/schemas.d.ts +90 -0
  170. package/dist/definitions/suppressions/schemas.d.ts.map +1 -0
  171. package/dist/definitions/suppressions/schemas.js +68 -0
  172. package/dist/definitions/suppressions/suppressions.schema.d.ts +79 -0
  173. package/dist/definitions/suppressions/suppressions.schema.d.ts.map +1 -0
  174. package/dist/definitions/suppressions/suppressions.schema.js +63 -0
  175. package/dist/definitions/templates/domain.schema.d.ts +11 -0
  176. package/dist/definitions/templates/domain.schema.d.ts.map +1 -0
  177. package/dist/definitions/templates/domain.schema.js +14 -0
  178. package/dist/definitions/templates/domain.schema.js.map +1 -0
  179. package/dist/definitions/templates/index.d.ts +4 -0
  180. package/dist/definitions/templates/index.d.ts.map +1 -0
  181. package/dist/definitions/templates/index.js +4 -0
  182. package/dist/definitions/templates/index.js.map +1 -0
  183. package/dist/definitions/templates/request.schema.d.ts +33 -0
  184. package/dist/definitions/templates/request.schema.d.ts.map +1 -0
  185. package/dist/definitions/templates/request.schema.js +32 -0
  186. package/dist/definitions/templates/request.schema.js.map +1 -0
  187. package/dist/definitions/templates/response.schema.d.ts +91 -0
  188. package/dist/definitions/templates/response.schema.d.ts.map +1 -0
  189. package/dist/definitions/templates/response.schema.js +49 -0
  190. package/dist/definitions/templates/response.schema.js.map +1 -0
  191. package/dist/definitions/templates/schemas.d.ts +113 -0
  192. package/dist/definitions/templates/schemas.d.ts.map +1 -0
  193. package/dist/definitions/templates/schemas.js +80 -0
  194. package/dist/definitions/usage/domain.schema.d.ts +60 -0
  195. package/dist/definitions/usage/domain.schema.d.ts.map +1 -0
  196. package/dist/definitions/usage/domain.schema.js +23 -0
  197. package/dist/definitions/usage/domain.schema.js.map +1 -0
  198. package/dist/definitions/usage/index.d.ts +4 -0
  199. package/dist/definitions/usage/index.d.ts.map +1 -0
  200. package/dist/definitions/usage/index.js +4 -0
  201. package/dist/definitions/usage/index.js.map +1 -0
  202. package/dist/definitions/usage/request.schema.d.ts +12 -0
  203. package/dist/definitions/usage/request.schema.d.ts.map +1 -0
  204. package/dist/definitions/usage/request.schema.js +13 -0
  205. package/dist/definitions/usage/request.schema.js.map +1 -0
  206. package/dist/definitions/usage/response.schema.d.ts +76 -0
  207. package/dist/definitions/usage/response.schema.d.ts.map +1 -0
  208. package/dist/definitions/usage/response.schema.js +22 -0
  209. package/dist/definitions/usage/response.schema.js.map +1 -0
  210. package/dist/definitions/usage/schemas.d.ts +156 -0
  211. package/dist/definitions/usage/schemas.d.ts.map +1 -0
  212. package/dist/definitions/usage/schemas.js +83 -0
  213. package/dist/definitions/usage/usage.schema.d.ts +140 -0
  214. package/dist/definitions/usage/usage.schema.d.ts.map +1 -0
  215. package/dist/definitions/usage/usage.schema.js +77 -0
  216. package/dist/definitions/webhooks/domain.schema.d.ts +26 -0
  217. package/dist/definitions/webhooks/domain.schema.d.ts.map +1 -0
  218. package/dist/definitions/webhooks/domain.schema.js +14 -0
  219. package/dist/definitions/webhooks/domain.schema.js.map +1 -0
  220. package/dist/definitions/webhooks/index.d.ts +4 -0
  221. package/dist/definitions/webhooks/index.d.ts.map +1 -0
  222. package/dist/definitions/webhooks/index.js +4 -0
  223. package/dist/definitions/webhooks/index.js.map +1 -0
  224. package/dist/definitions/webhooks/request.schema.d.ts +64 -0
  225. package/dist/definitions/webhooks/request.schema.d.ts.map +1 -0
  226. package/dist/definitions/webhooks/request.schema.js +32 -0
  227. package/dist/definitions/webhooks/request.schema.js.map +1 -0
  228. package/dist/definitions/webhooks/response.schema.d.ts +76 -0
  229. package/dist/definitions/webhooks/response.schema.d.ts.map +1 -0
  230. package/dist/definitions/webhooks/response.schema.js +27 -0
  231. package/dist/definitions/webhooks/response.schema.js.map +1 -0
  232. package/dist/definitions/webhooks/schemas.d.ts +145 -0
  233. package/dist/definitions/webhooks/schemas.d.ts.map +1 -0
  234. package/dist/definitions/webhooks/schemas.js +97 -0
  235. package/dist/definitions/webhooks/webhooks.schema.d.ts +152 -0
  236. package/dist/definitions/webhooks/webhooks.schema.d.ts.map +1 -0
  237. package/dist/definitions/webhooks/webhooks.schema.js +96 -0
  238. package/dist/generators/generate-schemas.d.ts +10 -0
  239. package/dist/generators/generate-schemas.d.ts.map +1 -0
  240. package/dist/generators/generate-schemas.js +119 -0
  241. package/dist/generators/generate-schemas.js.map +1 -0
  242. package/dist/generators/index.d.ts +8 -0
  243. package/dist/generators/index.d.ts.map +1 -0
  244. package/dist/generators/index.js +8 -0
  245. package/dist/generators/index.js.map +1 -0
  246. package/dist/generators/register-global-registry.d.ts +14 -0
  247. package/dist/generators/register-global-registry.d.ts.map +1 -0
  248. package/dist/generators/register-global-registry.js +516 -0
  249. package/dist/generators/register-global-registry.js.map +1 -0
  250. package/dist/generators/zod-to-json-schema.d.ts +64 -0
  251. package/dist/generators/zod-to-json-schema.d.ts.map +1 -0
  252. package/dist/generators/zod-to-json-schema.js +300 -0
  253. package/dist/generators/zod-to-json-schema.js.map +1 -0
  254. package/dist/index.d.ts +15 -0
  255. package/dist/index.d.ts.map +1 -0
  256. package/dist/index.js +15 -0
  257. package/dist/index.js.map +1 -0
  258. package/package.json +103 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Apollo Signal — Internal webhook schemas.
3
+ *
4
+ * Zod schemas for webhook endpoint create/update and webhook response.
5
+ * Internal only — MUST NOT be exported to shared packages.
6
+ *
7
+ * Design §5.7 ; Requirements §8
8
+ */
9
+ import { z } from "zod";
10
+ export declare const WebhookProjectParamSchema: z.ZodObject<{
11
+ projectId: z.ZodString;
12
+ }, z.core.$strip>;
13
+ export declare const CreateWebhookBodySchema: z.ZodObject<{
14
+ url: z.ZodString;
15
+ events: z.ZodArray<z.ZodEnum<{
16
+ "email.sent": "email.sent";
17
+ "email.delivered": "email.delivered";
18
+ "email.bounced": "email.bounced";
19
+ "email.complained": "email.complained";
20
+ "email.opened": "email.opened";
21
+ "email.clicked": "email.clicked";
22
+ "email.failed": "email.failed";
23
+ "email.rejected": "email.rejected";
24
+ "email.delivery_delayed": "email.delivery_delayed";
25
+ "email.suppressed": "email.suppressed";
26
+ "webhook.test": "webhook.test";
27
+ }>>;
28
+ secret: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ export declare const UpdateWebhookBodySchema: z.ZodObject<{
31
+ url: z.ZodOptional<z.ZodString>;
32
+ events: z.ZodOptional<z.ZodArray<z.ZodEnum<{
33
+ "email.sent": "email.sent";
34
+ "email.delivered": "email.delivered";
35
+ "email.bounced": "email.bounced";
36
+ "email.complained": "email.complained";
37
+ "email.opened": "email.opened";
38
+ "email.clicked": "email.clicked";
39
+ "email.failed": "email.failed";
40
+ "email.rejected": "email.rejected";
41
+ "email.delivery_delayed": "email.delivery_delayed";
42
+ "email.suppressed": "email.suppressed";
43
+ "webhook.test": "webhook.test";
44
+ }>>>;
45
+ secret: z.ZodOptional<z.ZodString>;
46
+ enabled: z.ZodOptional<z.ZodBoolean>;
47
+ }, z.core.$strip>;
48
+ export declare const WebhookIdParamSchema: z.ZodObject<{
49
+ projectId: z.ZodString;
50
+ webhookId: z.ZodString;
51
+ }, z.core.$strip>;
52
+ /**
53
+ * Canonical webhook endpoint params — uses `endpointId` field name per T-7.1.
54
+ * Matches the domain model's `SignalWebhookEndpoint.id` field.
55
+ */
56
+ export declare const WebhookParamsSchema: z.ZodObject<{
57
+ projectId: z.ZodString;
58
+ endpointId: z.ZodString;
59
+ }, z.core.$strip>;
60
+ export declare const WebhookDeliveryIdParamSchema: z.ZodObject<{
61
+ projectId: z.ZodString;
62
+ deliveryId: z.ZodCoercedNumber<unknown>;
63
+ }, z.core.$strip>;
64
+ export declare const ListWebhooksQuerySchema: z.ZodObject<{
65
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
66
+ cursor: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>;
68
+ export declare const WebhookResponseSchema: z.ZodObject<{
69
+ id: z.ZodString;
70
+ projectId: z.ZodString;
71
+ organizationId: z.ZodString;
72
+ url: z.ZodString;
73
+ events: z.ZodArray<z.ZodEnum<{
74
+ "email.sent": "email.sent";
75
+ "email.delivered": "email.delivered";
76
+ "email.bounced": "email.bounced";
77
+ "email.complained": "email.complained";
78
+ "email.opened": "email.opened";
79
+ "email.clicked": "email.clicked";
80
+ "email.failed": "email.failed";
81
+ "email.rejected": "email.rejected";
82
+ "email.delivery_delayed": "email.delivery_delayed";
83
+ "email.suppressed": "email.suppressed";
84
+ "webhook.test": "webhook.test";
85
+ }>>;
86
+ enabled: z.ZodBoolean;
87
+ createdAt: z.ZodString;
88
+ updatedAt: z.ZodString;
89
+ deletedAt: z.ZodNullable<z.ZodString>;
90
+ }, z.core.$strip>;
91
+ export declare const WebhookListResponseSchema: z.ZodObject<{
92
+ data: z.ZodArray<z.ZodObject<{
93
+ id: z.ZodString;
94
+ projectId: z.ZodString;
95
+ organizationId: z.ZodString;
96
+ url: z.ZodString;
97
+ events: z.ZodArray<z.ZodEnum<{
98
+ "email.sent": "email.sent";
99
+ "email.delivered": "email.delivered";
100
+ "email.bounced": "email.bounced";
101
+ "email.complained": "email.complained";
102
+ "email.opened": "email.opened";
103
+ "email.clicked": "email.clicked";
104
+ "email.failed": "email.failed";
105
+ "email.rejected": "email.rejected";
106
+ "email.delivery_delayed": "email.delivery_delayed";
107
+ "email.suppressed": "email.suppressed";
108
+ "webhook.test": "webhook.test";
109
+ }>>;
110
+ enabled: z.ZodBoolean;
111
+ createdAt: z.ZodString;
112
+ updatedAt: z.ZodString;
113
+ deletedAt: z.ZodNullable<z.ZodString>;
114
+ }, z.core.$strip>>;
115
+ nextCursor: z.ZodNullable<z.ZodString>;
116
+ }, z.core.$strip>;
117
+ export declare const WebhookDeliveryResponseSchema: z.ZodObject<{
118
+ id: z.ZodString;
119
+ projectId: z.ZodString;
120
+ webhookEndpointId: z.ZodString;
121
+ eventType: z.ZodString;
122
+ status: z.ZodEnum<{
123
+ success: "success";
124
+ pending: "pending";
125
+ failed: "failed";
126
+ }>;
127
+ attemptCount: z.ZodNumber;
128
+ lastStatusCode: z.ZodNullable<z.ZodNumber>;
129
+ lastError: z.ZodNullable<z.ZodString>;
130
+ responseBodySnippet: z.ZodNullable<z.ZodString>;
131
+ nextAttemptAt: z.ZodNullable<z.ZodString>;
132
+ createdAt: z.ZodString;
133
+ updatedAt: z.ZodString;
134
+ }, z.core.$strip>;
135
+ export type WebhookProjectParam = z.infer<typeof WebhookProjectParamSchema>;
136
+ export type CreateWebhookBody = z.infer<typeof CreateWebhookBodySchema>;
137
+ export type UpdateWebhookBody = z.infer<typeof UpdateWebhookBodySchema>;
138
+ export type WebhookIdParam = z.infer<typeof WebhookIdParamSchema>;
139
+ export type WebhookParams = z.infer<typeof WebhookParamsSchema>;
140
+ export type WebhookDeliveryIdParam = z.infer<typeof WebhookDeliveryIdParamSchema>;
141
+ export type ListWebhooksQuery = z.infer<typeof ListWebhooksQuerySchema>;
142
+ export type WebhookResponse = z.infer<typeof WebhookResponseSchema>;
143
+ export type WebhookListResponse = z.infer<typeof WebhookListResponseSchema>;
144
+ export type WebhookDeliveryResponse = z.infer<typeof WebhookDeliveryResponseSchema>;
145
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/definitions/webhooks/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAMH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAaxC,CAAC;AAMH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /**
3
+ * Apollo Signal — Internal webhook schemas.
4
+ *
5
+ * Zod schemas for webhook endpoint create/update and webhook response.
6
+ * Internal only — MUST NOT be exported to shared packages.
7
+ *
8
+ * Design §5.7 ; Requirements §8
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.WebhookDeliveryResponseSchema = exports.WebhookListResponseSchema = exports.WebhookResponseSchema = exports.ListWebhooksQuerySchema = exports.WebhookDeliveryIdParamSchema = exports.WebhookParamsSchema = exports.WebhookIdParamSchema = exports.UpdateWebhookBodySchema = exports.CreateWebhookBodySchema = exports.WebhookProjectParamSchema = void 0;
12
+ var zod_1 = require("zod");
13
+ // ---------------------------------------------------------------------------
14
+ // Shared
15
+ // ---------------------------------------------------------------------------
16
+ var WebhookEventTypeSchema = zod_1.z.enum([
17
+ "email.sent",
18
+ "email.delivered",
19
+ "email.bounced",
20
+ "email.complained",
21
+ "email.opened",
22
+ "email.clicked",
23
+ "email.failed",
24
+ "email.rejected",
25
+ "email.delivery_delayed",
26
+ "email.suppressed",
27
+ "webhook.test",
28
+ ]);
29
+ // ---------------------------------------------------------------------------
30
+ // Request schemas
31
+ // ---------------------------------------------------------------------------
32
+ exports.WebhookProjectParamSchema = zod_1.z.object({
33
+ projectId: zod_1.z.string().min(1),
34
+ });
35
+ exports.CreateWebhookBodySchema = zod_1.z.object({
36
+ url: zod_1.z.string().url(),
37
+ events: zod_1.z.array(WebhookEventTypeSchema).min(1),
38
+ secret: zod_1.z.string().min(16).optional(),
39
+ });
40
+ exports.UpdateWebhookBodySchema = zod_1.z.object({
41
+ url: zod_1.z.string().url().optional(),
42
+ events: zod_1.z.array(WebhookEventTypeSchema).min(1).optional(),
43
+ secret: zod_1.z.string().min(16).optional(),
44
+ enabled: zod_1.z.boolean().optional(),
45
+ });
46
+ exports.WebhookIdParamSchema = zod_1.z.object({
47
+ projectId: zod_1.z.string().min(1),
48
+ webhookId: zod_1.z.string().min(1),
49
+ });
50
+ /**
51
+ * Canonical webhook endpoint params — uses `endpointId` field name per T-7.1.
52
+ * Matches the domain model's `SignalWebhookEndpoint.id` field.
53
+ */
54
+ exports.WebhookParamsSchema = zod_1.z.object({
55
+ projectId: zod_1.z.string().min(1),
56
+ endpointId: zod_1.z.string().min(1),
57
+ });
58
+ exports.WebhookDeliveryIdParamSchema = zod_1.z.object({
59
+ projectId: zod_1.z.string().min(1),
60
+ deliveryId: zod_1.z.coerce.number().int().min(1),
61
+ });
62
+ exports.ListWebhooksQuerySchema = zod_1.z.object({
63
+ limit: zod_1.z.coerce.number().int().min(1).max(100).default(25),
64
+ cursor: zod_1.z.string().optional(),
65
+ });
66
+ // ---------------------------------------------------------------------------
67
+ // Response schemas
68
+ // ---------------------------------------------------------------------------
69
+ exports.WebhookResponseSchema = zod_1.z.object({
70
+ id: zod_1.z.string(),
71
+ projectId: zod_1.z.string(),
72
+ organizationId: zod_1.z.string(),
73
+ url: zod_1.z.string(),
74
+ events: zod_1.z.array(WebhookEventTypeSchema),
75
+ enabled: zod_1.z.boolean(),
76
+ createdAt: zod_1.z.string().datetime(),
77
+ updatedAt: zod_1.z.string().datetime(),
78
+ deletedAt: zod_1.z.string().datetime().nullable(),
79
+ });
80
+ exports.WebhookListResponseSchema = zod_1.z.object({
81
+ data: zod_1.z.array(exports.WebhookResponseSchema),
82
+ nextCursor: zod_1.z.string().nullable(),
83
+ });
84
+ exports.WebhookDeliveryResponseSchema = zod_1.z.object({
85
+ id: zod_1.z.string(),
86
+ projectId: zod_1.z.string(),
87
+ webhookEndpointId: zod_1.z.string(),
88
+ eventType: zod_1.z.string(),
89
+ status: zod_1.z.enum(["pending", "success", "failed"]),
90
+ attemptCount: zod_1.z.number().int(),
91
+ lastStatusCode: zod_1.z.number().int().nullable(),
92
+ lastError: zod_1.z.string().nullable(),
93
+ responseBodySnippet: zod_1.z.string().nullable(),
94
+ nextAttemptAt: zod_1.z.string().datetime().nullable(),
95
+ createdAt: zod_1.z.string().datetime(),
96
+ updatedAt: zod_1.z.string().datetime(),
97
+ });
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Apollo Signal — Webhooks Schemas
3
+ *
4
+ * Subpath: @apollo-deploy/signal-schemas/webhooks
5
+ */
6
+ import { z } from 'zod';
7
+ export declare const WebhookEventTypeSchema: z.ZodEnum<{
8
+ "email.sent": "email.sent";
9
+ "email.delivered": "email.delivered";
10
+ "email.bounced": "email.bounced";
11
+ "email.complained": "email.complained";
12
+ "email.opened": "email.opened";
13
+ "email.clicked": "email.clicked";
14
+ "email.failed": "email.failed";
15
+ "email.rejected": "email.rejected";
16
+ "email.delivery_delayed": "email.delivery_delayed";
17
+ "email.suppressed": "email.suppressed";
18
+ "webhook.test": "webhook.test";
19
+ }>;
20
+ export declare const WebhookProjectParamSchema: z.ZodObject<{
21
+ projectId: z.ZodString;
22
+ }, z.core.$strip>;
23
+ export declare const CreateWebhookBodySchema: z.ZodObject<{
24
+ url: z.ZodString;
25
+ events: z.ZodArray<z.ZodEnum<{
26
+ "email.sent": "email.sent";
27
+ "email.delivered": "email.delivered";
28
+ "email.bounced": "email.bounced";
29
+ "email.complained": "email.complained";
30
+ "email.opened": "email.opened";
31
+ "email.clicked": "email.clicked";
32
+ "email.failed": "email.failed";
33
+ "email.rejected": "email.rejected";
34
+ "email.delivery_delayed": "email.delivery_delayed";
35
+ "email.suppressed": "email.suppressed";
36
+ "webhook.test": "webhook.test";
37
+ }>>;
38
+ secret: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ export declare const UpdateWebhookBodySchema: z.ZodObject<{
41
+ url: z.ZodOptional<z.ZodString>;
42
+ events: z.ZodOptional<z.ZodArray<z.ZodEnum<{
43
+ "email.sent": "email.sent";
44
+ "email.delivered": "email.delivered";
45
+ "email.bounced": "email.bounced";
46
+ "email.complained": "email.complained";
47
+ "email.opened": "email.opened";
48
+ "email.clicked": "email.clicked";
49
+ "email.failed": "email.failed";
50
+ "email.rejected": "email.rejected";
51
+ "email.delivery_delayed": "email.delivery_delayed";
52
+ "email.suppressed": "email.suppressed";
53
+ "webhook.test": "webhook.test";
54
+ }>>>;
55
+ secret: z.ZodOptional<z.ZodString>;
56
+ enabled: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$strip>;
58
+ export declare const WebhookIdParamSchema: z.ZodObject<{
59
+ projectId: z.ZodString;
60
+ webhookId: z.ZodString;
61
+ }, z.core.$strip>;
62
+ export declare const WebhookParamsSchema: z.ZodObject<{
63
+ projectId: z.ZodString;
64
+ endpointId: z.ZodString;
65
+ }, z.core.$strip>;
66
+ export declare const WebhookDeliveryIdParamSchema: z.ZodObject<{
67
+ projectId: z.ZodString;
68
+ deliveryId: z.ZodCoercedNumber<unknown>;
69
+ }, z.core.$strip>;
70
+ export declare const ListWebhooksQuerySchema: z.ZodObject<{
71
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
72
+ cursor: z.ZodOptional<z.ZodString>;
73
+ }, z.core.$strip>;
74
+ export declare const WebhookResponseSchema: z.ZodObject<{
75
+ id: z.ZodString;
76
+ projectId: z.ZodString;
77
+ organizationId: z.ZodString;
78
+ url: z.ZodString;
79
+ events: z.ZodArray<z.ZodEnum<{
80
+ "email.sent": "email.sent";
81
+ "email.delivered": "email.delivered";
82
+ "email.bounced": "email.bounced";
83
+ "email.complained": "email.complained";
84
+ "email.opened": "email.opened";
85
+ "email.clicked": "email.clicked";
86
+ "email.failed": "email.failed";
87
+ "email.rejected": "email.rejected";
88
+ "email.delivery_delayed": "email.delivery_delayed";
89
+ "email.suppressed": "email.suppressed";
90
+ "webhook.test": "webhook.test";
91
+ }>>;
92
+ enabled: z.ZodBoolean;
93
+ createdAt: z.ZodString;
94
+ updatedAt: z.ZodString;
95
+ deletedAt: z.ZodNullable<z.ZodString>;
96
+ }, z.core.$strip>;
97
+ export declare const WebhookListResponseSchema: z.ZodObject<{
98
+ data: z.ZodArray<z.ZodObject<{
99
+ id: z.ZodString;
100
+ projectId: z.ZodString;
101
+ organizationId: z.ZodString;
102
+ url: z.ZodString;
103
+ events: z.ZodArray<z.ZodEnum<{
104
+ "email.sent": "email.sent";
105
+ "email.delivered": "email.delivered";
106
+ "email.bounced": "email.bounced";
107
+ "email.complained": "email.complained";
108
+ "email.opened": "email.opened";
109
+ "email.clicked": "email.clicked";
110
+ "email.failed": "email.failed";
111
+ "email.rejected": "email.rejected";
112
+ "email.delivery_delayed": "email.delivery_delayed";
113
+ "email.suppressed": "email.suppressed";
114
+ "webhook.test": "webhook.test";
115
+ }>>;
116
+ enabled: z.ZodBoolean;
117
+ createdAt: z.ZodString;
118
+ updatedAt: z.ZodString;
119
+ deletedAt: z.ZodNullable<z.ZodString>;
120
+ }, z.core.$strip>>;
121
+ nextCursor: z.ZodNullable<z.ZodString>;
122
+ }, z.core.$strip>;
123
+ export declare const WebhookDeliveryResponseSchema: z.ZodObject<{
124
+ id: z.ZodString;
125
+ projectId: z.ZodString;
126
+ webhookEndpointId: z.ZodString;
127
+ eventType: z.ZodString;
128
+ status: z.ZodEnum<{
129
+ success: "success";
130
+ pending: "pending";
131
+ failed: "failed";
132
+ }>;
133
+ attemptCount: z.ZodNumber;
134
+ lastStatusCode: z.ZodNullable<z.ZodNumber>;
135
+ lastError: z.ZodNullable<z.ZodString>;
136
+ responseBodySnippet: z.ZodNullable<z.ZodString>;
137
+ nextAttemptAt: z.ZodNullable<z.ZodString>;
138
+ createdAt: z.ZodString;
139
+ updatedAt: z.ZodString;
140
+ }, z.core.$strip>;
141
+ export type WebhookEventType = z.infer<typeof WebhookEventTypeSchema>;
142
+ export type WebhookProjectParam = z.infer<typeof WebhookProjectParamSchema>;
143
+ export type CreateWebhookBody = z.infer<typeof CreateWebhookBodySchema>;
144
+ export type UpdateWebhookBody = z.infer<typeof UpdateWebhookBodySchema>;
145
+ export type WebhookIdParam = z.infer<typeof WebhookIdParamSchema>;
146
+ export type WebhookParams = z.infer<typeof WebhookParamsSchema>;
147
+ export type WebhookDeliveryIdParam = z.infer<typeof WebhookDeliveryIdParamSchema>;
148
+ export type ListWebhooksQuery = z.infer<typeof ListWebhooksQuerySchema>;
149
+ export type WebhookResponse = z.infer<typeof WebhookResponseSchema>;
150
+ export type WebhookListResponse = z.infer<typeof WebhookListResponseSchema>;
151
+ export type WebhookDeliveryResponse = z.infer<typeof WebhookDeliveryResponseSchema>;
152
+ //# sourceMappingURL=webhooks.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/webhooks/webhooks.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAMH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAaxC,CAAC;AAMH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * Apollo Signal — Webhooks Schemas
4
+ *
5
+ * Subpath: @apollo-deploy/signal-schemas/webhooks
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.WebhookDeliveryResponseSchema = exports.WebhookListResponseSchema = exports.WebhookResponseSchema = exports.ListWebhooksQuerySchema = exports.WebhookDeliveryIdParamSchema = exports.WebhookParamsSchema = exports.WebhookIdParamSchema = exports.UpdateWebhookBodySchema = exports.CreateWebhookBodySchema = exports.WebhookProjectParamSchema = exports.WebhookEventTypeSchema = void 0;
9
+ var zod_1 = require("zod");
10
+ // ---------------------------------------------------------------------------
11
+ // Shared enums
12
+ // ---------------------------------------------------------------------------
13
+ exports.WebhookEventTypeSchema = zod_1.z.enum([
14
+ 'email.sent', 'email.delivered', 'email.bounced', 'email.complained',
15
+ 'email.opened', 'email.clicked', 'email.failed', 'email.rejected',
16
+ 'email.delivery_delayed', 'email.suppressed', 'webhook.test',
17
+ ]);
18
+ // ---------------------------------------------------------------------------
19
+ // Request schemas
20
+ // ---------------------------------------------------------------------------
21
+ exports.WebhookProjectParamSchema = zod_1.z.object({
22
+ projectId: zod_1.z.string().min(1),
23
+ });
24
+ exports.CreateWebhookBodySchema = zod_1.z.object({
25
+ url: zod_1.z.string().url(),
26
+ events: zod_1.z.array(exports.WebhookEventTypeSchema).min(1),
27
+ secret: zod_1.z.string().min(16).optional(),
28
+ });
29
+ exports.UpdateWebhookBodySchema = zod_1.z.object({
30
+ url: zod_1.z.string().url().optional(),
31
+ events: zod_1.z.array(exports.WebhookEventTypeSchema).min(1).optional(),
32
+ secret: zod_1.z.string().min(16).optional(),
33
+ enabled: zod_1.z.boolean().optional(),
34
+ });
35
+ exports.WebhookIdParamSchema = zod_1.z.object({
36
+ projectId: zod_1.z.string().min(1),
37
+ webhookId: zod_1.z.string().min(1),
38
+ });
39
+ exports.WebhookParamsSchema = zod_1.z.object({
40
+ projectId: zod_1.z.string().min(1),
41
+ endpointId: zod_1.z.string().min(1),
42
+ });
43
+ exports.WebhookDeliveryIdParamSchema = zod_1.z.object({
44
+ projectId: zod_1.z.string().min(1),
45
+ deliveryId: zod_1.z.coerce.number().int().min(1),
46
+ });
47
+ exports.ListWebhooksQuerySchema = zod_1.z.object({
48
+ limit: zod_1.z.coerce.number().int().min(1).max(100).default(25),
49
+ cursor: zod_1.z.string().optional(),
50
+ });
51
+ // ---------------------------------------------------------------------------
52
+ // Response schemas
53
+ // ---------------------------------------------------------------------------
54
+ exports.WebhookResponseSchema = zod_1.z.object({
55
+ id: zod_1.z.string(),
56
+ projectId: zod_1.z.string(),
57
+ organizationId: zod_1.z.string(),
58
+ url: zod_1.z.string(),
59
+ events: zod_1.z.array(exports.WebhookEventTypeSchema),
60
+ enabled: zod_1.z.boolean(),
61
+ createdAt: zod_1.z.string().datetime(),
62
+ updatedAt: zod_1.z.string().datetime(),
63
+ deletedAt: zod_1.z.string().datetime().nullable(),
64
+ });
65
+ exports.WebhookListResponseSchema = zod_1.z.object({
66
+ data: zod_1.z.array(exports.WebhookResponseSchema),
67
+ nextCursor: zod_1.z.string().nullable(),
68
+ });
69
+ exports.WebhookDeliveryResponseSchema = zod_1.z.object({
70
+ id: zod_1.z.string(),
71
+ projectId: zod_1.z.string(),
72
+ webhookEndpointId: zod_1.z.string(),
73
+ eventType: zod_1.z.string(),
74
+ status: zod_1.z.enum(['pending', 'success', 'failed']),
75
+ attemptCount: zod_1.z.number().int(),
76
+ lastStatusCode: zod_1.z.number().int().nullable(),
77
+ lastError: zod_1.z.string().nullable(),
78
+ responseBodySnippet: zod_1.z.string().nullable(),
79
+ nextAttemptAt: zod_1.z.string().datetime().nullable(),
80
+ createdAt: zod_1.z.string().datetime(),
81
+ updatedAt: zod_1.z.string().datetime(),
82
+ });
83
+ // ---------------------------------------------------------------------------
84
+ // Schema registry — promotes types to OpenAPI components/schemas
85
+ // ---------------------------------------------------------------------------
86
+ zod_1.z.globalRegistry.add(exports.WebhookEventTypeSchema, { id: 'WebhookEventType' });
87
+ zod_1.z.globalRegistry.add(exports.WebhookProjectParamSchema, { id: 'WebhookProjectParam' });
88
+ zod_1.z.globalRegistry.add(exports.CreateWebhookBodySchema, { id: 'CreateWebhookBody' });
89
+ zod_1.z.globalRegistry.add(exports.UpdateWebhookBodySchema, { id: 'UpdateWebhookBody' });
90
+ zod_1.z.globalRegistry.add(exports.WebhookIdParamSchema, { id: 'WebhookIdParam' });
91
+ zod_1.z.globalRegistry.add(exports.WebhookParamsSchema, { id: 'WebhookParams' });
92
+ zod_1.z.globalRegistry.add(exports.WebhookDeliveryIdParamSchema, { id: 'WebhookDeliveryIdParam' });
93
+ zod_1.z.globalRegistry.add(exports.ListWebhooksQuerySchema, { id: 'ListWebhooksQuery' });
94
+ zod_1.z.globalRegistry.add(exports.WebhookResponseSchema, { id: 'WebhookResponse' });
95
+ zod_1.z.globalRegistry.add(exports.WebhookListResponseSchema, { id: 'WebhookListResponse' });
96
+ zod_1.z.globalRegistry.add(exports.WebhookDeliveryResponseSchema, { id: 'WebhookDeliveryResponse' });
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Schema Generation Script
4
+ *
5
+ * Generates JSON Schema files from Zod schema definitions.
6
+ * Automatically discovers and generates schemas for all Signal domains.
7
+ * Run with: bun run generate
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=generate-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-schemas.d.ts","sourceRoot":"","sources":["../../src/generators/generate-schemas.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Schema Generation Script
4
+ *
5
+ * Generates JSON Schema files from Zod schema definitions.
6
+ * Automatically discovers and generates schemas for all Signal domains.
7
+ * Run with: bun run generate
8
+ */
9
+ import { writeFileSync, mkdirSync, existsSync, readdirSync } from 'node:fs';
10
+ import { join, dirname } from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+ import { z } from 'zod';
13
+ import { createCombinedSchema } from './zod-to-json-schema.js';
14
+ import { IsoDateStringSchema, NullableIsoDateStringSchema, CursorPaginationSchema, SignalErrorEnvelopeSchema, } from '../definitions/common.js';
15
+ const __filename = fileURLToPath(import.meta.url);
16
+ const __dirname = dirname(__filename);
17
+ // ---------------------------------------------------------------------------
18
+ // Constants
19
+ // ---------------------------------------------------------------------------
20
+ const OUTPUT_DIR = join(__dirname, '../../generated');
21
+ const DEFINITIONS_DIR = join(__dirname, '../definitions');
22
+ // ---------------------------------------------------------------------------
23
+ // Helpers
24
+ // ---------------------------------------------------------------------------
25
+ function ensureOutputDir() {
26
+ if (!existsSync(OUTPUT_DIR)) {
27
+ mkdirSync(OUTPUT_DIR, { recursive: true });
28
+ }
29
+ }
30
+ function writeSchema(name, json) {
31
+ const filePath = join(OUTPUT_DIR, `${name}.schema.json`);
32
+ writeFileSync(filePath, json, 'utf-8');
33
+ console.log(` āœ“ ${name}.schema.json`);
34
+ }
35
+ function discoverDomains() {
36
+ const domains = [];
37
+ try {
38
+ const entries = readdirSync(DEFINITIONS_DIR, { withFileTypes: true });
39
+ for (const entry of entries) {
40
+ if (!entry.isDirectory()) {
41
+ continue;
42
+ }
43
+ if (entry.name.startsWith('.')) {
44
+ continue;
45
+ }
46
+ const domainPath = join(DEFINITIONS_DIR, entry.name);
47
+ const indexPath = join(domainPath, 'index.ts');
48
+ if (existsSync(indexPath)) {
49
+ domains.push({ name: entry.name, path: domainPath });
50
+ }
51
+ }
52
+ }
53
+ catch (error) {
54
+ console.error('Error discovering domains:', error);
55
+ }
56
+ return domains.sort((a, b) => a.name.localeCompare(b.name));
57
+ }
58
+ async function importDomainSchemas(domainName) {
59
+ try {
60
+ const module = await import(`../definitions/${domainName}/index.js`);
61
+ return module;
62
+ }
63
+ catch (error) {
64
+ console.warn(` ⚠ Could not import schemas from ${domainName}:`, error);
65
+ return {};
66
+ }
67
+ }
68
+ function extractZodSchemas(module) {
69
+ const schemas = {};
70
+ for (const [key, value] of Object.entries(module)) {
71
+ if (value !== null &&
72
+ typeof value === 'object' &&
73
+ ('_def' in value || '_zod' in value)) {
74
+ schemas[key] = value;
75
+ }
76
+ }
77
+ return schemas;
78
+ }
79
+ // ---------------------------------------------------------------------------
80
+ // Main
81
+ // ---------------------------------------------------------------------------
82
+ async function generateSchemas() {
83
+ console.log('šŸ”„ Generating JSON Schema files...\n');
84
+ ensureOutputDir();
85
+ console.log('šŸ“¦ Common schemas:');
86
+ const commonSchemas = {
87
+ IsoDateString: IsoDateStringSchema,
88
+ NullableIsoDateString: NullableIsoDateStringSchema,
89
+ SignalCursorPagination: CursorPaginationSchema,
90
+ SignalErrorEnvelope: SignalErrorEnvelopeSchema,
91
+ };
92
+ const combinedCommon = createCombinedSchema(commonSchemas, 'common');
93
+ writeSchema('common', combinedCommon.json);
94
+ console.log('\n🌐 Domain schemas:');
95
+ const domains = discoverDomains();
96
+ for (const domain of domains) {
97
+ console.log(`\n ${domain.name}:`);
98
+ try {
99
+ const module = await importDomainSchemas(domain.name);
100
+ const schemas = extractZodSchemas(module);
101
+ if (Object.keys(schemas).length === 0) {
102
+ console.log(' ⚠ No schemas found');
103
+ continue;
104
+ }
105
+ const combined = createCombinedSchema(schemas, domain.name);
106
+ writeSchema(domain.name, combined.json);
107
+ }
108
+ catch (error) {
109
+ console.error(` āœ— Error generating ${domain.name}:`, error);
110
+ }
111
+ }
112
+ console.log('\nāœ… Schema generation complete!');
113
+ console.log(`šŸ“ Generated files in: ${OUTPUT_DIR}`);
114
+ }
115
+ generateSchemas().catch((error) => {
116
+ console.error('Fatal error during schema generation:', error);
117
+ process.exit(1);
118
+ });
119
+ //# sourceMappingURL=generate-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-schemas.js","sourceRoot":"","sources":["../../src/generators/generate-schemas.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACtD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAW1D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,eAAe;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACzD,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAE/C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,UAAU,WAAW,CAAC,CAAC;QACrE,OAAO,MAAiC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IACE,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,EACpC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAkB,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,KAAK,UAAU,eAAe;IAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,eAAe,EAAE,CAAC;IAElB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG;QACpB,aAAa,EAAE,mBAAmB;QAClC,qBAAqB,EAAE,2BAA2B;QAClD,sBAAsB,EAAE,sBAAsB;QAC9C,mBAAmB,EAAE,yBAAyB;KAC/C,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrE,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC","sourcesContent":["#!/usr/bin/env bun\n/**\n * Schema Generation Script\n *\n * Generates JSON Schema files from Zod schema definitions.\n * Automatically discovers and generates schemas for all Signal domains.\n * Run with: bun run generate\n */\n\nimport { writeFileSync, mkdirSync, existsSync, readdirSync } from 'node:fs';\nimport { join, dirname } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport { z } from 'zod';\n\nimport { createCombinedSchema } from './zod-to-json-schema.js';\nimport {\n IsoDateStringSchema,\n NullableIsoDateStringSchema,\n CursorPaginationSchema,\n SignalErrorEnvelopeSchema,\n} from '../definitions/common.js';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\nconst OUTPUT_DIR = join(__dirname, '../../generated');\nconst DEFINITIONS_DIR = join(__dirname, '../definitions');\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface DomainConfig {\n name: string;\n path: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction ensureOutputDir(): void {\n if (!existsSync(OUTPUT_DIR)) {\n mkdirSync(OUTPUT_DIR, { recursive: true });\n }\n}\n\nfunction writeSchema(name: string, json: string): void {\n const filePath = join(OUTPUT_DIR, `${name}.schema.json`);\n writeFileSync(filePath, json, 'utf-8');\n console.log(` āœ“ ${name}.schema.json`);\n}\n\nfunction discoverDomains(): DomainConfig[] {\n const domains: DomainConfig[] = [];\n\n try {\n const entries = readdirSync(DEFINITIONS_DIR, { withFileTypes: true });\n\n for (const entry of entries) {\n if (!entry.isDirectory()) { continue; }\n if (entry.name.startsWith('.')) { continue; }\n\n const domainPath = join(DEFINITIONS_DIR, entry.name);\n const indexPath = join(domainPath, 'index.ts');\n\n if (existsSync(indexPath)) {\n domains.push({ name: entry.name, path: domainPath });\n }\n }\n } catch (error) {\n console.error('Error discovering domains:', error);\n }\n\n return domains.sort((a, b) => a.name.localeCompare(b.name));\n}\n\nasync function importDomainSchemas(domainName: string): Promise<Record<string, unknown>> {\n try {\n const module = await import(`../definitions/${domainName}/index.js`);\n return module as Record<string, unknown>;\n } catch (error) {\n console.warn(` ⚠ Could not import schemas from ${domainName}:`, error);\n return {};\n }\n}\n\nfunction extractZodSchemas(module: Record<string, unknown>): Record<string, z.ZodType> {\n const schemas: Record<string, z.ZodType> = {};\n\n for (const [key, value] of Object.entries(module)) {\n if (\n value !== null &&\n typeof value === 'object' &&\n ('_def' in value || '_zod' in value)\n ) {\n schemas[key] = value as z.ZodType;\n }\n }\n\n return schemas;\n}\n\n// ---------------------------------------------------------------------------\n// Main\n// ---------------------------------------------------------------------------\n\nasync function generateSchemas(): Promise<void> {\n console.log('šŸ”„ Generating JSON Schema files...\\n');\n\n ensureOutputDir();\n\n console.log('šŸ“¦ Common schemas:');\n const commonSchemas = {\n IsoDateString: IsoDateStringSchema,\n NullableIsoDateString: NullableIsoDateStringSchema,\n SignalCursorPagination: CursorPaginationSchema,\n SignalErrorEnvelope: SignalErrorEnvelopeSchema,\n };\n const combinedCommon = createCombinedSchema(commonSchemas, 'common');\n writeSchema('common', combinedCommon.json);\n\n console.log('\\n🌐 Domain schemas:');\n const domains = discoverDomains();\n\n for (const domain of domains) {\n console.log(`\\n ${domain.name}:`);\n\n try {\n const module = await importDomainSchemas(domain.name);\n const schemas = extractZodSchemas(module);\n\n if (Object.keys(schemas).length === 0) {\n console.log(' ⚠ No schemas found');\n continue;\n }\n\n const combined = createCombinedSchema(schemas, domain.name);\n writeSchema(domain.name, combined.json);\n } catch (error) {\n console.error(` āœ— Error generating ${domain.name}:`, error);\n }\n }\n\n console.log('\\nāœ… Schema generation complete!');\n console.log(`šŸ“ Generated files in: ${OUTPUT_DIR}`);\n}\n\ngenerateSchemas().catch((error) => {\n console.error('Fatal error during schema generation:', error);\n process.exit(1);\n});\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Apollo Signal Schemas — Generators
3
+ *
4
+ * Utilities for converting Zod schemas to JSON Schema format
5
+ * for cross-language type definitions.
6
+ */
7
+ export { convertToJsonSchema, convertMultipleToJsonSchema, createCombinedSchema, type GeneratorOptions, type GeneratedSchema, } from './zod-to-json-schema.js';
8
+ //# sourceMappingURL=index.d.ts.map