samva 0.28.0 → 0.29.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 (64) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +2 -0
  3. package/dist/client/sdk.gen.d.ts +156 -1
  4. package/dist/client/sdk.gen.js +475 -1
  5. package/dist/client/types.gen.d.ts +1653 -183
  6. package/dist/effect/campaigns.d.ts +32 -0
  7. package/dist/effect/generated/agents.js +36 -36
  8. package/dist/effect/generated/analytics.js +24 -24
  9. package/dist/effect/generated/api-keys.js +29 -29
  10. package/dist/effect/generated/attachments.js +13 -13
  11. package/dist/effect/generated/brands.js +13 -13
  12. package/dist/effect/generated/campaigns.d.ts +178 -60
  13. package/dist/effect/generated/campaigns.js +92 -104
  14. package/dist/effect/generated/contact-events.js +5 -5
  15. package/dist/effect/generated/contact-groups.js +38 -38
  16. package/dist/effect/generated/contacts.js +93 -93
  17. package/dist/effect/generated/conversations.js +38 -38
  18. package/dist/effect/generated/custom-fields.js +15 -15
  19. package/dist/effect/generated/email.js +225 -225
  20. package/dist/effect/generated/events.js +5 -5
  21. package/dist/effect/generated/extension-installations.js +35 -35
  22. package/dist/effect/generated/extensions.js +24 -24
  23. package/dist/effect/generated/feedback.js +6 -6
  24. package/dist/effect/generated/index.d.ts +5 -1
  25. package/dist/effect/generated/journeys.js +67 -67
  26. package/dist/effect/generated/mailboxes.js +286 -286
  27. package/dist/effect/generated/media.js +16 -16
  28. package/dist/effect/generated/messages.js +65 -65
  29. package/dist/effect/generated/namespaces.js +27 -27
  30. package/dist/effect/generated/operations.js +6 -6
  31. package/dist/effect/generated/organizations.js +19 -19
  32. package/dist/effect/generated/publication-domains.d.ts +548 -0
  33. package/dist/effect/generated/publication-domains.js +163 -0
  34. package/dist/effect/generated/scheduled-messages.js +25 -25
  35. package/dist/effect/generated/shared.d.ts +142 -30
  36. package/dist/effect/generated/shared.js +356 -328
  37. package/dist/effect/generated/subscriptions.js +10 -10
  38. package/dist/effect/generated/templates.d.ts +172 -15
  39. package/dist/effect/generated/templates.js +207 -162
  40. package/dist/effect/generated/topic-forms.js +21 -21
  41. package/dist/effect/generated/topic-issues.d.ts +2995 -0
  42. package/dist/effect/generated/topic-issues.js +985 -0
  43. package/dist/effect/generated/topics.d.ts +61 -1
  44. package/dist/effect/generated/topics.js +39 -31
  45. package/dist/effect/generated/webhooks.js +50 -50
  46. package/dist/effect/generated/whoami.js +10 -10
  47. package/dist/effect/generated-metadata.d.ts +70 -0
  48. package/dist/effect/generated-metadata.js +57 -13
  49. package/dist/effect/index.d.ts +2 -0
  50. package/dist/effect/index.js +3 -1
  51. package/dist/effect/journeys.d.ts +112 -112
  52. package/dist/effect/mailboxes.d.ts +78 -78
  53. package/dist/effect/publication-domains.d.ts +14 -0
  54. package/dist/effect/publication-domains.js +17 -0
  55. package/dist/effect/topic-issues.d.ts +57 -0
  56. package/dist/effect/topic-issues.js +33 -0
  57. package/dist/effect/topics.d.ts +6 -2
  58. package/dist/package.js +1 -1
  59. package/dist/promises/index.d.ts +5 -1
  60. package/dist/promises/index.js +5 -1
  61. package/dist/promises/types.gen.d.ts +1 -1
  62. package/dist/service-map.d.ts +74 -0
  63. package/dist/service-map.js +56 -0
  64. package/package.json +11 -3
