@shamanic-technologies/email-domain-contract 1.0.3 → 1.1.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.
package/dist/schemas.d.ts CHANGED
@@ -173,6 +173,14 @@ export declare const StatusScopeSchema: z.ZodObject<{
173
173
  unsubscribed: z.ZodBoolean;
174
174
  cancelled: z.ZodOptional<z.ZodBoolean>;
175
175
  lastDeliveredAt: z.ZodNullable<z.ZodString>;
176
+ firstContactedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
177
+ firstSentAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ firstDeliveredAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
179
+ firstOpenedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
180
+ firstClickedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ firstRepliedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
182
+ firstBouncedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
183
+ firstUnsubscribedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
184
  }, z.core.$strip>;
177
185
  export declare const GlobalStatusSchema: z.ZodObject<{
178
186
  email: z.ZodObject<{
@@ -197,6 +205,14 @@ export declare const ProviderStatusSchema: z.ZodObject<{
197
205
  unsubscribed: z.ZodBoolean;
198
206
  cancelled: z.ZodOptional<z.ZodBoolean>;
199
207
  lastDeliveredAt: z.ZodNullable<z.ZodString>;
208
+ firstContactedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
209
+ firstSentAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
210
+ firstDeliveredAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
+ firstOpenedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
212
+ firstClickedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
+ firstRepliedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ firstBouncedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
215
+ firstUnsubscribedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
200
216
  }, z.core.$strip>>>;
201
217
  campaign: z.ZodNullable<z.ZodObject<{
202
218
  contacted: z.ZodBoolean;
@@ -214,6 +230,14 @@ export declare const ProviderStatusSchema: z.ZodObject<{
214
230
  unsubscribed: z.ZodBoolean;
215
231
  cancelled: z.ZodOptional<z.ZodBoolean>;
216
232
  lastDeliveredAt: z.ZodNullable<z.ZodString>;
233
+ firstContactedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
234
+ firstSentAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
235
+ firstDeliveredAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
236
+ firstOpenedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ firstClickedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ firstRepliedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
+ firstBouncedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
240
+ firstUnsubscribedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
241
  }, z.core.$strip>>;
218
242
  brand: z.ZodNullable<z.ZodObject<{
219
243
  contacted: z.ZodBoolean;
@@ -231,6 +255,14 @@ export declare const ProviderStatusSchema: z.ZodObject<{
231
255
  unsubscribed: z.ZodBoolean;
232
256
  cancelled: z.ZodOptional<z.ZodBoolean>;
233
257
  lastDeliveredAt: z.ZodNullable<z.ZodString>;
258
+ firstContactedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
+ firstSentAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
260
+ firstDeliveredAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
261
+ firstOpenedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
262
+ firstClickedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
263
+ firstRepliedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
264
+ firstBouncedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
+ firstUnsubscribedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
234
266
  }, z.core.$strip>>;
235
267
  global: z.ZodObject<{
236
268
  email: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAU9B,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC/B,CAAC;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAiB1B,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB3B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK7B,CAAC;AAOH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAyC5B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;iBAW7B,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB/B,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAU9B,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;iBAgC/B,CAAC;AAOH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAiB1B,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB3B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK7B,CAAC;AAOH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;iBAoG5B,CAAC;AAMH,eAAO,MAAM,kBAAkB;;;;;iBAW7B,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB/B,CAAC"}
package/dist/schemas.js CHANGED
@@ -135,6 +135,49 @@ exports.StatusScopeSchema = zod_1.z.object({
135
135
  .string()
136
136
  .nullable()
137
137
  .describe("ISO 8601 timestamp of last delivery in this scope; null if none"),
138
+ // Per-event first-occurrence (MIN) timestamps — mirror of lastDeliveredAt (MAX).
139
+ // first*=MIN(event time in scope), null if the event never happened in scope.
140
+ // Surfaced for funnel chronology / cumulative revenue time-series (DIS-229).
141
+ firstContactedAt: zod_1.z
142
+ .string()
143
+ .nullable()
144
+ .optional()
145
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a contacted event in this scope; null if it never happened in scope"),
146
+ firstSentAt: zod_1.z
147
+ .string()
148
+ .nullable()
149
+ .optional()
150
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a sent event in this scope; null if it never happened in scope"),
151
+ firstDeliveredAt: zod_1.z
152
+ .string()
153
+ .nullable()
154
+ .optional()
155
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a delivered event in this scope; null if it never happened in scope"),
156
+ firstOpenedAt: zod_1.z
157
+ .string()
158
+ .nullable()
159
+ .optional()
160
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of an opened event in this scope; null if it never happened in scope"),
161
+ firstClickedAt: zod_1.z
162
+ .string()
163
+ .nullable()
164
+ .optional()
165
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a clicked event in this scope; null if it never happened in scope"),
166
+ firstRepliedAt: zod_1.z
167
+ .string()
168
+ .nullable()
169
+ .optional()
170
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a replied event in this scope; null if it never happened in scope (always null for postmark — no reply tracking)"),
171
+ firstBouncedAt: zod_1.z
172
+ .string()
173
+ .nullable()
174
+ .optional()
175
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of a bounced event in this scope; null if it never happened in scope"),
176
+ firstUnsubscribedAt: zod_1.z
177
+ .string()
178
+ .nullable()
179
+ .optional()
180
+ .describe("First-occurrence (MIN) ISO 8601 timestamp of an unsubscribed event in this scope; null if it never happened in scope"),
138
181
  });
139
182
  // ---------------------------------------------------------------------------
140
183
  // Global status — org-wide bounce / unsubscribe signals
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shamanic-technologies/email-domain-contract",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Shared Zod schemas for the email domain (postmark-service, instantly-service, email-gateway). Single source of truth for cross-provider canonical shapes.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/schemas.ts CHANGED
@@ -168,6 +168,65 @@ export const StatusScopeSchema = z.object({
168
168
  .describe(
169
169
  "ISO 8601 timestamp of last delivery in this scope; null if none",
170
170
  ),
171
+ // Per-event first-occurrence (MIN) timestamps — mirror of lastDeliveredAt (MAX).
172
+ // first*=MIN(event time in scope), null if the event never happened in scope.
173
+ // Surfaced for funnel chronology / cumulative revenue time-series (DIS-229).
174
+ firstContactedAt: z
175
+ .string()
176
+ .nullable()
177
+ .optional()
178
+ .describe(
179
+ "First-occurrence (MIN) ISO 8601 timestamp of a contacted event in this scope; null if it never happened in scope",
180
+ ),
181
+ firstSentAt: z
182
+ .string()
183
+ .nullable()
184
+ .optional()
185
+ .describe(
186
+ "First-occurrence (MIN) ISO 8601 timestamp of a sent event in this scope; null if it never happened in scope",
187
+ ),
188
+ firstDeliveredAt: z
189
+ .string()
190
+ .nullable()
191
+ .optional()
192
+ .describe(
193
+ "First-occurrence (MIN) ISO 8601 timestamp of a delivered event in this scope; null if it never happened in scope",
194
+ ),
195
+ firstOpenedAt: z
196
+ .string()
197
+ .nullable()
198
+ .optional()
199
+ .describe(
200
+ "First-occurrence (MIN) ISO 8601 timestamp of an opened event in this scope; null if it never happened in scope",
201
+ ),
202
+ firstClickedAt: z
203
+ .string()
204
+ .nullable()
205
+ .optional()
206
+ .describe(
207
+ "First-occurrence (MIN) ISO 8601 timestamp of a clicked event in this scope; null if it never happened in scope",
208
+ ),
209
+ firstRepliedAt: z
210
+ .string()
211
+ .nullable()
212
+ .optional()
213
+ .describe(
214
+ "First-occurrence (MIN) ISO 8601 timestamp of a replied event in this scope; null if it never happened in scope (always null for postmark — no reply tracking)",
215
+ ),
216
+ firstBouncedAt: z
217
+ .string()
218
+ .nullable()
219
+ .optional()
220
+ .describe(
221
+ "First-occurrence (MIN) ISO 8601 timestamp of a bounced event in this scope; null if it never happened in scope",
222
+ ),
223
+ firstUnsubscribedAt: z
224
+ .string()
225
+ .nullable()
226
+ .optional()
227
+ .describe(
228
+ "First-occurrence (MIN) ISO 8601 timestamp of an unsubscribed event in this scope; null if it never happened in scope",
229
+ ),
171
230
  });
172
231
 
173
232
  // ---------------------------------------------------------------------------