samva 0.5.0 → 0.6.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 (63) hide show
  1. package/AGENTS.md +3 -2
  2. package/README.md +12 -2
  3. package/dist/{categories-B9Nw2v_F.js → categories-4u9Az4No.js} +24 -8
  4. package/dist/client/sdk.gen.d.ts +406 -74
  5. package/dist/client/types.gen.d.ts +2583 -279
  6. package/dist/{client-B7gEkvEq.js → client-DCM6U0-I.js} +2183 -772
  7. package/dist/{client-attribution-B2yJBXdZ.js → client-attribution-DYUSAa76.js} +2 -2
  8. package/dist/effect/analytics.d.ts +66 -0
  9. package/dist/effect/analytics.js +21 -0
  10. package/dist/effect/api-keys.d.ts +198 -34
  11. package/dist/effect/api-keys.js +1 -1
  12. package/dist/effect/attachments.d.ts +53 -0
  13. package/dist/effect/attachments.js +17 -0
  14. package/dist/effect/campaigns.d.ts +36 -18
  15. package/dist/effect/campaigns.js +1 -1
  16. package/dist/effect/categories.d.ts +3 -3
  17. package/dist/effect/categories.js +1 -1
  18. package/dist/effect/client.js +1 -1
  19. package/dist/effect/contact-groups.d.ts +375 -0
  20. package/dist/effect/contact-groups.js +29 -0
  21. package/dist/effect/contacts.d.ts +35 -19
  22. package/dist/effect/contacts.js +1 -1
  23. package/dist/effect/conversations.d.ts +179 -47
  24. package/dist/effect/conversations.js +1 -1
  25. package/dist/effect/custom-fields.d.ts +111 -0
  26. package/dist/effect/custom-fields.js +17 -0
  27. package/dist/effect/design.d.ts +2 -2
  28. package/dist/effect/design.js +1 -1
  29. package/dist/effect/email.d.ts +254 -118
  30. package/dist/effect/email.js +2 -2
  31. package/dist/effect/generated-metadata.d.ts +12 -4
  32. package/dist/effect/generated.d.ts +11189 -6155
  33. package/dist/effect/index.d.ts +6 -1
  34. package/dist/effect/index.js +8 -3
  35. package/dist/effect/internal/operation.d.ts +115 -27
  36. package/dist/effect/media.d.ts +5 -5
  37. package/dist/effect/media.js +1 -1
  38. package/dist/effect/messages.d.ts +303 -73
  39. package/dist/effect/messages.js +1 -1
  40. package/dist/effect/operations.d.ts +6 -6
  41. package/dist/effect/operations.js +1 -1
  42. package/dist/effect/organizations.d.ts +7 -110
  43. package/dist/effect/organizations.js +2 -4
  44. package/dist/effect/retry.js +1 -1
  45. package/dist/effect/scheduled-messages.d.ts +7 -7
  46. package/dist/effect/scheduled-messages.js +1 -1
  47. package/dist/effect/templates.d.ts +35 -307
  48. package/dist/effect/templates.js +3 -5
  49. package/dist/effect/unsubscribe-groups.d.ts +161 -0
  50. package/dist/effect/unsubscribe-groups.js +25 -0
  51. package/dist/effect/webhooks.d.ts +18 -18
  52. package/dist/effect/webhooks.js +2 -2
  53. package/dist/index.js +2 -2
  54. package/dist/{normalize-BiIJnycv.js → normalize-B79uJIeb.js} +13 -14
  55. package/dist/normalize.d.ts +3 -7
  56. package/dist/{operation-B4FjN6wq.js → operation-02YX3hY9.js} +96 -8
  57. package/dist/promises/errors.gen.d.ts +30 -41
  58. package/dist/promises/index.d.ts +18 -4
  59. package/dist/promises/index.js +2 -2
  60. package/dist/promises/types.gen.d.ts +1 -1
  61. package/dist/{promises-CP_nxUus.js → promises-8MaPNAam.js} +1209 -288
  62. package/dist/service-map.d.ts +155 -8
  63. package/package.json +28 -8