@@ -0,0 +1,163 @@
1
+ import { ApiKeySecurityMiddleware, ConflictError, FlagDisabledError, ForbiddenError, GatewayTimeoutError, InternalError, OrganizationId, ResourceNotFoundError, TopicId, UnauthorizedError, ValidationError } from "./shared.js";
2
+ import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
3
+ import * as Schema from "effect/Schema";
4
+ //#region src/effect/generated/publication-domains.ts
5
+ const TopicPublicationDomainsAddPathParams = /* @__PURE__ */ (() => Schema.Struct({ id: TopicId }))();
6
+ const TopicPublicationDomainsAddRequestJson = /* @__PURE__ */ (() => Schema.Struct({
7
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" })),
8
+ idempotencyKey: Schema.String.annotate({ format: "uuid" }).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$", "u")).annotate({ expected: "a string matching the RegExp ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$" }))
9
+ }))();
10
+ const TopicPublicationDomainsAdd200 = /* @__PURE__ */ (() => Schema.Struct({
11
+ organizationId: OrganizationId,
12
+ topicId: TopicId,
13
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" })),
14
+ canonicalHostname: Schema.String,
15
+ phase: Schema.Union([
16
+ Schema.Literal("pending"),
17
+ Schema.Literal("active"),
18
+ Schema.Literal("removing"),
19
+ Schema.Literal("removed"),
20
+ Schema.Literal("conflict")
21
+ ]),
22
+ active: Schema.Boolean,
23
+ hostnameStatus: Schema.Union([Schema.String, Schema.Null]),
24
+ sslStatus: Schema.Union([Schema.String, Schema.Null]),
25
+ cname: Schema.Struct({
26
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
27
+ name: Schema.String,
28
+ value: Schema.String
29
+ }),
30
+ verificationRecords: Schema.Array(Schema.Struct({
31
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
32
+ name: Schema.String,
33
+ value: Schema.String
34
+ })),
35
+ verificationErrors: Schema.Array(Schema.String)
36
+ }))();
37
+ const TopicPublicationDomainsAdd401 = UnauthorizedError;
38
+ const TopicPublicationDomainsAdd403 = /* @__PURE__ */ (() => Schema.Union([ForbiddenError, FlagDisabledError]))();
39
+ const TopicPublicationDomainsAdd404 = ResourceNotFoundError;
40
+ const TopicPublicationDomainsAdd409 = ConflictError;
41
+ const TopicPublicationDomainsAdd422 = ValidationError;
42
+ const TopicPublicationDomainsAdd500 = InternalError;
43
+ const TopicPublicationDomainsAdd504 = GatewayTimeoutError;
44
+ const TopicPublicationDomainsGetPathParams = /* @__PURE__ */ (() => Schema.Struct({
45
+ id: TopicId,
46
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" }))
47
+ }))();
48
+ const TopicPublicationDomainsGet200 = /* @__PURE__ */ (() => Schema.Struct({
49
+ organizationId: OrganizationId,
50
+ topicId: TopicId,
51
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" })),
52
+ canonicalHostname: Schema.String,
53
+ phase: Schema.Union([
54
+ Schema.Literal("pending"),
55
+ Schema.Literal("active"),
56
+ Schema.Literal("removing"),
57
+ Schema.Literal("removed"),
58
+ Schema.Literal("conflict")
59
+ ]),
60
+ active: Schema.Boolean,
61
+ hostnameStatus: Schema.Union([Schema.String, Schema.Null]),
62
+ sslStatus: Schema.Union([Schema.String, Schema.Null]),
63
+ cname: Schema.Struct({
64
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
65
+ name: Schema.String,
66
+ value: Schema.String
67
+ }),
68
+ verificationRecords: Schema.Array(Schema.Struct({
69
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
70
+ name: Schema.String,
71
+ value: Schema.String
72
+ })),
73
+ verificationErrors: Schema.Array(Schema.String)
74
+ }))();
75
+ const TopicPublicationDomainsGet401 = UnauthorizedError;
76
+ const TopicPublicationDomainsGet403 = /* @__PURE__ */ (() => Schema.Union([ForbiddenError, FlagDisabledError]))();
77
+ const TopicPublicationDomainsGet404 = ResourceNotFoundError;
78
+ const TopicPublicationDomainsGet409 = ConflictError;
79
+ const TopicPublicationDomainsGet422 = ValidationError;
80
+ const TopicPublicationDomainsGet500 = InternalError;
81
+ const TopicPublicationDomainsGet504 = GatewayTimeoutError;
82
+ const TopicPublicationDomainsRemovePathParams = /* @__PURE__ */ (() => Schema.Struct({
83
+ id: TopicId,
84
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" }))
85
+ }))();
86
+ const TopicPublicationDomainsRemoveQuery = /* @__PURE__ */ (() => Schema.Struct({ idempotencyKey: Schema.String.annotate({ format: "uuid" }).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$", "u")).annotate({ expected: "a string matching the RegExp ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$" })) }))();
87
+ const TopicPublicationDomainsRemove200 = /* @__PURE__ */ (() => Schema.Struct({
88
+ organizationId: OrganizationId,
89
+ topicId: TopicId,
90
+ hostname: Schema.String.check(Schema.isMaxCodePoints(253).annotate({ expected: "a string with at most 253 code points" })).check(Schema.isPattern(/* @__PURE__ */ new RegExp("^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$", "u")).annotate({ expected: "a string matching the RegExp ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" })).check(Schema.isMaxLength(253).annotate({ expected: "a value with a length of at most 253" })),
91
+ canonicalHostname: Schema.String,
92
+ phase: Schema.Union([
93
+ Schema.Literal("pending"),
94
+ Schema.Literal("active"),
95
+ Schema.Literal("removing"),
96
+ Schema.Literal("removed"),
97
+ Schema.Literal("conflict")
98
+ ]),
99
+ active: Schema.Boolean,
100
+ hostnameStatus: Schema.Union([Schema.String, Schema.Null]),
101
+ sslStatus: Schema.Union([Schema.String, Schema.Null]),
102
+ cname: Schema.Struct({
103
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
104
+ name: Schema.String,
105
+ value: Schema.String
106
+ }),
107
+ verificationRecords: Schema.Array(Schema.Struct({
108
+ type: Schema.Union([Schema.Literal("CNAME"), Schema.Literal("TXT")]),
109
+ name: Schema.String,
110
+ value: Schema.String
111
+ })),
112
+ verificationErrors: Schema.Array(Schema.String)
113
+ }))();
114
+ const TopicPublicationDomainsRemove401 = UnauthorizedError;
115
+ const TopicPublicationDomainsRemove403 = /* @__PURE__ */ (() => Schema.Union([ForbiddenError, FlagDisabledError]))();
116
+ const TopicPublicationDomainsRemove404 = ResourceNotFoundError;
117
+ const TopicPublicationDomainsRemove409 = ConflictError;
118
+ const TopicPublicationDomainsRemove422 = ValidationError;
119
+ const TopicPublicationDomainsRemove500 = InternalError;
120
+ const TopicPublicationDomainsRemove504 = GatewayTimeoutError;
121
+ var PublicationDomainsGroup = class extends HttpApiGroup.make("Publication domains").add(HttpApiEndpoint.post("topicPublicationDomainsAdd", "/v1/topics/:id/publication/domains", {
122
+ params: TopicPublicationDomainsAddPathParams,
123
+ payload: TopicPublicationDomainsAddRequestJson,
124
+ success: TopicPublicationDomainsAdd200,
125
+ error: [
126
+ TopicPublicationDomainsAdd401.pipe(HttpApiSchema.status(401)),
127
+ TopicPublicationDomainsAdd403.pipe(HttpApiSchema.status(403)),
128
+ TopicPublicationDomainsAdd404.pipe(HttpApiSchema.status(404)),
129
+ TopicPublicationDomainsAdd409.pipe(HttpApiSchema.status(409)),
130
+ TopicPublicationDomainsAdd422.pipe(HttpApiSchema.status(422)),
131
+ TopicPublicationDomainsAdd500,
132
+ TopicPublicationDomainsAdd504.pipe(HttpApiSchema.status(504))
133
+ ]
134
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "topicPublicationDomains.add").annotate(OpenApi.Summary, "Add a publication domain").annotate(OpenApi.Description, "Claims a hostname for an opt-in topic with its public archive enabled and published. Requires issueWeb. Reuse the UUID idempotencyKey when retrying. The hostname serves no publication until Cloudflare confirms both ownership and SSL are active."), HttpApiEndpoint.get("topicPublicationDomainsGet", "/v1/topics/:id/publication/domains/:hostname", {
135
+ params: TopicPublicationDomainsGetPathParams,
136
+ success: TopicPublicationDomainsGet200,
137
+ error: [
138
+ TopicPublicationDomainsGet401.pipe(HttpApiSchema.status(401)),
139
+ TopicPublicationDomainsGet403.pipe(HttpApiSchema.status(403)),
140
+ TopicPublicationDomainsGet404.pipe(HttpApiSchema.status(404)),
141
+ TopicPublicationDomainsGet409.pipe(HttpApiSchema.status(409)),
142
+ TopicPublicationDomainsGet422.pipe(HttpApiSchema.status(422)),
143
+ TopicPublicationDomainsGet500,
144
+ TopicPublicationDomainsGet504.pipe(HttpApiSchema.status(504))
145
+ ]
146
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "topicPublicationDomains.get").annotate(OpenApi.Summary, "Get a publication domain").annotate(OpenApi.Description, "Rechecks ownership and certificate status, returning DNS verification records. Domains outside this topic's organization or namespace return 404."), HttpApiEndpoint.delete("topicPublicationDomainsRemove", "/v1/topics/:id/publication/domains/:hostname", {
147
+ params: TopicPublicationDomainsRemovePathParams,
148
+ query: TopicPublicationDomainsRemoveQuery,
149
+ success: TopicPublicationDomainsRemove200,
150
+ error: [
151
+ TopicPublicationDomainsRemove401.pipe(HttpApiSchema.status(401)),
152
+ TopicPublicationDomainsRemove403.pipe(HttpApiSchema.status(403)),
153
+ TopicPublicationDomainsRemove404.pipe(HttpApiSchema.status(404)),
154
+ TopicPublicationDomainsRemove409.pipe(HttpApiSchema.status(409)),
155
+ TopicPublicationDomainsRemove422.pipe(HttpApiSchema.status(422)),
156
+ TopicPublicationDomainsRemove500,
157
+ TopicPublicationDomainsRemove504.pipe(HttpApiSchema.status(504))
158
+ ]
159
+ }).middleware(ApiKeySecurityMiddleware).annotate(OpenApi.Identifier, "topicPublicationDomains.remove").annotate(OpenApi.Summary, "Remove a publication domain").annotate(OpenApi.Description, "Revokes publication lookup before removing the Cloudflare hostname. Reuse the UUID idempotencyKey query value on retries. Pending provider teardown is reported as removing. Removal remains available after the topic archive is disabled.")).annotate(OpenApi.Description, "Cloudflare for SaaS custom domains for public topic archives") {};
160
+ //#endregion
161
+ export { PublicationDomainsGroup, TopicPublicationDomainsAdd200, TopicPublicationDomainsAdd401, TopicPublicationDomainsAdd403, TopicPublicationDomainsAdd404, TopicPublicationDomainsAdd409, TopicPublicationDomainsAdd422, TopicPublicationDomainsAdd500, TopicPublicationDomainsAdd504, TopicPublicationDomainsAddPathParams, TopicPublicationDomainsAddRequestJson, TopicPublicationDomainsGet200, TopicPublicationDomainsGet401, TopicPublicationDomainsGet403, TopicPublicationDomainsGet404, TopicPublicationDomainsGet409, TopicPublicationDomainsGet422, TopicPublicationDomainsGet500, TopicPublicationDomainsGet504, TopicPublicationDomainsGetPathParams, TopicPublicationDomainsRemove200, TopicPublicationDomainsRemove401, TopicPublicationDomainsRemove403, TopicPublicationDomainsRemove404, TopicPublicationDomainsRemove409, TopicPublicationDomainsRemove422, TopicPublicationDomainsRemove500, TopicPublicationDomainsRemove504, TopicPublicationDomainsRemovePathParams, TopicPublicationDomainsRemoveQuery };
162
+
163
+ //# sourceMappingURL=publication-domains.js.map
@@ -3,11 +3,11 @@ import { ApiKeySecurityMiddleware, ConflictError, ConversationId, Cursor, EmailA
3
3
  import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/http-api";
4
4
  import * as Schema from "effect/Schema";
5
5
  //#region src/effect/generated/scheduled-messages.ts
6
- const ScheduledMessageId = /* @__PURE__ */ Schema.String.check(Schema.isPattern(/* @__PURE__ */ new RegExp("^sched_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
6
+ const ScheduledMessageId = /* @__PURE__ */ (() => Schema.String.check(Schema.isPattern(/* @__PURE__ */ new RegExp("^sched_[0-9a-hjkmnp-tv-z]{16,24}$", "u")).annotate({
7
7
  expected: "a string matching the RegExp ^sched_[0-9a-hjkmnp-tv-z]{16,24}$",
8
8
  identifier: "ScheduledMessageId"
9
- })).pipe(Schema.brand("ScheduledMessageId"));
10
- const EmailDispatchContent = /* @__PURE__ */ Schema.Struct({
9
+ })).pipe(Schema.brand("ScheduledMessageId")))();
10
+ const EmailDispatchContent = /* @__PURE__ */ (() => Schema.Struct({
11
11
  subject: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])),
12
12
  html: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])),
13
13
  text: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])),
@@ -25,8 +25,8 @@ const EmailDispatchContent = /* @__PURE__ */ Schema.Struct({
25
25
  tracking: Schema.optionalKey(EmailTrackingOverrideV1),
26
26
  footer: Schema.optionalKey(EmailFooterOverride),
27
27
  headers: Schema.optionalKey(Schema.Union([EmailCustomHeaders, Schema.Null]))
28
- }).annotate({ identifier: "EmailDispatchContent" });
29
- const SendMessagePayload = /* @__PURE__ */ Schema.Struct({
28
+ }).annotate({ identifier: "EmailDispatchContent" }))();
29
+ const SendMessagePayload = /* @__PURE__ */ (() => Schema.Struct({
30
30
  conversationId: Schema.optionalKey(Schema.Union([Schema.Union([ConversationId, Schema.Null]), Schema.Null])),
31
31
  metadata: Schema.optionalKey(MessageMetadata),
32
32
  channel: Schema.Literal("email"),
@@ -35,8 +35,8 @@ const SendMessagePayload = /* @__PURE__ */ Schema.Struct({
35
35
  bcc: Schema.optionalKey(EmailBccRecipients),
36
36
  from: Schema.optionalKey(EmailSender),
37
37
  email: EmailContent
38
- }).annotate({ identifier: "SendMessagePayload" });
39
- const DispatchSendMessagePayload = /* @__PURE__ */ Schema.Struct({
38
+ }).annotate({ identifier: "SendMessagePayload" }))();
39
+ const DispatchSendMessagePayload = /* @__PURE__ */ (() => Schema.Struct({
40
40
  conversationId: Schema.optionalKey(Schema.Union([Schema.Union([ConversationId, Schema.Null]), Schema.Null])),
41
41
  metadata: Schema.optionalKey(MessageMetadata),
42
42
  channel: Schema.Literal("email"),
@@ -45,8 +45,8 @@ const DispatchSendMessagePayload = /* @__PURE__ */ Schema.Struct({
45
45
  bcc: Schema.optionalKey(EmailBccRecipients),
46
46
  from: Schema.optionalKey(EmailSender),
47
47
  email: EmailDispatchContent
48
- }).annotate({ identifier: "DispatchSendMessagePayload" });
49
- const ScheduledMessage = /* @__PURE__ */ Schema.Struct({
48
+ }).annotate({ identifier: "DispatchSendMessagePayload" }))();
49
+ const ScheduledMessage = /* @__PURE__ */ (() => Schema.Struct({
50
50
  id: ScheduledMessageId,
51
51
  status: Schema.Union([
52
52
  Schema.Literal("pending"),
@@ -69,12 +69,12 @@ const ScheduledMessage = /* @__PURE__ */ Schema.Struct({
69
69
  memberRole: Schema.String,
70
70
  createdAt: Schema.String,
71
71
  updatedAt: Schema.String
72
- }).annotate({ identifier: "ScheduledMessage" });
73
- const ScheduledMessagePage = /* @__PURE__ */ Schema.Struct({
72
+ }).annotate({ identifier: "ScheduledMessage" }))();
73
+ const ScheduledMessagePage = /* @__PURE__ */ (() => Schema.Struct({
74
74
  items: Schema.Array(ScheduledMessage),
75
75
  nextCursor: Schema.Union([Schema.String, Schema.Null])
76
- }).annotate({ identifier: "ScheduledMessagePage" });
77
- const ScheduledMessagesListQuery = /* @__PURE__ */ Schema.Struct({
76
+ }).annotate({ identifier: "ScheduledMessagePage" }))();
77
+ const ScheduledMessagesListQuery = /* @__PURE__ */ (() => Schema.Struct({
78
78
  limit: Schema.optionalKey(Schema.Union([Schema.Finite.annotate({ description: "Items per page, at most 100." }).check(Schema.isInt().annotate({ expected: "an integer" })).check(Schema.isLessThanOrEqualTo(100).annotate({ expected: "a value less than or equal to 100" })).check(Schema.isGreaterThan(0).annotate({ expected: "a value greater than 0" })), Schema.Null])),
79
79
  cursor: Schema.optionalKey(Schema.Union([Cursor, Schema.Null])),
80
80
  status: Schema.optionalKey(Schema.Union([Schema.Union([
@@ -85,29 +85,29 @@ const ScheduledMessagesListQuery = /* @__PURE__ */ Schema.Struct({
85
85
  Schema.Literal("cancelled"),
86
86
  Schema.Literal("failed")
87
87
  ]), Schema.Null]))
88
- });
88
+ }))();
89
89
  const ScheduledMessagesList200 = ScheduledMessagePage;
90
90
  const ScheduledMessagesList401 = UnauthorizedError;
91
91
  const ScheduledMessagesList403 = ForbiddenError;
92
92
  const ScheduledMessagesList422 = ValidationError;
93
93
  const ScheduledMessagesList500 = InternalError;
94
94
  const ScheduledMessagesList504 = GatewayTimeoutError;
95
- const ScheduledMessagesCreateRequestJson = /* @__PURE__ */ Schema.Struct({
95
+ const ScheduledMessagesCreateRequestJson = /* @__PURE__ */ (() => Schema.Struct({
96
96
  send: DispatchSendMessagePayload,
97
97
  scheduledFor: AbsoluteInstant,
98
98
  timezone: Schema.optionalKey(Schema.Union([IanaTimezone, Schema.Null])),
99
99
  idempotencyKey: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])),
100
100
  referenceId: Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]))
101
- });
101
+ }))();
102
102
  const ScheduledMessagesCreate201 = ScheduledMessage;
103
103
  const ScheduledMessagesCreate401 = UnauthorizedError;
104
- const ScheduledMessagesCreate403 = /* @__PURE__ */ Schema.Union([FlagDisabledError, ForbiddenError]);
104
+ const ScheduledMessagesCreate403 = /* @__PURE__ */ (() => Schema.Union([FlagDisabledError, ForbiddenError]))();
105
105
  const ScheduledMessagesCreate409 = ConflictError;
106
106
  const ScheduledMessagesCreate422 = ValidationError;
107
107
  const ScheduledMessagesCreate500 = InternalError;
108
108
  const ScheduledMessagesCreate502 = ExternalServiceError;
109
109
  const ScheduledMessagesCreate504 = GatewayTimeoutError;
110
- const ScheduledMessagesGetPathParams = /* @__PURE__ */ Schema.Struct({ id: ScheduledMessageId });
110
+ const ScheduledMessagesGetPathParams = /* @__PURE__ */ (() => Schema.Struct({ id: ScheduledMessageId }))();
111
111
  const ScheduledMessagesGet200 = ScheduledMessage;
112
112
  const ScheduledMessagesGet401 = UnauthorizedError;
113
113
  const ScheduledMessagesGet403 = ForbiddenError;
@@ -115,11 +115,11 @@ const ScheduledMessagesGet404 = ResourceNotFoundError;
115
115
  const ScheduledMessagesGet422 = ValidationError;
116
116
  const ScheduledMessagesGet500 = InternalError;
117
117
  const ScheduledMessagesGet504 = GatewayTimeoutError;
118
- const ScheduledMessagesCancelPathParams = /* @__PURE__ */ Schema.Struct({ id: ScheduledMessageId });
119
- const ScheduledMessagesCancel200 = /* @__PURE__ */ Schema.Struct({
118
+ const ScheduledMessagesCancelPathParams = /* @__PURE__ */ (() => Schema.Struct({ id: ScheduledMessageId }))();
119
+ const ScheduledMessagesCancel200 = /* @__PURE__ */ (() => Schema.Struct({
120
120
  success: Schema.Boolean,
121
121
  item: ScheduledMessage
122
- });
122
+ }))();
123
123
  const ScheduledMessagesCancel401 = UnauthorizedError;
124
124
  const ScheduledMessagesCancel403 = ForbiddenError;
125
125
  const ScheduledMessagesCancel404 = ResourceNotFoundError;
@@ -127,17 +127,17 @@ const ScheduledMessagesCancel409 = ConflictError;
127
127
  const ScheduledMessagesCancel422 = ValidationError;
128
128
  const ScheduledMessagesCancel500 = InternalError;
129
129
  const ScheduledMessagesCancel504 = GatewayTimeoutError;
130
- const ScheduledMessagesResumePathParams = /* @__PURE__ */ Schema.Struct({ id: ScheduledMessageId });
131
- const ScheduledMessagesResumeRequestJson = /* @__PURE__ */ Schema.Union([Schema.Struct({ choice: Schema.Literal("send_now") }), Schema.Struct({
130
+ const ScheduledMessagesResumePathParams = /* @__PURE__ */ (() => Schema.Struct({ id: ScheduledMessageId }))();
131
+ const ScheduledMessagesResumeRequestJson = /* @__PURE__ */ (() => Schema.Union([Schema.Struct({ choice: Schema.Literal("send_now") }), Schema.Struct({
132
132
  choice: Schema.Literal("new_time"),
133
133
  scheduledFor: AbsoluteInstant
134
- })]);
134
+ })]))();
135
135
  const ScheduledMessagesResume200 = ScheduledMessage;
136
136
  const ScheduledMessagesResume401 = UnauthorizedError;
137
137
  const ScheduledMessagesResume403 = ForbiddenError;
138
138
  const ScheduledMessagesResume404 = ResourceNotFoundError;
139
139
  const ScheduledMessagesResume409 = ConflictError;
140
- const ScheduledMessagesResume422 = /* @__PURE__ */ Schema.Union([FromAddressRequiredError, ValidationError]);
140
+ const ScheduledMessagesResume422 = /* @__PURE__ */ (() => Schema.Union([FromAddressRequiredError, ValidationError]))();
141
141
  const ScheduledMessagesResume500 = InternalError;
142
142
  const ScheduledMessagesResume502 = ExternalServiceError;
143
143
  const ScheduledMessagesResume503 = SenderNotReadyError;
@@ -257,6 +257,36 @@ export declare class FlagDisabledError extends FlagDisabledError_base {
257
257
  }
258
258
  export type EmailDomainId = string & EffectBrand.Brand<"EmailDomainId">;
259
259
  export declare const EmailDomainId: Schema.brand<Schema.String, "EmailDomainId">;
260
+ declare const TemplateSourceError_base: Schema.Class<TemplateSourceError, Schema.Struct<{
261
+ readonly _tag: Schema.tag<"TemplateSourceError">;
262
+ readonly message: Schema.String;
263
+ readonly diagnostics: Schema.$Array<Schema.Struct<{
264
+ readonly code: Schema.String;
265
+ readonly severity: Schema.Union<readonly [Schema.Literal<"error">, Schema.Literal<"warning">, Schema.Literal<"info">]>;
266
+ readonly message: Schema.String;
267
+ readonly origins: Schema.$Array<Schema.Struct<{
268
+ readonly fileName: Schema.String;
269
+ readonly lineNumber: Schema.Finite;
270
+ readonly columnNumber: Schema.Finite;
271
+ }>>;
272
+ readonly clients: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
273
+ readonly notes: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
274
+ readonly provenance: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
275
+ readonly fixtures: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
276
+ readonly occurrences: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.$Array<Schema.Struct<{
277
+ readonly fileName: Schema.String;
278
+ readonly lineNumber: Schema.Finite;
279
+ readonly columnNumber: Schema.Finite;
280
+ }>>>, Schema.Null]>>;
281
+ readonly compatibility: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
282
+ readonly assessment: Schema.Union<readonly [Schema.Literal<"risk">, Schema.Literal<"degradation">, Schema.Literal<"unverified">, Schema.Literal<"not-applicable">]>;
283
+ readonly title: Schema.String;
284
+ }>, Schema.Null]>>;
285
+ }>>;
286
+ readonly revision: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
287
+ }>, import("effect/Cause").YieldableError>;
288
+ export declare class TemplateSourceError extends TemplateSourceError_base {
289
+ }
260
290
  declare const FromAddressRequiredError_base: Schema.Class<FromAddressRequiredError, Schema.Struct<{
261
291
  readonly _tag: Schema.tag<"FromAddressRequiredError">;
262
292
  readonly message: Schema.String;
@@ -542,6 +572,8 @@ export declare const OperationResource: Schema.Struct<{
542
572
  readonly type: Schema.String;
543
573
  readonly id: Schema.String;
544
574
  }>;
575
+ export type TemplateProjectId = string & EffectBrand.Brand<"TemplateProjectId">;
576
+ export declare const TemplateProjectId: Schema.brand<Schema.String, "TemplateProjectId">;
545
577
  export type TemplateFromDefault = {
546
578
  readonly email: string;
547
579
  readonly name?: string | null;
@@ -558,36 +590,6 @@ export declare const TemplateTrackingDefault: Schema.Struct<{
558
590
  readonly opens: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
559
591
  readonly clicks: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
560
592
  }>;
561
- declare const TemplateSourceError_base: Schema.Class<TemplateSourceError, Schema.Struct<{
562
- readonly _tag: Schema.tag<"TemplateSourceError">;
563
- readonly message: Schema.String;
564
- readonly diagnostics: Schema.$Array<Schema.Struct<{
565
- readonly code: Schema.String;
566
- readonly severity: Schema.Union<readonly [Schema.Literal<"error">, Schema.Literal<"warning">, Schema.Literal<"info">]>;
567
- readonly message: Schema.String;
568
- readonly origins: Schema.$Array<Schema.Struct<{
569
- readonly fileName: Schema.String;
570
- readonly lineNumber: Schema.Finite;
571
- readonly columnNumber: Schema.Finite;
572
- }>>;
573
- readonly clients: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
574
- readonly notes: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
575
- readonly provenance: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
576
- readonly fixtures: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.String>, Schema.Null]>>;
577
- readonly occurrences: Schema.optionalKey<Schema.Union<readonly [Schema.$Array<Schema.$Array<Schema.Struct<{
578
- readonly fileName: Schema.String;
579
- readonly lineNumber: Schema.Finite;
580
- readonly columnNumber: Schema.Finite;
581
- }>>>, Schema.Null]>>;
582
- readonly compatibility: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
583
- readonly assessment: Schema.Union<readonly [Schema.Literal<"risk">, Schema.Literal<"degradation">, Schema.Literal<"unverified">, Schema.Literal<"not-applicable">]>;
584
- readonly title: Schema.String;
585
- }>, Schema.Null]>>;
586
- }>>;
587
- readonly revision: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
588
- }>, import("effect/Cause").YieldableError>;
589
- export declare class TemplateSourceError extends TemplateSourceError_base {
590
- }
591
593
  export type TopicContactByEmail = {
592
594
  readonly email: string;
593
595
  };
