@apollo-deploy/signal-schemas 1.3.0 → 1.4.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 (45) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/definitions/common.d.ts +33 -0
  3. package/dist/definitions/common.d.ts.map +1 -1
  4. package/dist/definitions/common.js +47 -0
  5. package/dist/definitions/common.js.map +1 -1
  6. package/dist/definitions/domains/request.schema.d.ts.map +1 -1
  7. package/dist/definitions/domains/request.schema.js +2 -1
  8. package/dist/definitions/domains/request.schema.js.map +1 -1
  9. package/dist/definitions/domains/response.schema.d.ts +21 -6
  10. package/dist/definitions/domains/response.schema.d.ts.map +1 -1
  11. package/dist/definitions/domains/response.schema.js +2 -2
  12. package/dist/definitions/domains/response.schema.js.map +1 -1
  13. package/dist/definitions/emails/response.schema.d.ts +8 -20
  14. package/dist/definitions/emails/response.schema.d.ts.map +1 -1
  15. package/dist/definitions/emails/response.schema.js +5 -7
  16. package/dist/definitions/emails/response.schema.js.map +1 -1
  17. package/dist/definitions/projects/response.schema.d.ts +36 -8
  18. package/dist/definitions/projects/response.schema.d.ts.map +1 -1
  19. package/dist/definitions/projects/response.schema.js +4 -6
  20. package/dist/definitions/projects/response.schema.js.map +1 -1
  21. package/dist/definitions/signal-email/response.schema.d.ts +1 -0
  22. package/dist/definitions/signal-email/response.schema.d.ts.map +1 -1
  23. package/dist/definitions/signal-email/response.schema.js +2 -0
  24. package/dist/definitions/signal-email/response.schema.js.map +1 -1
  25. package/dist/definitions/signal-projects/request.schema.d.ts +12 -2
  26. package/dist/definitions/signal-projects/request.schema.d.ts.map +1 -1
  27. package/dist/definitions/signal-projects/request.schema.js +3 -3
  28. package/dist/definitions/signal-projects/request.schema.js.map +1 -1
  29. package/dist/definitions/signal-projects/response.schema.d.ts +57 -63
  30. package/dist/definitions/signal-projects/response.schema.d.ts.map +1 -1
  31. package/dist/definitions/signal-projects/response.schema.js +5 -18
  32. package/dist/definitions/signal-projects/response.schema.js.map +1 -1
  33. package/dist/definitions/suppressions/response.schema.d.ts +0 -2
  34. package/dist/definitions/suppressions/response.schema.d.ts.map +1 -1
  35. package/dist/definitions/suppressions/response.schema.js +1 -1
  36. package/dist/definitions/suppressions/response.schema.js.map +1 -1
  37. package/dist/definitions/webhooks/domain.schema.d.ts +32 -1
  38. package/dist/definitions/webhooks/domain.schema.d.ts.map +1 -1
  39. package/dist/definitions/webhooks/domain.schema.js +14 -0
  40. package/dist/definitions/webhooks/domain.schema.js.map +1 -1
  41. package/dist/definitions/webhooks/response.schema.d.ts +90 -4
  42. package/dist/definitions/webhooks/response.schema.d.ts.map +1 -1
  43. package/dist/definitions/webhooks/response.schema.js +9 -3
  44. package/dist/definitions/webhooks/response.schema.js.map +1 -1
  45. package/package.json +1 -1
@@ -50,6 +50,39 @@ export declare function createPageListSchema<T extends z.ZodType>(itemSchema: T)
50
50
  hasMore: z.ZodBoolean;
51
51
  }, z.core.$strip>;
52
52
  }, z.core.$strip>;
53
+ /**
54
+ * The four AWS regions where Apollo Signal infrastructure is deployed.
55
+ * Used as the canonical source of truth for region validation across schemas
56
+ * and application code.
57
+ */
58
+ export declare const SUPPORTED_REGIONS: readonly ["us-east-1", "af-south-1", "eu-west-1", "ap-southeast-1"];
59
+ /** Zod schema that validates a string is a supported Signal region. */
60
+ export declare const SignalRegionSchema: z.ZodEnum<{
61
+ "us-east-1": "us-east-1";
62
+ "af-south-1": "af-south-1";
63
+ "eu-west-1": "eu-west-1";
64
+ "ap-southeast-1": "ap-southeast-1";
65
+ }>;
66
+ /** TypeScript type for a valid Signal region, derived from the schema. */
67
+ export type SignalRegion = z.infer<typeof SignalRegionSchema>;
68
+ /**
69
+ * Returns the human-readable display name for a Signal region.
70
+ * @example getRegionName('af-south-1') // → 'Africa (Cape Town)'
71
+ */
72
+ export declare function getRegionName(region: SignalRegion): string;
73
+ /**
74
+ * Returns the emoji flag for a Signal region.
75
+ * @example getRegionFlag('eu-west-1') // → '🇮🇪'
76
+ */
77
+ export declare function getRegionFlag(region: SignalRegion): string;
78
+ /**
79
+ * Returns both display name and flag for a Signal region.
80
+ * @example getRegionMeta('us-east-1') // → { name: 'US East (N. Virginia)', flag: '🇺🇸' }
81
+ */
82
+ export declare function getRegionMeta(region: SignalRegion): {
83
+ name: string;
84
+ flag: string;
85
+ };
53
86
  /**
54
87
  * Path parameter for any route scoped to a single Signal project.
55
88
  * Re-used across domains to avoid re-declaring { projectId: z.string().min(1) }.
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/definitions/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,aAAwC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,4BAG3B,CAAC;AAMd;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;;;;;;;kBAKtE;AAOD;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;iBAMpC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,SAAS,UAA8B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAoD,CAAC;AAMlF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/definitions/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;GAGG;AACH,eAAO,MAAM,mBAAmB,aAAwC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,4BAG3B,CAAC;AAMd;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;;;;;;;kBAKtE;AAOD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qEAKpB,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,kBAAkB;;;;;EAA4B,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAa9D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAElF;AAMD;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;iBAMpC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,SAAS,UAA8B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAAoD,CAAC;AAMlF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -61,6 +61,52 @@ export function createPageListSchema(itemSchema) {
61
61
  });
62
62
  }
63
63
  // ---------------------------------------------------------------------------
64
+ // AWS regions
65
+ // ---------------------------------------------------------------------------
66
+ /**
67
+ * The four AWS regions where Apollo Signal infrastructure is deployed.
68
+ * Used as the canonical source of truth for region validation across schemas
69
+ * and application code.
70
+ */
71
+ export const SUPPORTED_REGIONS = [
72
+ 'us-east-1',
73
+ 'af-south-1',
74
+ 'eu-west-1',
75
+ 'ap-southeast-1',
76
+ ];
77
+ /** Zod schema that validates a string is a supported Signal region. */
78
+ export const SignalRegionSchema = z.enum(SUPPORTED_REGIONS);
79
+ // ---------------------------------------------------------------------------
80
+ // Region display metadata
81
+ // ---------------------------------------------------------------------------
82
+ const REGION_META = {
83
+ 'us-east-1': { name: 'US East (N. Virginia)', flag: '🇺🇸' },
84
+ 'af-south-1': { name: 'Africa (Cape Town)', flag: '🇿🇦' },
85
+ 'eu-west-1': { name: 'Europe (Ireland)', flag: '🇮🇪' },
86
+ 'ap-southeast-1': { name: 'Asia Pacific (Singapore)', flag: '🇸🇬' },
87
+ };
88
+ /**
89
+ * Returns the human-readable display name for a Signal region.
90
+ * @example getRegionName('af-south-1') // → 'Africa (Cape Town)'
91
+ */
92
+ export function getRegionName(region) {
93
+ return REGION_META[region].name;
94
+ }
95
+ /**
96
+ * Returns the emoji flag for a Signal region.
97
+ * @example getRegionFlag('eu-west-1') // → '🇮🇪'
98
+ */
99
+ export function getRegionFlag(region) {
100
+ return REGION_META[region].flag;
101
+ }
102
+ /**
103
+ * Returns both display name and flag for a Signal region.
104
+ * @example getRegionMeta('us-east-1') // → { name: 'US East (N. Virginia)', flag: '🇺🇸' }
105
+ */
106
+ export function getRegionMeta(region) {
107
+ return REGION_META[region];
108
+ }
109
+ // ---------------------------------------------------------------------------
64
110
  // Common param schemas