@@ -8,6 +8,7 @@ export declare const list: ((input?: {
8
8
  readonly status?: string | null | undefined;
9
9
  readonly conversationId?: string | null | undefined;
10
10
  readonly contactId?: string | null | undefined;
11
+ readonly from?: string | null | undefined;
11
12
  readonly startDate?: string | null | undefined;
12
13
  readonly endDate?: string | null | undefined;
13
14
  } | undefined) => import("effect/Effect").Effect<{
@@ -22,7 +23,33 @@ export declare const list: ((input?: {
22
23
  } | null;
23
24
  readonly channel: "email";
24
25
  readonly direction: "inbound" | "outbound";
25
- readonly content: import("./generated").JsonValue;
26
+ readonly content: {
27
+ readonly text?: string | null;
28
+ readonly html?: string | null;
29
+ readonly markdown?: string | null;
30
+ readonly email?: {
31
+ readonly subject?: string | null;
32
+ readonly html?: string | null;
33
+ readonly text?: string | null;
34
+ readonly headers?: {
35
+ readonly [x: string]: string;
36
+ } | null;
37
+ readonly tracking?: {
38
+ readonly opens?: boolean;
39
+ readonly clicks?: boolean;
40
+ };
41
+ readonly attachments?: readonly {
42
+ readonly filename: string;
43
+ readonly content?: string | null;
44
+ readonly mediaId?: (string & import("effect/Brand").Brand<"MediaId">) | null;
45
+ readonly contentType: string;
46
+ readonly size: number;
47
+ }[] | null;
48
+ } | null;
49
+ readonly metadata?: {
50
+ readonly [x: string]: import("./generated").JsonValue;
51
+ } | null;
52
+ };
26
53
  readonly metadata: {
27
54
  readonly [x: string]: import("./generated").JsonValue;
28
55
  } | null;
@@ -31,17 +58,28 @@ export declare const list: ((input?: {
31
58
  readonly tags: readonly string[];
32
59
  readonly categories: readonly string[];
33
60
  readonly isTest: boolean;
34
- readonly isInternal: boolean;
35
- readonly isAutomated: boolean;
36
61
  readonly externalId: string | null;
37
62
  readonly referenceId: string | null;
38
- readonly apiKeyId: string | null;
39
- readonly httpMethod: string | null;
40
- readonly apiRequestMetadata: import("./generated").JsonValue;
41
- readonly apiResponseMetadata: import("./generated").JsonValue;
63
+ readonly submission: {
64
+ readonly origin: "campaign" | "direct" | "scheduled";
65
+ readonly transport: "http" | null;
66
+ readonly credential: {
67
+ readonly kind: "api_key";
68
+ readonly apiKeyId: (string & import("effect/Brand").Brand<"ApiKeyId">) | null;
69
+ } | {
70
+ readonly kind: "oauth";
71
+ readonly clientId: string | null;
72
+ } | {
73
+ readonly kind: "session";
74
+ } | null;
75
+ readonly userId: (string & import("effect/Brand").Brand<"UserId">) | null;
76
+ readonly client: {
77
+ readonly surface: "cli" | "mcp" | "typescript-effect" | "typescript-promise";
78
+ readonly version: string;
79
+ } | null;
80
+ } | null;
42
81
  readonly createdAt: string;
43
82
  readonly updatedAt: string;
44
- readonly createdBy: string | null;
45
83
  readonly fromContact: {
46
84
  readonly id: string;
47
85
  readonly name: string;
@@ -91,7 +129,7 @@ export declare const list: ((input?: {
91
129
  readonly scheduling: {
92
130
  readonly dueAt: string;
93
131
  readonly expiresAt: string;
94
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
132
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
95
133
  } | null;
96
134
  readonly id: string;
97
135
  readonly messageId: string;
@@ -111,17 +149,24 @@ export declare const list: ((input?: {
111
149
  readonly terminalAt: string | null;
112
150
  readonly errorCode: string | null;
113
151
  readonly errorMessage: string | null;
114
- readonly errorDetails: import("./generated").JsonValue;
152
+ readonly errorDetails: {
153
+ readonly code?: string | null;
154
+ readonly name?: string | null;
155
+ readonly message?: string | null;
156
+ readonly details?: {
157
+ readonly [x: string]: string | number | null;
158
+ } | null;
159
+ readonly retryable?: boolean | null;
160
+ } | null;
115
161
  readonly cost: string;
116
162
  readonly currency: string;
117
163
  readonly idempotencyKey: string | null;
118
- readonly metadata: import("./generated").JsonValue;
119
164
  readonly createdAt: string;
120
165
  readonly updatedAt: string;
121
166
  }[];
122
167
  readonly emailDeliveryDetails: readonly {
123
168
  readonly deliveryId: string;
124
- readonly messageIdHeader: string | null;
169
+ readonly messageIdHeader: string;
125
170
  readonly inReplyTo: string | null;
126
171
  readonly references: readonly string[] | null;
127
172
  readonly subject: string;
@@ -160,7 +205,7 @@ export declare const list: ((input?: {
160
205
  readonly total: number;
161
206
  readonly totalPages: number;
162
207
  };
163
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
208
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
164
209
  readonly pages: (input?: {
165
210
  readonly page?: string | null | undefined;
166
211
  readonly limit?: string | null | undefined;
@@ -169,6 +214,7 @@ export declare const list: ((input?: {
169
214
  readonly status?: string | null | undefined;
170
215
  readonly conversationId?: string | null | undefined;
171
216
  readonly contactId?: string | null | undefined;
217
+ readonly from?: string | null | undefined;
172
218
  readonly startDate?: string | null | undefined;
173
219
  readonly endDate?: string | null | undefined;
174
220
  } | undefined) => import("effect/Stream").Stream<{
@@ -183,7 +229,33 @@ export declare const list: ((input?: {
183
229
  } | null;
184
230
  readonly channel: "email";
185
231
  readonly direction: "inbound" | "outbound";
186
- readonly content: import("./generated").JsonValue;
232
+ readonly content: {
233
+ readonly text?: string | null;
234
+ readonly html?: string | null;
235
+ readonly markdown?: string | null;
236
+ readonly email?: {
237
+ readonly subject?: string | null;
238
+ readonly html?: string | null;
239
+ readonly text?: string | null;
240
+ readonly headers?: {
241
+ readonly [x: string]: string;
242
+ } | null;
243
+ readonly tracking?: {
244
+ readonly opens?: boolean;
245
+ readonly clicks?: boolean;
246
+ };
247
+ readonly attachments?: readonly {
248
+ readonly filename: string;
249
+ readonly content?: string | null;
250
+ readonly mediaId?: (string & import("effect/Brand").Brand<"MediaId">) | null;
251
+ readonly contentType: string;
252
+ readonly size: number;
253
+ }[] | null;
254
+ } | null;
255
+ readonly metadata?: {
256
+ readonly [x: string]: import("./generated").JsonValue;
257
+ } | null;
258
+ };
187
259
  readonly metadata: {
188
260
  readonly [x: string]: import("./generated").JsonValue;
189
261
  } | null;
@@ -192,17 +264,28 @@ export declare const list: ((input?: {
192
264
  readonly tags: readonly string[];
193
265
  readonly categories: readonly string[];
194
266
  readonly isTest: boolean;
195
- readonly isInternal: boolean;
196
- readonly isAutomated: boolean;
197
267
  readonly externalId: string | null;
198
268
  readonly referenceId: string | null;
199
- readonly apiKeyId: string | null;
200
- readonly httpMethod: string | null;
201
- readonly apiRequestMetadata: import("./generated").JsonValue;
202
- readonly apiResponseMetadata: import("./generated").JsonValue;
269
+ readonly submission: {
270
+ readonly origin: "campaign" | "direct" | "scheduled";
271
+ readonly transport: "http" | null;
272
+ readonly credential: {
273
+ readonly kind: "api_key";
274
+ readonly apiKeyId: (string & import("effect/Brand").Brand<"ApiKeyId">) | null;
275
+ } | {
276
+ readonly kind: "oauth";
277
+ readonly clientId: string | null;
278
+ } | {
279
+ readonly kind: "session";
280
+ } | null;
281
+ readonly userId: (string & import("effect/Brand").Brand<"UserId">) | null;
282
+ readonly client: {
283
+ readonly surface: "cli" | "mcp" | "typescript-effect" | "typescript-promise";
284
+ readonly version: string;
285
+ } | null;
286
+ } | null;
203
287
  readonly createdAt: string;
204
288
  readonly updatedAt: string;
205
- readonly createdBy: string | null;
206
289
  readonly fromContact: {
207
290
  readonly id: string;
208
291
  readonly name: string;
@@ -252,7 +335,7 @@ export declare const list: ((input?: {
252
335
  readonly scheduling: {
253
336
  readonly dueAt: string;
254
337
  readonly expiresAt: string;
255
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
338
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
256
339
  } | null;
257
340
  readonly id: string;
258
341
  readonly messageId: string;
@@ -272,17 +355,24 @@ export declare const list: ((input?: {
272
355
  readonly terminalAt: string | null;
273
356
  readonly errorCode: string | null;
274
357
  readonly errorMessage: string | null;
275
- readonly errorDetails: import("./generated").JsonValue;
358
+ readonly errorDetails: {
359
+ readonly code?: string | null;
360
+ readonly name?: string | null;
361
+ readonly message?: string | null;
362
+ readonly details?: {
363
+ readonly [x: string]: string | number | null;
364
+ } | null;
365
+ readonly retryable?: boolean | null;
366
+ } | null;
276
367
  readonly cost: string;
277
368
  readonly currency: string;
278
369
  readonly idempotencyKey: string | null;
279
- readonly metadata: import("./generated").JsonValue;
280
370
  readonly createdAt: string;
281
371
  readonly updatedAt: string;
282
372
  }[];
283
373
  readonly emailDeliveryDetails: readonly {
284
374
  readonly deliveryId: string;
285
- readonly messageIdHeader: string | null;
375
+ readonly messageIdHeader: string;
286
376
  readonly inReplyTo: string | null;
287
377
  readonly references: readonly string[] | null;
288
378
  readonly subject: string;
@@ -321,7 +411,7 @@ export declare const list: ((input?: {
321
411
  readonly total: number;
322
412
  readonly totalPages: number;
323
413
  };
324
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
414
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
325
415
  readonly items: (input?: {
326
416
  readonly page?: string | null | undefined;
327
417
  readonly limit?: string | null | undefined;
@@ -330,6 +420,7 @@ export declare const list: ((input?: {
330
420
  readonly status?: string | null | undefined;
331
421
  readonly conversationId?: string | null | undefined;
332
422
  readonly contactId?: string | null | undefined;
423
+ readonly from?: string | null | undefined;
333
424
  readonly startDate?: string | null | undefined;
334
425
  readonly endDate?: string | null | undefined;
335
426
  } | undefined) => import("effect/Stream").Stream<{
@@ -343,7 +434,33 @@ export declare const list: ((input?: {
343
434
  } | null;
344
435
  readonly channel: "email";
345
436
  readonly direction: "inbound" | "outbound";
346
- readonly content: import("./generated").JsonValue;
437
+ readonly content: {
438
+ readonly text?: string | null;
439
+ readonly html?: string | null;
440
+ readonly markdown?: string | null;
441
+ readonly email?: {
442
+ readonly subject?: string | null;
443
+ readonly html?: string | null;
444
+ readonly text?: string | null;
445
+ readonly headers?: {
446
+ readonly [x: string]: string;
447
+ } | null;
448
+ readonly tracking?: {
449
+ readonly opens?: boolean;
450
+ readonly clicks?: boolean;
451
+ };
452
+ readonly attachments?: readonly {
453
+ readonly filename: string;
454
+ readonly content?: string | null;
455
+ readonly mediaId?: (string & import("effect/Brand").Brand<"MediaId">) | null;
456
+ readonly contentType: string;
457
+ readonly size: number;
458
+ }[] | null;
459
+ } | null;
460
+ readonly metadata?: {
461
+ readonly [x: string]: import("./generated").JsonValue;
462
+ } | null;
463
+ };
347
464
  readonly metadata: {
348
465
  readonly [x: string]: import("./generated").JsonValue;
349
466
  } | null;
@@ -352,17 +469,28 @@ export declare const list: ((input?: {
352
469
  readonly tags: readonly string[];
353
470
  readonly categories: readonly string[];
354
471
  readonly isTest: boolean;
355
- readonly isInternal: boolean;
356
- readonly isAutomated: boolean;
357
472
  readonly externalId: string | null;
358
473
  readonly referenceId: string | null;
359
- readonly apiKeyId: string | null;
360
- readonly httpMethod: string | null;
361
- readonly apiRequestMetadata: import("./generated").JsonValue;
362
- readonly apiResponseMetadata: import("./generated").JsonValue;
474
+ readonly submission: {
475
+ readonly origin: "campaign" | "direct" | "scheduled";
476
+ readonly transport: "http" | null;
477
+ readonly credential: {
478
+ readonly kind: "api_key";
479
+ readonly apiKeyId: (string & import("effect/Brand").Brand<"ApiKeyId">) | null;
480
+ } | {
481
+ readonly kind: "oauth";
482
+ readonly clientId: string | null;
483
+ } | {
484
+ readonly kind: "session";
485
+ } | null;
486
+ readonly userId: (string & import("effect/Brand").Brand<"UserId">) | null;
487
+ readonly client: {
488
+ readonly surface: "cli" | "mcp" | "typescript-effect" | "typescript-promise";
489
+ readonly version: string;
490
+ } | null;
491
+ } | null;
363
492
  readonly createdAt: string;
364
493
  readonly updatedAt: string;
365
- readonly createdBy: string | null;
366
494
  readonly fromContact: {
367
495
  readonly id: string;
368
496
  readonly name: string;
@@ -412,7 +540,7 @@ export declare const list: ((input?: {
412
540
  readonly scheduling: {
413
541
  readonly dueAt: string;
414
542
  readonly expiresAt: string;
415
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
543
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
416
544
  } | null;
417
545
  readonly id: string;
418
546
  readonly messageId: string;
@@ -432,17 +560,24 @@ export declare const list: ((input?: {
432
560
  readonly terminalAt: string | null;
433
561
  readonly errorCode: string | null;
434
562
  readonly errorMessage: string | null;
435
- readonly errorDetails: import("./generated").JsonValue;
563
+ readonly errorDetails: {
564
+ readonly code?: string | null;
565
+ readonly name?: string | null;
566
+ readonly message?: string | null;
567
+ readonly details?: {
568
+ readonly [x: string]: string | number | null;
569
+ } | null;
570
+ readonly retryable?: boolean | null;
571
+ } | null;
436
572
  readonly cost: string;
437
573
  readonly currency: string;
438
574
  readonly idempotencyKey: string | null;
439
- readonly metadata: import("./generated").JsonValue;
440
575
  readonly createdAt: string;
441
576
  readonly updatedAt: string;
442
577
  }[];
443
578
  readonly emailDeliveryDetails: readonly {
444
579
  readonly deliveryId: string;
445
- readonly messageIdHeader: string | null;
580
+ readonly messageIdHeader: string;
446
581
  readonly inReplyTo: string | null;
447
582
  readonly references: readonly string[] | null;
448
583
  readonly subject: string;
@@ -474,7 +609,7 @@ export declare const list: ((input?: {
474
609
  readonly createdAt: string;
475
610
  readonly updatedAt: string;
476
611
  }[];
477
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
612
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
478
613
  };
479
614
  export declare const send: (input: MessageSendInput, options?: SendOptions | undefined) => import("effect/Effect").Effect<{
480
615
  readonly id: string;
@@ -487,7 +622,33 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
487
622
  } | null;
488
623
  readonly channel: "email";
489
624
  readonly direction: "inbound" | "outbound";
490
- readonly content: import("./generated").JsonValue;
625
+ readonly content: {
626
+ readonly text?: string | null;
627
+ readonly html?: string | null;
628
+ readonly markdown?: string | null;
629
+ readonly email?: {
630
+ readonly subject?: string | null;
631
+ readonly html?: string | null;
632
+ readonly text?: string | null;
633
+ readonly headers?: {
634
+ readonly [x: string]: string;
635
+ } | null;
636
+ readonly tracking?: {
637
+ readonly opens?: boolean;
638
+ readonly clicks?: boolean;
639
+ };
640
+ readonly attachments?: readonly {
641
+ readonly filename: string;
642
+ readonly content?: string | null;
643
+ readonly mediaId?: (string & import("effect/Brand").Brand<"MediaId">) | null;
644
+ readonly contentType: string;
645
+ readonly size: number;
646
+ }[] | null;
647
+ } | null;
648
+ readonly metadata?: {
649
+ readonly [x: string]: import("./generated").JsonValue;
650
+ } | null;
651
+ };
491
652
  readonly metadata: {
492
653
  readonly [x: string]: import("./generated").JsonValue;
493
654
  } | null;
@@ -496,17 +657,28 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
496
657
  readonly tags: readonly string[];
497
658
  readonly categories: readonly string[];
498
659
  readonly isTest: boolean;
499
- readonly isInternal: boolean;
500
- readonly isAutomated: boolean;
501
660
  readonly externalId: string | null;
502
661
  readonly referenceId: string | null;
503
- readonly apiKeyId: string | null;
504
- readonly httpMethod: string | null;
505
- readonly apiRequestMetadata: import("./generated").JsonValue;
506
- readonly apiResponseMetadata: import("./generated").JsonValue;
662
+ readonly submission: {
663
+ readonly origin: "campaign" | "direct" | "scheduled";
664
+ readonly transport: "http" | null;
665
+ readonly credential: {
666
+ readonly kind: "api_key";
667
+ readonly apiKeyId: (string & import("effect/Brand").Brand<"ApiKeyId">) | null;
668
+ } | {
669
+ readonly kind: "oauth";
670
+ readonly clientId: string | null;
671
+ } | {
672
+ readonly kind: "session";
673
+ } | null;
674
+ readonly userId: (string & import("effect/Brand").Brand<"UserId">) | null;
675
+ readonly client: {
676
+ readonly surface: "cli" | "mcp" | "typescript-effect" | "typescript-promise";
677
+ readonly version: string;
678
+ } | null;
679
+ } | null;
507
680
  readonly createdAt: string;
508
681
  readonly updatedAt: string;
509
- readonly createdBy: string | null;
510
682
  readonly fromContact: {
511
683
  readonly id: string;
512
684
  readonly name: string;
@@ -556,7 +728,7 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
556
728
  readonly scheduling: {
557
729
  readonly dueAt: string;
558
730
  readonly expiresAt: string;
559
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
731
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
560
732
  } | null;
561
733
  readonly id: string;
562
734
  readonly messageId: string;
@@ -576,17 +748,24 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
576
748
  readonly terminalAt: string | null;
577
749
  readonly errorCode: string | null;
578
750
  readonly errorMessage: string | null;
579
- readonly errorDetails: import("./generated").JsonValue;
751
+ readonly errorDetails: {
752
+ readonly code?: string | null;
753
+ readonly name?: string | null;
754
+ readonly message?: string | null;
755
+ readonly details?: {
756
+ readonly [x: string]: string | number | null;
757
+ } | null;
758
+ readonly retryable?: boolean | null;
759
+ } | null;
580
760
  readonly cost: string;
581
761
  readonly currency: string;
582
762
  readonly idempotencyKey: string | null;
583
- readonly metadata: import("./generated").JsonValue;
584
763
  readonly createdAt: string;
585
764
  readonly updatedAt: string;
586
765
  }[];
587
766
  readonly emailDeliveryDetails: readonly {
588
767
  readonly deliveryId: string;
589
- readonly messageIdHeader: string | null;
768
+ readonly messageIdHeader: string;
590
769
  readonly inReplyTo: string | null;
591
770
  readonly references: readonly string[] | null;
592
771
  readonly subject: string;
@@ -618,7 +797,7 @@ export declare const send: (input: MessageSendInput, options?: SendOptions | und
618
797
  readonly createdAt: string;
619
798
  readonly updatedAt: string;
620
799
  }[];
621
- }, import("./generated").BillingProviderError | import("./generated").ConflictError | import("./generated").ExternalServiceError | import("./generated").FlagDisabledError | import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").OnboardingReviewRequiredError | import("./generated").PaymentRequiredError | import("./generated").RateLimitedError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("./generated").WebhookEnqueueError, import("./client").Service>;
800
+ }, import("./generated").BillingProviderError | import("./generated").ConflictError | import("./generated").DeliveryUnavailableError | import("./generated").ExternalServiceError | import("./generated").FlagDisabledError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").OnboardingReviewRequiredError | import("./generated").PaymentRequiredError | import("./generated").RateLimitedError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
622
801
  export declare const validateEmail: (input: {
623
802
  readonly conversationId?: string | null | undefined;
624
803
  readonly metadata?: {
@@ -740,7 +919,7 @@ export declare const validateEmail: (input: {
740
919
  readonly hasHtml: boolean;
741
920
  readonly hasText: boolean;
742
921
  };
743
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
922
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
744
923
  export declare const get: (input: {
745
924
  readonly id: string;
746
925
  }) => import("effect/Effect").Effect<{
@@ -754,7 +933,33 @@ export declare const get: (input: {
754
933
  } | null;
755
934
  readonly channel: "email";
756
935
  readonly direction: "inbound" | "outbound";
757
- readonly content: import("./generated").JsonValue;
936
+ readonly content: {
937
+ readonly text?: string | null;
938
+ readonly html?: string | null;
939
+ readonly markdown?: string | null;
940
+ readonly email?: {
941
+ readonly subject?: string | null;
942
+ readonly html?: string | null;
943
+ readonly text?: string | null;
944
+ readonly headers?: {
945
+ readonly [x: string]: string;
946
+ } | null;
947
+ readonly tracking?: {
948
+ readonly opens?: boolean;
949
+ readonly clicks?: boolean;
950
+ };
951
+ readonly attachments?: readonly {
952
+ readonly filename: string;
953
+ readonly content?: string | null;
954
+ readonly mediaId?: (string & import("effect/Brand").Brand<"MediaId">) | null;
955
+ readonly contentType: string;
956
+ readonly size: number;
957
+ }[] | null;
958
+ } | null;
959
+ readonly metadata?: {
960
+ readonly [x: string]: import("./generated").JsonValue;
961
+ } | null;
962
+ };
758
963
  readonly metadata: {
759
964
  readonly [x: string]: import("./generated").JsonValue;
760
965
  } | null;
@@ -763,17 +968,28 @@ export declare const get: (input: {
763
968
  readonly tags: readonly string[];
764
969
  readonly categories: readonly string[];
765
970
  readonly isTest: boolean;
766
- readonly isInternal: boolean;
767
- readonly isAutomated: boolean;
768
971
  readonly externalId: string | null;
769
972
  readonly referenceId: string | null;
770
- readonly apiKeyId: string | null;
771
- readonly httpMethod: string | null;
772
- readonly apiRequestMetadata: import("./generated").JsonValue;
773
- readonly apiResponseMetadata: import("./generated").JsonValue;
973
+ readonly submission: {
974
+ readonly origin: "campaign" | "direct" | "scheduled";
975
+ readonly transport: "http" | null;
976
+ readonly credential: {
977
+ readonly kind: "api_key";
978
+ readonly apiKeyId: (string & import("effect/Brand").Brand<"ApiKeyId">) | null;
979
+ } | {
980
+ readonly kind: "oauth";
981
+ readonly clientId: string | null;
982
+ } | {
983
+ readonly kind: "session";
984
+ } | null;
985
+ readonly userId: (string & import("effect/Brand").Brand<"UserId">) | null;
986
+ readonly client: {
987
+ readonly surface: "cli" | "mcp" | "typescript-effect" | "typescript-promise";
988
+ readonly version: string;
989
+ } | null;
990
+ } | null;
774
991
  readonly createdAt: string;
775
992
  readonly updatedAt: string;
776
- readonly createdBy: string | null;
777
993
  readonly fromContact: {
778
994
  readonly id: string;
779
995
  readonly name: string;
@@ -823,7 +1039,7 @@ export declare const get: (input: {
823
1039
  readonly scheduling: {
824
1040
  readonly dueAt: string;
825
1041
  readonly expiresAt: string;
826
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
1042
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
827
1043
  } | null;
828
1044
  readonly id: string;
829
1045
  readonly messageId: string;
@@ -843,17 +1059,24 @@ export declare const get: (input: {
843
1059
  readonly terminalAt: string | null;
844
1060
  readonly errorCode: string | null;
845
1061
  readonly errorMessage: string | null;
846
- readonly errorDetails: import("./generated").JsonValue;
1062
+ readonly errorDetails: {
1063
+ readonly code?: string | null;
1064
+ readonly name?: string | null;
1065
+ readonly message?: string | null;
1066
+ readonly details?: {
1067
+ readonly [x: string]: string | number | null;
1068
+ } | null;
1069
+ readonly retryable?: boolean | null;
1070
+ } | null;
847
1071
  readonly cost: string;
848
1072
  readonly currency: string;
849
1073
  readonly idempotencyKey: string | null;
850
- readonly metadata: import("./generated").JsonValue;
851
1074
  readonly createdAt: string;
852
1075
  readonly updatedAt: string;
853
1076
  }[];
854
1077
  readonly emailDeliveryDetails: readonly {
855
1078
  readonly deliveryId: string;
856
- readonly messageIdHeader: string | null;
1079
+ readonly messageIdHeader: string;
857
1080
  readonly inReplyTo: string | null;
858
1081
  readonly references: readonly string[] | null;
859
1082
  readonly subject: string;
@@ -885,7 +1108,7 @@ export declare const get: (input: {
885
1108
  readonly createdAt: string;
886
1109
  readonly updatedAt: string;
887
1110
  }[];
888
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1111
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
889
1112
  export declare const getEmail: (input: {
890
1113
  readonly id: string;
891
1114
  readonly includeS3Urls?: string | null | undefined;
@@ -895,7 +1118,7 @@ export declare const getEmail: (input: {
895
1118
  readonly scheduling: {
896
1119
  readonly dueAt: string;
897
1120
  readonly expiresAt: string;
898
- readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "provider-unavailable" | "rate" | "retry" | "tenant-health" | null;
1121
+ readonly waitReason: "campaign-paused" | "daily-quota" | "domain-health" | "domain-warming" | "onboarding-review" | "rate" | "retry" | "sending-paused" | "upstream-unavailable" | null;
899
1122
  } | null;
900
1123
  readonly id: string;
901
1124
  readonly messageId: string;
@@ -915,11 +1138,18 @@ export declare const getEmail: (input: {
915
1138
  readonly terminalAt: string | null;
916
1139
  readonly errorCode: string | null;
917
1140
  readonly errorMessage: string | null;
918
- readonly errorDetails: import("./generated").JsonValue;
1141
+ readonly errorDetails: {
1142
+ readonly code?: string | null;
1143
+ readonly name?: string | null;
1144
+ readonly message?: string | null;
1145
+ readonly details?: {
1146
+ readonly [x: string]: string | number | null;
1147
+ } | null;
1148
+ readonly retryable?: boolean | null;
1149
+ } | null;
919
1150
  readonly cost: string;
920
1151
  readonly currency: string;
921
1152
  readonly idempotencyKey: string | null;
922
- readonly metadata: import("./generated").JsonValue;
923
1153
  readonly createdAt: string;
924
1154
  readonly updatedAt: string;
925
1155
  }[];
@@ -981,20 +1211,20 @@ export declare const getEmail: (input: {
981
1211
  readonly createdAt: string;
982
1212
  readonly receivedAt: string | null;
983
1213
  readonly processedAt: string | null;
984
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1214
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
985
1215
  export declare const remove: (input: {
986
1216
  readonly id: string;
987
1217
  }) => import("effect/Effect").Effect<{
988
1218
  readonly success: boolean;
989
1219
  readonly message: string;
990
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1220
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
991
1221
  export declare const getStatus: (input: {
992
1222
  readonly id: string;
993
1223
  }) => import("effect/Effect").Effect<{
994
1224
  readonly id: string & import("effect/Brand").Brand<"MessageId">;
995
1225
  readonly status: "bounced" | "complained" | "delivered" | "failed" | "pending" | "processing" | "queued" | "read" | "scheduled" | "sent";
996
1226
  readonly updatedAt: string;
997
- }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1227
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
998
1228
  export declare const getEvents: (input: {
999
1229
  readonly id: string;
1000
1230
  }) => import("effect/Effect").Effect<readonly {
@@ -1006,4 +1236,4 @@ export declare const getEvents: (input: {
1006
1236
  readonly metadata?: {
1007
1237
  readonly [x: string]: import("./generated").JsonValue;
1008
1238
  } | null;
1009
- }[], import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1239
+ }[], import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;