samva 0.23.0 → 0.24.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.
@@ -252,6 +252,12 @@ export type Namespace = {
252
252
  export type NamespaceMetadata = {
253
253
  [key: string]: string;
254
254
  };
255
+ /**
256
+ * Your own labels for the namespace, such as the id of your customer it serves. Samva stores them and never reads them.
257
+ */
258
+ export type NamespaceMetadataWritable = {
259
+ [key: string]: string | undefined;
260
+ };
255
261
  export type UpdateNamespacePayload = {
256
262
  name?: string | null | undefined;
257
263
  metadata?: {
@@ -461,6 +467,9 @@ export type ConversationId = string;
461
467
  export type JsonObject = {
462
468
  [key: string]: JsonValue;
463
469
  };
470
+ export type JsonObjectWritable = {
471
+ [key: string]: JsonValueWritable | undefined;
472
+ };
464
473
  export type TemplateId = string;
465
474
  export type MailboxEndpointId = string;
466
475
  export type EmailAttachment = {
@@ -969,6 +978,9 @@ export type MailboxEndpoint = {
969
978
  export type MailboxMetadata = {
970
979
  [key: string]: string;
971
980
  };
981
+ export type MailboxMetadataWritable = {
982
+ [key: string]: string | undefined;
983
+ };
972
984
  export type MailboxStatus = "active" | "paused";
973
985
  export type UpdateMailboxEndpointPayload = {
974
986
  displayName?: string | null | null | undefined;
@@ -984,7 +996,7 @@ export type UpdateMailboxPayload = {
984
996
  metadata?: MailboxMetadataPatch | null | undefined;
985
997
  };
986
998
  export type MailboxMetadataPatch = {
987
- [key: string]: string | null;
999
+ [key: string]: string | null | undefined;
988
1000
  };
989
1001
  export type CreateMailboxPayload = {
990
1002
  namespaceId?: NamespaceId | null | undefined;
@@ -1765,6 +1777,11 @@ export type BrandAddressRequiredError = {
1765
1777
  message: string;
1766
1778
  brand: string | null;
1767
1779
  };
1780
+ export type FromAddressRequiredError = {
1781
+ _tag: "FromAddressRequiredError";
1782
+ message: string;
1783
+ verifiedDomains: Array<string>;
1784
+ };
1768
1785
  export type ExternalServiceError = {
1769
1786
  _tag: "ExternalServiceError";
1770
1787
  message: string;
@@ -1882,12 +1899,22 @@ export type JourneyDefinition = {
1882
1899
  goal?: JourneyGoal | undefined;
1883
1900
  reentry?: boolean | undefined;
1884
1901
  };
1902
+ export type JourneyDefinitionWritable = {
1903
+ trigger: JourneyTrigger;
1904
+ rootNodeId: JourneyNodeId;
1905
+ nodes: {
1906
+ [key: string]: JourneyNodeWritable | undefined;
1907
+ };
1908
+ goal?: JourneyGoal | undefined;
1909
+ reentry?: boolean | undefined;
1910
+ };
1885
1911
  export type JourneyGoal = {
1886
1912
  eventName: JourneyEventName;
1887
1913
  };
1888
1914
  export type JourneyEventName = JourneyCustomEventName | "contact.created" | "contact.tag_added" | "contact.joined_group";
1889
1915
  export type JourneyCustomEventName = string;
1890
1916
  export type JourneyNode = JourneySendEmailNode | JourneyWaitNode | JourneyWaitForEventNode | JourneyBranchNode | JourneyUpdateTagsNode | JourneyWebhookNode | JourneyExitNode;
1917
+ export type JourneyNodeWritable = JourneySendEmailNodeWritable | JourneyWaitNode | JourneyWaitForEventNode | JourneyBranchNode | JourneyUpdateTagsNode | JourneyWebhookNodeWritable | JourneyExitNode;
1891
1918
  export type JourneyExitNode = {
1892
1919
  type: "exit";
1893
1920
  config: JourneyEmptyConfig;
@@ -1901,12 +1928,20 @@ export type JourneyWebhookNode = {
1901
1928
  config: JourneyWebhookConfig;
1902
1929
  next: [JourneyNextEdge];
1903
1930
  };
1931
+ export type JourneyWebhookNodeWritable = {
1932
+ type: "webhook";
1933
+ config: JourneyWebhookConfigWritable;
1934
+ next: [JourneyNextEdge];
1935
+ };
1904
1936
  export type JourneyNextEdge = {
1905
1937
  nodeId: JourneyNodeId;
1906
1938
  };
1907
1939
  export type JourneyWebhookConfig = {
1908
1940
  data?: JsonObject | undefined;
1909
1941
  };
1942
+ export type JourneyWebhookConfigWritable = {
1943
+ data?: JsonObjectWritable | undefined;
1944
+ };
1910
1945
  export type JourneyUpdateTagsNode = {
1911
1946
  type: "update_tags";
1912
1947
  config: JourneyUpdateTagsConfig;
@@ -1993,11 +2028,21 @@ export type JourneySendEmailNode = {
1993
2028
  config: JourneySendEmailConfig;
1994
2029
  next: [JourneyNextEdge];
1995
2030
  };
2031
+ export type JourneySendEmailNodeWritable = {
2032
+ type: "send_email";
2033
+ config: JourneySendEmailConfigWritable;
2034
+ next: [JourneyNextEdge];
2035
+ };
1996
2036
  export type JourneySendEmailConfig = {
1997
2037
  template: TemplateId | string;
1998
2038
  senderId?: EmailSenderId | undefined;
1999
2039
  templateData?: JsonObject | undefined;
2000
2040
  };
2041
+ export type JourneySendEmailConfigWritable = {
2042
+ template: TemplateId | string;
2043
+ senderId?: EmailSenderId | undefined;
2044
+ templateData?: JsonObjectWritable | undefined;
2045
+ };
2001
2046
  export type EmailSenderId = string;
2002
2047
  export type JourneyTrigger = JourneyCustomEventTrigger | JourneyContactCreatedTrigger | JourneyTagAddedTrigger | JourneyGroupJoinedTrigger;
2003
2048
  export type JourneyGroupJoinedTrigger = {
@@ -2089,7 +2134,7 @@ export type BatchEventsPayload = {
2089
2134
  export type CreateEventPayload = {
2090
2135
  contact: ContactEventReference;
2091
2136
  name: string;
2092
- properties?: JsonObject | null | undefined;
2137
+ properties?: JsonObjectWritable | null | undefined;
2093
2138
  occurredAt?: string | null | undefined;
2094
2139
  idempotencyKey?: string | null | undefined;
2095
2140
  };
@@ -2155,9 +2200,21 @@ export type ContactProfile = {
2155
2200
  customFields?: ContactCustomFields | null | undefined;
2156
2201
  source?: "api" | "import" | "manual" | "form" | null | undefined;
2157
2202
  };
2203
+ export type ContactProfileWritable = {
2204
+ firstName?: string | null | undefined;
2205
+ lastName?: string | null | undefined;
2206
+ company?: string | null | undefined;
2207
+ jobTitle?: string | null | undefined;
2208
+ location?: ContactLocation | null | undefined;
2209
+ customFields?: ContactCustomFieldsWritable | null | undefined;
2210
+ source?: "api" | "import" | "manual" | "form" | null | undefined;
2211
+ };
2158
2212
  export type ContactCustomFields = {
2159
2213
  [key: string]: string | number | boolean | null;
2160
2214
  };
2215
+ export type ContactCustomFieldsWritable = {
2216
+ [key: string]: string | number | boolean | null | undefined;
2217
+ };
2161
2218
  export type ContactLocation = {
2162
2219
  country: string;
2163
2220
  state: string;
@@ -2204,7 +2261,7 @@ export type ContactProfileUpdate = {
2204
2261
  company?: string | null | null | undefined;
2205
2262
  jobTitle?: string | null | null | undefined;
2206
2263
  location?: ContactLocation | null | null | undefined;
2207
- customFields?: ContactCustomFields | null | undefined;
2264
+ customFields?: ContactCustomFieldsWritable | null | undefined;
2208
2265
  };
2209
2266
  export type ContactLookup = {
2210
2267
  type: "email";
@@ -2292,9 +2349,23 @@ export type ConversationContext = {
2292
2349
  workflowData?: UnknownRecord | null | undefined;
2293
2350
  } | null | undefined;
2294
2351
  };
2352
+ export type ConversationContextWritable = {
2353
+ customerData?: UnknownRecordWritable | null | undefined;
2354
+ previousConversations?: Array<string> | null | undefined;
2355
+ sessionVariables?: UnknownRecordWritable | null | undefined;
2356
+ workflowState?: {
2357
+ currentStep?: string | null | undefined;
2358
+ completedSteps?: Array<string> | null | undefined;
2359
+ pendingSteps?: Array<string> | null | undefined;
2360
+ workflowData?: UnknownRecordWritable | null | undefined;
2361
+ } | null | undefined;
2362
+ };
2295
2363
  export type UnknownRecord = {
2296
2364
  [key: string]: JsonValue;
2297
2365
  };
2366
+ export type UnknownRecordWritable = {
2367
+ [key: string]: JsonValueWritable | undefined;
2368
+ };
2298
2369
  export type ConversationContacts = {
2299
2370
  contactIds: [ContactId, ...Array<ContactId>];
2300
2371
  };
@@ -3006,6 +3077,9 @@ export type CampaignContent = {
3006
3077
  export type CampaignContentMetadata = {
3007
3078
  [key: string]: JsonValue;
3008
3079
  } | null;
3080
+ export type CampaignContentMetadataWritable = {
3081
+ [key: string]: JsonValueWritable | undefined;
3082
+ } | null;
3009
3083
  export type CampaignConversationRef = ConversationId | null | null;
3010
3084
  export type EmailContent = {
3011
3085
  subject?: string | null | undefined;
@@ -3028,6 +3102,27 @@ export type EmailContent = {
3028
3102
  tracking?: EmailTrackingOverrideV1 | undefined;
3029
3103
  footer?: EmailFooterOverride | undefined;
3030
3104
  };
3105
+ export type EmailContentWritable = {
3106
+ subject?: string | null | undefined;
3107
+ html?: string | null | undefined;
3108
+ text?: string | null | undefined;
3109
+ attachments?: EmailAttachments | undefined;
3110
+ publicationId?: TemplatePublicationId | undefined;
3111
+ inputContractId?: TemplateInputContractId | undefined;
3112
+ templateId?: TemplateId | null | undefined;
3113
+ templateSlug?: string | null | undefined;
3114
+ templateData?: TemplateDataWritable | undefined;
3115
+ locale?: RenderLocale | undefined;
3116
+ timeZone?: RenderTimeZone | undefined;
3117
+ inReplyToMessageId?: MessageId | null | undefined;
3118
+ replyTo?: ReplyToAddresses | undefined;
3119
+ /**
3120
+ * The unsubscribe group for this send. Omit to inherit the template group; null disables group inheritance for a direct send. Campaigns require a group.
3121
+ */
3122
+ unsubscribeGroupId?: UnsubscribeId | null | null | undefined;
3123
+ tracking?: EmailTrackingOverrideV1 | undefined;
3124
+ footer?: EmailFooterOverride | undefined;
3125
+ };
3031
3126
  export type EmailFooterOverride = {
3032
3127
  enabled?: boolean | null | undefined;
3033
3128
  };
@@ -3046,6 +3141,7 @@ export type EmailTrackingOverrideV1 = {
3046
3141
  };
3047
3142
  export type ReplyToAddresses = Array<string> | null | null;
3048
3143
  export type TemplateData = JsonObject | null;
3144
+ export type TemplateDataWritable = JsonObjectWritable | null;
3049
3145
  export type EmailAttachments = Array<EmailAttachment> | null;
3050
3146
  export type CampaignRunPage = {
3051
3147
  items: Array<CampaignRun>;
@@ -3086,7 +3182,7 @@ export type CampaignContentInput = {
3086
3182
  channel: "email";
3087
3183
  email: EmailDispatchContent;
3088
3184
  conversationId?: CampaignConversationRef | undefined;
3089
- metadata?: CampaignContentMetadata | undefined;
3185
+ metadata?: CampaignContentMetadataWritable | undefined;
3090
3186
  };
3091
3187
  export type EmailDispatchContent = {
3092
3188
  subject?: string | null | undefined;
@@ -3097,7 +3193,7 @@ export type EmailDispatchContent = {
3097
3193
  inputContractId?: TemplateInputContractId | undefined;
3098
3194
  templateId?: TemplateId | null | undefined;
3099
3195
  templateSlug?: string | null | undefined;
3100
- templateData?: TemplateData | undefined;
3196
+ templateData?: TemplateDataWritable | undefined;
3101
3197
  locale?: RenderLocale | undefined;
3102
3198
  timeZone?: RenderTimeZone | undefined;
3103
3199
  inReplyToMessageId?: MessageId | null | undefined;
@@ -3159,6 +3255,9 @@ export type SendMessagePayload = {
3159
3255
  export type MessageMetadata = {
3160
3256
  [key: string]: JsonValue;
3161
3257
  } | null;
3258
+ export type MessageMetadataWritable = {
3259
+ [key: string]: JsonValueWritable | undefined;
3260
+ } | null;
3162
3261
  export type EmailSendMessagePayload = {
3163
3262
  conversationId?: ConversationId | null | null | undefined;
3164
3263
  metadata?: MessageMetadata | undefined;
@@ -3190,7 +3289,7 @@ export type ScheduledMessagePage = {
3190
3289
  };
3191
3290
  export type DispatchSendMessagePayload = {
3192
3291
  conversationId?: ConversationId | null | null | undefined;
3193
- metadata?: MessageMetadata | undefined;
3292
+ metadata?: MessageMetadataWritable | undefined;
3194
3293
  channel: "email";
3195
3294
  to: EmailRecipients;
3196
3295
  cc?: EmailCcRecipients | undefined;
@@ -3364,6 +3463,9 @@ export type MessageSender = {
3364
3463
  export type JsonValue = string | number | boolean | null | Array<JsonValue> | {
3365
3464
  [key: string]: JsonValue;
3366
3465
  };
3466
+ export type JsonValueWritable = string | number | boolean | null | Array<JsonValueWritable> | {
3467
+ [key: string]: JsonValueWritable | undefined;
3468
+ };
3367
3469
  export type MessagesListData = {
3368
3470
  body?: never;
3369
3471
  path?: never;
@@ -3418,13 +3520,13 @@ export type MessagesListResponse = MessagesListResponses[keyof MessagesListRespo
3418
3520
  export type MessagesSendData = {
3419
3521
  body: {
3420
3522
  conversationId?: ConversationId | null | null | undefined;
3421
- metadata?: MessageMetadata | undefined;
3523
+ metadata?: MessageMetadataWritable | undefined;
3422
3524
  channel: "email";
3423
3525
  to: EmailRecipients;
3424
3526
  cc?: EmailCcRecipients | undefined;
3425
3527
  bcc?: EmailBccRecipients | undefined;
3426
3528
  from?: EmailSender | undefined;
3427
- email: EmailContent;
3529
+ email: EmailContentWritable;
3428
3530
  };
3429
3531
  headers?: {
3430
3532
  "idempotency-key"?: string | null | undefined;
@@ -3455,9 +3557,9 @@ export type MessagesSendErrors = {
3455
3557
  */
3456
3558
  409: ConflictError;
3457
3559
  /**
3458
- * ValidationError
3560
+ * ValidationError | FromAddressRequiredError
3459
3561
  */
3460
- 422: ValidationError;
3562
+ 422: ValidationError | FromAddressRequiredError;
3461
3563
  /**
3462
3564
  * RateLimitedError
3463
3565
  */
@@ -3795,13 +3897,13 @@ export type MessagesGetEmailResponse = MessagesGetEmailResponses[keyof MessagesG
3795
3897
  export type MessagesValidateEmailData = {
3796
3898
  body: {
3797
3899
  conversationId?: ConversationId | null | null | undefined;
3798
- metadata?: MessageMetadata | undefined;
3900
+ metadata?: MessageMetadataWritable | undefined;
3799
3901
  channel: "email";
3800
3902
  to: EmailRecipients;
3801
3903
  cc?: EmailCcRecipients | undefined;
3802
3904
  bcc?: EmailBccRecipients | undefined;
3803
3905
  from?: EmailSender | undefined;
3804
- email: EmailContent;
3906
+ email: EmailContentWritable;
3805
3907
  };
3806
3908
  path?: never;
3807
3909
  query?: never;
@@ -3821,9 +3923,9 @@ export type MessagesValidateEmailErrors = {
3821
3923
  */
3822
3924
  404: ResourceNotFoundError;
3823
3925
  /**
3824
- * ValidationError
3926
+ * ValidationError | FromAddressRequiredError
3825
3927
  */
3826
- 422: ValidationError;
3928
+ 422: ValidationError | FromAddressRequiredError;
3827
3929
  /**
3828
3930
  * InternalError
3829
3931
  */
@@ -4277,9 +4379,9 @@ export type ScheduledMessagesResumeErrors = {
4277
4379
  */
4278
4380
  409: ConflictError;
4279
4381
  /**
4280
- * ValidationError
4382
+ * FromAddressRequiredError | ValidationError
4281
4383
  */
4282
- 422: ValidationError;
4384
+ 422: FromAddressRequiredError | ValidationError;
4283
4385
  /**
4284
4386
  * InternalError
4285
4387
  */
@@ -4601,9 +4703,9 @@ export type CampaignsScheduleRunErrors = {
4601
4703
  */
4602
4704
  409: ConflictError;
4603
4705
  /**
4604
- * ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError
4706
+ * FromAddressRequiredError | ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError
4605
4707
  */
4606
- 422: ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError;
4708
+ 422: FromAddressRequiredError | ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError;
4607
4709
  /**
4608
4710
  * InternalError
4609
4711
  */
@@ -7272,7 +7374,7 @@ export type EmailCreateForwardingRuleData = {
7272
7374
  priority?: number | null | undefined;
7273
7375
  isActive?: boolean | null | undefined;
7274
7376
  metadata?: {
7275
- [key: string]: JsonValue;
7377
+ [key: string]: JsonValueWritable | undefined;
7276
7378
  } | null | null | undefined;
7277
7379
  };
7278
7380
  path?: never;
@@ -7379,7 +7481,7 @@ export type EmailUpdateForwardingRuleData = {
7379
7481
  priority?: number | null | undefined;
7380
7482
  isActive?: boolean | null | undefined;
7381
7483
  metadata?: {
7382
- [key: string]: JsonValue;
7484
+ [key: string]: JsonValueWritable | undefined;
7383
7485
  } | null | null | undefined;
7384
7486
  };
7385
7487
  path: {
@@ -8270,8 +8372,8 @@ export type ConversationsCreateData = {
8270
8372
  priority?: number | null | undefined;
8271
8373
  urgency?: "low" | "medium" | "high" | "critical" | null | undefined;
8272
8374
  complexity?: "simple" | "moderate" | "complex" | null | undefined;
8273
- metadata?: JsonObject | null | undefined;
8274
- context?: ConversationContext | null | null | undefined;
8375
+ metadata?: JsonObjectWritable | null | undefined;
8376
+ context?: ConversationContextWritable | null | null | undefined;
8275
8377
  tags?: Array<string> | null | undefined;
8276
8378
  categories?: Array<string> | null | undefined;
8277
8379
  isTest?: boolean | null | undefined;
@@ -8366,8 +8468,8 @@ export type ConversationsUpdateData = {
8366
8468
  priority?: number | null | undefined;
8367
8469
  urgency?: "low" | "medium" | "high" | "critical" | null | undefined;
8368
8470
  complexity?: "simple" | "moderate" | "complex" | null | undefined;
8369
- context?: ConversationContext | null | null | undefined;
8370
- metadata?: JsonObject | null | undefined;
8471
+ context?: ConversationContextWritable | null | null | undefined;
8472
+ metadata?: JsonObjectWritable | null | undefined;
8371
8473
  isTest?: boolean | null | undefined;
8372
8474
  isInternal?: boolean | null | undefined;
8373
8475
  isPrivate?: boolean | null | undefined;
@@ -8865,13 +8967,13 @@ export type ContactsCreateData = {
8865
8967
  displayName?: string | null | null | undefined;
8866
8968
  avatar?: string | null | null | undefined;
8867
8969
  identities?: Array<ContactIdentityInput> | null | undefined;
8868
- profile?: ContactProfile | null | null | undefined;
8970
+ profile?: ContactProfileWritable | null | null | undefined;
8869
8971
  preferences?: ContactPreferences | null | null | undefined;
8870
8972
  tags?: Array<string> | null | undefined;
8871
8973
  status?: "active" | "paused" | "blocked" | "archived" | null | undefined;
8872
8974
  statusReason?: string | null | null | undefined;
8873
8975
  externalId?: string | null | null | undefined;
8874
- metadata?: JsonObject | null | null | undefined;
8976
+ metadata?: JsonObjectWritable | null | null | undefined;
8875
8977
  };
8876
8978
  path?: never;
8877
8979
  query?: never;
@@ -8981,7 +9083,7 @@ export type ContactsFindOrCreateData = {
8981
9083
  displayName?: string | null | null | undefined;
8982
9084
  avatar?: string | null | null | undefined;
8983
9085
  identities?: Array<ContactIdentityInput> | null | undefined;
8984
- profile?: ContactProfile | null | null | undefined;
9086
+ profile?: ContactProfileWritable | null | null | undefined;
8985
9087
  externalId?: string | null | null | undefined;
8986
9088
  } | null | undefined;
8987
9089
  };
@@ -9138,7 +9240,7 @@ export type ContactsUpdateData = {
9138
9240
  status?: "active" | "paused" | "blocked" | "archived" | null | undefined;
9139
9241
  statusReason?: string | null | null | undefined;
9140
9242
  externalId?: string | null | null | undefined;
9141
- metadata?: JsonObject | null | undefined;
9243
+ metadata?: JsonObjectWritable | null | undefined;
9142
9244
  };
9143
9245
  path: {
9144
9246
  id: ContactId;
@@ -9289,7 +9391,7 @@ export type ContactsSetConsentData = {
9289
9391
  */
9290
9392
  source: string;
9291
9393
  capturedAt: string;
9292
- proof?: JsonObject | null | undefined;
9394
+ proof?: JsonObjectWritable | null | undefined;
9293
9395
  };
9294
9396
  path: {
9295
9397
  id: ContactId;
@@ -9480,13 +9582,13 @@ export type ContactsBulkImportData = {
9480
9582
  displayName?: string | null | null | undefined;
9481
9583
  avatar?: string | null | null | undefined;
9482
9584
  identities?: Array<ContactIdentityInput> | null | undefined;
9483
- profile?: ContactProfile | null | null | undefined;
9585
+ profile?: ContactProfileWritable | null | null | undefined;
9484
9586
  preferences?: ContactPreferences | null | null | undefined;
9485
9587
  tags?: Array<string> | null | undefined;
9486
9588
  status?: "active" | "paused" | "blocked" | "archived" | null | undefined;
9487
9589
  statusReason?: string | null | null | undefined;
9488
9590
  externalId?: string | null | null | undefined;
9489
- metadata?: JsonObject | null | null | undefined;
9591
+ metadata?: JsonObjectWritable | null | null | undefined;
9490
9592
  }>;
9491
9593
  onConflict?: "skip" | "update" | null | undefined;
9492
9594
  };
@@ -9823,7 +9925,7 @@ export type EventsCreateData = {
9823
9925
  body: {
9824
9926
  contact: ContactEventReference;
9825
9927
  name: string;
9826
- properties?: JsonObject | null | undefined;
9928
+ properties?: JsonObjectWritable | null | undefined;
9827
9929
  occurredAt?: string | null | undefined;
9828
9930
  idempotencyKey?: string | null | undefined;
9829
9931
  };
@@ -10007,7 +10109,7 @@ export type JourneysListResponse = JourneysListResponses[keyof JourneysListRespo
10007
10109
  export type JourneysCreateData = {
10008
10110
  body: {
10009
10111
  name: JourneyName;
10010
- definition: JourneyDefinition;
10112
+ definition: JourneyDefinitionWritable;
10011
10113
  };
10012
10114
  path?: never;
10013
10115
  query?: never;
@@ -10194,7 +10296,7 @@ export type JourneysUpdateResponse = JourneysUpdateResponses[keyof JourneysUpdat
10194
10296
  export type JourneysReplaceDraftData = {
10195
10297
  body: {
10196
10298
  revision: string;
10197
- definition: JourneyDefinition;
10299
+ definition: JourneyDefinitionWritable;
10198
10300
  };
10199
10301
  path: {
10200
10302
  id: JourneyId;
@@ -10675,9 +10777,9 @@ export type SubscriptionsSubscribeErrors = {
10675
10777
  */
10676
10778
  409: ConflictError;
10677
10779
  /**
10678
- * ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError
10780
+ * ValidationError | FromAddressRequiredError | BrandAddressRequiredError | CampaignFooterRequiredError
10679
10781
  */
10680
- 422: ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError;
10782
+ 422: ValidationError | FromAddressRequiredError | BrandAddressRequiredError | CampaignFooterRequiredError;
10681
10783
  /**
10682
10784
  * RateLimitedError
10683
10785
  */
@@ -10754,7 +10856,7 @@ export type ContactGroupsCreateData = {
10754
10856
  description?: string | null | null | undefined;
10755
10857
  type?: "static" | "dynamic" | "smart" | null | undefined;
10756
10858
  criteria?: {
10757
- [key: string]: JsonValue;
10859
+ [key: string]: JsonValueWritable | undefined;
10758
10860
  } | null | null | undefined;
10759
10861
  color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
10760
10862
  icon?: string | null | null | undefined;
@@ -10927,7 +11029,7 @@ export type ContactGroupsUpdateData = {
10927
11029
  description?: string | null | null | undefined;
10928
11030
  type?: "static" | "dynamic" | "smart" | null | undefined;
10929
11031
  criteria?: {
10930
- [key: string]: JsonValue;
11032
+ [key: string]: JsonValueWritable | undefined;
10931
11033
  } | null | null | undefined;
10932
11034
  color?: "clay" | "sand" | "moss" | "sky" | "plum" | "rose" | null | null | undefined;
10933
11035
  icon?: string | null | null | undefined;
@@ -11188,7 +11290,7 @@ export type ContactGroupsPreviewData = {
11188
11290
  conditions?: Array<{
11189
11291
  field: string;
11190
11292
  operator: string;
11191
- value: JsonValue;
11293
+ value: JsonValueWritable;
11192
11294
  }> | null | undefined;
11193
11295
  };
11194
11296
  };
@@ -14343,7 +14445,7 @@ export type TemplatesRenderPublicationData = {
14343
14445
  * The input to render with, validated against the publication's input schema.
14344
14446
  */
14345
14447
  data: {
14346
- [key: string]: JsonValue;
14448
+ [key: string]: JsonValueWritable | undefined;
14347
14449
  };
14348
14450
  locale?: RenderLocale | undefined;
14349
14451
  timeZone?: RenderTimeZone | undefined;
@@ -15166,7 +15268,7 @@ export type WebhooksCreateData = {
15166
15268
  mailboxIds?: [MailboxId, ...Array<MailboxId>] | null | undefined;
15167
15269
  namespaceId?: NamespaceId | null | undefined;
15168
15270
  headers?: {
15169
- [key: string]: string;
15271
+ [key: string]: string | undefined;
15170
15272
  } | null | undefined;
15171
15273
  status?: "active" | "disabled" | null | undefined;
15172
15274
  };
@@ -15320,7 +15422,7 @@ export type WebhooksUpdateData = {
15320
15422
  mailboxIds?: [MailboxId, ...Array<MailboxId>] | null | null | undefined;
15321
15423
  namespaceId?: NamespaceId | null | null | undefined;
15322
15424
  headers?: {
15323
- [key: string]: string;
15425
+ [key: string]: string | undefined;
15324
15426
  } | null | undefined;
15325
15427
  status?: "active" | "disabled" | null | undefined;
15326
15428
  };
@@ -15371,7 +15473,7 @@ export type WebhooksUpdateResponse = WebhooksUpdateResponses[keyof WebhooksUpdat
15371
15473
  export type WebhooksTestData = {
15372
15474
  body: {
15373
15475
  data?: {
15374
- [key: string]: JsonValue;
15476
+ [key: string]: JsonValueWritable | undefined;
15375
15477
  } | null | undefined;
15376
15478
  };
15377
15479
  path: {
@@ -15741,7 +15843,7 @@ export type OrganizationsUpdateData = {
15741
15843
  timezone?: IanaTimezone | null | undefined;
15742
15844
  isActive?: boolean | null | undefined;
15743
15845
  metadata?: {
15744
- [key: string]: JsonValue;
15846
+ [key: string]: JsonValueWritable | undefined;
15745
15847
  } | null | undefined;
15746
15848
  replyToDefault?: Array<string> | null | null | undefined;
15747
15849
  emailFooterEnabledDefault?: boolean | null | null | undefined;
@@ -16562,7 +16664,7 @@ export type MailboxesCreateData = {
16562
16664
  endpoint: CreateMailboxEndpointPayload;
16563
16665
  name: string;
16564
16666
  slug?: string | null | undefined;
16565
- metadata?: MailboxMetadata | null | undefined;
16667
+ metadata?: MailboxMetadataWritable | null | undefined;
16566
16668
  };
16567
16669
  path?: never;
16568
16670
  query?: never;
@@ -19547,7 +19649,7 @@ export type NamespacesListResponse = NamespacesListResponses[keyof NamespacesLis
19547
19649
  export type NamespacesCreateData = {
19548
19650
  body: {
19549
19651
  name: string;
19550
- metadata?: NamespaceMetadata | null | undefined;
19652
+ metadata?: NamespaceMetadataWritable | null | undefined;
19551
19653
  };
19552
19654
  path?: never;
19553
19655
  query?: never;
@@ -19679,7 +19781,7 @@ export type NamespacesUpdateData = {
19679
19781
  body: {
19680
19782
  name?: string | null | undefined;
19681
19783
  metadata?: {
19682
- [key: string]: string | null;
19784
+ [key: string]: string | null | undefined;
19683
19785
  } | null | undefined;
19684
19786
  };
19685
19787
  path: {
@@ -18,13 +18,13 @@
18
18
  * ```
19
19
  */
20
20
  import { Effect } from "effect";
21
- import type { BillingProviderError, ConflictError, EmailChannelError, ExternalServiceError, ForbiddenError, GatewayTimeoutError, InternalError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, UnauthorizedError, ValidationError, DeliveryUnavailableError } from "./errors";
21
+ import type { BillingProviderError, ConflictError, EmailChannelError, ExternalServiceError, ForbiddenError, FromAddressRequiredError, GatewayTimeoutError, InternalError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, UnauthorizedError, ValidationError, DeliveryUnavailableError } from "./errors";
22
22
  export type ErrorCategory = "auth" | "validation" | "notFound" | "conflict" | "throttling" | "billing" | "transient";
23
23
  export declare const categoriesOf: (error: unknown) => ReadonlyArray<ErrorCategory>;
24
24
  export declare const hasCategory: (error: unknown, category: ErrorCategory) => boolean;
25
25
  type CategoryError = {
26
26
  readonly auth: UnauthorizedError | ForbiddenError;
27
- readonly validation: ValidationError;
27
+ readonly validation: ValidationError | FromAddressRequiredError;
28
28
  readonly notFound: ResourceNotFoundError;
29
29
  readonly conflict: ConflictError;
30
30
  readonly throttling: RateLimitedError;
@@ -51,7 +51,7 @@ export declare const isRetryable: (error: unknown) => boolean;
51
51
  */
52
52
  export declare const catchCategory: <Category extends ErrorCategory, A2, E2, R2>(category: Category, handler: (error: CategoryHandlerError<Category>) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, Exclude<E, CategoryError[Category]> | E2, R | R2>;
53
53
  export declare const catchAuthError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"auth">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, ForbiddenError | UnauthorizedError>, R | R2>;
54
- export declare const catchValidationError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"validation">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, ValidationError>, R | R2>;
54
+ export declare const catchValidationError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"validation">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, FromAddressRequiredError | ValidationError>, R | R2>;
55
55
  export declare const catchNotFoundError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"notFound">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, ResourceNotFoundError>, R | R2>;
56
56
  export declare const catchConflictError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"conflict">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, ConflictError>, R | R2>;
57
57
  export declare const catchThrottlingError: <A2, E2, R2>(handler: (error: CategoryHandlerError<"throttling">) => Effect.Effect<A2, E2, R2>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E2 | Exclude<E, RateLimitedError>, R | R2>;
@@ -13,7 +13,7 @@ export declare const send: (input: EmailSendInput, options?: SendOptions | undef
13
13
  readonly unsubscribeGroupId?: (string & import("effect/Brand").Brand<"UnsubscribeId">) | null;
14
14
  }[];
15
15
  readonly createdAt: string;
16
- }, import("./errors").BillingProviderError | import("./errors").ConflictError | import("./errors").DeliveryUnavailableError | import("./errors").ExternalServiceError | import("./errors").FlagDisabledError | import("./errors").ForbiddenError | import("./errors").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./errors").InternalError | import("..").MediaUploadError | import("./errors").OnboardingReviewRequiredError | import("./errors").PaymentRequiredError | import("./errors").RateLimitedError | import("./errors").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./errors").SenderNotReadyError | import("./errors").UnauthorizedError | import("./errors").ValidationError, import("./client").Service>;
16
+ }, import("./errors").BillingProviderError | import("./errors").ConflictError | import("./errors").DeliveryUnavailableError | import("./errors").ExternalServiceError | import("./errors").FlagDisabledError | import("./errors").ForbiddenError | import("./errors").FromAddressRequiredError | import("./errors").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./errors").InternalError | import("..").MediaUploadError | import("./errors").OnboardingReviewRequiredError | import("./errors").PaymentRequiredError | import("./errors").RateLimitedError | import("./errors").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./errors").SenderNotReadyError | import("./errors").UnauthorizedError | import("./errors").ValidationError, import("./client").Service>;
17
17
  export declare const getTrackingDefaults: (_?: never) => import("./internal/operation").OperationResult<"emailGetTrackingDefaults">;
18
18
  export declare const updateTrackingDefaults: (input?: {
19
19
  readonly opens?: boolean | undefined;
@@ -1,2 +1,2 @@
1
- export { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError, DeliveryUnavailableError, } from "./generated/shared";
1
+ export { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, FromAddressRequiredError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError, DeliveryUnavailableError, } from "./generated/shared";
2
2
  export { MediaUploadError } from "../inline-attachments";
@@ -1,3 +1,3 @@
1
1
  import { MediaUploadError } from "../inline-attachments.js";
2
- import { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, DeliveryUnavailableError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError } from "./generated/shared.js";
3
- export { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, DeliveryUnavailableError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, MediaUploadError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError };
2
+ import { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, DeliveryUnavailableError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, FromAddressRequiredError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError } from "./generated/shared.js";
3
+ export { AnalyticsQueryError, BillingProviderError, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, DeliveryUnavailableError, EmailChannelError, ExternalServiceError, FlagDisabledError, ForbiddenError, FromAddressRequiredError, GatewayTimeoutError, InternalError, MailboxSendConflictError, MailboxSendRefusedError, MediaUploadError, OnboardingReviewRequiredError, PaymentRequiredError, RateLimitedError, ResourceNotFoundError, SenderNotReadyError, UnauthorizedError, ValidationError };
@@ -1,7 +1,7 @@
1
1
  import type * as EffectBrand from "effect/Brand";
2
2
  import { HttpApiEndpoint, HttpApiGroup } from "effect/http-api";
3
3
  import * as Schema from "effect/Schema";
4
- import { ApiKeySecurityMiddleware, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, ContactGroupId, ContactId, ConversationId, Cursor, EmailContent, EmailDispatchContent, EmailDomainId, ExternalServiceError, FlagDisabledError, ForbiddenError, GatewayTimeoutError, InternalError, JsonValue, ResourceNotFoundError, SenderNotReadyError, SendsSeries, UnauthorizedError, UnsubscribeId, ValidationError, __SamvaRuntimeAbsoluteInstant } from "./shared";
4
+ import { ApiKeySecurityMiddleware, BrandAddressRequiredError, CampaignFooterRequiredError, ConflictError, ContactGroupId, ContactId, ConversationId, Cursor, EmailContent, EmailDispatchContent, EmailDomainId, ExternalServiceError, FlagDisabledError, ForbiddenError, FromAddressRequiredError, GatewayTimeoutError, InternalError, JsonValue, ResourceNotFoundError, SenderNotReadyError, SendsSeries, UnauthorizedError, UnsubscribeId, ValidationError, __SamvaRuntimeAbsoluteInstant } from "./shared";
5
5
  export type CampaignId = string & EffectBrand.Brand<"CampaignId">;
6
6
  export declare const CampaignId: Schema.brand<Schema.String, "CampaignId">;
7
7
  export type CampaignContentMetadata = {
@@ -1456,8 +1456,8 @@ export type CampaignsScheduleRun404 = ResourceNotFoundError;
1456
1456
  export declare const CampaignsScheduleRun404: typeof ResourceNotFoundError;
1457
1457
  export type CampaignsScheduleRun409 = ConflictError;
1458
1458
  export declare const CampaignsScheduleRun409: typeof ConflictError;
1459
- export type CampaignsScheduleRun422 = ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError;
1460
- export declare const CampaignsScheduleRun422: Schema.Union<readonly [typeof ValidationError, typeof BrandAddressRequiredError, typeof CampaignFooterRequiredError]>;
1459
+ export type CampaignsScheduleRun422 = FromAddressRequiredError | ValidationError | BrandAddressRequiredError | CampaignFooterRequiredError;
1460
+ export declare const CampaignsScheduleRun422: Schema.Union<readonly [typeof FromAddressRequiredError, typeof ValidationError, typeof BrandAddressRequiredError, typeof CampaignFooterRequiredError]>;
1461
1461
  export type CampaignsScheduleRun500 = InternalError;
1462
1462
  export declare const CampaignsScheduleRun500: typeof InternalError;
1463
1463
  export type CampaignsScheduleRun502 = ExternalServiceError;
@@ -3604,7 +3604,7 @@ declare const CampaignsGroup_base: HttpApiGroup.HttpApiGroup<"Campaigns", HttpAp
3604
3604
  readonly memberRole: Schema.String;
3605
3605
  readonly createdAt: Schema.String;
3606
3606
  readonly updatedAt: Schema.String;
3607
- }>>, Schema.toCodecJson<Schema.Union<readonly [typeof FlagDisabledError, typeof ForbiddenError]> | Schema.Union<readonly [typeof ValidationError, typeof BrandAddressRequiredError, typeof CampaignFooterRequiredError]> | Schema.decodeTo<Schema.declareConstructor<ConflictError, {
3607
+ }>>, Schema.toCodecJson<Schema.Union<readonly [typeof FlagDisabledError, typeof ForbiddenError]> | Schema.Union<readonly [typeof FromAddressRequiredError, typeof ValidationError, typeof BrandAddressRequiredError, typeof CampaignFooterRequiredError]> | Schema.decodeTo<Schema.declareConstructor<ConflictError, {
3608
3608
  readonly _tag: "ConflictError";
3609
3609
  readonly message: string;
3610
3610
  readonly resource: string;