65
111
  // ---------------------------------------------------------------------------
66
112
  /**
@@ -104,4 +150,5 @@ export const IdentifierSchema = z.string().min(1, 'Identifier must not be empty'
104
150
  z.globalRegistry.add(CursorPaginationSchema, { id: 'SignalCursorPagination' });
105
151
  z.globalRegistry.add(ProjectParamSchema, { id: 'ProjectParam' });
106
152
  z.globalRegistry.add(SignalErrorEnvelopeSchema, { id: 'SignalErrorEnvelope' });
153
+ z.globalRegistry.add(SignalRegionSchema, { id: 'SignalRegion' });
107
154
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/definitions/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC1B,QAAQ,EAAE,CAAC;AAEd,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,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;AAEH,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAsB,UAAa;IACrE,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACzB,IAAI,EAAE,cAAc;KACrB,CAAC,CAAC;AACL,CAAC;AAGD,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7B,CAAC,CAAC;AAIH,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC5E,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;AAWlF,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal Schemas — Common Primitives\n *\n * Shared building blocks used across all Signal schema definitions.\n * Mirrors the role of `packages/schemas/src/definitions/common.ts` but\n * scoped to Signal-specific primitives.\n *\n * Rules:\n * - Import only from `zod`.\n * - No HTTP concerns (status codes, Fastify types).\n * - Every exported *Schema must be registered with z.globalRegistry.\n */\n\nimport { z } from 'zod';\n\n// ---------------------------------------------------------------------------\n// Date / time primitives\n// ---------------------------------------------------------------------------\n\n/**\n * ISO 8601 datetime string with timezone offset.\n * Use for all API response timestamp fields.\n */\nexport const IsoDateStringSchema = z.string().datetime({ offset: true });\n\n/**\n * Nullable ISO 8601 datetime string.\n * Use for optional timestamp fields that may not yet be set.\n */\nexport const NullableIsoDateStringSchema = z\n .string()\n .datetime({ offset: true })\n .nullable();\n\n// ---------------------------------------------------------------------------\n// Pagination\n// ---------------------------------------------------------------------------\n\n/**\n * Cursor-based pagination query parameters.\n * Used by all Signal list endpoints.\n */\nexport const CursorPaginationSchema = z.object({\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Page-based pagination response\n// ---------------------------------------------------------------------------\n\n/**\n * Page metadata included in every paginated list response.\n */\nexport const PageMetaSchema = z.object({\n size: z.number().int(),\n totalPages: z.number().int(),\n hasMore: z.boolean(),\n});\n\n/**\n * Standard paginated list response envelope factory.\n * Produces { data: T[], page: { size, totalPages, hasMore } }.\n * Used by all Signal list endpoints.\n */\nexport function createPageListSchema<T extends z.ZodType>(itemSchema: T) {\n return z.object({\n data: z.array(itemSchema),\n page: PageMetaSchema,\n });\n}\n\n\n// ---------------------------------------------------------------------------\n// Common param schemas\n// ---------------------------------------------------------------------------\n\n/**\n * Path parameter for any route scoped to a single Signal project.\n * Re-used across domains to avoid re-declaring { projectId: z.string().min(1) }.\n */\nexport const ProjectParamSchema = z.object({\n projectId: z.string().min(1),\n});\n\nexport type ProjectParam = z.infer<typeof ProjectParamSchema>;\n\n// ---------------------------------------------------------------------------\n// Error envelope\n// ---------------------------------------------------------------------------\n\n/**\n * Standard error response shape for all Signal API endpoints.\n *\n * `details` covers the common flat case (string / number / boolean / null\n * values). The schema is intentionally concrete so the OpenAPI exporter\n * emits a stable $ref component rather than an inline anonymous schema.\n */\nexport const SignalErrorEnvelopeSchema = z.object({\n code: z.string(),\n message: z.string(),\n details: z\n .record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))\n .optional(),\n});\n\n// ---------------------------------------------------------------------------\n// URL / identifier primitives\n// ---------------------------------------------------------------------------\n\n/**\n * Validated URL string.\n */\nexport const UrlSchema = z.url('Invalid URL format');\n\n/**\n * Non-empty string identifier (non-UUID resource IDs).\n */\nexport const IdentifierSchema = z.string().min(1, 'Identifier must not be empty');\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type IsoDateString = z.infer<typeof IsoDateStringSchema>;\nexport type NullableIsoDateString = z.infer<typeof NullableIsoDateStringSchema>;\nexport type CursorPagination = z.infer<typeof CursorPaginationSchema>;\nexport type SignalErrorEnvelope = z.infer<typeof SignalErrorEnvelopeSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(CursorPaginationSchema, { id: 'SignalCursorPagination' });\nz.globalRegistry.add(ProjectParamSchema, { id: 'ProjectParam' });\nz.globalRegistry.add(SignalErrorEnvelopeSchema, { id: 'SignalErrorEnvelope' });\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/definitions/common.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Apollo Signal Schemas — Common Primitives\n *\n * Shared building blocks used across all Signal schema definitions.\n * Mirrors the role of `packages/schemas/src/definitions/common.ts` but\n * scoped to Signal-specific primitives.\n *\n * Rules:\n * - Import only from `zod`.\n * - No HTTP concerns (status codes, Fastify types).\n * - Every exported *Schema must be registered with z.globalRegistry.\n */\n\nimport { z } from 'zod';\n\n// ---------------------------------------------------------------------------\n// Date / time primitives\n// ---------------------------------------------------------------------------\n\n/**\n * ISO 8601 datetime string with timezone offset.\n * Use for all API response timestamp fields.\n */\nexport const IsoDateStringSchema = z.string().datetime({ offset: true });\n\n/**\n * Nullable ISO 8601 datetime string.\n * Use for optional timestamp fields that may not yet be set.\n */\nexport const NullableIsoDateStringSchema = z\n .string()\n .datetime({ offset: true })\n .nullable();\n\n// ---------------------------------------------------------------------------\n// Pagination\n// ---------------------------------------------------------------------------\n\n/**\n * Cursor-based pagination query parameters.\n * Used by all Signal list endpoints.\n */\nexport const CursorPaginationSchema = z.object({\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().optional(),\n});\n\n// ---------------------------------------------------------------------------\n// Page-based pagination response\n// ---------------------------------------------------------------------------\n\n/**\n * Page metadata included in every paginated list response.\n */\nexport const PageMetaSchema = z.object({\n size: z.number().int(),\n totalPages: z.number().int(),\n hasMore: z.boolean(),\n});\n\n/**\n * Standard paginated list response envelope factory.\n * Produces { data: T[], page: { size, totalPages, hasMore } }.\n * Used by all Signal list endpoints.\n */\nexport function createPageListSchema<T extends z.ZodType>(itemSchema: T) {\n return z.object({\n data: z.array(itemSchema),\n page: PageMetaSchema,\n });\n}\n\n\n// ---------------------------------------------------------------------------\n// AWS regions\n// ---------------------------------------------------------------------------\n\n/**\n * The four AWS regions where Apollo Signal infrastructure is deployed.\n * Used as the canonical source of truth for region validation across schemas\n * and application code.\n */\nexport const SUPPORTED_REGIONS = [\n 'us-east-1',\n 'af-south-1',\n 'eu-west-1',\n 'ap-southeast-1',\n] as const;\n\n/** Zod schema that validates a string is a supported Signal region. */\nexport const SignalRegionSchema = z.enum(SUPPORTED_REGIONS);\n\n/** TypeScript type for a valid Signal region, derived from the schema. */\nexport type SignalRegion = z.infer<typeof SignalRegionSchema>;\n\n// ---------------------------------------------------------------------------\n// Region display metadata\n// ---------------------------------------------------------------------------\n\nconst REGION_META: Record<SignalRegion, { name: string; flag: string }> = {\n 'us-east-1': { name: 'US East (N. Virginia)', flag: '🇺🇸' },\n 'af-south-1': { name: 'Africa (Cape Town)', flag: '🇿🇦' },\n 'eu-west-1': { name: 'Europe (Ireland)', flag: '🇮🇪' },\n 'ap-southeast-1': { name: 'Asia Pacific (Singapore)', flag: '🇸🇬' },\n};\n\n/**\n * Returns the human-readable display name for a Signal region.\n * @example getRegionName('af-south-1') // → 'Africa (Cape Town)'\n */\nexport function getRegionName(region: SignalRegion): string {\n return REGION_META[region].name;\n}\n\n/**\n * Returns the emoji flag for a Signal region.\n * @example getRegionFlag('eu-west-1') // → '🇮🇪'\n */\nexport function getRegionFlag(region: SignalRegion): string {\n return REGION_META[region].flag;\n}\n\n/**\n * Returns both display name and flag for a Signal region.\n * @example getRegionMeta('us-east-1') // → { name: 'US East (N. Virginia)', flag: '🇺🇸' }\n */\nexport function getRegionMeta(region: SignalRegion): { name: string; flag: string } {\n return REGION_META[region];\n}\n\n// ---------------------------------------------------------------------------\n// Common param schemas\n// ---------------------------------------------------------------------------\n\n/**\n * Path parameter for any route scoped to a single Signal project.\n * Re-used across domains to avoid re-declaring { projectId: z.string().min(1) }.\n */\nexport const ProjectParamSchema = z.object({\n projectId: z.string().min(1),\n});\n\nexport type ProjectParam = z.infer<typeof ProjectParamSchema>;\n\n// ---------------------------------------------------------------------------\n// Error envelope\n// ---------------------------------------------------------------------------\n\n/**\n * Standard error response shape for all Signal API endpoints.\n *\n * `details` covers the common flat case (string / number / boolean / null\n * values). The schema is intentionally concrete so the OpenAPI exporter\n * emits a stable $ref component rather than an inline anonymous schema.\n */\nexport const SignalErrorEnvelopeSchema = z.object({\n code: z.string(),\n message: z.string(),\n details: z\n .record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.null()]))\n .optional(),\n});\n\n// ---------------------------------------------------------------------------\n// URL / identifier primitives\n// ---------------------------------------------------------------------------\n\n/**\n * Validated URL string.\n */\nexport const UrlSchema = z.url('Invalid URL format');\n\n/**\n * Non-empty string identifier (non-UUID resource IDs).\n */\nexport const IdentifierSchema = z.string().min(1, 'Identifier must not be empty');\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type IsoDateString = z.infer<typeof IsoDateStringSchema>;\nexport type NullableIsoDateString = z.infer<typeof NullableIsoDateStringSchema>;\nexport type CursorPagination = z.infer<typeof CursorPaginationSchema>;\nexport type SignalErrorEnvelope = z.infer<typeof SignalErrorEnvelopeSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(CursorPaginationSchema, { id: 'SignalCursorPagination' });\nz.globalRegistry.add(ProjectParamSchema, { id: 'ProjectParam' });\nz.globalRegistry.add(SignalErrorEnvelopeSchema, { id: 'SignalErrorEnvelope' });\nz.globalRegistry.add(SignalRegionSchema, { id: 'SignalRegion' });\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"request.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/domains/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,wBAAwB;;;;;;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"request.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/domains/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,wBAAwB;;;;;;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -3,9 +3,10 @@
3
3
  * Subpath: @apollo-deploy/signal-schemas/domains
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { SignalRegionSchema } from '../common.js';
6
7
  export const RegisterDomainBodySchema = z.object({
7
8
  domain: z.string().min(1).max(253),
8
- region: z.enum(['us-east-1', 'af-south-1', 'eu-west-1', 'ap-southeast-1']),
9
+ region: SignalRegionSchema,
9
10
  });
