@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,114 @@
1
+ /**
2
+ * Apollo Signal — Internal project schemas (projects module).
3
+ *
4
+ * Zod schemas for project create/update/list requests and project response.
5
+ * Internal only — MUST NOT be exported to shared packages.
6
+ *
7
+ * Design §5 ; Requirements §1
8
+ */
9
+ import { z } from "zod";
10
+ export declare const CreateProjectBodySchema: z.ZodObject<{
11
+ name: z.ZodString;
12
+ slug: z.ZodString;
13
+ }, z.core.$strip>;
14
+ export declare const UpdateProjectBodySchema: z.ZodObject<{
15
+ name: z.ZodOptional<z.ZodString>;
16
+ slug: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export declare const ListProjectsQuerySchema: z.ZodObject<{
19
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
20
+ cursor: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ export declare const ProjectIdParamSchema: z.ZodObject<{
23
+ projectId: z.ZodString;
24
+ }, z.core.$strip>;
25
+ export declare const SetTrackingDomainBodySchema: z.ZodObject<{
26
+ domain: z.ZodNullable<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ export declare const TrackingDomainResponseSchema: z.ZodObject<{
29
+ trackingDomain: z.ZodNullable<z.ZodString>;
30
+ trackingDomainStatus: z.ZodNullable<z.ZodEnum<{
31
+ pending: "pending";
32
+ verified: "verified";
33
+ failed: "failed";
34
+ }>>;
35
+ cnameRecord: z.ZodNullable<z.ZodObject<{
36
+ name: z.ZodString;
37
+ value: z.ZodString;
38
+ }, z.core.$strip>>;
39
+ }, z.core.$strip>;
40
+ export declare const ProjectResponseSchema: z.ZodObject<{
41
+ id: z.ZodString;
42
+ organizationId: z.ZodString;
43
+ name: z.ZodString;
44
+ slug: z.ZodString;
45
+ status: z.ZodEnum<{
46
+ deleted: "deleted";
47
+ active: "active";
48
+ suspended: "suspended";
49
+ disabled: "disabled";
50
+ }>;
51
+ suspensionReason: z.ZodNullable<z.ZodString>;
52
+ region: z.ZodString;
53
+ limits: z.ZodObject<{
54
+ dailySends: z.ZodNumber;
55
+ perSecondSends: z.ZodNumber;
56
+ maxRecipientsPerMessage: z.ZodNumber;
57
+ maxDomains: z.ZodNumber;
58
+ maxApiKeys: z.ZodNumber;
59
+ maxWebhooks: z.ZodNumber;
60
+ }, z.core.$strip>;
61
+ createdByUserId: z.ZodString;
62
+ createdAt: z.ZodString;
63
+ updatedAt: z.ZodString;
64
+ deletedAt: z.ZodNullable<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ export declare const ProjectListResponseSchema: z.ZodObject<{
67
+ data: z.ZodArray<z.ZodObject<{
68
+ id: z.ZodString;
69
+ organizationId: z.ZodString;
70
+ name: z.ZodString;
71
+ slug: z.ZodString;
72
+ status: z.ZodEnum<{
73
+ deleted: "deleted";
74
+ active: "active";
75
+ suspended: "suspended";
76
+ disabled: "disabled";
77
+ }>;
78
+ suspensionReason: z.ZodNullable<z.ZodString>;
79
+ region: z.ZodString;
80
+ limits: z.ZodObject<{
81
+ dailySends: z.ZodNumber;
82
+ perSecondSends: z.ZodNumber;
83
+ maxRecipientsPerMessage: z.ZodNumber;
84
+ maxDomains: z.ZodNumber;
85
+ maxApiKeys: z.ZodNumber;
86
+ maxWebhooks: z.ZodNumber;
87
+ }, z.core.$strip>;
88
+ createdByUserId: z.ZodString;
89
+ createdAt: z.ZodString;
90
+ updatedAt: z.ZodString;
91
+ deletedAt: z.ZodNullable<z.ZodString>;
92
+ }, z.core.$strip>>;
93
+ nextCursor: z.ZodNullable<z.ZodString>;
94
+ }, z.core.$strip>;
95
+ /** Alias for {@link ProjectIdParamSchema} — canonical name per T-7.1. */
96
+ export declare const ProjectParamsSchema: z.ZodObject<{
97
+ projectId: z.ZodString;
98
+ }, z.core.$strip>;
99
+ /** Alias for {@link ListProjectsQuerySchema} — canonical name per T-7.1. */
100
+ export declare const ProjectListQuerySchema: z.ZodObject<{
101
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
102
+ cursor: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>;
104
+ export type CreateProjectBody = z.infer<typeof CreateProjectBodySchema>;
105
+ export type UpdateProjectBody = z.infer<typeof UpdateProjectBodySchema>;
106
+ export type ListProjectsQuery = z.infer<typeof ListProjectsQuerySchema>;
107
+ export type ProjectIdParam = z.infer<typeof ProjectIdParamSchema>;
108
+ export type ProjectParams = ProjectIdParam;
109
+ export type ProjectListQuery = ListProjectsQuery;
110
+ export type ProjectResponse = z.infer<typeof ProjectResponseSchema>;
111
+ export type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;
112
+ export type SetTrackingDomainBody = z.infer<typeof SetTrackingDomainBodySchema>;
113
+ export type TrackingDomainResponse = z.infer<typeof TrackingDomainResponseSchema>;
114
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/definitions/projects/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;iBAWtC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAKvC,CAAC;AAMH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGpC,CAAC;AAMH,yEAAyE;AACzE,eAAO,MAAM,mBAAmB;;iBAAuB,CAAC;AAExD,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB;;;iBAA0B,CAAC;AAM9D,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,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;AAC3C,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AACjD,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,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * Apollo Signal — Internal project schemas (projects module).
4
+ *
5
+ * Zod schemas for project create/update/list requests and project response.
6
+ * Internal only — MUST NOT be exported to shared packages.
7
+ *
8
+ * Design §5 ; Requirements §1
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ProjectListQuerySchema = exports.ProjectParamsSchema = exports.ProjectListResponseSchema = exports.ProjectResponseSchema = exports.TrackingDomainResponseSchema = exports.SetTrackingDomainBodySchema = exports.ProjectIdParamSchema = exports.ListProjectsQuerySchema = exports.UpdateProjectBodySchema = exports.CreateProjectBodySchema = void 0;
12
+ var zod_1 = require("zod");
13
+ // ---------------------------------------------------------------------------
14
+ // Shared sub-schemas
15
+ // ---------------------------------------------------------------------------
16
+ var ProjectLimitsSchema = zod_1.z.object({
17
+ dailySends: zod_1.z.number().int().min(1),
18
+ perSecondSends: zod_1.z.number().int().min(1),
19
+ maxRecipientsPerMessage: zod_1.z.number().int().min(1),
20
+ maxDomains: zod_1.z.number().int().min(1),
21
+ maxApiKeys: zod_1.z.number().int().min(1),
22
+ maxWebhooks: zod_1.z.number().int().min(1),
23
+ });
24
+ // ---------------------------------------------------------------------------
25
+ // Request schemas
26
+ // ---------------------------------------------------------------------------
27
+ exports.CreateProjectBodySchema = zod_1.z.object({
28
+ name: zod_1.z.string().min(1).max(255),
29
+ slug: zod_1.z.string().min(1).max(100).regex(/^[a-z0-9-]+$/, "Slug must be lowercase alphanumeric with hyphens"),
30
+ });
31
+ exports.UpdateProjectBodySchema = zod_1.z.object({
32
+ name: zod_1.z.string().min(1).max(255).optional(),
33
+ slug: zod_1.z.string().min(1).max(100).regex(/^[a-z0-9-]+$/).optional(),
34
+ });
35
+ exports.ListProjectsQuerySchema = zod_1.z.object({
36
+ limit: zod_1.z.coerce.number().int().min(1).max(100).default(25),
37
+ cursor: zod_1.z.string().optional(),
38
+ });
39
+ exports.ProjectIdParamSchema = zod_1.z.object({
40
+ projectId: zod_1.z.string().min(1),
41
+ });
42
+ exports.SetTrackingDomainBodySchema = zod_1.z.object({
43
+ /**
44
+ * Hostname only — no scheme or trailing slash (e.g. "track.acme.com").
45
+ * Pass null to remove the custom tracking domain.
46
+ */
47
+ domain: zod_1.z
48
+ .string()
49
+ .min(1)
50
+ .max(253)
51
+ .regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/, "Must be a valid hostname")
52
+ .nullable(),
53
+ });
54
+ exports.TrackingDomainResponseSchema = zod_1.z.object({
55
+ trackingDomain: zod_1.z.string().nullable(),
56
+ trackingDomainStatus: zod_1.z.enum(["pending", "verified", "failed"]).nullable(),
57
+ /** The CNAME record the user must publish to verify the domain. Null when no domain is set or no CNAME target is configured. */
58
+ cnameRecord: zod_1.z.object({ name: zod_1.z.string(), value: zod_1.z.string() }).nullable(),
59
+ });
60
+ // ---------------------------------------------------------------------------
61
+ // Response schema
62
+ // ---------------------------------------------------------------------------
63
+ exports.ProjectResponseSchema = zod_1.z.object({
64
+ id: zod_1.z.string(),
65
+ organizationId: zod_1.z.string(),
66
+ name: zod_1.z.string(),
67
+ slug: zod_1.z.string(),
68
+ status: zod_1.z.enum(["active", "suspended", "disabled", "deleted"]),
69
+ suspensionReason: zod_1.z.string().nullable(),
70
+ region: zod_1.z.string(),
71
+ limits: ProjectLimitsSchema,
72
+ createdByUserId: zod_1.z.string(),
73
+ createdAt: zod_1.z.string().datetime(),
74
+ updatedAt: zod_1.z.string().datetime(),
75
+ deletedAt: zod_1.z.string().datetime().nullable(),
76
+ });
77
+ exports.ProjectListResponseSchema = zod_1.z.object({
78
+ data: zod_1.z.array(exports.ProjectResponseSchema),
79
+ nextCursor: zod_1.z.string().nullable(),
80
+ });
81
+ // ---------------------------------------------------------------------------
82
+ // Aliases (task-spec canonical names)
83
+ // ---------------------------------------------------------------------------
84
+ /** Alias for {@link ProjectIdParamSchema} — canonical name per T-7.1. */
85
+ exports.ProjectParamsSchema = exports.ProjectIdParamSchema;
86
+ /** Alias for {@link ListProjectsQuerySchema} — canonical name per T-7.1. */
87
+ exports.ProjectListQuerySchema = exports.ListProjectsQuerySchema;
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Apollo Signal — Email Domain Schema Definitions
3
+ *
4
+ * Stable wire contracts for the Apollo Signal transactional email service.
5
+ * These types cross the backend-to-client boundary and are consumed by the
6
+ * TypeScript SDK and the web client.
7
+ *
8
+ * Scope: only the public /v1/emails* surface and the outbound webhook
9
+ * delivery payload. Dashboard-only types (/signal/*) are backend-private
10
+ * and live in apps/signal/src/modules/<module>/contracts/internal/.
11
+ */
12
+ import { z } from 'zod';
13
+ import { NullableIsoDateStringSchema } from '../common.js';
14
+ /**
15
+ * Lifecycle status of a transactional email.
16
+ *
17
+ * queued - accepted, pending SES submission
18
+ * scheduled - deferred send, waiting for scheduled delivery time
19
+ * cancelled - scheduled send cancelled before delivery
20
+ * sent - submitted to SES successfully
21
+ * delivered - SES confirmed delivery to the recipient MTA
22
+ * bounced - permanent or transient bounce received from SES
23
+ * complained - spam complaint received from SES
24
+ * failed - SES submission failed (non-retryable)
25
+ * rejected - rejected before SES (suppressed recipient, reserved domain, etc.)
26
+ * suppressed - blocked by the project suppression list
27
+ * test - sent in test mode; no SES call was made
28
+ */
29
+ export declare const SignalEmailStatusSchema: z.ZodEnum<{
30
+ failed: "failed";
31
+ queued: "queued";
32
+ scheduled: "scheduled";
33
+ cancelled: "cancelled";
34
+ sent: "sent";
35
+ delivered: "delivered";
36
+ bounced: "bounced";
37
+ complained: "complained";
38
+ rejected: "rejected";
39
+ suppressed: "suppressed";
40
+ test: "test";
41
+ }>;
42
+ /**
43
+ * Types of events that can appear on an email's timeline and in webhook
44
+ * delivery payloads.
45
+ */
46
+ export declare const SignalEmailEventTypeSchema: z.ZodEnum<{
47
+ "email.queued": "email.queued";
48
+ "email.sent": "email.sent";
49
+ "email.delivered": "email.delivered";
50
+ "email.bounced": "email.bounced";
51
+ "email.complained": "email.complained";
52
+ "email.opened": "email.opened";
53
+ "email.clicked": "email.clicked";
54
+ "email.failed": "email.failed";
55
+ "email.rejected": "email.rejected";
56
+ "email.delivery_delayed": "email.delivery_delayed";
57
+ "email.suppressed": "email.suppressed";
58
+ "email.test": "email.test";
59
+ }>;
60
+ /**
61
+ * All event types that can be delivered to a webhook endpoint.
62
+ * Includes "webhook.test" for the test-delivery endpoint.
63
+ */
64
+ export declare const SignalWebhookEventTypeSchema: z.ZodEnum<{
65
+ "email.queued": "email.queued";
66
+ "email.sent": "email.sent";
67
+ "email.delivered": "email.delivered";
68
+ "email.bounced": "email.bounced";
69
+ "email.complained": "email.complained";
70
+ "email.opened": "email.opened";
71
+ "email.clicked": "email.clicked";
72
+ "email.failed": "email.failed";
73
+ "email.rejected": "email.rejected";
74
+ "email.delivery_delayed": "email.delivery_delayed";
75
+ "email.suppressed": "email.suppressed";
76
+ "email.test": "email.test";
77
+ "webhook.test": "webhook.test";
78
+ }>;
79
+ /**
80
+ * The canonical payload shape delivered to customer webhook endpoints.
81
+ *
82
+ * Signed with HMAC-SHA-256; the signature is in the
83
+ * X-Apollo-Signal-Signature header (v1=<hex>).
84
+ */
85
+ export declare const SignalWebhookDeliveryPayloadSchema: z.ZodObject<{
86
+ id: z.ZodString;
87
+ type: z.ZodEnum<{
88
+ "email.queued": "email.queued";
89
+ "email.sent": "email.sent";
90
+ "email.delivered": "email.delivered";
91
+ "email.bounced": "email.bounced";
92
+ "email.complained": "email.complained";
93
+ "email.opened": "email.opened";
94
+ "email.clicked": "email.clicked";
95
+ "email.failed": "email.failed";
96
+ "email.rejected": "email.rejected";
97
+ "email.delivery_delayed": "email.delivery_delayed";
98
+ "email.suppressed": "email.suppressed";
99
+ "email.test": "email.test";
100
+ "webhook.test": "webhook.test";
101
+ }>;
102
+ createdAt: z.ZodString;
103
+ data: z.ZodObject<{
104
+ emailId: z.ZodString;
105
+ messageId: z.ZodNullable<z.ZodString>;
106
+ from: z.ZodString;
107
+ to: z.ZodArray<z.ZodString>;
108
+ subject: z.ZodString;
109
+ status: z.ZodEnum<{
110
+ failed: "failed";
111
+ queued: "queued";
112
+ scheduled: "scheduled";
113
+ cancelled: "cancelled";
114
+ sent: "sent";
115
+ delivered: "delivered";
116
+ bounced: "bounced";
117
+ complained: "complained";
118
+ rejected: "rejected";
119
+ suppressed: "suppressed";
120
+ test: "test";
121
+ }>;
122
+ metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
123
+ }, z.core.$strip>;
124
+ }, z.core.$strip>;
125
+ export type SignalEmailStatus = z.infer<typeof SignalEmailStatusSchema>;
126
+ export type SignalEmailEventType = z.infer<typeof SignalEmailEventTypeSchema>;
127
+ export type SignalWebhookEventType = z.infer<typeof SignalWebhookEventTypeSchema>;
128
+ export type SignalWebhookDeliveryPayload = z.infer<typeof SignalWebhookDeliveryPayloadSchema>;
129
+ /**
130
+ * The data sub-object of a webhook delivery payload.
131
+ * Consumers can derive this type without re-importing the parent schema.
132
+ */
133
+ export type SignalWebhookDeliveryPayloadData = SignalWebhookDeliveryPayload['data'];
134
+ export { NullableIsoDateStringSchema as SignalNullableIsoDateStringSchema };
135
+ //# sourceMappingURL=domain.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/signal-email/domain.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAuB,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAMhF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAYlC,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;EAarC,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;EAcvC,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC7C,CAAC;AAMH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;AAGpF,OAAO,EAAE,2BAA2B,IAAI,iCAAiC,EAAE,CAAC"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Apollo Signal — Email Domain Schema Definitions
3
+ *
4
+ * Stable wire contracts for the Apollo Signal transactional email service.
5
+ * These types cross the backend-to-client boundary and are consumed by the
6
+ * TypeScript SDK and the web client.
7
+ *
8
+ * Scope: only the public /v1/emails* surface and the outbound webhook
9
+ * delivery payload. Dashboard-only types (/signal/*) are backend-private
10
+ * and live in apps/signal/src/modules/<module>/contracts/internal/.
11
+ */
12
+ import { z } from 'zod';
13
+ import { IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';
14
+ // ---------------------------------------------------------------------------
15
+ // Email status
16
+ // ---------------------------------------------------------------------------
17
+ /**
18
+ * Lifecycle status of a transactional email.
19
+ *
20
+ * queued - accepted, pending SES submission
21
+ * scheduled - deferred send, waiting for scheduled delivery time
22
+ * cancelled - scheduled send cancelled before delivery
23
+ * sent - submitted to SES successfully
24
+ * delivered - SES confirmed delivery to the recipient MTA
25
+ * bounced - permanent or transient bounce received from SES
26
+ * complained - spam complaint received from SES
27
+ * failed - SES submission failed (non-retryable)
28
+ * rejected - rejected before SES (suppressed recipient, reserved domain, etc.)
29
+ * suppressed - blocked by the project suppression list
30
+ * test - sent in test mode; no SES call was made
31
+ */
32
+ export const SignalEmailStatusSchema = z.enum([
33
+ 'queued',
34
+ 'scheduled',
35
+ 'cancelled',
36
+ 'sent',
37
+ 'delivered',
38
+ 'bounced',
39
+ 'complained',
40
+ 'failed',
41
+ 'rejected',
42
+ 'suppressed',
43
+ 'test',
44
+ ]);
45
+ // ---------------------------------------------------------------------------
46
+ // Email event type
47
+ // ---------------------------------------------------------------------------
48
+ /**
49
+ * Types of events that can appear on an email's timeline and in webhook
50
+ * delivery payloads.
51
+ */
52
+ export const SignalEmailEventTypeSchema = z.enum([
53
+ 'email.queued',
54
+ 'email.sent',
55
+ 'email.delivered',
56
+ 'email.bounced',
57
+ 'email.complained',
58
+ 'email.opened',
59
+ 'email.clicked',
60
+ 'email.failed',
61
+ 'email.rejected',
62
+ 'email.delivery_delayed',
63
+ 'email.suppressed',
64
+ 'email.test',
65
+ ]);
66
+ // ---------------------------------------------------------------------------
67
+ // Webhook event type (superset of email event types)
68
+ // ---------------------------------------------------------------------------
69
+ /**
70
+ * All event types that can be delivered to a webhook endpoint.
71
+ * Includes "webhook.test" for the test-delivery endpoint.
72
+ */
73
+ export const SignalWebhookEventTypeSchema = z.enum([
74
+ 'email.queued',
75
+ 'email.sent',
76
+ 'email.delivered',
77
+ 'email.bounced',
78
+ 'email.complained',
79
+ 'email.opened',
80
+ 'email.clicked',
81
+ 'email.failed',
82
+ 'email.rejected',
83
+ 'email.delivery_delayed',
84
+ 'email.suppressed',
85
+ 'email.test',
86
+ 'webhook.test',
87
+ ]);
88
+ // ---------------------------------------------------------------------------
89
+ // Webhook delivery payload
90
+ // ---------------------------------------------------------------------------
91
+ /**
92
+ * The canonical payload shape delivered to customer webhook endpoints.
93
+ *
94
+ * Signed with HMAC-SHA-256; the signature is in the
95
+ * X-Apollo-Signal-Signature header (v1=<hex>).
96
+ */
97
+ export const SignalWebhookDeliveryPayloadSchema = z.object({
98
+ /** Stable event ID (evt_<crockford-base32>). */
99
+ id: z.string(),
100
+ /** Event type that triggered this delivery. */
101
+ type: SignalWebhookEventTypeSchema,
102
+ /** ISO 8601 timestamp when the event was recorded. */
103
+ createdAt: IsoDateStringSchema,
104
+ data: z.object({
105
+ /** Email ID (email_<crockford-base32>). */
106
+ emailId: z.string(),
107
+ /** SES message ID, present after successful submission. */
108
+ messageId: z.string().nullable(),
109
+ /** Sender address as supplied in the send request. */
110
+ from: z.string(),
111
+ /** Primary recipient addresses. */
112
+ to: z.array(z.string()),
113
+ /** Email subject line. */
114
+ subject: z.string(),
115
+ /** Final email status at the time of this event. */
116
+ status: SignalEmailStatusSchema,
117
+ /** Caller-supplied metadata from the original send request. */
118
+ metadata: z.record(z.string(), z.string()).nullable(),
119
+ }),
120
+ });
121
+ // Re-exported for consumers that need nullable datetime fields in derived schemas.
122
+ export { NullableIsoDateStringSchema as SignalNullableIsoDateStringSchema };
123
+ // ---------------------------------------------------------------------------
124
+ // Schema registry — promotes types to OpenAPI components/schemas
125
+ // ---------------------------------------------------------------------------
126
+ z.globalRegistry.add(SignalEmailStatusSchema, { id: 'SignalEmailStatus' });
127
+ z.globalRegistry.add(SignalEmailEventTypeSchema, { id: 'SignalEmailEventType' });
128
+ z.globalRegistry.add(SignalWebhookEventTypeSchema, { id: 'SignalWebhookEventType' });
129
+ z.globalRegistry.add(SignalWebhookDeliveryPayloadSchema, { id: 'SignalWebhookDeliveryPayload' });
130
+ //# sourceMappingURL=domain.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.schema.js","sourceRoot":"","sources":["../../../src/definitions/signal-email/domain.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5C,QAAQ;IACR,WAAW;IACX,WAAW;IACX,MAAM;IACN,WAAW;IACX,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,MAAM;CACP,CAAC,CAAC;AAEH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,wBAAwB;IACxB,kBAAkB;IAClB,YAAY;CACb,CAAC,CAAC;AAEH,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,wBAAwB;IACxB,kBAAkB;IAClB,YAAY;IACZ,cAAc;CACf,CAAC,CAAC;AAEH,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,gDAAgD;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,+CAA+C;IAC/C,IAAI,EAAE,4BAA4B;IAElC,sDAAsD;IACtD,SAAS,EAAE,mBAAmB;IAE9B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,2CAA2C;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QAEnB,2DAA2D;QAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAEhC,sDAAsD;QACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAEhB,mCAAmC;QACnC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAEvB,0BAA0B;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QAEnB,oDAAoD;QACpD,MAAM,EAAE,uBAAuB;QAE/B,+DAA+D;QAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC;CACH,CAAC,CAAC;AAiBH,mFAAmF;AACnF,OAAO,EAAE,2BAA2B,IAAI,iCAAiC,EAAE,CAAC;AAE5E,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,EAAE,EAAE,8BAA8B,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Email Domain Schema Definitions\n *\n * Stable wire contracts for the Apollo Signal transactional email service.\n * These types cross the backend-to-client boundary and are consumed by the\n * TypeScript SDK and the web client.\n *\n * Scope: only the public /v1/emails* surface and the outbound webhook\n * delivery payload. Dashboard-only types (/signal/*) are backend-private\n * and live in apps/signal/src/modules/<module>/contracts/internal/.\n */\n\nimport { z } from 'zod';\n\nimport { IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\n\n// ---------------------------------------------------------------------------\n// Email status\n// ---------------------------------------------------------------------------\n\n/**\n * Lifecycle status of a transactional email.\n *\n * queued - accepted, pending SES submission\n * scheduled - deferred send, waiting for scheduled delivery time\n * cancelled - scheduled send cancelled before delivery\n * sent - submitted to SES successfully\n * delivered - SES confirmed delivery to the recipient MTA\n * bounced - permanent or transient bounce received from SES\n * complained - spam complaint received from SES\n * failed - SES submission failed (non-retryable)\n * rejected - rejected before SES (suppressed recipient, reserved domain, etc.)\n * suppressed - blocked by the project suppression list\n * test - sent in test mode; no SES call was made\n */\nexport const SignalEmailStatusSchema = z.enum([\n 'queued',\n 'scheduled',\n 'cancelled',\n 'sent',\n 'delivered',\n 'bounced',\n 'complained',\n 'failed',\n 'rejected',\n 'suppressed',\n 'test',\n]);\n\n// ---------------------------------------------------------------------------\n// Email event type\n// ---------------------------------------------------------------------------\n\n/**\n * Types of events that can appear on an email's timeline and in webhook\n * delivery payloads.\n */\nexport const SignalEmailEventTypeSchema = z.enum([\n 'email.queued',\n 'email.sent',\n 'email.delivered',\n 'email.bounced',\n 'email.complained',\n 'email.opened',\n 'email.clicked',\n 'email.failed',\n 'email.rejected',\n 'email.delivery_delayed',\n 'email.suppressed',\n 'email.test',\n]);\n\n// ---------------------------------------------------------------------------\n// Webhook event type (superset of email event types)\n// ---------------------------------------------------------------------------\n\n/**\n * All event types that can be delivered to a webhook endpoint.\n * Includes \"webhook.test\" for the test-delivery endpoint.\n */\nexport const SignalWebhookEventTypeSchema = z.enum([\n 'email.queued',\n 'email.sent',\n 'email.delivered',\n 'email.bounced',\n 'email.complained',\n 'email.opened',\n 'email.clicked',\n 'email.failed',\n 'email.rejected',\n 'email.delivery_delayed',\n 'email.suppressed',\n 'email.test',\n 'webhook.test',\n]);\n\n// ---------------------------------------------------------------------------\n// Webhook delivery payload\n// ---------------------------------------------------------------------------\n\n/**\n * The canonical payload shape delivered to customer webhook endpoints.\n *\n * Signed with HMAC-SHA-256; the signature is in the\n * X-Apollo-Signal-Signature header (v1=<hex>).\n */\nexport const SignalWebhookDeliveryPayloadSchema = z.object({\n /** Stable event ID (evt_<crockford-base32>). */\n id: z.string(),\n\n /** Event type that triggered this delivery. */\n type: SignalWebhookEventTypeSchema,\n\n /** ISO 8601 timestamp when the event was recorded. */\n createdAt: IsoDateStringSchema,\n\n data: z.object({\n /** Email ID (email_<crockford-base32>). */\n emailId: z.string(),\n\n /** SES message ID, present after successful submission. */\n messageId: z.string().nullable(),\n\n /** Sender address as supplied in the send request. */\n from: z.string(),\n\n /** Primary recipient addresses. */\n to: z.array(z.string()),\n\n /** Email subject line. */\n subject: z.string(),\n\n /** Final email status at the time of this event. */\n status: SignalEmailStatusSchema,\n\n /** Caller-supplied metadata from the original send request. */\n metadata: z.record(z.string(), z.string()).nullable(),\n }),\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type SignalEmailStatus = z.infer<typeof SignalEmailStatusSchema>;\nexport type SignalEmailEventType = z.infer<typeof SignalEmailEventTypeSchema>;\nexport type SignalWebhookEventType = z.infer<typeof SignalWebhookEventTypeSchema>;\nexport type SignalWebhookDeliveryPayload = z.infer<typeof SignalWebhookDeliveryPayloadSchema>;\n\n/**\n * The data sub-object of a webhook delivery payload.\n * Consumers can derive this type without re-importing the parent schema.\n */\nexport type SignalWebhookDeliveryPayloadData = SignalWebhookDeliveryPayload['data'];\n\n// Re-exported for consumers that need nullable datetime fields in derived schemas.\nexport { NullableIsoDateStringSchema as SignalNullableIsoDateStringSchema };\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(SignalEmailStatusSchema, { id: 'SignalEmailStatus' });\nz.globalRegistry.add(SignalEmailEventTypeSchema, { id: 'SignalEmailEventType' });\nz.globalRegistry.add(SignalWebhookEventTypeSchema, { id: 'SignalWebhookEventType' });\nz.globalRegistry.add(SignalWebhookDeliveryPayloadSchema, { id: 'SignalWebhookDeliveryPayload' });\n"]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Apollo Signal — Email Schemas
3
+ *
4
+ * Public wire contracts for the Apollo Signal transactional email service.
5
+ *
6
+ * Subpath: @apollo-deploy/signal-schemas/signal-email
7
+ *
8
+ * Scope: only the public /v1/emails* API surface and the outbound webhook
9
+ * delivery payload. Dashboard-only types (/signal/*) are backend-private
10
+ * and live in apps/signal/src/modules/<module>/contracts/internal/.
11
+ *
12
+ * @example
13
+ * import {
14
+ * SignalSendEmailBodySchema,
15
+ * SignalEmailResourceSchema,
16
+ * type SignalSendEmailBody,
17
+ * type SignalEmailResource,
18
+ * } from '@apollo-deploy/signal-schemas/signal-email';
19
+ */
20
+ export { SignalEmailStatusSchema, SignalEmailEventTypeSchema, SignalWebhookEventTypeSchema, SignalWebhookDeliveryPayloadSchema, SignalNullableIsoDateStringSchema, type SignalEmailStatus, type SignalEmailEventType, type SignalWebhookEventType, type SignalWebhookDeliveryPayload, type SignalWebhookDeliveryPayloadData, } from './domain.schema.js';
21
+ export { SignalSendEmailBodySchema, SignalGetEmailParamsSchema, SignalBatchSendEmailBodySchema, type SignalSendEmailBody, type SignalGetEmailParams, type SignalBatchSendEmailBody, } from './request.schema.js';
22
+ export { SignalSendEmailResponseSchema, SignalEmailResourceSchema, type SignalSendEmailResponse, type SignalEmailResource, } from './response.schema.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/definitions/signal-email/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,GACtC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Apollo Signal — Email Schemas
3
+ *
4
+ * Public wire contracts for the Apollo Signal transactional email service.
5
+ *
6
+ * Subpath: @apollo-deploy/signal-schemas/signal-email
7
+ *
8
+ * Scope: only the public /v1/emails* API surface and the outbound webhook
9
+ * delivery payload. Dashboard-only types (/signal/*) are backend-private
10
+ * and live in apps/signal/src/modules/<module>/contracts/internal/.
11
+ *
12
+ * @example
13
+ * import {
14
+ * SignalSendEmailBodySchema,
15
+ * SignalEmailResourceSchema,
16
+ * type SignalSendEmailBody,
17
+ * type SignalEmailResource,
18
+ * } from '@apollo-deploy/signal-schemas/signal-email';
19
+ */
20
+ // Domain schemas and types
21
+ export { SignalEmailStatusSchema, SignalEmailEventTypeSchema, SignalWebhookEventTypeSchema, SignalWebhookDeliveryPayloadSchema, SignalNullableIsoDateStringSchema, } from './domain.schema.js';
22
+ // Request schemas and types
23
+ export { SignalSendEmailBodySchema, SignalGetEmailParamsSchema, SignalBatchSendEmailBodySchema, } from './request.schema.js';
24
+ // Response schemas and types
25
+ export { SignalSendEmailResponseSchema, SignalEmailResourceSchema, } from './response.schema.js';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definitions/signal-email/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,2BAA2B;AAC3B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,GAMlC,MAAM,oBAAoB,CAAC;AAE5B,4BAA4B;AAC5B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,GAI/B,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,GAG1B,MAAM,sBAAsB,CAAC","sourcesContent":["/**\n * Apollo Signal — Email Schemas\n *\n * Public wire contracts for the Apollo Signal transactional email service.\n *\n * Subpath: @apollo-deploy/signal-schemas/signal-email\n *\n * Scope: only the public /v1/emails* API surface and the outbound webhook\n * delivery payload. Dashboard-only types (/signal/*) are backend-private\n * and live in apps/signal/src/modules/<module>/contracts/internal/.\n *\n * @example\n * import {\n * SignalSendEmailBodySchema,\n * SignalEmailResourceSchema,\n * type SignalSendEmailBody,\n * type SignalEmailResource,\n * } from '@apollo-deploy/signal-schemas/signal-email';\n */\n\n// Domain schemas and types\nexport {\n SignalEmailStatusSchema,\n SignalEmailEventTypeSchema,\n SignalWebhookEventTypeSchema,\n SignalWebhookDeliveryPayloadSchema,\n SignalNullableIsoDateStringSchema,\n type SignalEmailStatus,\n type SignalEmailEventType,\n type SignalWebhookEventType,\n type SignalWebhookDeliveryPayload,\n type SignalWebhookDeliveryPayloadData,\n} from './domain.schema.js';\n\n// Request schemas and types\nexport {\n SignalSendEmailBodySchema,\n SignalGetEmailParamsSchema,\n SignalBatchSendEmailBodySchema,\n type SignalSendEmailBody,\n type SignalGetEmailParams,\n type SignalBatchSendEmailBody,\n} from './request.schema.js';\n\n// Response schemas and types\nexport {\n SignalSendEmailResponseSchema,\n SignalEmailResourceSchema,\n type SignalSendEmailResponse,\n type SignalEmailResource,\n} from './response.schema.js';\n"]}