@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,267 @@
1
+ /**
2
+ * Apollo Signal — Signal Projects Response Schemas
3
+ *
4
+ * Response shapes for the Signal dashboard/management API.
5
+ * Covers: projects, sending domains, suppressions, usage, webhooks,
6
+ * and the dashboard (project-owner) email view.
7
+ *
8
+ * Subpath: @apollo-deploy/signal-schemas/signal-projects
9
+ */
10
+ import { z } from 'zod';
11
+ import { IsoDateStringSchema, NullableIsoDateStringSchema, UrlSchema } from '../common.js';
12
+ import { SignalProjectStatusSchema, SignalProjectLimitsSchema, SignalProjectTrackingSettingsSchema, SignalDomainStatusSchema, SignalDomainSubStatusSchema, SignalDomainVerificationRecordsSchema, SignalSuppressionReasonSchema, SignalWebhookSubscribeEventTypeSchema, SignalWebhookDeliveryStatusSchema, SignalProjectEmailEventTypeSchema, SignalWebhookFilterSchema, SignalWebhookTransformationSchema, } from './domain.schema.js';
13
+ // ---------------------------------------------------------------------------
14
+ // Project responses
15
+ // ---------------------------------------------------------------------------
16
+ /**
17
+ * A Signal project resource.
18
+ *
19
+ * Returned by GET/POST/PATCH /signal/projects and
20
+ * GET /signal/projects/:projectId.
21
+ */
22
+ export const SignalProjectSchema = z.object({
23
+ id: z.string(),
24
+ organizationId: z.string(),
25
+ name: z.string(),
26
+ slug: z.string(),
27
+ status: SignalProjectStatusSchema,
28
+ suspensionReason: z.string().nullable(),
29
+ region: z.string(),
30
+ limits: SignalProjectLimitsSchema,
31
+ trackingSettings: SignalProjectTrackingSettingsSchema,
32
+ createdByUserId: z.string(),
33
+ createdAt: IsoDateStringSchema,
34
+ updatedAt: IsoDateStringSchema,
35
+ deletedAt: NullableIsoDateStringSchema,
36
+ });
37
+ /**
38
+ * Response for POST /signal/projects/:projectId/tracking-domain/verify.
39
+ * Returns the updated tracking domain status after a CNAME check.
40
+ */
41
+ export const SignalTrackingDomainVerifyResponseSchema = z.object({
42
+ trackingDomain: z.string().nullable(),
43
+ trackingDomainStatus: z.enum(['pending', 'verified', 'failed']).nullable(),
44
+ /** The CNAME record the user must publish to verify the domain. */
45
+ cnameRecord: z
46
+ .object({
47
+ name: z.string(),
48
+ value: z.string(),
49
+ })
50
+ .nullable(),
51
+ });
52
+ /** Cursor-paginated list of projects. */
53
+ export const SignalProjectListResponseSchema = z.object({
54
+ items: z.array(SignalProjectSchema),
55
+ nextCursor: z.string().nullable(),
56
+ total: z.number().int().optional(),
57
+ });
58
+ // ---------------------------------------------------------------------------
59
+ // Sending domain responses
60
+ // ---------------------------------------------------------------------------
61
+ /**
62
+ * A verified sending domain resource.
63
+ *
64
+ * Returned by GET /signal/projects/:projectId/domains and related routes.
65
+ * Includes DNS verification records needed by the customer to verify the domain.
66
+ */
67
+ export const SignalDomainSchema = z.object({
68
+ id: z.string(),
69
+ projectId: z.string(),
70
+ organizationId: z.string(),
71
+ domain: z.string(),
72
+ region: z.string(),
73
+ status: SignalDomainStatusSchema,
74
+ dkimStatus: SignalDomainSubStatusSchema,
75
+ spfStatus: SignalDomainSubStatusSchema,
76
+ dmarcStatus: SignalDomainSubStatusSchema,
77
+ mailFromStatus: SignalDomainSubStatusSchema,
78
+ mailFromDomain: z.string(),
79
+ verificationRecords: SignalDomainVerificationRecordsSchema,
80
+ provider: z.literal('ses'),
81
+ providerIdentityArn: z.string().nullable(),
82
+ createdAt: IsoDateStringSchema,
83
+ updatedAt: IsoDateStringSchema,
84
+ verifiedAt: NullableIsoDateStringSchema,
85
+ deletedAt: NullableIsoDateStringSchema,
86
+ });
87
+ /** Cursor-paginated list of sending domains. */
88
+ export const SignalDomainListResponseSchema = z.object({
89
+ items: z.array(SignalDomainSchema),
90
+ nextCursor: z.string().nullable(),
91
+ });
92
+ // ---------------------------------------------------------------------------
93
+ // Suppression responses
94
+ // ---------------------------------------------------------------------------
95
+ /**
96
+ * A suppression list entry.
97
+ *
98
+ * Returned by GET /signal/projects/:projectId/suppressions and related routes.
99
+ */
100
+ export const SignalSuppressionSchema = z.object({
101
+ id: z.string(),
102
+ projectId: z.string(),
103
+ organizationId: z.string(),
104
+ email: z.string(),
105
+ reason: SignalSuppressionReasonSchema,
106
+ createdAt: IsoDateStringSchema,
107
+ });
108
+ /** Cursor-paginated list of suppressed addresses. */
109
+ export const SignalSuppressionListResponseSchema = z.object({
110
+ items: z.array(SignalSuppressionSchema),
111
+ nextCursor: z.string().nullable(),
112
+ });
113
+ // ---------------------------------------------------------------------------
114
+ // Usage responses
115
+ // ---------------------------------------------------------------------------
116
+ /** A single usage aggregate bucket (by type, within a time window). */
117
+ export const SignalUsageAggregateItemSchema = z.object({
118
+ type: z.string(),
119
+ total: z.number().int(),
120
+ since: IsoDateStringSchema,
121
+ until: IsoDateStringSchema,
122
+ });
123
+ /**
124
+ * Aggregated usage statistics for a project.
125
+ *
126
+ * Returned by GET /signal/projects/:projectId/usage.
127
+ */
128
+ export const SignalUsageAggregateResponseSchema = z.object({
129
+ projectId: z.string(),
130
+ items: z.array(SignalUsageAggregateItemSchema),
131
+ since: IsoDateStringSchema,
132
+ until: IsoDateStringSchema,
133
+ });
134
+ // ---------------------------------------------------------------------------
135
+ // Webhook endpoint responses
136
+ // ---------------------------------------------------------------------------
137
+ /**
138
+ * A webhook endpoint resource.
139
+ *
140
+ * Returned by GET /signal/projects/:projectId/webhooks and related routes.
141
+ * Note: the signing secret is never returned after creation.
142
+ */
143
+ export const SignalWebhookEndpointSchema = z.object({
144
+ id: z.string(),
145
+ projectId: z.string(),
146
+ organizationId: z.string(),
147
+ url: UrlSchema,
148
+ events: z.array(SignalWebhookSubscribeEventTypeSchema),
149
+ enabled: z.boolean(),
150
+ filters: z.array(SignalWebhookFilterSchema).nullable(),
151
+ transformations: z.array(SignalWebhookTransformationSchema).nullable(),
152
+ createdAt: IsoDateStringSchema,
153
+ updatedAt: IsoDateStringSchema,
154
+ deletedAt: NullableIsoDateStringSchema,
155
+ });
156
+ /** Cursor-paginated list of webhook endpoints. */
157
+ export const SignalWebhookEndpointListResponseSchema = z.object({
158
+ items: z.array(SignalWebhookEndpointSchema),
159
+ nextCursor: z.string().nullable(),
160
+ });
161
+ /**
162
+ * A single webhook delivery attempt record.
163
+ *
164
+ * Returned by GET /signal/projects/:projectId/webhooks/:endpointId/deliveries.
165
+ */
166
+ export const SignalWebhookDeliverySchema = z.object({
167
+ id: z.string(),
168
+ projectId: z.string(),
169
+ webhookEndpointId: z.string(),
170
+ eventType: z.string(),
171
+ status: SignalWebhookDeliveryStatusSchema,
172
+ attemptCount: z.number().int(),
173
+ lastStatusCode: z.number().int().nullable(),
174
+ lastError: z.string().nullable(),
175
+ responseBodySnippet: z.string().nullable(),
176
+ nextAttemptAt: NullableIsoDateStringSchema,
177
+ createdAt: IsoDateStringSchema,
178
+ updatedAt: IsoDateStringSchema,
179
+ });
180
+ // ---------------------------------------------------------------------------
181
+ // Email dashboard responses (project-owner view)
182
+ // ---------------------------------------------------------------------------
183
+ /**
184
+ * Project-owner view of an email record.
185
+ *
186
+ * Returned by GET /signal/projects/:projectId/emails and related routes.
187
+ *
188
+ * Distinct from SignalEmailResourceSchema (signal-email subpath), which is
189
+ * the public client-facing view from the /v1/emails* surface. This view
190
+ * includes internal routing fields (projectId, domainId, fromDomain, etc.)
191
+ * that are only accessible to the project owner.
192
+ */
193
+ export const SignalProjectEmailSchema = z.object({
194
+ id: z.string(),
195
+ projectId: z.string(),
196
+ organizationId: z.string(),
197
+ apiKeyId: z.string().nullable(),
198
+ domainId: z.string().nullable(),
199
+ provider: z.literal('ses'),
200
+ providerMessageId: z.string().nullable(),
201
+ fromAddress: z.string(),
202
+ fromDomain: z.string(),
203
+ toRecipients: z.array(z.string()),
204
+ ccRecipients: z.array(z.string()).nullable(),
205
+ bccRecipients: z.array(z.string()).nullable(),
206
+ replyTo: z.string().nullable(),
207
+ subject: z.string(),
208
+ status: z.enum([
209
+ 'queued',
210
+ 'sent',
211
+ 'delivered',
212
+ 'bounced',
213
+ 'complained',
214
+ 'failed',
215
+ 'rejected',
216
+ 'suppressed',
217
+ 'test',
218
+ ]),
219
+ error: z.string().nullable(),
220
+ tags: z.record(z.string(), z.string()).nullable(),
221
+ testMode: z.boolean(),
222
+ createdAt: IsoDateStringSchema,
223
+ sentAt: NullableIsoDateStringSchema,
224
+ updatedAt: IsoDateStringSchema,
225
+ });
226
+ /** Cursor-paginated list of emails for the dashboard. */
227
+ export const SignalProjectEmailListResponseSchema = z.object({
228
+ items: z.array(SignalProjectEmailSchema),
229
+ nextCursor: z.string().nullable(),
230
+ });
231
+ /**
232
+ * A single event on an email's timeline.
233
+ *
234
+ * Returned by GET /signal/projects/:projectId/emails/:emailId/events.
235
+ */
236
+ export const SignalProjectEmailEventSchema = z.object({
237
+ id: z.string(),
238
+ type: SignalProjectEmailEventTypeSchema,
239
+ providerEventId: z.string().nullable(),
240
+ payload: z.record(z.string(), z.string()),
241
+ occurredAt: IsoDateStringSchema,
242
+ createdAt: IsoDateStringSchema,
243
+ });
244
+ /** List of timeline events for an email. */
245
+ export const SignalProjectEmailEventsListResponseSchema = z.object({
246
+ items: z.array(SignalProjectEmailEventSchema),
247
+ });
248
+ // ---------------------------------------------------------------------------
249
+ // Schema registry — promotes types to OpenAPI components/schemas
250
+ // ---------------------------------------------------------------------------
251
+ z.globalRegistry.add(SignalProjectSchema, { id: 'SignalProject' });
252
+ z.globalRegistry.add(SignalProjectListResponseSchema, { id: 'SignalProjectListResponse' });
253
+ z.globalRegistry.add(SignalTrackingDomainVerifyResponseSchema, { id: 'SignalTrackingDomainVerifyResponse' });
254
+ z.globalRegistry.add(SignalDomainSchema, { id: 'SignalDomain' });
255
+ z.globalRegistry.add(SignalDomainListResponseSchema, { id: 'SignalDomainListResponse' });
256
+ z.globalRegistry.add(SignalSuppressionSchema, { id: 'SignalSuppression' });
257
+ z.globalRegistry.add(SignalSuppressionListResponseSchema, { id: 'SignalSuppressionListResponse' });
258
+ z.globalRegistry.add(SignalUsageAggregateItemSchema, { id: 'SignalUsageAggregateItem' });
259
+ z.globalRegistry.add(SignalUsageAggregateResponseSchema, { id: 'SignalUsageAggregateResponse' });
260
+ z.globalRegistry.add(SignalWebhookEndpointSchema, { id: 'SignalWebhookEndpoint' });
261
+ z.globalRegistry.add(SignalWebhookEndpointListResponseSchema, { id: 'SignalWebhookEndpointListResponse' });
262
+ z.globalRegistry.add(SignalWebhookDeliverySchema, { id: 'SignalWebhookDelivery' });
263
+ z.globalRegistry.add(SignalProjectEmailSchema, { id: 'SignalProjectEmail' });
264
+ z.globalRegistry.add(SignalProjectEmailListResponseSchema, { id: 'SignalProjectEmailListResponse' });
265
+ z.globalRegistry.add(SignalProjectEmailEventSchema, { id: 'SignalProjectEmailEvent' });
266
+ z.globalRegistry.add(SignalProjectEmailEventsListResponseSchema, { id: 'SignalProjectEmailEventsList' });
267
+ //# sourceMappingURL=response.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/signal-projects/response.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Apollo Signal — Signal Projects Response Schemas\n *\n * Response shapes for the Signal dashboard/management API.\n * Covers: projects, sending domains, suppressions, usage, webhooks,\n * and the dashboard (project-owner) email view.\n *\n * Subpath: @apollo-deploy/signal-schemas/signal-projects\n */\n\nimport { z } from 'zod';\n\nimport { IsoDateStringSchema, NullableIsoDateStringSchema, UrlSchema } from '../common.js';\nimport {\n SignalProjectStatusSchema,\n SignalProjectLimitsSchema,\n SignalProjectTrackingSettingsSchema,\n SignalDomainStatusSchema,\n SignalDomainSubStatusSchema,\n SignalDomainVerificationRecordsSchema,\n SignalSuppressionReasonSchema,\n SignalWebhookSubscribeEventTypeSchema,\n SignalWebhookDeliveryStatusSchema,\n SignalProjectEmailEventTypeSchema,\n SignalWebhookFilterSchema,\n SignalWebhookTransformationSchema,\n} from './domain.schema.js';\n\n// ---------------------------------------------------------------------------\n// Project responses\n// ---------------------------------------------------------------------------\n\n/**\n * A Signal project resource.\n *\n * Returned by GET/POST/PATCH /signal/projects and\n * GET /signal/projects/:projectId.\n */\nexport const SignalProjectSchema = z.object({\n id: z.string(),\n organizationId: z.string(),\n name: z.string(),\n slug: z.string(),\n status: SignalProjectStatusSchema,\n suspensionReason: z.string().nullable(),\n region: z.string(),\n limits: SignalProjectLimitsSchema,\n trackingSettings: SignalProjectTrackingSettingsSchema,\n createdByUserId: z.string(),\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n deletedAt: NullableIsoDateStringSchema,\n});\n\n/**\n * Response for POST /signal/projects/:projectId/tracking-domain/verify.\n * Returns the updated tracking domain status after a CNAME check.\n */\nexport const SignalTrackingDomainVerifyResponseSchema = z.object({\n trackingDomain: z.string().nullable(),\n trackingDomainStatus: z.enum(['pending', 'verified', 'failed']).nullable(),\n /** The CNAME record the user must publish to verify the domain. */\n cnameRecord: z\n .object({\n name: z.string(),\n value: z.string(),\n })\n .nullable(),\n});\n\n/** Cursor-paginated list of projects. */\nexport const SignalProjectListResponseSchema = z.object({\n items: z.array(SignalProjectSchema),\n nextCursor: z.string().nullable(),\n total: z.number().int().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Sending domain responses\n// ---------------------------------------------------------------------------\n\n/**\n * A verified sending domain resource.\n *\n * Returned by GET /signal/projects/:projectId/domains and related routes.\n * Includes DNS verification records needed by the customer to verify the domain.\n */\nexport const SignalDomainSchema = z.object({\n id: z.string(),\n projectId: z.string(),\n organizationId: z.string(),\n domain: z.string(),\n region: z.string(),\n status: SignalDomainStatusSchema,\n dkimStatus: SignalDomainSubStatusSchema,\n spfStatus: SignalDomainSubStatusSchema,\n dmarcStatus: SignalDomainSubStatusSchema,\n mailFromStatus: SignalDomainSubStatusSchema,\n mailFromDomain: z.string(),\n verificationRecords: SignalDomainVerificationRecordsSchema,\n provider: z.literal('ses'),\n providerIdentityArn: z.string().nullable(),\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n verifiedAt: NullableIsoDateStringSchema,\n deletedAt: NullableIsoDateStringSchema,\n});\n\n/** Cursor-paginated list of sending domains. */\nexport const SignalDomainListResponseSchema = z.object({\n items: z.array(SignalDomainSchema),\n nextCursor: z.string().nullable(),\n});\n\n// ---------------------------------------------------------------------------\n// Suppression responses\n// ---------------------------------------------------------------------------\n\n/**\n * A suppression list entry.\n *\n * Returned by GET /signal/projects/:projectId/suppressions and related routes.\n */\nexport const SignalSuppressionSchema = z.object({\n id: z.string(),\n projectId: z.string(),\n organizationId: z.string(),\n email: z.string(),\n reason: SignalSuppressionReasonSchema,\n createdAt: IsoDateStringSchema,\n});\n\n/** Cursor-paginated list of suppressed addresses. */\nexport const SignalSuppressionListResponseSchema = z.object({\n items: z.array(SignalSuppressionSchema),\n nextCursor: z.string().nullable(),\n});\n\n// ---------------------------------------------------------------------------\n// Usage responses\n// ---------------------------------------------------------------------------\n\n/** A single usage aggregate bucket (by type, within a time window). */\nexport const SignalUsageAggregateItemSchema = z.object({\n type: z.string(),\n total: z.number().int(),\n since: IsoDateStringSchema,\n until: IsoDateStringSchema,\n});\n\n/**\n * Aggregated usage statistics for a project.\n *\n * Returned by GET /signal/projects/:projectId/usage.\n */\nexport const SignalUsageAggregateResponseSchema = z.object({\n projectId: z.string(),\n items: z.array(SignalUsageAggregateItemSchema),\n since: IsoDateStringSchema,\n until: IsoDateStringSchema,\n});\n\n// ---------------------------------------------------------------------------\n// Webhook endpoint responses\n// ---------------------------------------------------------------------------\n\n/**\n * A webhook endpoint resource.\n *\n * Returned by GET /signal/projects/:projectId/webhooks and related routes.\n * Note: the signing secret is never returned after creation.\n */\nexport const SignalWebhookEndpointSchema = z.object({\n id: z.string(),\n projectId: z.string(),\n organizationId: z.string(),\n url: UrlSchema,\n events: z.array(SignalWebhookSubscribeEventTypeSchema),\n enabled: z.boolean(),\n filters: z.array(SignalWebhookFilterSchema).nullable(),\n transformations: z.array(SignalWebhookTransformationSchema).nullable(),\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n deletedAt: NullableIsoDateStringSchema,\n});\n\n/** Cursor-paginated list of webhook endpoints. */\nexport const SignalWebhookEndpointListResponseSchema = z.object({\n items: z.array(SignalWebhookEndpointSchema),\n nextCursor: z.string().nullable(),\n});\n\n/**\n * A single webhook delivery attempt record.\n *\n * Returned by GET /signal/projects/:projectId/webhooks/:endpointId/deliveries.\n */\nexport const SignalWebhookDeliverySchema = z.object({\n id: z.string(),\n projectId: z.string(),\n webhookEndpointId: z.string(),\n eventType: z.string(),\n status: SignalWebhookDeliveryStatusSchema,\n attemptCount: z.number().int(),\n lastStatusCode: z.number().int().nullable(),\n lastError: z.string().nullable(),\n responseBodySnippet: z.string().nullable(),\n nextAttemptAt: NullableIsoDateStringSchema,\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n});\n\n// ---------------------------------------------------------------------------\n// Email dashboard responses (project-owner view)\n// ---------------------------------------------------------------------------\n\n/**\n * Project-owner view of an email record.\n *\n * Returned by GET /signal/projects/:projectId/emails and related routes.\n *\n * Distinct from SignalEmailResourceSchema (signal-email subpath), which is\n * the public client-facing view from the /v1/emails* surface. This view\n * includes internal routing fields (projectId, domainId, fromDomain, etc.)\n * that are only accessible to the project owner.\n */\nexport const SignalProjectEmailSchema = z.object({\n id: z.string(),\n projectId: z.string(),\n organizationId: z.string(),\n apiKeyId: z.string().nullable(),\n domainId: z.string().nullable(),\n provider: z.literal('ses'),\n providerMessageId: z.string().nullable(),\n fromAddress: z.string(),\n fromDomain: z.string(),\n toRecipients: z.array(z.string()),\n ccRecipients: z.array(z.string()).nullable(),\n bccRecipients: z.array(z.string()).nullable(),\n replyTo: z.string().nullable(),\n subject: z.string(),\n status: z.enum([\n 'queued',\n 'sent',\n 'delivered',\n 'bounced',\n 'complained',\n 'failed',\n 'rejected',\n 'suppressed',\n 'test',\n ]),\n error: z.string().nullable(),\n tags: z.record(z.string(), z.string()).nullable(),\n testMode: z.boolean(),\n createdAt: IsoDateStringSchema,\n sentAt: NullableIsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n});\n\n/** Cursor-paginated list of emails for the dashboard. */\nexport const SignalProjectEmailListResponseSchema = z.object({\n items: z.array(SignalProjectEmailSchema),\n nextCursor: z.string().nullable(),\n});\n\n/**\n * A single event on an email's timeline.\n *\n * Returned by GET /signal/projects/:projectId/emails/:emailId/events.\n */\nexport const SignalProjectEmailEventSchema = z.object({\n id: z.string(),\n type: SignalProjectEmailEventTypeSchema,\n providerEventId: z.string().nullable(),\n payload: z.record(z.string(), z.string()),\n occurredAt: IsoDateStringSchema,\n createdAt: IsoDateStringSchema,\n});\n\n/** List of timeline events for an email. */\nexport const SignalProjectEmailEventsListResponseSchema = z.object({\n items: z.array(SignalProjectEmailEventSchema),\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type SignalProject = z.infer<typeof SignalProjectSchema>;\nexport type SignalProjectListResponse = z.infer<typeof SignalProjectListResponseSchema>;\nexport type SignalTrackingDomainVerifyResponse = z.infer<typeof SignalTrackingDomainVerifyResponseSchema>;\nexport type SignalDomain = z.infer<typeof SignalDomainSchema>;\nexport type SignalDomainListResponse = z.infer<typeof SignalDomainListResponseSchema>;\nexport type SignalSuppression = z.infer<typeof SignalSuppressionSchema>;\nexport type SignalSuppressionListResponse = z.infer<typeof SignalSuppressionListResponseSchema>;\nexport type SignalUsageAggregateItem = z.infer<typeof SignalUsageAggregateItemSchema>;\nexport type SignalUsageAggregateResponse = z.infer<typeof SignalUsageAggregateResponseSchema>;\nexport type SignalWebhookEndpoint = z.infer<typeof SignalWebhookEndpointSchema>;\nexport type SignalWebhookEndpointListResponse = z.infer<typeof SignalWebhookEndpointListResponseSchema>;\nexport type SignalWebhookDelivery = z.infer<typeof SignalWebhookDeliverySchema>;\nexport type SignalProjectEmail = z.infer<typeof SignalProjectEmailSchema>;\nexport type SignalProjectEmailListResponse = z.infer<typeof SignalProjectEmailListResponseSchema>;\nexport type SignalProjectEmailEvent = z.infer<typeof SignalProjectEmailEventSchema>;\nexport type SignalProjectEmailEventsList = z.infer<typeof SignalProjectEmailEventsListResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(SignalProjectSchema, { id: 'SignalProject' });\nz.globalRegistry.add(SignalProjectListResponseSchema, { id: 'SignalProjectListResponse' });\nz.globalRegistry.add(SignalTrackingDomainVerifyResponseSchema, { id: 'SignalTrackingDomainVerifyResponse' });\nz.globalRegistry.add(SignalDomainSchema, { id: 'SignalDomain' });\nz.globalRegistry.add(SignalDomainListResponseSchema, { id: 'SignalDomainListResponse' });\nz.globalRegistry.add(SignalSuppressionSchema, { id: 'SignalSuppression' });\nz.globalRegistry.add(SignalSuppressionListResponseSchema, { id: 'SignalSuppressionListResponse' });\nz.globalRegistry.add(SignalUsageAggregateItemSchema, { id: 'SignalUsageAggregateItem' });\nz.globalRegistry.add(SignalUsageAggregateResponseSchema, { id: 'SignalUsageAggregateResponse' });\nz.globalRegistry.add(SignalWebhookEndpointSchema, { id: 'SignalWebhookEndpoint' });\nz.globalRegistry.add(SignalWebhookEndpointListResponseSchema, { id: 'SignalWebhookEndpointListResponse' });\nz.globalRegistry.add(SignalWebhookDeliverySchema, { id: 'SignalWebhookDelivery' });\nz.globalRegistry.add(SignalProjectEmailSchema, { id: 'SignalProjectEmail' });\nz.globalRegistry.add(SignalProjectEmailListResponseSchema, { id: 'SignalProjectEmailListResponse' });\nz.globalRegistry.add(SignalProjectEmailEventSchema, { id: 'SignalProjectEmailEvent' });\nz.globalRegistry.add(SignalProjectEmailEventsListResponseSchema, { id: 'SignalProjectEmailEventsList' });\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Domain Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const SuppressionReasonSchema: z.ZodEnum<{
7
+ bounce: "bounce";
8
+ complaint: "complaint";
9
+ manual: "manual";
10
+ unsubscribe: "unsubscribe";
11
+ }>;
12
+ export type SuppressionReason = z.infer<typeof SuppressionReasonSchema>;
13
+ //# sourceMappingURL=domain.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/suppressions/domain.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;;;;EAAwD,CAAC;AAC7F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Domain Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ export const SuppressionReasonSchema = z.enum(['bounce', 'complaint', 'manual', 'unsubscribe']);
7
+ z.globalRegistry.add(SuppressionReasonSchema, { id: 'SuppressionReason' });
8
+ //# sourceMappingURL=domain.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.schema.js","sourceRoot":"","sources":["../../../src/definitions/suppressions/domain.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC;AAE7F,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Suppressions Domain Schemas\n * Subpath: @apollo-deploy/signal-schemas/suppressions\n */\nimport { z } from 'zod';\n\nexport const SuppressionReasonSchema = z.enum(['bounce','complaint','manual','unsubscribe']);\nexport type SuppressionReason = z.infer<typeof SuppressionReasonSchema>;\nz.globalRegistry.add(SuppressionReasonSchema, { id: 'SuppressionReason' });\n"]}
@@ -0,0 +1,4 @@
1
+ export * from './domain.schema.js';
2
+ export * from './request.schema.js';
3
+ export * from './response.schema.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/definitions/suppressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './domain.schema.js';
2
+ export * from './request.schema.js';
3
+ export * from './response.schema.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definitions/suppressions/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC","sourcesContent":["export * from './domain.schema.js';\nexport * from './request.schema.js';\nexport * from './response.schema.js';\n"]}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Request Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const AddSuppressionBodySchema: z.ZodObject<{
7
+ email: z.ZodString;
8
+ reason: z.ZodDefault<z.ZodEnum<{
9
+ bounce: "bounce";
10
+ complaint: "complaint";
11
+ manual: "manual";
12
+ unsubscribe: "unsubscribe";
13
+ }>>;
14
+ }, z.core.$strip>;
15
+ export declare const RemoveSuppressionParamSchema: z.ZodObject<{
16
+ projectId: z.ZodString;
17
+ email: z.ZodString;
18
+ }, z.core.$strip>;
19
+ export declare const ListSuppressionsQuerySchema: z.ZodObject<{
20
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
21
+ cursor: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ export { ProjectParamSchema as SuppressionProjectParamSchema } from '../common.js';
24
+ export declare const SuppressionImportBodySchema: z.ZodObject<{
25
+ suppressions: z.ZodArray<z.ZodObject<{
26
+ email: z.ZodString;
27
+ reason: z.ZodDefault<z.ZodEnum<{
28
+ bounce: "bounce";
29
+ complaint: "complaint";
30
+ manual: "manual";
31
+ unsubscribe: "unsubscribe";
32
+ }>>;
33
+ }, z.core.$strip>>;
34
+ }, z.core.$strip>;
35
+ export type AddSuppressionBody = z.infer<typeof AddSuppressionBodySchema>;
36
+ export type RemoveSuppressionParam = z.infer<typeof RemoveSuppressionParamSchema>;
37
+ export type ListSuppressionsQuery = z.infer<typeof ListSuppressionsQuerySchema>;
38
+ export type SuppressionImportBody = z.infer<typeof SuppressionImportBodySchema>;
39
+ //# sourceMappingURL=request.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/suppressions/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB;;;;;;;;iBAGnC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;iBAAuE,CAAC;AACjH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AACH,OAAO,EAAE,kBAAkB,IAAI,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACnF,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAKtC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Request Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ import { SuppressionReasonSchema } from './domain.schema.js';
7
+ export const AddSuppressionBodySchema = z.object({
8
+ email: z.string().email(),
9
+ reason: SuppressionReasonSchema.default('manual'),
10
+ });
11
+ export const RemoveSuppressionParamSchema = z.object({ projectId: z.string().min(1), email: z.string().min(1) });
12
+ export const ListSuppressionsQuerySchema = z.object({
13
+ limit: z.coerce.number().int().min(1).max(100).default(25),
14
+ cursor: z.string().optional(),
15
+ });
16
+ export { ProjectParamSchema as SuppressionProjectParamSchema } from '../common.js';
17
+ export const SuppressionImportBodySchema = z.object({
18
+ suppressions: z.array(z.object({
19
+ email: z.string().email(),
20
+ reason: SuppressionReasonSchema.default('manual'),
21
+ })).min(1).max(10_000),
22
+ });
23
+ z.globalRegistry.add(AddSuppressionBodySchema, { id: 'AddSuppressionBody' });
24
+ z.globalRegistry.add(RemoveSuppressionParamSchema, { id: 'RemoveSuppressionParam' });
25
+ z.globalRegistry.add(ListSuppressionsQuerySchema, { id: 'ListSuppressionsQuery' });
26
+ z.globalRegistry.add(SuppressionImportBodySchema, { id: 'SuppressionImportBody' });
27
+ //# sourceMappingURL=request.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.schema.js","sourceRoot":"","sources":["../../../src/definitions/suppressions/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;CAClD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AACH,OAAO,EAAE,kBAAkB,IAAI,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAClD,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;CACvB,CAAC,CAAC;AAOH,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC;AACnF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Suppressions Request Schemas\n * Subpath: @apollo-deploy/signal-schemas/suppressions\n */\nimport { z } from 'zod';\nimport { SuppressionReasonSchema } from './domain.schema.js';\n\nexport const AddSuppressionBodySchema = z.object({\n email: z.string().email(),\n reason: SuppressionReasonSchema.default('manual'),\n});\nexport const RemoveSuppressionParamSchema = z.object({ projectId: z.string().min(1), email: z.string().min(1) });\nexport const ListSuppressionsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().optional(),\n});\nexport { ProjectParamSchema as SuppressionProjectParamSchema } from '../common.js';\nexport const SuppressionImportBodySchema = z.object({\n suppressions: z.array(z.object({\n email: z.string().email(),\n reason: SuppressionReasonSchema.default('manual'),\n })).min(1).max(10_000),\n});\n\nexport type AddSuppressionBody = z.infer<typeof AddSuppressionBodySchema>;\nexport type RemoveSuppressionParam = z.infer<typeof RemoveSuppressionParamSchema>;\nexport type ListSuppressionsQuery = z.infer<typeof ListSuppressionsQuerySchema>;\nexport type SuppressionImportBody = z.infer<typeof SuppressionImportBodySchema>;\n\nz.globalRegistry.add(AddSuppressionBodySchema, { id: 'AddSuppressionBody' });\nz.globalRegistry.add(RemoveSuppressionParamSchema, { id: 'RemoveSuppressionParam' });\nz.globalRegistry.add(ListSuppressionsQuerySchema, { id: 'ListSuppressionsQuery' });\nz.globalRegistry.add(SuppressionImportBodySchema, { id: 'SuppressionImportBody' });\n"]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Response Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ export declare const SuppressionResponseSchema: z.ZodObject<{
7
+ id: z.ZodString;
8
+ projectId: z.ZodString;
9
+ organizationId: z.ZodString;
10
+ email: z.ZodString;
11
+ reason: z.ZodEnum<{
12
+ bounce: "bounce";
13
+ complaint: "complaint";
14
+ manual: "manual";
15
+ unsubscribe: "unsubscribe";
16
+ }>;
17
+ createdAt: z.ZodString;
18
+ }, z.core.$strip>;
19
+ export declare const SuppressionListResponseSchema: z.ZodObject<{
20
+ items: z.ZodArray<z.ZodObject<{
21
+ id: z.ZodString;
22
+ projectId: z.ZodString;
23
+ organizationId: z.ZodString;
24
+ email: z.ZodString;
25
+ reason: z.ZodEnum<{
26
+ bounce: "bounce";
27
+ complaint: "complaint";
28
+ manual: "manual";
29
+ unsubscribe: "unsubscribe";
30
+ }>;
31
+ createdAt: z.ZodString;
32
+ }, z.core.$strip>>;
33
+ nextCursor: z.ZodNullable<z.ZodString>;
34
+ }, z.core.$strip>;
35
+ export declare const SuppressionImportResponseSchema: z.ZodObject<{
36
+ imported: z.ZodNumber;
37
+ skipped: z.ZodNumber;
38
+ }, z.core.$strip>;
39
+ export type SuppressionResponse = z.infer<typeof SuppressionResponseSchema>;
40
+ export type SuppressionListResponse = z.infer<typeof SuppressionListResponseSchema>;
41
+ export type SuppressionImportResponse = z.infer<typeof SuppressionImportResponseSchema>;
42
+ //# sourceMappingURL=response.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/suppressions/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAIpC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAAoD,CAAC;AAC/F,eAAO,MAAM,+BAA+B;;;iBAAsE,CAAC;AAEnH,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;AACpF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Apollo Signal — Suppressions Response Schemas
3
+ * Subpath: @apollo-deploy/signal-schemas/suppressions
4
+ */
5
+ import { z } from 'zod';
6
+ import { createCursorListSchema, IsoDateStringSchema } from '../common.js';
7
+ import { SuppressionReasonSchema } from './domain.schema.js';
8
+ export const SuppressionResponseSchema = z.object({
9
+ id: z.string(), projectId: z.string(), organizationId: z.string(),
10
+ email: z.string(), reason: SuppressionReasonSchema,
11
+ createdAt: IsoDateStringSchema,
12
+ });
13
+ export const SuppressionListResponseSchema = createCursorListSchema(SuppressionResponseSchema);
14
+ export const SuppressionImportResponseSchema = z.object({ imported: z.number().int(), skipped: z.number().int() });
15
+ z.globalRegistry.add(SuppressionResponseSchema, { id: 'SuppressionResponse' });
16
+ z.globalRegistry.add(SuppressionListResponseSchema, { id: 'SuppressionListResponse' });
17
+ z.globalRegistry.add(SuppressionImportResponseSchema, { id: 'SuppressionImportResponse' });
18
+ //# sourceMappingURL=response.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/suppressions/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB;IAClD,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAMnH,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Suppressions Response Schemas\n * Subpath: @apollo-deploy/signal-schemas/suppressions\n */\nimport { z } from 'zod';\nimport { createCursorListSchema, IsoDateStringSchema } from '../common.js';\nimport { SuppressionReasonSchema } from './domain.schema.js';\n\nexport const SuppressionResponseSchema = z.object({\n id: z.string(), projectId: z.string(), organizationId: z.string(),\n email: z.string(), reason: SuppressionReasonSchema,\n createdAt: IsoDateStringSchema,\n});\nexport const SuppressionListResponseSchema = createCursorListSchema(SuppressionResponseSchema);\nexport const SuppressionImportResponseSchema = z.object({ imported: z.number().int(), skipped: z.number().int() });\n\nexport type SuppressionResponse = z.infer<typeof SuppressionResponseSchema>;\nexport type SuppressionListResponse = z.infer<typeof SuppressionListResponseSchema>;\nexport type SuppressionImportResponse = z.infer<typeof SuppressionImportResponseSchema>;\n\nz.globalRegistry.add(SuppressionResponseSchema, { id: 'SuppressionResponse' });\nz.globalRegistry.add(SuppressionListResponseSchema, { id: 'SuppressionListResponse' });\nz.globalRegistry.add(SuppressionImportResponseSchema, { id: 'SuppressionImportResponse' });\n"]}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Apollo Signal — Internal suppression schemas (suppressions module).
3
+ *
4
+ * Zod schemas for add/remove/list suppression requests and response.
5
+ * Internal only — MUST NOT be exported to shared packages.
6
+ *
7
+ * Design §5.8 ; Requirements §9
8
+ */
9
+ import { z } from "zod";
10
+ export declare const AddSuppressionBodySchema: z.ZodObject<{
11
+ email: z.ZodString;
12
+ reason: z.ZodDefault<z.ZodEnum<{
13
+ bounce: "bounce";
14
+ complaint: "complaint";
15
+ manual: "manual";
16
+ unsubscribe: "unsubscribe";
17
+ }>>;
18
+ }, z.core.$strip>;
19
+ export declare const RemoveSuppressionParamSchema: z.ZodObject<{
20
+ projectId: z.ZodString;
21
+ email: z.ZodString;
22
+ }, z.core.$strip>;
23
+ /**
24
+ * Alias for {@link RemoveSuppressionParamSchema} — canonical name per T-7.1.
25
+ * Used for both GET and DELETE `/signal/projects/:projectId/suppressions/:email`.
26
+ */
27
+ export declare const SuppressionParamsSchema: z.ZodObject<{
28
+ projectId: z.ZodString;
29
+ email: z.ZodString;
30
+ }, z.core.$strip>;
31
+ export declare const ListSuppressionsQuerySchema: z.ZodObject<{
32
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
33
+ cursor: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>;
35
+ export declare const SuppressionProjectParamSchema: z.ZodObject<{
36
+ projectId: z.ZodString;
37
+ }, z.core.$strip>;
38
+ export declare const SuppressionResponseSchema: z.ZodObject<{
39
+ id: z.ZodString;
40
+ projectId: z.ZodString;
41
+ organizationId: z.ZodString;
42
+ email: z.ZodString;
43
+ reason: z.ZodEnum<{
44
+ bounce: "bounce";
45
+ complaint: "complaint";
46
+ manual: "manual";
47
+ unsubscribe: "unsubscribe";
48
+ }>;
49
+ createdAt: z.ZodString;
50
+ }, z.core.$strip>;
51
+ export declare const SuppressionListResponseSchema: z.ZodObject<{
52
+ data: z.ZodArray<z.ZodObject<{
53
+ id: z.ZodString;
54
+ projectId: z.ZodString;
55
+ organizationId: z.ZodString;
56
+ email: z.ZodString;
57
+ reason: z.ZodEnum<{
58
+ bounce: "bounce";
59
+ complaint: "complaint";
60
+ manual: "manual";
61
+ unsubscribe: "unsubscribe";
62
+ }>;
63
+ createdAt: z.ZodString;
64
+ }, z.core.$strip>>;
65
+ nextCursor: z.ZodNullable<z.ZodString>;
66
+ }, z.core.$strip>;
67
+ export declare const SuppressionImportBodySchema: z.ZodObject<{
68
+ suppressions: z.ZodArray<z.ZodObject<{
69
+ email: z.ZodString;
70
+ reason: z.ZodDefault<z.ZodEnum<{
71
+ bounce: "bounce";
72
+ complaint: "complaint";
73
+ manual: "manual";
74
+ unsubscribe: "unsubscribe";
75
+ }>>;
76
+ }, z.core.$strip>>;
77
+ }, z.core.$strip>;
78
+ export declare const SuppressionImportResponseSchema: z.ZodObject<{
79
+ imported: z.ZodNumber;
80
+ skipped: z.ZodNumber;
81
+ }, z.core.$strip>;
82
+ export type AddSuppressionBody = z.infer<typeof AddSuppressionBodySchema>;
83
+ export type RemoveSuppressionParam = z.infer<typeof RemoveSuppressionParamSchema>;
84
+ export type SuppressionParams = RemoveSuppressionParam;
85
+ export type ListSuppressionsQuery = z.infer<typeof ListSuppressionsQuerySchema>;
86
+ export type SuppressionResponse = z.infer<typeof SuppressionResponseSchema>;
87
+ export type SuppressionListResponse = z.infer<typeof SuppressionListResponseSchema>;
88
+ export type SuppressionImportBody = z.infer<typeof SuppressionImportBodySchema>;
89
+ export type SuppressionImportResponse = z.infer<typeof SuppressionImportResponseSchema>;
90
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/definitions/suppressions/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,wBAAwB;;;;;;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;iBAA+B,CAAC;AAEpE,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;iBAExC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAOpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;iBAGxC,CAAC;AAMH,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAYtC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAC;AAMH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACvD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,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;AACpF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}