@@ -784,6 +786,72 @@ export declare const TopicFormUpdatePayload: Schema.Struct<{
784
786
  readonly successMessage: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
785
787
  readonly redirectUrl: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
786
788
  }>;
789
+ export type TopicIssueCheckPayload = {
790
+ readonly path: string;
791
+ readonly expectedRevision: string;
792
+ };
793
+ export declare const TopicIssueCheckPayload: Schema.Struct<{
794
+ readonly path: Schema.String;
795
+ readonly expectedRevision: Schema.String;
796
+ }>;
797
+ export type TopicIssueCreatePayload = {
798
+ readonly path: string;
799
+ readonly content: string;
800
+ readonly idempotencyKey: string;
801
+ readonly expectedRevision?: string | null;
802
+ };
803
+ export declare const TopicIssueCreatePayload: Schema.Struct<{
804
+ readonly path: Schema.String;
805
+ readonly content: Schema.String;
806
+ readonly idempotencyKey: Schema.String;
807
+ readonly expectedRevision: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
808
+ }>;
809
+ export type TopicIssueRemovePayload = {
810
+ readonly path: string;
811
+ readonly idempotencyKey: string;
812
+ readonly expectedRevision: string;
813
+ };
814
+ export declare const TopicIssueRemovePayload: Schema.Struct<{
815
+ readonly path: Schema.String;
816
+ readonly idempotencyKey: Schema.String;
817
+ readonly expectedRevision: Schema.String;
818
+ }>;
819
+ export type TopicIssueRenderPayload = {
820
+ readonly path: string;
821
+ readonly expectedRevision: string;
822
+ readonly fixture: string;
823
+ readonly target: "email" | "web";
824
+ };
825
+ export declare const TopicIssueRenderPayload: Schema.Struct<{
826
+ readonly path: Schema.String;
827
+ readonly expectedRevision: Schema.String;
828
+ readonly fixture: Schema.String;
829
+ readonly target: Schema.Union<readonly [Schema.Literal<"email">, Schema.Literal<"web">]>;
830
+ }>;
831
+ export type TopicIssueSavePayload = {
832
+ readonly expectedRevision: string;
833
+ readonly expectedHead: string;
834
+ readonly message: string;
835
+ readonly idempotencyKey: string;
836
+ };
837
+ export declare const TopicIssueSavePayload: Schema.Struct<{
838
+ readonly expectedRevision: Schema.String;
839
+ readonly expectedHead: Schema.String;
840
+ readonly message: Schema.String;
841
+ readonly idempotencyKey: Schema.String;
842
+ }>;
843
+ export type TopicIssueUpdatePayload = {
844
+ readonly path: string;
845
+ readonly content: string;
846
+ readonly idempotencyKey: string;
847
+ readonly expectedRevision: string;
848
+ };
849
+ export declare const TopicIssueUpdatePayload: Schema.Struct<{
850
+ readonly path: Schema.String;
851
+ readonly content: Schema.String;
852
+ readonly idempotencyKey: Schema.String;
853
+ readonly expectedRevision: Schema.String;
854
+ }>;
787
855
  export type UpdateDomainWarmingPolicyPayload = {
788
856
  readonly dailyGrowthPercent: number;
789
857
  readonly targetDailyRecipients: number;
@@ -1177,6 +1245,30 @@ export declare const JourneyGroupJoinedTrigger: Schema.Struct<{
1177
1245
  readonly type: Schema.Literal<"contact.joined_group">;
1178
1246
  readonly groupId: Schema.brand<Schema.String, "ContactGroupId">;
1179
1247
  }>;
1248
+ export type CampaignLatestRun = {
1249
+ readonly id: CampaignRunId;
1250
+ readonly status: "scheduled" | "resolving" | "dispatching" | "paused" | "completed" | "cancelled" | "failed";
1251
+ readonly scheduledFor: string;
1252
+ readonly completedAt: string | null;
1253
+ readonly totalRecipients: number;
1254
+ readonly dispatchedCount: number;
1255
+ readonly failedCount: number;
1256
+ readonly skippedCount: number;
1257
+ readonly pendingCount: number;
1258
+ readonly estimatedCompletionAt: string | null;
1259
+ };
1260
+ export declare const CampaignLatestRun: Schema.Struct<{
1261
+ readonly id: Schema.brand<Schema.String, "CampaignRunId">;
1262
+ readonly status: Schema.Union<readonly [Schema.Literal<"scheduled">, Schema.Literal<"resolving">, Schema.Literal<"dispatching">, Schema.Literal<"paused">, Schema.Literal<"completed">, Schema.Literal<"cancelled">, Schema.Literal<"failed">]>;
1263
+ readonly scheduledFor: Schema.String;
1264
+ readonly completedAt: Schema.Union<readonly [Schema.String, Schema.Null]>;
1265
+ readonly totalRecipients: Schema.Finite;
1266
+ readonly dispatchedCount: Schema.Finite;
1267
+ readonly failedCount: Schema.Finite;
1268
+ readonly skippedCount: Schema.Finite;
1269
+ readonly pendingCount: Schema.Finite;
1270
+ readonly estimatedCompletionAt: Schema.Union<readonly [Schema.String, Schema.Null]>;
1271
+ }>;
1180
1272
  export type MessageSummary = {
1181
1273
  readonly id: MessageId;
1182
1274
  readonly campaign?: {
@@ -1222,6 +1314,8 @@ export type TopicCreatePayload = {
1222
1314
  readonly description?: string | null | null;
1223
1315
  readonly namespaceId?: NamespaceId | null | null;
1224
1316
  readonly default?: "opt_out" | "opt_in" | null;
1317
+ readonly archiveEnabled?: boolean | null;
1318
+ readonly publicationSlug?: string | null | null;
1225
1319
  readonly defaultSenderId?: EmailSenderId | null | null;
1226
1320
  readonly replyMailboxId?: MailboxId | null | null;
1227
1321
  readonly templateId?: TemplateId | null | null;
@@ -1231,6 +1325,8 @@ export declare const TopicCreatePayload: Schema.Struct<{
1231
1325
  readonly description: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1232
1326
  readonly namespaceId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "NamespaceId">, Schema.Null]>, Schema.Null]>>;
1233
1327
  readonly default: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"opt_out">, Schema.Literal<"opt_in">]>, Schema.Null]>>;
1328
+ readonly archiveEnabled: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1329
+ readonly publicationSlug: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1234
1330
  readonly defaultSenderId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "EmailSenderId">, Schema.Null]>, Schema.Null]>>;