10
11
  export const DomainIdParamSchema = z.object({
11
12
  projectId: z.string().min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"request.schema.js","sourceRoot":"","sources":["../../../src/definitions/domains/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAC,YAAY,EAAC,WAAW,EAAC,gBAAgB,CAAC,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,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;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChD,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,mBAAmB,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Domains Request Schemas\n * Subpath: @apollo-deploy/signal-schemas/domains\n */\nimport { z } from 'zod';\n\nexport const RegisterDomainBodySchema = z.object({\n domain: z.string().min(1).max(253),\n region: z.enum(['us-east-1','af-south-1','eu-west-1','ap-southeast-1']),\n});\n\nexport const DomainIdParamSchema = z.object({\n projectId: z.string().min(1),\n domainId: z.string().min(1),\n});\n\nexport const ListDomainsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().optional(),\n});\n\nexport const BimiUpdateBodySchema = z.object({\n logoUrl: z.string().url().nullable().optional(),\n});\n\nexport type RegisterDomainBody = z.infer<typeof RegisterDomainBodySchema>;\nexport type DomainIdParam = z.infer<typeof DomainIdParamSchema>;\nexport type ListDomainsQuery = z.infer<typeof ListDomainsQuerySchema>;\nexport type BimiUpdateBody = z.infer<typeof BimiUpdateBodySchema>;\n\nz.globalRegistry.add(RegisterDomainBodySchema, { id: 'RegisterDomainBody' });\nz.globalRegistry.add(DomainIdParamSchema, { id: 'DomainIdParam' });\nz.globalRegistry.add(ListDomainsQuerySchema, { id: 'ListDomainsQuery' });\nz.globalRegistry.add(BimiUpdateBodySchema, { id: 'BimiUpdateBody' });\n"]}
1
+ {"version":3,"file":"request.schema.js","sourceRoot":"","sources":["../../../src/definitions/domains/request.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,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;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChD,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,mBAAmB,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Domains Request Schemas\n * Subpath: @apollo-deploy/signal-schemas/domains\n */\nimport { z } from 'zod';\nimport { SignalRegionSchema } from '../common.js';\n\nexport const RegisterDomainBodySchema = z.object({\n domain: z.string().min(1).max(253),\n region: SignalRegionSchema,\n});\n\nexport const DomainIdParamSchema = z.object({\n projectId: z.string().min(1),\n domainId: z.string().min(1),\n});\n\nexport const ListDomainsQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().optional(),\n});\n\nexport const BimiUpdateBodySchema = z.object({\n logoUrl: z.string().url().nullable().optional(),\n});\n\nexport type RegisterDomainBody = z.infer<typeof RegisterDomainBodySchema>;\nexport type DomainIdParam = z.infer<typeof DomainIdParamSchema>;\nexport type ListDomainsQuery = z.infer<typeof ListDomainsQuerySchema>;\nexport type BimiUpdateBody = z.infer<typeof BimiUpdateBodySchema>;\n\nz.globalRegistry.add(RegisterDomainBodySchema, { id: 'RegisterDomainBody' });\nz.globalRegistry.add(DomainIdParamSchema, { id: 'DomainIdParam' });\nz.globalRegistry.add(ListDomainsQuerySchema, { id: 'ListDomainsQuery' });\nz.globalRegistry.add(BimiUpdateBodySchema, { id: 'BimiUpdateBody' });\n"]}
@@ -7,12 +7,17 @@ export declare const DomainResponseSchema: z.ZodObject<{
7
7
  id: z.ZodString;
8
8
  projectId: z.ZodString;
9
9
  domain: z.ZodString;
10
- region: z.ZodString;
10
+ region: z.ZodEnum<{
11
+ "us-east-1": "us-east-1";
12
+ "af-south-1": "af-south-1";
13
+ "eu-west-1": "eu-west-1";
14
+ "ap-southeast-1": "ap-southeast-1";
15
+ }>;
11
16
  status: z.ZodEnum<{
12
17
  failed: "failed";
13
- deleted: "deleted";
14
18
  pending: "pending";
15
19
  verified: "verified";
20
+ deleted: "deleted";
16
21
  degraded: "degraded";
17
22
  }>;
18
23
  dkimStatus: z.ZodEnum<{
@@ -164,12 +169,17 @@ export declare const DomainVerifyResponseSchema: z.ZodObject<{
164
169
  id: z.ZodString;
165
170
  projectId: z.ZodString;
166
171
  domain: z.ZodString;
167
- region: z.ZodString;
172
+ region: z.ZodEnum<{
173
+ "us-east-1": "us-east-1";
174
+ "af-south-1": "af-south-1";
175
+ "eu-west-1": "eu-west-1";
176
+ "ap-southeast-1": "ap-southeast-1";
177
+ }>;
168
178
  status: z.ZodEnum<{
169
179
  failed: "failed";
170
- deleted: "deleted";
171
180
  pending: "pending";
172
181
  verified: "verified";
182
+ deleted: "deleted";
173
183
  degraded: "degraded";
174
184
  }>;
175
185
  dkimStatus: z.ZodEnum<{
@@ -330,12 +340,17 @@ export declare const DomainListResponseSchema: z.ZodObject<{
330
340
  id: z.ZodString;
331
341
  projectId: z.ZodString;
332
342
  domain: z.ZodString;
333
- region: z.ZodString;
343
+ region: z.ZodEnum<{
344
+ "us-east-1": "us-east-1";
345
+ "af-south-1": "af-south-1";
346
+ "eu-west-1": "eu-west-1";
347
+ "ap-southeast-1": "ap-southeast-1";
348
+ }>;
334
349
  status: z.ZodEnum<{
335
350
  failed: "failed";
336
- deleted: "deleted";
337
351
  pending: "pending";
338
352
  verified: "verified";
353
+ deleted: "deleted";
339
354
  degraded: "degraded";
340
355
  }>;
341
356
  dkimStatus: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/domains/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU/B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkE,CAAC;AAE1G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6C,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/domains/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU/B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkE,CAAC;AAE1G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6C,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -3,10 +3,10 @@
3
3
  * Subpath: @apollo-deploy/signal-schemas/domains
4
4
  */
5
5
  import { z } from 'zod';
6
- import { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';
6
+ import { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema, SignalRegionSchema } from '../common.js';
7
7
  import { DomainStatusSchema, DomainSubStatusSchema, BimiStatusSchema, VerificationRecordsSchema, DomainDnsCheckSchema } from './domain.schema.js';
8
8
  export const DomainResponseSchema = z.object({
9
- id: z.string(), projectId: z.string(), domain: z.string(), region: z.string(),
9
+ id: z.string(), projectId: z.string(), domain: z.string(), region: SignalRegionSchema,
10
10
  status: DomainStatusSchema,
11
11
  dkimStatus: DomainSubStatusSchema, spfStatus: DomainSubStatusSchema,
12
12
  dmarcStatus: DomainSubStatusSchema, mailFromStatus: DomainSubStatusSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/domains/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7E,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,qBAAqB;IACnE,WAAW,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB;IACzE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,mBAAmB,EAAE,yBAAyB;IAC9C,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB;IAC9D,UAAU,EAAE,2BAA2B;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAMnF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Domains Response Schemas\n * Subpath: @apollo-deploy/signal-schemas/domains\n */\nimport { z } from 'zod';\nimport { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { DomainStatusSchema, DomainSubStatusSchema, BimiStatusSchema, VerificationRecordsSchema, DomainDnsCheckSchema } from './domain.schema.js';\n\nexport const DomainResponseSchema = z.object({\n id: z.string(), projectId: z.string(), domain: z.string(), region: z.string(),\n status: DomainStatusSchema,\n dkimStatus: DomainSubStatusSchema, spfStatus: DomainSubStatusSchema,\n dmarcStatus: DomainSubStatusSchema, mailFromStatus: DomainSubStatusSchema,\n mailFromDomain: z.string(),\n verificationRecords: VerificationRecordsSchema,\n bimiStatus: BimiStatusSchema, bimiLogoUrl: z.string().nullable(),\n createdAt: IsoDateStringSchema, updatedAt: IsoDateStringSchema,\n verifiedAt: NullableIsoDateStringSchema,\n});\n\nexport const DomainVerifyResponseSchema = DomainResponseSchema.extend({ dnsCheck: DomainDnsCheckSchema });\n\nexport const DomainListResponseSchema = createPageListSchema(DomainResponseSchema);\n\nexport type DomainResponse = z.infer<typeof DomainResponseSchema>;\nexport type DomainVerifyResponse = z.infer<typeof DomainVerifyResponseSchema>;\nexport type DomainListResponse = z.infer<typeof DomainListResponseSchema>;\n\nz.globalRegistry.add(DomainResponseSchema, { id: 'DomainResponse' });\nz.globalRegistry.add(DomainVerifyResponseSchema, { id: 'DomainVerifyResponse' });\nz.globalRegistry.add(DomainListResponseSchema, { id: 'DomainListResponse' });\n"]}
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/domains/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1H,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB;IACrF,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,qBAAqB,EAAE,SAAS,EAAE,qBAAqB;IACnE,WAAW,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB;IACzE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,mBAAmB,EAAE,yBAAyB;IAC9C,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,mBAAmB;IAC9D,UAAU,EAAE,2BAA2B;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAMnF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Domains Response Schemas\n * Subpath: @apollo-deploy/signal-schemas/domains\n */\nimport { z } from 'zod';\nimport { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema, SignalRegionSchema } from '../common.js';\nimport { DomainStatusSchema, DomainSubStatusSchema, BimiStatusSchema, VerificationRecordsSchema, DomainDnsCheckSchema } from './domain.schema.js';\n\nexport const DomainResponseSchema = z.object({\n id: z.string(), projectId: z.string(), domain: z.string(), region: SignalRegionSchema,\n status: DomainStatusSchema,\n dkimStatus: DomainSubStatusSchema, spfStatus: DomainSubStatusSchema,\n dmarcStatus: DomainSubStatusSchema, mailFromStatus: DomainSubStatusSchema,\n mailFromDomain: z.string(),\n verificationRecords: VerificationRecordsSchema,\n bimiStatus: BimiStatusSchema, bimiLogoUrl: z.string().nullable(),\n createdAt: IsoDateStringSchema, updatedAt: IsoDateStringSchema,\n verifiedAt: NullableIsoDateStringSchema,\n});\n\nexport const DomainVerifyResponseSchema = DomainResponseSchema.extend({ dnsCheck: DomainDnsCheckSchema });\n\nexport const DomainListResponseSchema = createPageListSchema(DomainResponseSchema);\n\nexport type DomainResponse = z.infer<typeof DomainResponseSchema>;\nexport type DomainVerifyResponse = z.infer<typeof DomainVerifyResponseSchema>;\nexport type DomainListResponse = z.infer<typeof DomainListResponseSchema>;\n\nz.globalRegistry.add(DomainResponseSchema, { id: 'DomainResponse' });\nz.globalRegistry.add(DomainVerifyResponseSchema, { id: 'DomainVerifyResponse' });\nz.globalRegistry.add(DomainListResponseSchema, { id: 'DomainListResponse' });\n"]}
@@ -31,16 +31,10 @@ export declare const EmailSuppressionImportResponseSchema: z.ZodObject<{
31
31
  export declare const EmailResponseSchema: z.ZodObject<{
32
32
  id: z.ZodString;
33
33
  projectId: z.ZodString;
34
- organizationId: z.ZodString;
35
- apiKeyId: z.ZodNullable<z.ZodString>;
36
- domainId: z.ZodNullable<z.ZodString>;
37
- provider: z.ZodLiteral<"ses">;
38
- providerMessageId: z.ZodNullable<z.ZodString>;
39
- fromAddress: z.ZodString;
40
- fromDomain: z.ZodString;
41
- toRecipients: z.ZodArray<z.ZodString>;
42
- ccRecipients: z.ZodNullable<z.ZodArray<z.ZodString>>;
43
- bccRecipients: z.ZodNullable<z.ZodArray<z.ZodString>>;
34
+ from: z.ZodString;
35
+ to: z.ZodArray<z.ZodString>;
36
+ cc: z.ZodNullable<z.ZodArray<z.ZodString>>;
37
+ bcc: z.ZodNullable<z.ZodArray<z.ZodString>>;
44
38
  replyTo: z.ZodNullable<z.ZodString>;
45
39
  subject: z.ZodString;
46
40
  status: z.ZodEnum<{
@@ -67,16 +61,10 @@ export declare const EmailListResponseSchema: z.ZodObject<{
67
61
  data: z.ZodArray<z.ZodObject<{
68
62
  id: z.ZodString;
69
63
  projectId: z.ZodString;
70
- organizationId: z.ZodString;
71
- apiKeyId: z.ZodNullable<z.ZodString>;
72
- domainId: z.ZodNullable<z.ZodString>;
73
- provider: z.ZodLiteral<"ses">;
74
- providerMessageId: z.ZodNullable<z.ZodString>;
75
- fromAddress: z.ZodString;
76
- fromDomain: z.ZodString;
77
- toRecipients: z.ZodArray<z.ZodString>;
78
- ccRecipients: z.ZodNullable<z.ZodArray<z.ZodString>>;
79
- bccRecipients: z.ZodNullable<z.ZodArray<z.ZodString>>;
64
+ from: z.ZodString;
65
+ to: z.ZodArray<z.ZodString>;
66
+ cc: z.ZodNullable<z.ZodArray<z.ZodString>>;
67
+ bcc: z.ZodNullable<z.ZodArray<z.ZodString>>;
80
68
  replyTo: z.ZodNullable<z.ZodString>;
81
69
  subject: z.ZodString;
82
70
  status: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/emails/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;iBAA2C,CAAC;AAClF,eAAO,MAAM,iCAAiC;;iBAA4C,CAAC;AAC3F,eAAO,MAAM,yBAAyB;;;iBAAkE,CAAC;AACzG,eAAO,MAAM,oCAAoC;;;iBAAsE,CAAC;AAExH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4C,CAAC;AAGjF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;iBAQzC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBAEvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;iBAInC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;iBAAiD,CAAC;AAC5F,eAAO,MAAM,+BAA+B;;;;;;;iBAG1C,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAClG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,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"}
1
+ {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/emails/response.schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;iBAA2C,CAAC;AAClF,eAAO,MAAM,iCAAiC;;iBAA4C,CAAC;AAC3F,eAAO,MAAM,yBAAyB;;;iBAAkE,CAAC;AACzG,eAAO,MAAM,oCAAoC;;;iBAAsE,CAAC;AAExH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4C,CAAC;AAGjF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;iBAQzC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBAEvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;iBAInC,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;iBAAiD,CAAC;AAC5F,eAAO,MAAM,+BAA+B;;;;;;;iBAG1C,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAClG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,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"}
@@ -16,13 +16,11 @@ export const BulkCancelScheduledResponseSchema = z.object({ cancelled: z.number(
16
16
  export const StreamTokenResponseSchema = z.object({ token: z.string(), expiresAt: IsoDateStringSchema });
17
17
  export const EmailSuppressionImportResponseSchema = z.object({ imported: z.number().int(), skipped: z.number().int() });
18
18
  export const EmailResponseSchema = z.object({
19
- id: z.string(), projectId: z.string(), organizationId: z.string(),
20
- apiKeyId: z.string().nullable(), domainId: z.string().nullable(),
21
- provider: z.literal('ses'), providerMessageId: z.string().nullable(),
22
- fromAddress: z.string(), fromDomain: z.string(),
23
- toRecipients: z.array(z.string()),
24
- ccRecipients: z.array(z.string()).nullable(),
25
- bccRecipients: z.array(z.string()).nullable(),
19
+ id: z.string(), projectId: z.string(),
20
+ from: z.string(),
21
+ to: z.array(z.string()),
22
+ cc: z.array(z.string()).nullable(),
23
+ bcc: z.array(z.string()).nullable(),
26
24
  replyTo: z.string().nullable(), subject: z.string(),
27
25
  status: EmailStatusSchema,
28
26
  error: z.string().nullable(),
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/emails/response.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Apollo Signal — Emails Response Schemas\n * Subpath: @apollo-deploy/signal-schemas/emails\n */\nimport { z } from 'zod';\nimport { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { EmailStatusSchema } from './domain.schema.js';\n\nexport const SendEmailResponseSchema = z.object({\n id: z.string(), messageId: z.string().nullable(),\n status: z.enum(['sent','test','scheduled']),\n createdAt: IsoDateStringSchema,\n scheduledAt: NullableIsoDateStringSchema.optional(),\n});\n\nexport const CancelEmailResponseSchema = z.object({ cancelled: z.literal(true) });\nexport const BulkCancelScheduledResponseSchema = z.object({ cancelled: z.number().int() });\nexport const StreamTokenResponseSchema = z.object({ token: z.string(), expiresAt: IsoDateStringSchema });\nexport const EmailSuppressionImportResponseSchema = z.object({ imported: z.number().int(), skipped: z.number().int() });\n\nexport const EmailResponseSchema = z.object({\n id: z.string(), projectId: z.string(), organizationId: z.string(),\n apiKeyId: z.string().nullable(), domainId: z.string().nullable(),\n provider: z.literal('ses'), providerMessageId: z.string().nullable(),\n fromAddress: z.string(), 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(), subject: z.string(),\n status: EmailStatusSchema,\n error: z.string().nullable(),\n tags: z.record(z.string(), z.string()).nullable(),\n testMode: z.boolean(),\n createdAt: IsoDateStringSchema, sentAt: NullableIsoDateStringSchema, updatedAt: IsoDateStringSchema,\n});\n\nexport const EmailListResponseSchema = createPageListSchema(EmailResponseSchema);\n\n// Per-item result for POST /v1/emails/batch (partial success allowed).\nexport const BatchSendEmailItemResultSchema = z.object({\n index: z.number().int(),\n id: z.string().optional(),\n messageId: z.string().nullable().optional(),\n status: z.enum(['sent', 'test', 'scheduled']).optional(),\n createdAt: IsoDateStringSchema.optional(),\n scheduledAt: NullableIsoDateStringSchema.optional(),\n error: z.string().optional(),\n});\nexport const BatchSendEmailResponseSchema = z.object({\n results: z.array(BatchSendEmailItemResultSchema),\n});\n\nexport const EmailEventResponseSchema = z.object({\n id: z.string(), type: z.string(), providerEventId: z.string().nullable(),\n payload: z.record(z.string(), z.string()),\n occurredAt: IsoDateStringSchema, createdAt: IsoDateStringSchema,\n});\nexport const EmailEventsListResponseSchema = createPageListSchema(EmailEventResponseSchema);\nexport const PreSendValidationResponseSchema = z.object({\n valid: z.boolean(),\n checks: z.array(z.object({ name: z.string(), passed: z.boolean(), message: z.string().optional() })),\n});\n\nexport type SendEmailResponse = z.infer<typeof SendEmailResponseSchema>;\nexport type CancelEmailResponse = z.infer<typeof CancelEmailResponseSchema>;\nexport type BulkCancelScheduledResponse = z.infer<typeof BulkCancelScheduledResponseSchema>;\nexport type StreamTokenResponse = z.infer<typeof StreamTokenResponseSchema>;\nexport type EmailSuppressionImportResponse = z.infer<typeof EmailSuppressionImportResponseSchema>;\nexport type EmailResponse = z.infer<typeof EmailResponseSchema>;\nexport type EmailListResponse = z.infer<typeof EmailListResponseSchema>;\nexport type BatchSendEmailItemResult = z.infer<typeof BatchSendEmailItemResultSchema>;\nexport type BatchSendEmailResponse = z.infer<typeof BatchSendEmailResponseSchema>;\nexport type EmailEventResponse = z.infer<typeof EmailEventResponseSchema>;\nexport type EmailEventsListResponse = z.infer<typeof EmailEventsListResponseSchema>;\nexport type PreSendValidationResponse = z.infer<typeof PreSendValidationResponseSchema>;\n\nz.globalRegistry.add(SendEmailResponseSchema, { id: 'SendEmailResponse' });\nz.globalRegistry.add(CancelEmailResponseSchema, { id: 'CancelEmailResponse' });\nz.globalRegistry.add(BulkCancelScheduledResponseSchema, { id: 'BulkCancelScheduledResponse' });\nz.globalRegistry.add(StreamTokenResponseSchema, { id: 'StreamTokenResponse' });\nz.globalRegistry.add(EmailSuppressionImportResponseSchema, { id: 'EmailSuppressionImportResponse' });\nz.globalRegistry.add(EmailResponseSchema, { id: 'EmailResponse' });\nz.globalRegistry.add(EmailListResponseSchema, { id: 'EmailListResponse' });\nz.globalRegistry.add(BatchSendEmailResponseSchema, { id: 'BatchSendEmailResponse' });\nz.globalRegistry.add(EmailEventResponseSchema, { id: 'EmailEventResponse' });\nz.globalRegistry.add(EmailEventsListResponseSchema, { id: 'EmailEventsListResponse' });\nz.globalRegistry.add(PreSendValidationResponseSchema, { id: 'PreSendValidationResponse' });\n"]}
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/emails/response.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Apollo Signal — Emails Response Schemas\n * Subpath: @apollo-deploy/signal-schemas/emails\n */\nimport { z } from 'zod';\nimport { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { EmailStatusSchema } from './domain.schema.js';\n\nexport const SendEmailResponseSchema = z.object({\n id: z.string(), messageId: z.string().nullable(),\n status: z.enum(['sent','test','scheduled']),\n createdAt: IsoDateStringSchema,\n scheduledAt: NullableIsoDateStringSchema.optional(),\n});\n\nexport const CancelEmailResponseSchema = z.object({ cancelled: z.literal(true) });\nexport const BulkCancelScheduledResponseSchema = z.object({ cancelled: z.number().int() });\nexport const StreamTokenResponseSchema = z.object({ token: z.string(), expiresAt: IsoDateStringSchema });\nexport const EmailSuppressionImportResponseSchema = z.object({ imported: z.number().int(), skipped: z.number().int() });\n\nexport const EmailResponseSchema = z.object({\n id: z.string(), projectId: z.string(),\n from: z.string(),\n to: z.array(z.string()),\n cc: z.array(z.string()).nullable(),\n bcc: z.array(z.string()).nullable(),\n replyTo: z.string().nullable(), subject: z.string(),\n status: EmailStatusSchema,\n error: z.string().nullable(),\n tags: z.record(z.string(), z.string()).nullable(),\n testMode: z.boolean(),\n createdAt: IsoDateStringSchema, sentAt: NullableIsoDateStringSchema, updatedAt: IsoDateStringSchema,\n});\n\nexport const EmailListResponseSchema = createPageListSchema(EmailResponseSchema);\n\n// Per-item result for POST /v1/emails/batch (partial success allowed).\nexport const BatchSendEmailItemResultSchema = z.object({\n index: z.number().int(),\n id: z.string().optional(),\n messageId: z.string().nullable().optional(),\n status: z.enum(['sent', 'test', 'scheduled']).optional(),\n createdAt: IsoDateStringSchema.optional(),\n scheduledAt: NullableIsoDateStringSchema.optional(),\n error: z.string().optional(),\n});\nexport const BatchSendEmailResponseSchema = z.object({\n results: z.array(BatchSendEmailItemResultSchema),\n});\n\nexport const EmailEventResponseSchema = z.object({\n id: z.string(), type: z.string(), providerEventId: z.string().nullable(),\n payload: z.record(z.string(), z.string()),\n occurredAt: IsoDateStringSchema, createdAt: IsoDateStringSchema,\n});\nexport const EmailEventsListResponseSchema = createPageListSchema(EmailEventResponseSchema);\nexport const PreSendValidationResponseSchema = z.object({\n valid: z.boolean(),\n checks: z.array(z.object({ name: z.string(), passed: z.boolean(), message: z.string().optional() })),\n});\n\nexport type SendEmailResponse = z.infer<typeof SendEmailResponseSchema>;\nexport type CancelEmailResponse = z.infer<typeof CancelEmailResponseSchema>;\nexport type BulkCancelScheduledResponse = z.infer<typeof BulkCancelScheduledResponseSchema>;\nexport type StreamTokenResponse = z.infer<typeof StreamTokenResponseSchema>;\nexport type EmailSuppressionImportResponse = z.infer<typeof EmailSuppressionImportResponseSchema>;\nexport type EmailResponse = z.infer<typeof EmailResponseSchema>;\nexport type EmailListResponse = z.infer<typeof EmailListResponseSchema>;\nexport type BatchSendEmailItemResult = z.infer<typeof BatchSendEmailItemResultSchema>;\nexport type BatchSendEmailResponse = z.infer<typeof BatchSendEmailResponseSchema>;\nexport type EmailEventResponse = z.infer<typeof EmailEventResponseSchema>;\nexport type EmailEventsListResponse = z.infer<typeof EmailEventsListResponseSchema>;\nexport type PreSendValidationResponse = z.infer<typeof PreSendValidationResponseSchema>;\n\nz.globalRegistry.add(SendEmailResponseSchema, { id: 'SendEmailResponse' });\nz.globalRegistry.add(CancelEmailResponseSchema, { id: 'CancelEmailResponse' });\nz.globalRegistry.add(BulkCancelScheduledResponseSchema, { id: 'BulkCancelScheduledResponse' });\nz.globalRegistry.add(StreamTokenResponseSchema, { id: 'StreamTokenResponse' });\nz.globalRegistry.add(EmailSuppressionImportResponseSchema, { id: 'EmailSuppressionImportResponse' });\nz.globalRegistry.add(EmailResponseSchema, { id: 'EmailResponse' });\nz.globalRegistry.add(EmailListResponseSchema, { id: 'EmailListResponse' });\nz.globalRegistry.add(BatchSendEmailResponseSchema, { id: 'BatchSendEmailResponse' });\nz.globalRegistry.add(EmailEventResponseSchema, { id: 'EmailEventResponse' });\nz.globalRegistry.add(EmailEventsListResponseSchema, { id: 'EmailEventsListResponse' });\nz.globalRegistry.add(PreSendValidationResponseSchema, { id: 'PreSendValidationResponse' });\n"]}
@@ -8,7 +8,6 @@
8
8
  import { z } from 'zod';
9
9
  export declare const ProjectResponseSchema: z.ZodObject<{
10
10
  id: z.ZodString;
11
- organizationId: z.ZodString;
12
11
  name: z.ZodString;
13
12
  slug: z.ZodString;
14
13
  status: z.ZodEnum<{
@@ -18,7 +17,12 @@ export declare const ProjectResponseSchema: z.ZodObject<{
18
17
  deleted: "deleted";
19
18
  }>;
20
19
  suspensionReason: z.ZodNullable<z.ZodString>;
21
- region: z.ZodString;
20
+ region: z.ZodEnum<{
21
+ "us-east-1": "us-east-1";
22
+ "af-south-1": "af-south-1";
23
+ "eu-west-1": "eu-west-1";
24
+ "ap-southeast-1": "ap-southeast-1";
25
+ }>;
22
26
  limits: z.ZodObject<{
23
27
  dailySends: z.ZodNumber;
24
28
  perSecondSends: z.ZodNumber;
@@ -27,15 +31,24 @@ export declare const ProjectResponseSchema: z.ZodObject<{
27
31
  maxApiKeys: z.ZodNumber;
28
32
  maxWebhooks: z.ZodNumber;
29
33
  }, z.core.$strip>;
30
- createdByUserId: z.ZodString;
34
+ trackingSettings: z.ZodObject<{
35
+ openTracking: z.ZodDefault<z.ZodBoolean>;
36
+ clickTracking: z.ZodDefault<z.ZodBoolean>;
37
+ unsubscribeTracking: z.ZodDefault<z.ZodBoolean>;
38
+ readEngagement: z.ZodDefault<z.ZodBoolean>;
39
+ trackingDomain: z.ZodDefault<z.ZodNullable<z.ZodString>>;
40
+ trackingDomainStatus: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
41
+ failed: "failed";
42
+ pending: "pending";
43
+ verified: "verified";
44
+ }>>>;
45
+ }, z.core.$strip>;
31
46
  createdAt: z.ZodString;
32
47
  updatedAt: z.ZodString;
33
- deletedAt: z.ZodNullable<z.ZodString>;
34
48
  }, z.core.$strip>;
35
49
  export declare const ProjectListResponseSchema: z.ZodObject<{
36
50
  data: z.ZodArray<z.ZodObject<{
37
51
  id: z.ZodString;
38
- organizationId: z.ZodString;
39
52
  name: z.ZodString;
40
53
  slug: z.ZodString;
41
54
  status: z.ZodEnum<{
@@ -45,7 +58,12 @@ export declare const ProjectListResponseSchema: z.ZodObject<{
45
58
  deleted: "deleted";
46
59
  }>;
47
60
  suspensionReason: z.ZodNullable<z.ZodString>;
48
- region: z.ZodString;
61
+ region: z.ZodEnum<{
62
+ "us-east-1": "us-east-1";
63
+ "af-south-1": "af-south-1";
64
+ "eu-west-1": "eu-west-1";
65
+ "ap-southeast-1": "ap-southeast-1";
66
+ }>;
49
67
  limits: z.ZodObject<{
50
68
  dailySends: z.ZodNumber;
51
69
  perSecondSends: z.ZodNumber;
@@ -54,10 +72,20 @@ export declare const ProjectListResponseSchema: z.ZodObject<{
54
72
  maxApiKeys: z.ZodNumber;
55
73
  maxWebhooks: z.ZodNumber;
56
74
  }, z.core.$strip>;
57
- createdByUserId: z.ZodString;
75
+ trackingSettings: z.ZodObject<{
76
+ openTracking: z.ZodDefault<z.ZodBoolean>;
77
+ clickTracking: z.ZodDefault<z.ZodBoolean>;
78
+ unsubscribeTracking: z.ZodDefault<z.ZodBoolean>;
79
+ readEngagement: z.ZodDefault<z.ZodBoolean>;
80
+ trackingDomain: z.ZodDefault<z.ZodNullable<z.ZodString>>;
81
+ trackingDomainStatus: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
82
+ failed: "failed";
83
+ pending: "pending";
84
+ verified: "verified";
85
+ }>>>;
86
+ }, z.core.$strip>;
58
87
  createdAt: z.ZodString;
59
88
  updatedAt: z.ZodString;
60
- deletedAt: z.ZodNullable<z.ZodString>;
61
89
  }, z.core.$strip>>;
62
90
  page: z.ZodObject<{
63
91
  size: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/projects/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8C,CAAC;AAMrF,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAIvC,CAAC;AAMH,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,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/projects/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8C,CAAC;AAMrF,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAIvC,CAAC;AAMH,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,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -6,24 +6,22 @@
6
6
  * Subpath: @apollo-deploy/signal-schemas/projects
7
7
  */
8
8
  import { z } from 'zod';
9
- import { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';
10
- import { ProjectStatusSchema, ProjectLimitsSchema } from './domain.schema.js';
9
+ import { createPageListSchema, IsoDateStringSchema, SignalRegionSchema } from '../common.js';
10
+ import { ProjectStatusSchema, ProjectLimitsSchema, ProjectTrackingSettingsSchema } from './domain.schema.js';
11
11
  // ---------------------------------------------------------------------------
12
12
  // Project responses
13
13
  // ---------------------------------------------------------------------------
14
14
  export const ProjectResponseSchema = z.object({
15
15
  id: z.string(),
16
- organizationId: z.string(),
17
16
  name: z.string(),
18
17
  slug: z.string(),
19
18
  status: ProjectStatusSchema,
20
19
  suspensionReason: z.string().nullable(),
21
- region: z.string(),
20
+ region: SignalRegionSchema,
22
21
  limits: ProjectLimitsSchema,
23
- createdByUserId: z.string(),
22
+ trackingSettings: ProjectTrackingSettingsSchema,
24
23
  createdAt: IsoDateStringSchema,
25
24
  updatedAt: IsoDateStringSchema,
26
- deletedAt: NullableIsoDateStringSchema,
27
25
  });
28
26
  export const ProjectListResponseSchema = createPageListSchema(ProjectResponseSchema);
29
27
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/projects/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,mBAAmB;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,2BAA2B;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAErF,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAUH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Projects Response Schemas\n *\n * Response shapes for the Signal project management API.\n *\n * Subpath: @apollo-deploy/signal-schemas/projects\n */\n\nimport { z } from 'zod';\n\nimport { createPageListSchema, IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { ProjectStatusSchema, ProjectLimitsSchema } from './domain.schema.js';\n\n// ---------------------------------------------------------------------------\n// Project responses\n// ---------------------------------------------------------------------------\n\nexport const ProjectResponseSchema = z.object({\n id: z.string(),\n organizationId: z.string(),\n name: z.string(),\n slug: z.string(),\n status: ProjectStatusSchema,\n suspensionReason: z.string().nullable(),\n region: z.string(),\n limits: ProjectLimitsSchema,\n createdByUserId: z.string(),\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n deletedAt: NullableIsoDateStringSchema,\n});\n\nexport const ProjectListResponseSchema = createPageListSchema(ProjectResponseSchema);\n\n// ---------------------------------------------------------------------------\n// Tracking domain response\n// ---------------------------------------------------------------------------\n\nexport const TrackingDomainResponseSchema = z.object({\n trackingDomain: z.string().nullable(),\n trackingDomainStatus: z.enum(['pending', 'verified', 'failed']).nullable(),\n cnameRecord: z.object({ name: z.string(), value: z.string() }).nullable(),\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type ProjectResponse = z.infer<typeof ProjectResponseSchema>;\nexport type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;\nexport type TrackingDomainResponse = z.infer<typeof TrackingDomainResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(ProjectResponseSchema, { id: 'ProjectResponse' });\nz.globalRegistry.add(ProjectListResponseSchema, { id: 'ProjectListResponse' });\nz.globalRegistry.add(TrackingDomainResponseSchema, { id: 'TrackingDomainResponse' });\n"]}
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/projects/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAE7G,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,mBAAmB;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mBAAmB;IAC3B,gBAAgB,EAAE,6BAA6B;IAC/C,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAErF,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAUH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Projects Response Schemas\n *\n * Response shapes for the Signal project management API.\n *\n * Subpath: @apollo-deploy/signal-schemas/projects\n */\n\nimport { z } from 'zod';\n\nimport { createPageListSchema, IsoDateStringSchema, SignalRegionSchema } from '../common.js';\nimport { ProjectStatusSchema, ProjectLimitsSchema, ProjectTrackingSettingsSchema } from './domain.schema.js';\n\n// ---------------------------------------------------------------------------\n// Project responses\n// ---------------------------------------------------------------------------\n\nexport const ProjectResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n slug: z.string(),\n status: ProjectStatusSchema,\n suspensionReason: z.string().nullable(),\n region: SignalRegionSchema,\n limits: ProjectLimitsSchema,\n trackingSettings: ProjectTrackingSettingsSchema,\n createdAt: IsoDateStringSchema,\n updatedAt: IsoDateStringSchema,\n});\n\nexport const ProjectListResponseSchema = createPageListSchema(ProjectResponseSchema);\n\n// ---------------------------------------------------------------------------\n// Tracking domain response\n// ---------------------------------------------------------------------------\n\nexport const TrackingDomainResponseSchema = z.object({\n trackingDomain: z.string().nullable(),\n trackingDomainStatus: z.enum(['pending', 'verified', 'failed']).nullable(),\n cnameRecord: z.object({ name: z.string(), value: z.string() }).nullable(),\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type ProjectResponse = z.infer<typeof ProjectResponseSchema>;\nexport type ProjectListResponse = z.infer<typeof ProjectListResponseSchema>;\nexport type TrackingDomainResponse = z.infer<typeof TrackingDomainResponseSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(ProjectResponseSchema, { id: 'ProjectResponse' });\nz.globalRegistry.add(ProjectListResponseSchema, { id: 'ProjectListResponse' });\nz.globalRegistry.add(TrackingDomainResponseSchema, { id: 'TrackingDomainResponse' });\n"]}
@@ -31,6 +31,7 @@ export declare const SignalSendEmailResponseSchema: z.ZodObject<{
31
31
  test: "test";
32
32
  }>;
33
33
  createdAt: z.ZodString;
34
+ scheduledAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
35
  }, z.core.$strip>;
35
36
  /**
36
37
  * Public email resource returned by GET /v1/emails/:emailId.
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/signal-email/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAexC,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDpC,CAAC;AAMH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"response.schema.d.ts","sourceRoot":"","sources":["../../../src/definitions/signal-email/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;iBAkBxC,CAAC;AAMH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDpC,CAAC;AAMH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -31,6 +31,8 @@ export const SignalSendEmailResponseSchema = z.object({
31
31
  status: SignalEmailStatusSchema,
32
32
  /** ISO 8601 timestamp when the email record was created. */
33
33
  createdAt: IsoDateStringSchema,
34
+ /** ISO 8601 timestamp when the email is scheduled to send. Present only for scheduled sends. */
35
+ scheduledAt: NullableIsoDateStringSchema.optional(),
34
36
  });
35
37
  // ---------------------------------------------------------------------------
36
38
  // GET /v1/emails/:emailId — email resource
@@ -1 +1 @@
1
- {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/signal-email/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,2CAA2C;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,uDAAuD;IACvD,MAAM,EAAE,uBAAuB;IAE/B,4DAA4D;IAC5D,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC;AAEH,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,2CAA2C;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,gEAAgE;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,sDAAsD;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,mCAAmC;IACnC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAEvB,sDAAsD;IACtD,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAElC,4DAA4D;IAC5D,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEnC,gDAAgD;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,0BAA0B;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,gCAAgC;IAChC,MAAM,EAAE,uBAAuB;IAE/B,6DAA6D;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,oDAAoD;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEjD,wDAAwD;IACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErD,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IAErB,4DAA4D;IAC5D,SAAS,EAAE,mBAAmB;IAE9B,+EAA+E;IAC/E,MAAM,EAAE,2BAA2B;IAEnC,oDAAoD;IACpD,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC;AASH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Email Response Schemas\n *\n * Response shapes for the public /v1/emails* API surface.\n * These are the only Signal response schemas that cross the backend-to-client\n * boundary and belong in this package.\n *\n * Dashboard response schemas (/signal/*) are backend-private and live in\n * apps/signal/src/modules/<module>/contracts/internal/.\n */\n\nimport { z } from 'zod';\n\nimport { IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { SignalEmailStatusSchema } from './domain.schema.js';\n\n// ---------------------------------------------------------------------------\n// POST /v1/emails — send response\n// ---------------------------------------------------------------------------\n\n/**\n * Response body for a successful POST /v1/emails.\n *\n * When testMode is true the status field is \"test\" and messageId is null.\n */\nexport const SignalSendEmailResponseSchema = z.object({\n /** Email ID (email_<crockford-base32>). */\n id: z.string(),\n\n /**\n * SES message ID. Present when the email was submitted to SES.\n * null for test-mode sends.\n */\n messageId: z.string().nullable(),\n\n /** Email status immediately after the send attempt. */\n status: SignalEmailStatusSchema,\n\n /** ISO 8601 timestamp when the email record was created. */\n createdAt: IsoDateStringSchema,\n});\n\n// ---------------------------------------------------------------------------\n// GET /v1/emails/:emailId — email resource\n// ---------------------------------------------------------------------------\n\n/**\n * Public email resource returned by GET /v1/emails/:emailId.\n *\n * Scoped to the project bound to the API key. Recipient addresses are\n * returned in full (the caller is the project owner).\n */\nexport const SignalEmailResourceSchema = z.object({\n /** Email ID (email_<crockford-base32>). */\n id: z.string(),\n\n /** SES message ID. null until the email is submitted to SES. */\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 /** Carbon-copy recipients. null when not supplied. */\n cc: z.array(z.string()).nullable(),\n\n /** Blind carbon-copy recipients. null when not supplied. */\n bcc: z.array(z.string()).nullable(),\n\n /** Reply-to address. null when not supplied. */\n replyTo: z.string().nullable(),\n\n /** Email subject line. */\n subject: z.string(),\n\n /** Current lifecycle status. */\n status: SignalEmailStatusSchema,\n\n /** Error message when status is \"failed\". null otherwise. */\n error: z.string().nullable(),\n\n /** Caller-supplied tags. null when not supplied. */\n tags: z.record(z.string(), z.string()).nullable(),\n\n /** Caller-supplied metadata. null when not supplied. */\n metadata: z.record(z.string(), z.string()).nullable(),\n\n /** true when the email was sent in test mode. */\n testMode: z.boolean(),\n\n /** ISO 8601 timestamp when the email record was created. */\n createdAt: IsoDateStringSchema,\n\n /** ISO 8601 timestamp when the email was submitted to SES. null until sent. */\n sentAt: NullableIsoDateStringSchema,\n\n /** ISO 8601 timestamp of the last status update. */\n updatedAt: IsoDateStringSchema,\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type SignalSendEmailResponse = z.infer<typeof SignalSendEmailResponseSchema>;\nexport type SignalEmailResource = z.infer<typeof SignalEmailResourceSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(SignalSendEmailResponseSchema, { id: 'SignalSendEmailResponse' });\nz.globalRegistry.add(SignalEmailResourceSchema, { id: 'SignalEmailResource' });\n"]}
1
+ {"version":3,"file":"response.schema.js","sourceRoot":"","sources":["../../../src/definitions/signal-email/response.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,2CAA2C;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd;;;OAGG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,uDAAuD;IACvD,MAAM,EAAE,uBAAuB;IAE/B,4DAA4D;IAC5D,SAAS,EAAE,mBAAmB;IAE9B,gGAAgG;IAChG,WAAW,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,2CAA2C;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAEd,gEAAgE;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,sDAAsD;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,mCAAmC;IACnC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAEvB,sDAAsD;IACtD,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAElC,4DAA4D;IAC5D,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEnC,gDAAgD;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,0BAA0B;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,gCAAgC;IAChC,MAAM,EAAE,uBAAuB;IAE/B,6DAA6D;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,oDAAoD;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEjD,wDAAwD;IACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErD,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IAErB,4DAA4D;IAC5D,SAAS,EAAE,mBAAmB;IAE9B,+EAA+E;IAC/E,MAAM,EAAE,2BAA2B;IAEnC,oDAAoD;IACpD,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC;AASH,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Apollo Signal — Email Response Schemas\n *\n * Response shapes for the public /v1/emails* API surface.\n * These are the only Signal response schemas that cross the backend-to-client\n * boundary and belong in this package.\n *\n * Dashboard response schemas (/signal/*) are backend-private and live in\n * apps/signal/src/modules/<module>/contracts/internal/.\n */\n\nimport { z } from 'zod';\n\nimport { IsoDateStringSchema, NullableIsoDateStringSchema } from '../common.js';\nimport { SignalEmailStatusSchema } from './domain.schema.js';\n\n// ---------------------------------------------------------------------------\n// POST /v1/emails — send response\n// ---------------------------------------------------------------------------\n\n/**\n * Response body for a successful POST /v1/emails.\n *\n * When testMode is true the status field is \"test\" and messageId is null.\n */\nexport const SignalSendEmailResponseSchema = z.object({\n /** Email ID (email_<crockford-base32>). */\n id: z.string(),\n\n /**\n * SES message ID. Present when the email was submitted to SES.\n * null for test-mode sends.\n */\n messageId: z.string().nullable(),\n\n /** Email status immediately after the send attempt. */\n status: SignalEmailStatusSchema,\n\n /** ISO 8601 timestamp when the email record was created. */\n createdAt: IsoDateStringSchema,\n\n /** ISO 8601 timestamp when the email is scheduled to send. Present only for scheduled sends. */\n scheduledAt: NullableIsoDateStringSchema.optional(),\n});\n\n// ---------------------------------------------------------------------------\n// GET /v1/emails/:emailId — email resource\n// ---------------------------------------------------------------------------\n\n/**\n * Public email resource returned by GET /v1/emails/:emailId.\n *\n * Scoped to the project bound to the API key. Recipient addresses are\n * returned in full (the caller is the project owner).\n */\nexport const SignalEmailResourceSchema = z.object({\n /** Email ID (email_<crockford-base32>). */\n id: z.string(),\n\n /** SES message ID. null until the email is submitted to SES. */\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 /** Carbon-copy recipients. null when not supplied. */\n cc: z.array(z.string()).nullable(),\n\n /** Blind carbon-copy recipients. null when not supplied. */\n bcc: z.array(z.string()).nullable(),\n\n /** Reply-to address. null when not supplied. */\n replyTo: z.string().nullable(),\n\n /** Email subject line. */\n subject: z.string(),\n\n /** Current lifecycle status. */\n status: SignalEmailStatusSchema,\n\n /** Error message when status is \"failed\". null otherwise. */\n error: z.string().nullable(),\n\n /** Caller-supplied tags. null when not supplied. */\n tags: z.record(z.string(), z.string()).nullable(),\n\n /** Caller-supplied metadata. null when not supplied. */\n metadata: z.record(z.string(), z.string()).nullable(),\n\n /** true when the email was sent in test mode. */\n testMode: z.boolean(),\n\n /** ISO 8601 timestamp when the email record was created. */\n createdAt: IsoDateStringSchema,\n\n /** ISO 8601 timestamp when the email was submitted to SES. null until sent. */\n sentAt: NullableIsoDateStringSchema,\n\n /** ISO 8601 timestamp of the last status update. */\n updatedAt: IsoDateStringSchema,\n});\n\n// ---------------------------------------------------------------------------\n// Inferred TypeScript types\n// ---------------------------------------------------------------------------\n\nexport type SignalSendEmailResponse = z.infer<typeof SignalSendEmailResponseSchema>;\nexport type SignalEmailResource = z.infer<typeof SignalEmailResourceSchema>;\n\n// ---------------------------------------------------------------------------\n// Schema registry — promotes types to OpenAPI components/schemas\n// ---------------------------------------------------------------------------\n\nz.globalRegistry.add(SignalSendEmailResponseSchema, { id: 'SignalSendEmailResponse' });\nz.globalRegistry.add(SignalEmailResourceSchema, { id: 'SignalEmailResource' });\n"]}