1235
1331
  readonly replyMailboxId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "MailboxId">, Schema.Null]>, Schema.Null]>>;
1236
1332
  readonly templateId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "TemplateId">, Schema.Null]>, Schema.Null]>>;
@@ -1239,6 +1335,8 @@ export type TopicUpdatePayload = {
1239
1335
  readonly name?: string | null;
1240
1336
  readonly description?: string | null | null;
1241
1337
  readonly default?: "opt_out" | "opt_in" | null;
1338
+ readonly archiveEnabled?: boolean | null;
1339
+ readonly publicationSlug?: string | null | null;
1242
1340
  readonly defaultSenderId?: EmailSenderId | null | null;
1243
1341
  readonly replyMailboxId?: MailboxId | null | null;
1244
1342
  readonly templateId?: TemplateId | null | null;
@@ -1247,6 +1345,8 @@ export declare const TopicUpdatePayload: Schema.Struct<{
1247
1345
  readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
1248
1346
  readonly description: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1249
1347
  readonly default: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.Literal<"opt_out">, Schema.Literal<"opt_in">]>, Schema.Null]>>;
1348
+ readonly archiveEnabled: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Null]>>;
1349
+ readonly publicationSlug: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Null]>, Schema.Null]>>;
1250
1350
  readonly defaultSenderId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "EmailSenderId">, Schema.Null]>, Schema.Null]>>;
1251
1351
  readonly replyMailboxId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "MailboxId">, Schema.Null]>, Schema.Null]>>;
1252
1352
  readonly templateId: Schema.optionalKey<Schema.Union<readonly [Schema.Union<readonly [Schema.brand<Schema.String, "TemplateId">, Schema.Null]>, Schema.Null]>>;
@@ -2650,6 +2750,10 @@ export declare const ReplaceAgentDraftPayload: Schema.Struct<{
2650
2750
  export type CampaignContentInput = {
2651
2751
  readonly channel: "email";
2652
2752
  readonly email: CampaignEmailInput;
2753
+ readonly issue?: {
2754
+ readonly path: string;
2755
+ readonly commit: string;
2756
+ } | null;
2653
2757
  readonly from?: CampaignFrom;
2654
2758
  readonly replyMailboxId?: CampaignReplyMailbox;
2655
2759
  readonly conversationId?: CampaignConversationRef;
@@ -2688,6 +2792,10 @@ export declare const CampaignContentInput: Schema.Struct<{
2688
2792
  readonly headers: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.String>, Schema.Null]>>;
2689
2793
  readonly preheader: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
2690
2794
  }>;
2795
+ readonly issue: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
2796
+ readonly path: Schema.String;
2797
+ readonly commit: Schema.String;
2798
+ }>, Schema.Null]>>;
2691
2799
  readonly from: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
2692
2800
  readonly email: Schema.String;
2693
2801
  readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
@@ -2889,6 +2997,10 @@ export declare const CampaignComposition: Schema.Struct<{
2889
2997
  readonly headers: Schema.optionalKey<Schema.Union<readonly [Schema.$Record<Schema.String, Schema.String>, Schema.Null]>>;
2890
2998
  readonly preheader: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;
2891
2999
  }>;
3000
+ readonly issue: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
3001
+ readonly path: Schema.String;
3002
+ readonly commit: Schema.String;
3003
+ }>, Schema.Null]>>;
2892
3004
  readonly from: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
2893
3005
  readonly email: Schema.String;
2894
3006
  readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.Null]>>;