samva 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +14 -3
  3. package/dist/client/sdk.gen.d.ts +321 -129
  4. package/dist/client/types.gen.d.ts +1818 -777
  5. package/dist/{client-BqkU-sFv.js → client-BmZK_uCt.js} +2699 -1839
  6. package/dist/client-attribution-BslSOa_8.js +9 -0
  7. package/dist/client-attribution.d.ts +2 -0
  8. package/dist/effect/api-keys.d.ts +51 -51
  9. package/dist/effect/api-keys.js +1 -1
  10. package/dist/effect/campaigns.d.ts +320 -1005
  11. package/dist/effect/campaigns.js +1 -1
  12. package/dist/effect/categories.d.ts +6 -6
  13. package/dist/effect/client.js +1 -1
  14. package/dist/effect/contacts.d.ts +292 -314
  15. package/dist/effect/contacts.js +1 -1
  16. package/dist/effect/conversations.d.ts +305 -437
  17. package/dist/effect/conversations.js +1 -1
  18. package/dist/effect/design.d.ts +74 -74
  19. package/dist/effect/design.js +1 -1
  20. package/dist/effect/email.d.ts +233 -265
  21. package/dist/effect/email.js +2 -2
  22. package/dist/effect/generated.d.ts +13410 -14526
  23. package/dist/effect/index.d.ts +1 -0
  24. package/dist/effect/index.js +3 -2
  25. package/dist/effect/internal/client.d.ts +1 -1
  26. package/dist/effect/internal/operation.d.ts +32 -129
  27. package/dist/effect/media.d.ts +80 -0
  28. package/dist/effect/media.js +19 -0
  29. package/dist/effect/messages.d.ts +90 -307
  30. package/dist/effect/messages.js +1 -1
  31. package/dist/effect/operations.d.ts +17 -17
  32. package/dist/effect/operations.js +1 -1
  33. package/dist/effect/organizations.d.ts +162 -180
  34. package/dist/effect/organizations.js +1 -1
  35. package/dist/effect/runtime.d.ts +0 -2
  36. package/dist/effect/scheduled-messages.d.ts +242 -639
  37. package/dist/effect/scheduled-messages.js +1 -1
  38. package/dist/effect/templates.d.ts +1376 -2033
  39. package/dist/effect/templates.js +40 -30
  40. package/dist/effect/webhooks.d.ts +53 -54
  41. package/dist/effect/webhooks.js +2 -2
  42. package/dist/index.js +1 -1
  43. package/dist/{normalize-LkWl4HUF.js → normalize-BiIJnycv.js} +6 -15
  44. package/dist/normalize.d.ts +3 -33
  45. package/dist/{operation-Ccqh_yxb.js → operation-B1knNlxk.js} +83 -38
  46. package/dist/promises/index.d.ts +13 -21
  47. package/dist/promises/index.js +1 -1
  48. package/dist/promises/types.gen.d.ts +1 -1
  49. package/dist/{promises-Dgv8UmCC.js → promises-n1opem5V.js} +572 -184
  50. package/dist/service-map.d.ts +96 -44
  51. package/package.json +23 -19
@@ -1,74 +1,33 @@
1
1
  export { CreateTemplatePayload as CreatePayload, UpdateTemplatePayload as UpdatePayload, } from "./generated";
2
2
  export declare const list: ((input?: {
3
- readonly channel?: string | null | undefined;
4
- readonly limit?: string | null | undefined;
5
- readonly search?: string | null | undefined;
6
- readonly status?: string | null | undefined;
7
3
  readonly page?: string | null | undefined;
4
+ readonly limit?: string | null | undefined;
8
5
  readonly category?: string | null | undefined;
6
+ readonly channel?: string | null | undefined;
7
+ readonly status?: string | null | undefined;
8
+ readonly search?: string | null | undefined;
9
9
  readonly sortBy?: string | null | undefined;
10
10
  readonly sortOrder?: string | null | undefined;
11
11
  } | undefined) => import("effect/Effect").Effect<{
12
12
  readonly items: readonly {
13
- readonly sms: {
14
- readonly body: string;
15
- readonly encoding: string | null;
16
- readonly estimatedSegments: number | null;
17
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
13
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
14
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
15
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
16
+ readonly entryPath: string;
17
+ readonly name: string;
18
+ readonly slug: string;
19
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
20
+ readonly channel: "email";
21
+ readonly description: string | null;
22
+ readonly category: string | null;
23
+ readonly fromDefault?: {
24
+ readonly email: string;
25
+ readonly name?: string | null;
18
26
  } | null;
19
- readonly whatsapp: {
20
- readonly name: string;
21
- readonly language: string;
22
- readonly category: "marketing" | "utility" | "authentication" | "service";
23
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
24
- readonly headerMediaType: string | null;
25
- readonly headerContent: string | null;
26
- readonly bodyContent: string;
27
- readonly footerContent: string | null;
28
- readonly components: readonly {
29
- readonly type: "body" | "button" | "header" | "footer";
30
- readonly text?: string | null;
31
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
32
- readonly example?: {
33
- readonly header_text?: readonly string[] | null;
34
- readonly body_text?: readonly (readonly string[])[] | null;
35
- } | null;
36
- readonly buttons?: readonly {
37
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
38
- readonly url?: string | null;
39
- readonly text?: string | null;
40
- readonly example?: string | null;
41
- readonly phone_number?: string | null;
42
- }[] | null;
43
- readonly parameters?: readonly {
44
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
45
- readonly text?: string | null;
46
- readonly image?: {
47
- readonly link: string;
48
- } | null;
49
- readonly video?: {
50
- readonly link: string;
51
- } | null;
52
- readonly document?: {
53
- readonly link: string;
54
- readonly filename?: string | null;
55
- } | null;
56
- readonly currency?: {
57
- readonly fallback_value: string;
58
- readonly code: string;
59
- readonly amount_1000: number;
60
- } | null;
61
- readonly date_time?: {
62
- readonly fallback_value: string;
63
- } | null;
64
- }[] | null;
65
- }[] | null;
66
- readonly buttons: readonly {
67
- readonly [x: string]: import("./generated").JsonValue;
68
- }[] | null;
69
- readonly examples: {
70
- readonly [x: string]: import("./generated").JsonValue;
71
- } | null;
27
+ readonly replyToDefault?: readonly string[] | null;
28
+ readonly trackingDefault?: {
29
+ readonly opens?: boolean | null;
30
+ readonly clicks?: boolean | null;
72
31
  } | null;
73
32
  readonly email: {
74
33
  readonly subject: string;
@@ -77,139 +36,37 @@ export declare const list: ((input?: {
77
36
  readonly [x: string]: string;
78
37
  } | null;
79
38
  } | null;
80
- readonly name: string;
81
- readonly createdAt: string;
82
- readonly updatedAt: string;
83
- readonly usageCount: number;
84
- readonly lastUsedAt: string | null;
85
- readonly channel: "sms" | "whatsapp" | "email";
86
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
87
- readonly origin: "dashboard" | "tsx";
88
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
89
- readonly description: string | null;
90
- readonly status: string;
91
- readonly isDefault: boolean;
92
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
93
- readonly isActive: boolean;
94
- readonly category: string | null;
95
- readonly slug: string;
96
- readonly version: number;
97
- readonly variableSchema: readonly {
98
- readonly name: string;
99
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
100
- readonly required: boolean;
101
- readonly validation?: {
102
- readonly enum?: readonly string[] | null;
103
- readonly pattern?: string | null;
104
- readonly min?: number | null;
105
- readonly max?: number | null;
106
- readonly minLength?: number | null;
107
- readonly maxLength?: number | null;
108
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
109
- } | null;
110
- readonly default?: import("./generated").JsonValue;
111
- readonly description?: string | null;
112
- }[] | null;
39
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
40
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
41
+ readonly inputSchema: {
42
+ readonly [x: string]: import("./generated").JsonValue;
43
+ } | null;
113
44
  readonly compliance: {
114
- readonly dltTemplateId?: string | null;
115
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
116
- readonly dltApprovedAt?: string | null;
117
- readonly whatsappTemplateId?: string | null;
118
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
119
- readonly whatsappApprovedAt?: string | null;
120
45
  readonly metaStatus?: string | null;
121
46
  readonly submittedAt?: string | null;
122
47
  readonly qualityScore?: string | null;
123
48
  readonly rejectedReason?: string | null;
124
49
  readonly lastSyncedAt?: string | null;
125
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
50
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
126
51
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
127
52
  readonly approvedAt?: string | null;
128
53
  readonly approvalNotes?: string | null;
129
54
  readonly regulatoryRequirements?: readonly {
130
- readonly status: "pending" | "compliant" | "non_compliant";
131
55
  readonly region: string;
132
56
  readonly requirement: string;
57
+ readonly status: "compliant" | "non_compliant" | "pending";
133
58
  readonly notes?: string | null;
134
59
  }[] | null;
135
60
  } | null;
136
- readonly designOverrides: {
137
- readonly footer?: {
138
- readonly address?: {
139
- readonly region: string;
140
- readonly street1: string;
141
- readonly city: string;
142
- readonly postalCode: string;
143
- readonly country: string;
144
- readonly street2?: string | null;
145
- } | null;
146
- readonly companyName?: string | null;
147
- readonly socialLinks?: readonly {
148
- readonly label: string;
149
- readonly url: string;
150
- }[] | null;
151
- readonly customHtml?: string | null;
152
- } | null;
153
- readonly theme?: {
154
- readonly text?: {
155
- readonly [x: string]: {
156
- readonly sizePx: number;
157
- readonly lineHeightPx: number;
158
- };
159
- } | null;
160
- readonly tracking?: {
161
- readonly [x: string]: number;
162
- } | null;
163
- readonly colors?: {
164
- readonly [x: string]: string;
165
- } | null;
166
- readonly colorsDark?: {
167
- readonly [x: string]: string;
168
- } | null;
169
- readonly radiusPx?: {
170
- readonly [x: string]: number;
171
- } | null;
172
- readonly fontFamilies?: {
173
- readonly [x: string]: {
174
- readonly family: string;
175
- readonly source: "system" | "google" | "custom";
176
- readonly fallback: string;
177
- readonly faces?: readonly {
178
- readonly style: "normal" | "italic";
179
- readonly weight: number;
180
- readonly src: string;
181
- readonly unicodeRange?: string | null;
182
- }[] | null;
183
- };
184
- } | null;
185
- readonly fontWeights?: {
186
- readonly [x: string]: number;
187
- } | null;
188
- readonly leading?: {
189
- readonly [x: string]: number;
190
- } | null;
191
- readonly spacingPx?: number | null;
192
- readonly containerPx?: {
193
- readonly [x: string]: number;
194
- } | null;
195
- } | null;
196
- readonly assets?: {
197
- readonly logoUrl?: string | null;
198
- readonly logoDarkUrl?: string | null;
199
- readonly iconUrl?: string | null;
200
- } | null;
201
- } | null;
202
- readonly replyToDefault?: readonly string[] | null;
203
- readonly fromDefault?: {
204
- readonly email: string;
205
- readonly name?: string | null;
206
- } | null;
207
- readonly trackingDefault?: {
208
- readonly opens?: boolean | null;
209
- readonly clicks?: boolean | null;
210
- } | null;
61
+ readonly usageCount: number;
62
+ readonly lastUsedAt: string | null;
63
+ readonly status: string;
64
+ readonly isActive: boolean;
65
+ readonly isDefault: boolean;
211
66
  readonly publishedAt?: string | null;
212
67
  readonly publishedBy?: string | null;
68
+ readonly createdAt: string;
69
+ readonly updatedAt: string;
213
70
  }[];
214
71
  readonly pagination: {
215
72
  readonly page: number;
@@ -217,77 +74,36 @@ export declare const list: ((input?: {
217
74
  readonly total: number;
218
75
  readonly totalPages: number;
219
76
  };
220
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>) & {
77
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
221
78
  readonly pages: (input?: {
222
- readonly channel?: string | null | undefined;
223
- readonly limit?: string | null | undefined;
224
- readonly search?: string | null | undefined;
225
- readonly status?: string | null | undefined;
226
79
  readonly page?: string | null | undefined;
80
+ readonly limit?: string | null | undefined;
227
81
  readonly category?: string | null | undefined;
82
+ readonly channel?: string | null | undefined;
83
+ readonly status?: string | null | undefined;
84
+ readonly search?: string | null | undefined;
228
85
  readonly sortBy?: string | null | undefined;
229
86
  readonly sortOrder?: string | null | undefined;
230
87
  } | undefined) => import("effect/Stream").Stream<{
231
88
  readonly items: readonly {
232
- readonly sms: {
233
- readonly body: string;
234
- readonly encoding: string | null;
235
- readonly estimatedSegments: number | null;
236
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
89
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
90
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
91
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
92
+ readonly entryPath: string;
93
+ readonly name: string;
94
+ readonly slug: string;
95
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
96
+ readonly channel: "email";
97
+ readonly description: string | null;
98
+ readonly category: string | null;
99
+ readonly fromDefault?: {
100
+ readonly email: string;
101
+ readonly name?: string | null;
237
102
  } | null;
238
- readonly whatsapp: {
239
- readonly name: string;
240
- readonly language: string;
241
- readonly category: "marketing" | "utility" | "authentication" | "service";
242
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
243
- readonly headerMediaType: string | null;
244
- readonly headerContent: string | null;
245
- readonly bodyContent: string;
246
- readonly footerContent: string | null;
247
- readonly components: readonly {
248
- readonly type: "body" | "button" | "header" | "footer";
249
- readonly text?: string | null;
250
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
251
- readonly example?: {
252
- readonly header_text?: readonly string[] | null;
253
- readonly body_text?: readonly (readonly string[])[] | null;
254
- } | null;
255
- readonly buttons?: readonly {
256
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
257
- readonly url?: string | null;
258
- readonly text?: string | null;
259
- readonly example?: string | null;
260
- readonly phone_number?: string | null;
261
- }[] | null;
262
- readonly parameters?: readonly {
263
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
264
- readonly text?: string | null;
265
- readonly image?: {
266
- readonly link: string;
267
- } | null;
268
- readonly video?: {
269
- readonly link: string;
270
- } | null;
271
- readonly document?: {
272
- readonly link: string;
273
- readonly filename?: string | null;
274
- } | null;
275
- readonly currency?: {
276
- readonly fallback_value: string;
277
- readonly code: string;
278
- readonly amount_1000: number;
279
- } | null;
280
- readonly date_time?: {
281
- readonly fallback_value: string;
282
- } | null;
283
- }[] | null;
284
- }[] | null;
285
- readonly buttons: readonly {
286
- readonly [x: string]: import("./generated").JsonValue;
287
- }[] | null;
288
- readonly examples: {
289
- readonly [x: string]: import("./generated").JsonValue;
290
- } | null;
103
+ readonly replyToDefault?: readonly string[] | null;
104
+ readonly trackingDefault?: {
105
+ readonly opens?: boolean | null;
106
+ readonly clicks?: boolean | null;
291
107
  } | null;
292
108
  readonly email: {
293
109
  readonly subject: string;
@@ -296,139 +112,37 @@ export declare const list: ((input?: {
296
112
  readonly [x: string]: string;
297
113
  } | null;
298
114
  } | null;
299
- readonly name: string;
300
- readonly createdAt: string;
301
- readonly updatedAt: string;
302
- readonly usageCount: number;
303
- readonly lastUsedAt: string | null;
304
- readonly channel: "sms" | "whatsapp" | "email";
305
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
306
- readonly origin: "dashboard" | "tsx";
307
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
308
- readonly description: string | null;
309
- readonly status: string;
310
- readonly isDefault: boolean;
311
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
312
- readonly isActive: boolean;
313
- readonly category: string | null;
314
- readonly slug: string;
315
- readonly version: number;
316
- readonly variableSchema: readonly {
317
- readonly name: string;
318
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
319
- readonly required: boolean;
320
- readonly validation?: {
321
- readonly enum?: readonly string[] | null;
322
- readonly pattern?: string | null;
323
- readonly min?: number | null;
324
- readonly max?: number | null;
325
- readonly minLength?: number | null;
326
- readonly maxLength?: number | null;
327
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
328
- } | null;
329
- readonly default?: import("./generated").JsonValue;
330
- readonly description?: string | null;
331
- }[] | null;
115
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
116
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
117
+ readonly inputSchema: {
118
+ readonly [x: string]: import("./generated").JsonValue;
119
+ } | null;
332
120
  readonly compliance: {
333
- readonly dltTemplateId?: string | null;
334
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
335
- readonly dltApprovedAt?: string | null;
336
- readonly whatsappTemplateId?: string | null;
337
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
338
- readonly whatsappApprovedAt?: string | null;
339
121
  readonly metaStatus?: string | null;
340
122
  readonly submittedAt?: string | null;
341
123
  readonly qualityScore?: string | null;
342
124
  readonly rejectedReason?: string | null;
343
125
  readonly lastSyncedAt?: string | null;
344
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
126
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
345
127
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
346
128
  readonly approvedAt?: string | null;
347
129
  readonly approvalNotes?: string | null;
348
130
  readonly regulatoryRequirements?: readonly {
349
- readonly status: "pending" | "compliant" | "non_compliant";
350
131
  readonly region: string;
351
132
  readonly requirement: string;
133
+ readonly status: "compliant" | "non_compliant" | "pending";
352
134
  readonly notes?: string | null;
353
135
  }[] | null;
354
136
  } | null;
355
- readonly designOverrides: {
356
- readonly footer?: {
357
- readonly address?: {
358
- readonly region: string;
359
- readonly street1: string;
360
- readonly city: string;
361
- readonly postalCode: string;
362
- readonly country: string;
363
- readonly street2?: string | null;
364
- } | null;
365
- readonly companyName?: string | null;
366
- readonly socialLinks?: readonly {
367
- readonly label: string;
368
- readonly url: string;
369
- }[] | null;
370
- readonly customHtml?: string | null;
371
- } | null;
372
- readonly theme?: {
373
- readonly text?: {
374
- readonly [x: string]: {
375
- readonly sizePx: number;
376
- readonly lineHeightPx: number;
377
- };
378
- } | null;
379
- readonly tracking?: {
380
- readonly [x: string]: number;
381
- } | null;
382
- readonly colors?: {
383
- readonly [x: string]: string;
384
- } | null;
385
- readonly colorsDark?: {
386
- readonly [x: string]: string;
387
- } | null;
388
- readonly radiusPx?: {
389
- readonly [x: string]: number;
390
- } | null;
391
- readonly fontFamilies?: {
392
- readonly [x: string]: {
393
- readonly family: string;
394
- readonly source: "system" | "google" | "custom";
395
- readonly fallback: string;
396
- readonly faces?: readonly {
397
- readonly style: "normal" | "italic";
398
- readonly weight: number;
399
- readonly src: string;
400
- readonly unicodeRange?: string | null;
401
- }[] | null;
402
- };
403
- } | null;
404
- readonly fontWeights?: {
405
- readonly [x: string]: number;
406
- } | null;
407
- readonly leading?: {
408
- readonly [x: string]: number;
409
- } | null;
410
- readonly spacingPx?: number | null;
411
- readonly containerPx?: {
412
- readonly [x: string]: number;
413
- } | null;
414
- } | null;
415
- readonly assets?: {
416
- readonly logoUrl?: string | null;
417
- readonly logoDarkUrl?: string | null;
418
- readonly iconUrl?: string | null;
419
- } | null;
420
- } | null;
421
- readonly replyToDefault?: readonly string[] | null;
422
- readonly fromDefault?: {
423
- readonly email: string;
424
- readonly name?: string | null;
425
- } | null;
426
- readonly trackingDefault?: {
427
- readonly opens?: boolean | null;
428
- readonly clicks?: boolean | null;
429
- } | null;
137
+ readonly usageCount: number;
138
+ readonly lastUsedAt: string | null;
139
+ readonly status: string;
140
+ readonly isActive: boolean;
141
+ readonly isDefault: boolean;
430
142
  readonly publishedAt?: string | null;
431
143
  readonly publishedBy?: string | null;
144
+ readonly createdAt: string;
145
+ readonly updatedAt: string;
432
146
  }[];
433
147
  readonly pagination: {
434
148
  readonly page: number;
@@ -436,76 +150,35 @@ export declare const list: ((input?: {
436
150
  readonly total: number;
437
151
  readonly totalPages: number;
438
152
  };
439
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
153
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
440
154
  readonly items: (input?: {
441
- readonly channel?: string | null | undefined;
442
- readonly limit?: string | null | undefined;
443
- readonly search?: string | null | undefined;
444
- readonly status?: string | null | undefined;
445
155
  readonly page?: string | null | undefined;
156
+ readonly limit?: string | null | undefined;
446
157
  readonly category?: string | null | undefined;
158
+ readonly channel?: string | null | undefined;
159
+ readonly status?: string | null | undefined;
160
+ readonly search?: string | null | undefined;
447
161
  readonly sortBy?: string | null | undefined;
448
162
  readonly sortOrder?: string | null | undefined;
449
163
  } | undefined) => import("effect/Stream").Stream<{
450
- readonly sms: {
451
- readonly body: string;
452
- readonly encoding: string | null;
453
- readonly estimatedSegments: number | null;
454
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
164
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
165
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
166
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
167
+ readonly entryPath: string;
168
+ readonly name: string;
169
+ readonly slug: string;
170
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
171
+ readonly channel: "email";
172
+ readonly description: string | null;
173
+ readonly category: string | null;
174
+ readonly fromDefault?: {
175
+ readonly email: string;
176
+ readonly name?: string | null;
455
177
  } | null;
456
- readonly whatsapp: {
457
- readonly name: string;
458
- readonly language: string;
459
- readonly category: "marketing" | "utility" | "authentication" | "service";
460
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
461
- readonly headerMediaType: string | null;
462
- readonly headerContent: string | null;
463
- readonly bodyContent: string;
464
- readonly footerContent: string | null;
465
- readonly components: readonly {
466
- readonly type: "body" | "button" | "header" | "footer";
467
- readonly text?: string | null;
468
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
469
- readonly example?: {
470
- readonly header_text?: readonly string[] | null;
471
- readonly body_text?: readonly (readonly string[])[] | null;
472
- } | null;
473
- readonly buttons?: readonly {
474
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
475
- readonly url?: string | null;
476
- readonly text?: string | null;
477
- readonly example?: string | null;
478
- readonly phone_number?: string | null;
479
- }[] | null;
480
- readonly parameters?: readonly {
481
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
482
- readonly text?: string | null;
483
- readonly image?: {
484
- readonly link: string;
485
- } | null;
486
- readonly video?: {
487
- readonly link: string;
488
- } | null;
489
- readonly document?: {
490
- readonly link: string;
491
- readonly filename?: string | null;
492
- } | null;
493
- readonly currency?: {
494
- readonly fallback_value: string;
495
- readonly code: string;
496
- readonly amount_1000: number;
497
- } | null;
498
- readonly date_time?: {
499
- readonly fallback_value: string;
500
- } | null;
501
- }[] | null;
502
- }[] | null;
503
- readonly buttons: readonly {
504
- readonly [x: string]: import("./generated").JsonValue;
505
- }[] | null;
506
- readonly examples: {
507
- readonly [x: string]: import("./generated").JsonValue;
508
- } | null;
178
+ readonly replyToDefault?: readonly string[] | null;
179
+ readonly trackingDefault?: {
180
+ readonly opens?: boolean | null;
181
+ readonly clicks?: boolean | null;
509
182
  } | null;
510
183
  readonly email: {
511
184
  readonly subject: string;
@@ -514,358 +187,67 @@ export declare const list: ((input?: {
514
187
  readonly [x: string]: string;
515
188
  } | null;
516
189
  } | null;
517
- readonly name: string;
518
- readonly createdAt: string;
519
- readonly updatedAt: string;
520
- readonly usageCount: number;
521
- readonly lastUsedAt: string | null;
522
- readonly channel: "sms" | "whatsapp" | "email";
523
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
524
- readonly origin: "dashboard" | "tsx";
525
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
526
- readonly description: string | null;
527
- readonly status: string;
528
- readonly isDefault: boolean;
529
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
530
- readonly isActive: boolean;
531
- readonly category: string | null;
532
- readonly slug: string;
533
- readonly version: number;
534
- readonly variableSchema: readonly {
535
- readonly name: string;
536
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
537
- readonly required: boolean;
538
- readonly validation?: {
539
- readonly enum?: readonly string[] | null;
540
- readonly pattern?: string | null;
541
- readonly min?: number | null;
542
- readonly max?: number | null;
543
- readonly minLength?: number | null;
544
- readonly maxLength?: number | null;
545
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
546
- } | null;
547
- readonly default?: import("./generated").JsonValue;
548
- readonly description?: string | null;
549
- }[] | null;
190
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
191
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
192
+ readonly inputSchema: {
193
+ readonly [x: string]: import("./generated").JsonValue;
194
+ } | null;
550
195
  readonly compliance: {
551
- readonly dltTemplateId?: string | null;
552
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
553
- readonly dltApprovedAt?: string | null;
554
- readonly whatsappTemplateId?: string | null;
555
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
556
- readonly whatsappApprovedAt?: string | null;
557
196
  readonly metaStatus?: string | null;
558
197
  readonly submittedAt?: string | null;
559
198
  readonly qualityScore?: string | null;
560
199
  readonly rejectedReason?: string | null;
561
200
  readonly lastSyncedAt?: string | null;
562
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
201
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
563
202
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
564
203
  readonly approvedAt?: string | null;
565
204
  readonly approvalNotes?: string | null;
566
205
  readonly regulatoryRequirements?: readonly {
567
- readonly status: "pending" | "compliant" | "non_compliant";
568
206
  readonly region: string;
569
207
  readonly requirement: string;
208
+ readonly status: "compliant" | "non_compliant" | "pending";
570
209
  readonly notes?: string | null;
571
210
  }[] | null;
572
211
  } | null;
573
- readonly designOverrides: {
574
- readonly footer?: {
575
- readonly address?: {
576
- readonly region: string;
577
- readonly street1: string;
578
- readonly city: string;
579
- readonly postalCode: string;
580
- readonly country: string;
581
- readonly street2?: string | null;
582
- } | null;
583
- readonly companyName?: string | null;
584
- readonly socialLinks?: readonly {
585
- readonly label: string;
586
- readonly url: string;
587
- }[] | null;
588
- readonly customHtml?: string | null;
589
- } | null;
590
- readonly theme?: {
591
- readonly text?: {
592
- readonly [x: string]: {
593
- readonly sizePx: number;
594
- readonly lineHeightPx: number;
595
- };
596
- } | null;
597
- readonly tracking?: {
598
- readonly [x: string]: number;
599
- } | null;
600
- readonly colors?: {
601
- readonly [x: string]: string;
602
- } | null;
603
- readonly colorsDark?: {
604
- readonly [x: string]: string;
605
- } | null;
606
- readonly radiusPx?: {
607
- readonly [x: string]: number;
608
- } | null;
609
- readonly fontFamilies?: {
610
- readonly [x: string]: {
611
- readonly family: string;
612
- readonly source: "system" | "google" | "custom";
613
- readonly fallback: string;
614
- readonly faces?: readonly {
615
- readonly style: "normal" | "italic";
616
- readonly weight: number;
617
- readonly src: string;
618
- readonly unicodeRange?: string | null;
619
- }[] | null;
620
- };
621
- } | null;
622
- readonly fontWeights?: {
623
- readonly [x: string]: number;
624
- } | null;
625
- readonly leading?: {
626
- readonly [x: string]: number;
627
- } | null;
628
- readonly spacingPx?: number | null;
629
- readonly containerPx?: {
630
- readonly [x: string]: number;
631
- } | null;
632
- } | null;
633
- readonly assets?: {
634
- readonly logoUrl?: string | null;
635
- readonly logoDarkUrl?: string | null;
636
- readonly iconUrl?: string | null;
637
- } | null;
638
- } | null;
639
- readonly replyToDefault?: readonly string[] | null;
640
- readonly fromDefault?: {
641
- readonly email: string;
642
- readonly name?: string | null;
643
- } | null;
644
- readonly trackingDefault?: {
645
- readonly opens?: boolean | null;
646
- readonly clicks?: boolean | null;
647
- } | null;
212
+ readonly usageCount: number;
213
+ readonly lastUsedAt: string | null;
214
+ readonly status: string;
215
+ readonly isActive: boolean;
216
+ readonly isDefault: boolean;
648
217
  readonly publishedAt?: string | null;
649
218
  readonly publishedBy?: string | null;
650
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
219
+ readonly createdAt: string;
220
+ readonly updatedAt: string;
221
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
651
222
  };
652
223
  export declare const create: (input: {
653
224
  readonly name: string;
654
- readonly source: string;
655
- readonly headers?: {
656
- readonly [x: string]: string | undefined;
657
- } | null | undefined;
658
- readonly origin?: string | null | undefined;
659
- readonly subject?: string | null | undefined;
225
+ readonly projectName?: string | null | undefined;
226
+ readonly slug?: string | null | undefined;
227
+ readonly galleryTemplateId?: string | null | undefined;
660
228
  readonly description?: string | null | undefined;
661
- readonly isDefault?: boolean | null | undefined;
662
- readonly isActive?: boolean | null | undefined;
663
229
  readonly category?: string | null | undefined;
664
- readonly slug?: string | null | undefined;
665
- readonly version?: number | null | undefined;
666
- readonly variableSchema?: readonly {
667
- readonly name: string;
668
- readonly type: string;
669
- readonly required: boolean;
670
- readonly validation?: {
671
- readonly enum?: readonly string[] | null | undefined;
672
- readonly pattern?: string | null | undefined;
673
- readonly min?: number | null | undefined;
674
- readonly max?: number | null | undefined;
675
- readonly minLength?: number | null | undefined;
676
- readonly maxLength?: number | null | undefined;
677
- readonly format?: string | null | undefined;
678
- } | null | undefined;
679
- readonly default?: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
680
- readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
681
- } | null)[] | {
682
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
683
- } | null)[] | {
684
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
685
- } | null)[] | {
686
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
687
- } | null)[] | {
688
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
689
- } | null)[] | {
690
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
691
- } | null)[] | {
692
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
693
- } | null)[] | {
694
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
695
- } | null)[] | {
696
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
697
- } | null)[] | {
698
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
699
- } | null)[] | {
700
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
701
- } | null | undefined;
702
- readonly description?: string | null | undefined;
703
- }[] | null | undefined;
704
- readonly compliance?: {
705
- readonly dltTemplateId?: string | null | undefined;
706
- readonly dltStatus?: string | null | undefined;
707
- readonly dltApprovedAt?: string | null | undefined;
708
- readonly whatsappTemplateId?: string | null | undefined;
709
- readonly whatsappStatus?: string | null | undefined;
710
- readonly whatsappApprovedAt?: string | null | undefined;
711
- readonly metaStatus?: string | null | undefined;
712
- readonly submittedAt?: string | null | undefined;
713
- readonly qualityScore?: string | null | undefined;
714
- readonly rejectedReason?: string | null | undefined;
715
- readonly lastSyncedAt?: string | null | undefined;
716
- readonly approvalStatus?: string | null | undefined;
717
- readonly approvedBy?: string | null | undefined;
718
- readonly approvedAt?: string | null | undefined;
719
- readonly approvalNotes?: string | null | undefined;
720
- readonly regulatoryRequirements?: readonly {
721
- readonly status: string;
722
- readonly region: string;
723
- readonly requirement: string;
724
- readonly notes?: string | null | undefined;
725
- }[] | null | undefined;
726
- } | null | undefined;
727
- readonly performance?: {
728
- readonly usageCount?: number | null | undefined;
729
- readonly lastUsedAt?: string | null | undefined;
730
- readonly deliveryRate?: number | null | undefined;
731
- readonly openRate?: number | null | undefined;
732
- readonly clickRate?: number | null | undefined;
733
- readonly responseRate?: number | null | undefined;
734
- readonly conversionRate?: number | null | undefined;
735
- readonly averageSatisfaction?: number | null | undefined;
736
- readonly totalSent?: number | null | undefined;
737
- readonly totalDelivered?: number | null | undefined;
738
- readonly totalOpened?: number | null | undefined;
739
- readonly totalClicked?: number | null | undefined;
740
- readonly totalResponses?: number | null | undefined;
741
- readonly totalConversions?: number | null | undefined;
742
- } | null | undefined;
743
- readonly designOverrides?: {
744
- readonly footer?: {
745
- readonly address?: {
746
- readonly region: string;
747
- readonly street1: string;
748
- readonly city: string;
749
- readonly postalCode: string;
750
- readonly country: string;
751
- readonly street2?: string | null | undefined;
752
- } | null | undefined;
753
- readonly companyName?: string | null | undefined;
754
- readonly socialLinks?: readonly {
755
- readonly label: string;
756
- readonly url: string;
757
- }[] | null | undefined;
758
- readonly customHtml?: string | null | undefined;
759
- } | null | undefined;
760
- readonly theme?: {
761
- readonly text?: {
762
- readonly [x: string]: {
763
- readonly sizePx: number;
764
- readonly lineHeightPx: number;
765
- } | undefined;
766
- } | null | undefined;
767
- readonly tracking?: {
768
- readonly [x: string]: number | undefined;
769
- } | null | undefined;
770
- readonly colors?: {
771
- readonly [x: string]: string | undefined;
772
- } | null | undefined;
773
- readonly colorsDark?: {
774
- readonly [x: string]: string | undefined;
775
- } | null | undefined;
776
- readonly radiusPx?: {
777
- readonly [x: string]: number | undefined;
778
- } | null | undefined;
779
- readonly fontFamilies?: {
780
- readonly [x: string]: {
781
- readonly family: string;
782
- readonly source: string;
783
- readonly fallback: string;
784
- readonly faces?: readonly {
785
- readonly style: string;
786
- readonly weight: number;
787
- readonly src: string;
788
- readonly unicodeRange?: string | null | undefined;
789
- }[] | null | undefined;
790
- } | undefined;
791
- } | null | undefined;
792
- readonly fontWeights?: {
793
- readonly [x: string]: number | undefined;
794
- } | null | undefined;
795
- readonly leading?: {
796
- readonly [x: string]: number | undefined;
797
- } | null | undefined;
798
- readonly spacingPx?: number | null | undefined;
799
- readonly containerPx?: {
800
- readonly [x: string]: number | undefined;
801
- } | null | undefined;
802
- } | null | undefined;
803
- readonly assets?: {
804
- readonly logoUrl?: string | null | undefined;
805
- readonly logoDarkUrl?: string | null | undefined;
806
- readonly iconUrl?: string | null | undefined;
807
- } | null | undefined;
808
- } | null | undefined;
230
+ readonly isActive?: boolean | null | undefined;
231
+ readonly idempotencyKey: string;
809
232
  }) => import("effect/Effect").Effect<{
810
- readonly sms: {
811
- readonly body: string;
812
- readonly encoding: string | null;
813
- readonly estimatedSegments: number | null;
814
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
815
- } | null;
816
- readonly whatsapp: {
817
- readonly name: string;
818
- readonly language: string;
819
- readonly category: "marketing" | "utility" | "authentication" | "service";
820
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
821
- readonly headerMediaType: string | null;
822
- readonly headerContent: string | null;
823
- readonly bodyContent: string;
824
- readonly footerContent: string | null;
825
- readonly components: readonly {
826
- readonly type: "body" | "button" | "header" | "footer";
827
- readonly text?: string | null;
828
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
829
- readonly example?: {
830
- readonly header_text?: readonly string[] | null;
831
- readonly body_text?: readonly (readonly string[])[] | null;
832
- } | null;
833
- readonly buttons?: readonly {
834
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
835
- readonly url?: string | null;
836
- readonly text?: string | null;
837
- readonly example?: string | null;
838
- readonly phone_number?: string | null;
839
- }[] | null;
840
- readonly parameters?: readonly {
841
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
842
- readonly text?: string | null;
843
- readonly image?: {
844
- readonly link: string;
845
- } | null;
846
- readonly video?: {
847
- readonly link: string;
848
- } | null;
849
- readonly document?: {
850
- readonly link: string;
851
- readonly filename?: string | null;
852
- } | null;
853
- readonly currency?: {
854
- readonly fallback_value: string;
855
- readonly code: string;
856
- readonly amount_1000: number;
857
- } | null;
858
- readonly date_time?: {
859
- readonly fallback_value: string;
860
- } | null;
861
- }[] | null;
862
- }[] | null;
863
- readonly buttons: readonly {
864
- readonly [x: string]: import("./generated").JsonValue;
865
- }[] | null;
866
- readonly examples: {
867
- readonly [x: string]: import("./generated").JsonValue;
868
- } | null;
233
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
234
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
235
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
236
+ readonly entryPath: string;
237
+ readonly name: string;
238
+ readonly slug: string;
239
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
240
+ readonly channel: "email";
241
+ readonly description: string | null;
242
+ readonly category: string | null;
243
+ readonly fromDefault?: {
244
+ readonly email: string;
245
+ readonly name?: string | null;
246
+ } | null;
247
+ readonly replyToDefault?: readonly string[] | null;
248
+ readonly trackingDefault?: {
249
+ readonly opens?: boolean | null;
250
+ readonly clicks?: boolean | null;
869
251
  } | null;
870
252
  readonly email: {
871
253
  readonly subject: string;
@@ -874,148 +256,46 @@ export declare const create: (input: {
874
256
  readonly [x: string]: string;
875
257
  } | null;
876
258
  } | null;
877
- readonly name: string;
878
- readonly createdAt: string;
879
- readonly updatedAt: string;
880
- readonly usageCount: number;
881
- readonly lastUsedAt: string | null;
882
- readonly channel: "sms" | "whatsapp" | "email";
883
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
884
- readonly origin: "dashboard" | "tsx";
885
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
886
- readonly description: string | null;
887
- readonly status: string;
888
- readonly isDefault: boolean;
889
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
890
- readonly isActive: boolean;
891
- readonly category: string | null;
892
- readonly slug: string;
893
- readonly version: number;
894
- readonly variableSchema: readonly {
895
- readonly name: string;
896
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
897
- readonly required: boolean;
898
- readonly validation?: {
899
- readonly enum?: readonly string[] | null;
900
- readonly pattern?: string | null;
901
- readonly min?: number | null;
902
- readonly max?: number | null;
903
- readonly minLength?: number | null;
904
- readonly maxLength?: number | null;
905
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
906
- } | null;
907
- readonly default?: import("./generated").JsonValue;
908
- readonly description?: string | null;
909
- }[] | null;
259
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
260
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
261
+ readonly inputSchema: {
262
+ readonly [x: string]: import("./generated").JsonValue;
263
+ } | null;
910
264
  readonly compliance: {
911
- readonly dltTemplateId?: string | null;
912
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
913
- readonly dltApprovedAt?: string | null;
914
- readonly whatsappTemplateId?: string | null;
915
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
916
- readonly whatsappApprovedAt?: string | null;
917
265
  readonly metaStatus?: string | null;
918
266
  readonly submittedAt?: string | null;
919
267
  readonly qualityScore?: string | null;
920
268
  readonly rejectedReason?: string | null;
921
269
  readonly lastSyncedAt?: string | null;
922
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
270
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
923
271
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
924
272
  readonly approvedAt?: string | null;
925
273
  readonly approvalNotes?: string | null;
926
274
  readonly regulatoryRequirements?: readonly {
927
- readonly status: "pending" | "compliant" | "non_compliant";
928
275
  readonly region: string;
929
276
  readonly requirement: string;
277
+ readonly status: "compliant" | "non_compliant" | "pending";
930
278
  readonly notes?: string | null;
931
279
  }[] | null;
932
280
  } | null;
933
- readonly designOverrides: {
934
- readonly footer?: {
935
- readonly address?: {
936
- readonly region: string;
937
- readonly street1: string;
938
- readonly city: string;
939
- readonly postalCode: string;
940
- readonly country: string;
941
- readonly street2?: string | null;
942
- } | null;
943
- readonly companyName?: string | null;
944
- readonly socialLinks?: readonly {
945
- readonly label: string;
946
- readonly url: string;
947
- }[] | null;
948
- readonly customHtml?: string | null;
949
- } | null;
950
- readonly theme?: {
951
- readonly text?: {
952
- readonly [x: string]: {
953
- readonly sizePx: number;
954
- readonly lineHeightPx: number;
955
- };
956
- } | null;
957
- readonly tracking?: {
958
- readonly [x: string]: number;
959
- } | null;
960
- readonly colors?: {
961
- readonly [x: string]: string;
962
- } | null;
963
- readonly colorsDark?: {
964
- readonly [x: string]: string;
965
- } | null;
966
- readonly radiusPx?: {
967
- readonly [x: string]: number;
968
- } | null;
969
- readonly fontFamilies?: {
970
- readonly [x: string]: {
971
- readonly family: string;
972
- readonly source: "system" | "google" | "custom";
973
- readonly fallback: string;
974
- readonly faces?: readonly {
975
- readonly style: "normal" | "italic";
976
- readonly weight: number;
977
- readonly src: string;
978
- readonly unicodeRange?: string | null;
979
- }[] | null;
980
- };
981
- } | null;
982
- readonly fontWeights?: {
983
- readonly [x: string]: number;
984
- } | null;
985
- readonly leading?: {
986
- readonly [x: string]: number;
987
- } | null;
988
- readonly spacingPx?: number | null;
989
- readonly containerPx?: {
990
- readonly [x: string]: number;
991
- } | null;
992
- } | null;
993
- readonly assets?: {
994
- readonly logoUrl?: string | null;
995
- readonly logoDarkUrl?: string | null;
996
- readonly iconUrl?: string | null;
997
- } | null;
998
- } | null;
999
- readonly replyToDefault?: readonly string[] | null;
1000
- readonly fromDefault?: {
1001
- readonly email: string;
1002
- readonly name?: string | null;
1003
- } | null;
1004
- readonly trackingDefault?: {
1005
- readonly opens?: boolean | null;
1006
- readonly clicks?: boolean | null;
1007
- } | null;
281
+ readonly usageCount: number;
282
+ readonly lastUsedAt: string | null;
283
+ readonly status: string;
284
+ readonly isActive: boolean;
285
+ readonly isDefault: boolean;
1008
286
  readonly publishedAt?: string | null;
1009
287
  readonly publishedBy?: string | null;
1010
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
288
+ readonly createdAt: string;
289
+ readonly updatedAt: string;
290
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
1011
291
  export declare const listDashboard: ((input: {
292
+ readonly page?: string | null | undefined;
293
+ readonly limit?: string | null | undefined;
1012
294
  readonly allowedChannels: string | readonly string[];
295
+ readonly category?: string | null | undefined;
1013
296
  readonly channel?: string | null | undefined;
1014
- readonly limit?: string | null | undefined;
1015
- readonly search?: string | null | undefined;
1016
297
  readonly status?: string | null | undefined;
1017
- readonly page?: string | null | undefined;
1018
- readonly category?: string | null | undefined;
298
+ readonly search?: string | null | undefined;
1019
299
  readonly sortBy?: string | null | undefined;
1020
300
  readonly sortOrder?: string | null | undefined;
1021
301
  }) => import("effect/Effect").Effect<{
@@ -1027,12 +307,10 @@ export declare const listDashboard: ((input: {
1027
307
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1028
308
  readonly name: string;
1029
309
  readonly slug: string;
1030
- readonly channel: "sms" | "whatsapp" | "email";
1031
- readonly origin: "dashboard" | "tsx";
310
+ readonly channel: "email";
1032
311
  readonly description: string | null;
1033
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1034
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1035
- readonly version: number;
312
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
313
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1036
314
  readonly usageCount: number;
1037
315
  readonly lastUsedAt: string | null;
1038
316
  readonly createdAt: string;
@@ -1048,12 +326,10 @@ export declare const listDashboard: ((input: {
1048
326
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1049
327
  readonly name: string;
1050
328
  readonly slug: string;
1051
- readonly channel: "sms" | "whatsapp" | "email";
1052
- readonly origin: "dashboard" | "tsx";
329
+ readonly channel: "email";
1053
330
  readonly description: string | null;
1054
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1055
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1056
- readonly version: number;
331
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
332
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1057
333
  readonly usageCount: number;
1058
334
  readonly lastUsedAt: string | null;
1059
335
  readonly createdAt: string;
@@ -1066,15 +342,15 @@ export declare const listDashboard: ((input: {
1066
342
  readonly total: number;
1067
343
  readonly totalPages: number;
1068
344
  };
1069
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>) & {
345
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
1070
346
  readonly pages: (input: {
347
+ readonly page?: string | null | undefined;
348
+ readonly limit?: string | null | undefined;
1071
349
  readonly allowedChannels: string | readonly string[];
350
+ readonly category?: string | null | undefined;
1072
351
  readonly channel?: string | null | undefined;
1073
- readonly limit?: string | null | undefined;
1074
- readonly search?: string | null | undefined;
1075
352
  readonly status?: string | null | undefined;
1076
- readonly page?: string | null | undefined;
1077
- readonly category?: string | null | undefined;
353
+ readonly search?: string | null | undefined;
1078
354
  readonly sortBy?: string | null | undefined;
1079
355
  readonly sortOrder?: string | null | undefined;
1080
356
  }) => import("effect/Stream").Stream<{
@@ -1086,12 +362,10 @@ export declare const listDashboard: ((input: {
1086
362
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1087
363
  readonly name: string;
1088
364
  readonly slug: string;
1089
- readonly channel: "sms" | "whatsapp" | "email";
1090
- readonly origin: "dashboard" | "tsx";
365
+ readonly channel: "email";
1091
366
  readonly description: string | null;
1092
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1093
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1094
- readonly version: number;
367
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
368
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1095
369
  readonly usageCount: number;
1096
370
  readonly lastUsedAt: string | null;
1097
371
  readonly createdAt: string;
@@ -1107,12 +381,10 @@ export declare const listDashboard: ((input: {
1107
381
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1108
382
  readonly name: string;
1109
383
  readonly slug: string;
1110
- readonly channel: "sms" | "whatsapp" | "email";
1111
- readonly origin: "dashboard" | "tsx";
384
+ readonly channel: "email";
1112
385
  readonly description: string | null;
1113
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1114
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1115
- readonly version: number;
386
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
387
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1116
388
  readonly usageCount: number;
1117
389
  readonly lastUsedAt: string | null;
1118
390
  readonly createdAt: string;
@@ -1125,15 +397,15 @@ export declare const listDashboard: ((input: {
1125
397
  readonly total: number;
1126
398
  readonly totalPages: number;
1127
399
  };
1128
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
400
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1129
401
  readonly items: (input: {
402
+ readonly page?: string | null | undefined;
403
+ readonly limit?: string | null | undefined;
1130
404
  readonly allowedChannels: string | readonly string[];
405
+ readonly category?: string | null | undefined;
1131
406
  readonly channel?: string | null | undefined;
1132
- readonly limit?: string | null | undefined;
1133
- readonly search?: string | null | undefined;
1134
407
  readonly status?: string | null | undefined;
1135
- readonly page?: string | null | undefined;
1136
- readonly category?: string | null | undefined;
408
+ readonly search?: string | null | undefined;
1137
409
  readonly sortBy?: string | null | undefined;
1138
410
  readonly sortOrder?: string | null | undefined;
1139
411
  }) => import("effect/Stream").Stream<{
@@ -1144,12 +416,10 @@ export declare const listDashboard: ((input: {
1144
416
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1145
417
  readonly name: string;
1146
418
  readonly slug: string;
1147
- readonly channel: "sms" | "whatsapp" | "email";
1148
- readonly origin: "dashboard" | "tsx";
419
+ readonly channel: "email";
1149
420
  readonly description: string | null;
1150
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1151
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1152
- readonly version: number;
421
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
422
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1153
423
  readonly usageCount: number;
1154
424
  readonly lastUsedAt: string | null;
1155
425
  readonly createdAt: string;
@@ -1165,22 +435,20 @@ export declare const listDashboard: ((input: {
1165
435
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1166
436
  readonly name: string;
1167
437
  readonly slug: string;
1168
- readonly channel: "sms" | "whatsapp" | "email";
1169
- readonly origin: "dashboard" | "tsx";
438
+ readonly channel: "email";
1170
439
  readonly description: string | null;
1171
- readonly category: "marketing" | "transactional" | "support" | "notification" | "verification" | "reminder" | "alert" | null;
1172
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1173
- readonly version: number;
440
+ readonly category: "alert" | "marketing" | "notification" | "reminder" | "support" | "transactional" | "verification" | null;
441
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1174
442
  readonly usageCount: number;
1175
443
  readonly lastUsedAt: string | null;
1176
444
  readonly createdAt: string;
1177
445
  readonly updatedAt: string;
1178
446
  };
1179
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
447
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1180
448
  };
1181
449
  export declare const listFamilies: ((input?: {
1182
- readonly limit?: string | null | undefined;
1183
450
  readonly page?: string | null | undefined;
451
+ readonly limit?: string | null | undefined;
1184
452
  } | undefined) => import("effect/Effect").Effect<{
1185
453
  readonly items: readonly {
1186
454
  readonly id: string & import("effect/Brand").Brand<"TemplateFamilyId">;
@@ -1190,26 +458,9 @@ export declare const listFamilies: ((input?: {
1190
458
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1191
459
  readonly name: string;
1192
460
  readonly slug: string;
1193
- readonly channel: "sms" | "whatsapp" | "email";
1194
- readonly variableSchema: readonly {
1195
- readonly name: string;
1196
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1197
- readonly required: boolean;
1198
- readonly validation?: {
1199
- readonly enum?: readonly string[] | null;
1200
- readonly pattern?: string | null;
1201
- readonly min?: number | null;
1202
- readonly max?: number | null;
1203
- readonly minLength?: number | null;
1204
- readonly maxLength?: number | null;
1205
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1206
- } | null;
1207
- readonly default?: import("./generated").JsonValue;
1208
- readonly description?: string | null;
1209
- }[] | null;
1210
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
461
+ readonly channel: "email";
462
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1211
463
  readonly isActive: boolean;
1212
- readonly version: number;
1213
464
  readonly createdAt: string;
1214
465
  readonly updatedAt: string;
1215
466
  }[];
@@ -1222,10 +473,10 @@ export declare const listFamilies: ((input?: {
1222
473
  readonly total: number;
1223
474
  readonly totalPages: number;
1224
475
  };
1225
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>) & {
476
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
1226
477
  readonly pages: (input?: {
1227
- readonly limit?: string | null | undefined;
1228
478
  readonly page?: string | null | undefined;
479
+ readonly limit?: string | null | undefined;
1229
480
  } | undefined) => import("effect/Stream").Stream<{
1230
481
  readonly items: readonly {
1231
482
  readonly id: string & import("effect/Brand").Brand<"TemplateFamilyId">;
@@ -1235,26 +486,9 @@ export declare const listFamilies: ((input?: {
1235
486
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1236
487
  readonly name: string;
1237
488
  readonly slug: string;
1238
- readonly channel: "sms" | "whatsapp" | "email";
1239
- readonly variableSchema: readonly {
1240
- readonly name: string;
1241
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1242
- readonly required: boolean;
1243
- readonly validation?: {
1244
- readonly enum?: readonly string[] | null;
1245
- readonly pattern?: string | null;
1246
- readonly min?: number | null;
1247
- readonly max?: number | null;
1248
- readonly minLength?: number | null;
1249
- readonly maxLength?: number | null;
1250
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1251
- } | null;
1252
- readonly default?: import("./generated").JsonValue;
1253
- readonly description?: string | null;
1254
- }[] | null;
1255
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
489
+ readonly channel: "email";
490
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1256
491
  readonly isActive: boolean;
1257
- readonly version: number;
1258
492
  readonly createdAt: string;
1259
493
  readonly updatedAt: string;
1260
494
  }[];
@@ -1267,10 +501,10 @@ export declare const listFamilies: ((input?: {
1267
501
  readonly total: number;
1268
502
  readonly totalPages: number;
1269
503
  };
1270
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
504
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1271
505
  readonly items: (input?: {
1272
- readonly limit?: string | null | undefined;
1273
506
  readonly page?: string | null | undefined;
507
+ readonly limit?: string | null | undefined;
1274
508
  } | undefined) => import("effect/Stream").Stream<{
1275
509
  readonly id: string & import("effect/Brand").Brand<"TemplateFamilyId">;
1276
510
  readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
@@ -1279,32 +513,15 @@ export declare const listFamilies: ((input?: {
1279
513
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1280
514
  readonly name: string;
1281
515
  readonly slug: string;
1282
- readonly channel: "sms" | "whatsapp" | "email";
1283
- readonly variableSchema: readonly {
1284
- readonly name: string;
1285
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1286
- readonly required: boolean;
1287
- readonly validation?: {
1288
- readonly enum?: readonly string[] | null;
1289
- readonly pattern?: string | null;
1290
- readonly min?: number | null;
1291
- readonly max?: number | null;
1292
- readonly minLength?: number | null;
1293
- readonly maxLength?: number | null;
1294
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1295
- } | null;
1296
- readonly default?: import("./generated").JsonValue;
1297
- readonly description?: string | null;
1298
- }[] | null;
1299
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
516
+ readonly channel: "email";
517
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1300
518
  readonly isActive: boolean;
1301
- readonly version: number;
1302
519
  readonly createdAt: string;
1303
520
  readonly updatedAt: string;
1304
521
  }[];
1305
522
  readonly createdAt: string;
1306
523
  readonly updatedAt: string;
1307
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
524
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
1308
525
  };
1309
526
  export declare const createFamily: (input: {
1310
527
  readonly name: string;
@@ -1316,32 +533,15 @@ export declare const createFamily: (input: {
1316
533
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1317
534
  readonly name: string;
1318
535
  readonly slug: string;
1319
- readonly channel: "sms" | "whatsapp" | "email";
1320
- readonly variableSchema: readonly {
1321
- readonly name: string;
1322
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1323
- readonly required: boolean;
1324
- readonly validation?: {
1325
- readonly enum?: readonly string[] | null;
1326
- readonly pattern?: string | null;
1327
- readonly min?: number | null;
1328
- readonly max?: number | null;
1329
- readonly minLength?: number | null;
1330
- readonly maxLength?: number | null;
1331
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1332
- } | null;
1333
- readonly default?: import("./generated").JsonValue;
1334
- readonly description?: string | null;
1335
- }[] | null;
1336
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
536
+ readonly channel: "email";
537
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1337
538
  readonly isActive: boolean;
1338
- readonly version: number;
1339
539
  readonly createdAt: string;
1340
540
  readonly updatedAt: string;
1341
541
  }[];
1342
542
  readonly createdAt: string;
1343
543
  readonly updatedAt: string;
1344
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
544
+ }, import("./generated").ForbiddenError | import("effect/unstable/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
1345
545
  export declare const getFamily: (input: {
1346
546
  readonly familyId: string;
1347
547
  }) => import("effect/Effect").Effect<{
@@ -1352,37 +552,20 @@ export declare const getFamily: (input: {
1352
552
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1353
553
  readonly name: string;
1354
554
  readonly slug: string;
1355
- readonly channel: "sms" | "whatsapp" | "email";
1356
- readonly variableSchema: readonly {
1357
- readonly name: string;
1358
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1359
- readonly required: boolean;
1360
- readonly validation?: {
1361
- readonly enum?: readonly string[] | null;
1362
- readonly pattern?: string | null;
1363
- readonly min?: number | null;
1364
- readonly max?: number | null;
1365
- readonly minLength?: number | null;
1366
- readonly maxLength?: number | null;
1367
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1368
- } | null;
1369
- readonly default?: import("./generated").JsonValue;
1370
- readonly description?: string | null;
1371
- }[] | null;
1372
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
555
+ readonly channel: "email";
556
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1373
557
  readonly isActive: boolean;
1374
- readonly version: number;
1375
558
  readonly createdAt: string;
1376
559
  readonly updatedAt: string;
1377
560
  }[];
1378
561
  readonly createdAt: string;
1379
562
  readonly updatedAt: string;
1380
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
563
+ }, 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>;
1381
564
  export declare const deleteFamily: (input: {
1382
565
  readonly familyId: string;
1383
566
  }) => import("effect/Effect").Effect<{
1384
567
  readonly success: boolean;
1385
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
568
+ }, 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>;
1386
569
  export declare const renameFamily: (input: {
1387
570
  readonly familyId: string;
1388
571
  readonly name: string;
@@ -1394,32 +577,15 @@ export declare const renameFamily: (input: {
1394
577
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1395
578
  readonly name: string;
1396
579
  readonly slug: string;
1397
- readonly channel: "sms" | "whatsapp" | "email";
1398
- readonly variableSchema: readonly {
1399
- readonly name: string;
1400
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1401
- readonly required: boolean;
1402
- readonly validation?: {
1403
- readonly enum?: readonly string[] | null;
1404
- readonly pattern?: string | null;
1405
- readonly min?: number | null;
1406
- readonly max?: number | null;
1407
- readonly minLength?: number | null;
1408
- readonly maxLength?: number | null;
1409
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1410
- } | null;
1411
- readonly default?: import("./generated").JsonValue;
1412
- readonly description?: string | null;
1413
- }[] | null;
1414
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
580
+ readonly channel: "email";
581
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1415
582
  readonly isActive: boolean;
1416
- readonly version: number;
1417
583
  readonly createdAt: string;
1418
584
  readonly updatedAt: string;
1419
585
  }[];
1420
586
  readonly createdAt: string;
1421
587
  readonly updatedAt: string;
1422
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
588
+ }, 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>;
1423
589
  export declare const createFamilyFromTemplate: (input: {
1424
590
  readonly templateId: string;
1425
591
  readonly name: string;
@@ -1431,32 +597,15 @@ export declare const createFamilyFromTemplate: (input: {
1431
597
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1432
598
  readonly name: string;
1433
599
  readonly slug: string;
1434
- readonly channel: "sms" | "whatsapp" | "email";
1435
- readonly variableSchema: readonly {
1436
- readonly name: string;
1437
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1438
- readonly required: boolean;
1439
- readonly validation?: {
1440
- readonly enum?: readonly string[] | null;
1441
- readonly pattern?: string | null;
1442
- readonly min?: number | null;
1443
- readonly max?: number | null;
1444
- readonly minLength?: number | null;
1445
- readonly maxLength?: number | null;
1446
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1447
- } | null;
1448
- readonly default?: import("./generated").JsonValue;
1449
- readonly description?: string | null;
1450
- }[] | null;
1451
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
600
+ readonly channel: "email";
601
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1452
602
  readonly isActive: boolean;
1453
- readonly version: number;
1454
603
  readonly createdAt: string;
1455
604
  readonly updatedAt: string;
1456
605
  }[];
1457
606
  readonly createdAt: string;
1458
607
  readonly updatedAt: string;
1459
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
608
+ }, import("./generated").ConflictError | 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>;
1460
609
  export declare const attachFamilyMember: (input: {
1461
610
  readonly familyId: string;
1462
611
  readonly templateId: string;
@@ -1468,32 +617,15 @@ export declare const attachFamilyMember: (input: {
1468
617
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1469
618
  readonly name: string;
1470
619
  readonly slug: string;
1471
- readonly channel: "sms" | "whatsapp" | "email";
1472
- readonly variableSchema: readonly {
1473
- readonly name: string;
1474
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1475
- readonly required: boolean;
1476
- readonly validation?: {
1477
- readonly enum?: readonly string[] | null;
1478
- readonly pattern?: string | null;
1479
- readonly min?: number | null;
1480
- readonly max?: number | null;
1481
- readonly minLength?: number | null;
1482
- readonly maxLength?: number | null;
1483
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1484
- } | null;
1485
- readonly default?: import("./generated").JsonValue;
1486
- readonly description?: string | null;
1487
- }[] | null;
1488
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
620
+ readonly channel: "email";
621
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1489
622
  readonly isActive: boolean;
1490
- readonly version: number;
1491
623
  readonly createdAt: string;
1492
624
  readonly updatedAt: string;
1493
625
  }[];
1494
626
  readonly createdAt: string;
1495
627
  readonly updatedAt: string;
1496
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
628
+ }, import("./generated").ConflictError | 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>;
1497
629
  export declare const detachFamilyMember: (input: {
1498
630
  readonly familyId: string;
1499
631
  readonly templateId: string;
@@ -1505,131 +637,36 @@ export declare const detachFamilyMember: (input: {
1505
637
  readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1506
638
  readonly name: string;
1507
639
  readonly slug: string;
1508
- readonly channel: "sms" | "whatsapp" | "email";
1509
- readonly variableSchema: readonly {
1510
- readonly name: string;
1511
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1512
- readonly required: boolean;
1513
- readonly validation?: {
1514
- readonly enum?: readonly string[] | null;
1515
- readonly pattern?: string | null;
1516
- readonly min?: number | null;
1517
- readonly max?: number | null;
1518
- readonly minLength?: number | null;
1519
- readonly maxLength?: number | null;
1520
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1521
- } | null;
1522
- readonly default?: import("./generated").JsonValue;
1523
- readonly description?: string | null;
1524
- }[] | null;
1525
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
1526
- readonly isActive: boolean;
1527
- readonly version: number;
1528
- readonly createdAt: string;
1529
- readonly updatedAt: string;
1530
- }[];
1531
- readonly createdAt: string;
1532
- readonly updatedAt: string;
1533
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
1534
- export declare const addFamilyChannel: (input: {
1535
- readonly familyId: string;
1536
- readonly channel: string;
1537
- }) => import("effect/Effect").Effect<{
1538
- readonly id: string & import("effect/Brand").Brand<"TemplateFamilyId">;
1539
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
1540
- readonly name: string;
1541
- readonly members: readonly {
1542
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1543
- readonly name: string;
1544
- readonly slug: string;
1545
- readonly channel: "sms" | "whatsapp" | "email";
1546
- readonly variableSchema: readonly {
1547
- readonly name: string;
1548
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1549
- readonly required: boolean;
1550
- readonly validation?: {
1551
- readonly enum?: readonly string[] | null;
1552
- readonly pattern?: string | null;
1553
- readonly min?: number | null;
1554
- readonly max?: number | null;
1555
- readonly minLength?: number | null;
1556
- readonly maxLength?: number | null;
1557
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1558
- } | null;
1559
- readonly default?: import("./generated").JsonValue;
1560
- readonly description?: string | null;
1561
- }[] | null;
1562
- readonly status: "pending" | "archived" | "rejected" | "approved" | "draft" | "published";
640
+ readonly channel: "email";
641
+ readonly status: "approved" | "archived" | "draft" | "pending" | "published" | "rejected";
1563
642
  readonly isActive: boolean;
1564
- readonly version: number;
1565
643
  readonly createdAt: string;
1566
644
  readonly updatedAt: string;
1567
645
  }[];
1568
646
  readonly createdAt: string;
1569
647
  readonly updatedAt: string;
1570
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
648
+ }, import("./generated").ConflictError | 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>;
1571
649
  export declare const getById: (input: {
1572
650
  readonly id: string;
1573
651
  }) => import("effect/Effect").Effect<{
1574
- readonly sms: {
1575
- readonly body: string;
1576
- readonly encoding: string | null;
1577
- readonly estimatedSegments: number | null;
1578
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
652
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
653
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
654
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
655
+ readonly entryPath: string;
656
+ readonly name: string;
657
+ readonly slug: string;
658
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
659
+ readonly channel: "email";
660
+ readonly description: string | null;
661
+ readonly category: string | null;
662
+ readonly fromDefault?: {
663
+ readonly email: string;
664
+ readonly name?: string | null;
1579
665
  } | null;
1580
- readonly whatsapp: {
1581
- readonly name: string;
1582
- readonly language: string;
1583
- readonly category: "marketing" | "utility" | "authentication" | "service";
1584
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
1585
- readonly headerMediaType: string | null;
1586
- readonly headerContent: string | null;
1587
- readonly bodyContent: string;
1588
- readonly footerContent: string | null;
1589
- readonly components: readonly {
1590
- readonly type: "body" | "button" | "header" | "footer";
1591
- readonly text?: string | null;
1592
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
1593
- readonly example?: {
1594
- readonly header_text?: readonly string[] | null;
1595
- readonly body_text?: readonly (readonly string[])[] | null;
1596
- } | null;
1597
- readonly buttons?: readonly {
1598
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
1599
- readonly url?: string | null;
1600
- readonly text?: string | null;
1601
- readonly example?: string | null;
1602
- readonly phone_number?: string | null;
1603
- }[] | null;
1604
- readonly parameters?: readonly {
1605
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
1606
- readonly text?: string | null;
1607
- readonly image?: {
1608
- readonly link: string;
1609
- } | null;
1610
- readonly video?: {
1611
- readonly link: string;
1612
- } | null;
1613
- readonly document?: {
1614
- readonly link: string;
1615
- readonly filename?: string | null;
1616
- } | null;
1617
- readonly currency?: {
1618
- readonly fallback_value: string;
1619
- readonly code: string;
1620
- readonly amount_1000: number;
1621
- } | null;
1622
- readonly date_time?: {
1623
- readonly fallback_value: string;
1624
- } | null;
1625
- }[] | null;
1626
- }[] | null;
1627
- readonly buttons: readonly {
1628
- readonly [x: string]: import("./generated").JsonValue;
1629
- }[] | null;
1630
- readonly examples: {
1631
- readonly [x: string]: import("./generated").JsonValue;
1632
- } | null;
666
+ readonly replyToDefault?: readonly string[] | null;
667
+ readonly trackingDefault?: {
668
+ readonly opens?: boolean | null;
669
+ readonly clicks?: boolean | null;
1633
670
  } | null;
1634
671
  readonly email: {
1635
672
  readonly subject: string;
@@ -1638,573 +675,77 @@ export declare const getById: (input: {
1638
675
  readonly [x: string]: string;
1639
676
  } | null;
1640
677
  } | null;
1641
- readonly name: string;
1642
- readonly createdAt: string;
1643
- readonly updatedAt: string;
1644
- readonly usageCount: number;
1645
- readonly lastUsedAt: string | null;
1646
- readonly channel: "sms" | "whatsapp" | "email";
1647
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
1648
- readonly origin: "dashboard" | "tsx";
1649
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
1650
- readonly description: string | null;
1651
- readonly status: string;
1652
- readonly isDefault: boolean;
1653
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
1654
- readonly isActive: boolean;
1655
- readonly category: string | null;
1656
- readonly slug: string;
1657
- readonly version: number;
1658
- readonly variableSchema: readonly {
1659
- readonly name: string;
1660
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
1661
- readonly required: boolean;
1662
- readonly validation?: {
1663
- readonly enum?: readonly string[] | null;
1664
- readonly pattern?: string | null;
1665
- readonly min?: number | null;
1666
- readonly max?: number | null;
1667
- readonly minLength?: number | null;
1668
- readonly maxLength?: number | null;
1669
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
1670
- } | null;
1671
- readonly default?: import("./generated").JsonValue;
1672
- readonly description?: string | null;
1673
- }[] | null;
678
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
679
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
680
+ readonly inputSchema: {
681
+ readonly [x: string]: import("./generated").JsonValue;
682
+ } | null;
1674
683
  readonly compliance: {
1675
- readonly dltTemplateId?: string | null;
1676
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
1677
- readonly dltApprovedAt?: string | null;
1678
- readonly whatsappTemplateId?: string | null;
1679
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
1680
- readonly whatsappApprovedAt?: string | null;
1681
684
  readonly metaStatus?: string | null;
1682
685
  readonly submittedAt?: string | null;
1683
686
  readonly qualityScore?: string | null;
1684
687
  readonly rejectedReason?: string | null;
1685
688
  readonly lastSyncedAt?: string | null;
1686
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
689
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
1687
690
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
1688
691
  readonly approvedAt?: string | null;
1689
692
  readonly approvalNotes?: string | null;
1690
693
  readonly regulatoryRequirements?: readonly {
1691
- readonly status: "pending" | "compliant" | "non_compliant";
1692
694
  readonly region: string;
1693
695
  readonly requirement: string;
696
+ readonly status: "compliant" | "non_compliant" | "pending";
1694
697
  readonly notes?: string | null;
1695
698
  }[] | null;
1696
699
  } | null;
1697
- readonly designOverrides: {
1698
- readonly footer?: {
1699
- readonly address?: {
1700
- readonly region: string;
1701
- readonly street1: string;
1702
- readonly city: string;
1703
- readonly postalCode: string;
1704
- readonly country: string;
1705
- readonly street2?: string | null;
1706
- } | null;
1707
- readonly companyName?: string | null;
1708
- readonly socialLinks?: readonly {
1709
- readonly label: string;
1710
- readonly url: string;
1711
- }[] | null;
1712
- readonly customHtml?: string | null;
1713
- } | null;
1714
- readonly theme?: {
1715
- readonly text?: {
1716
- readonly [x: string]: {
1717
- readonly sizePx: number;
1718
- readonly lineHeightPx: number;
1719
- };
1720
- } | null;
1721
- readonly tracking?: {
1722
- readonly [x: string]: number;
1723
- } | null;
1724
- readonly colors?: {
1725
- readonly [x: string]: string;
1726
- } | null;
1727
- readonly colorsDark?: {
1728
- readonly [x: string]: string;
1729
- } | null;
1730
- readonly radiusPx?: {
1731
- readonly [x: string]: number;
1732
- } | null;
1733
- readonly fontFamilies?: {
1734
- readonly [x: string]: {
1735
- readonly family: string;
1736
- readonly source: "system" | "google" | "custom";
1737
- readonly fallback: string;
1738
- readonly faces?: readonly {
1739
- readonly style: "normal" | "italic";
1740
- readonly weight: number;
1741
- readonly src: string;
1742
- readonly unicodeRange?: string | null;
1743
- }[] | null;
1744
- };
1745
- } | null;
1746
- readonly fontWeights?: {
1747
- readonly [x: string]: number;
1748
- } | null;
1749
- readonly leading?: {
1750
- readonly [x: string]: number;
1751
- } | null;
1752
- readonly spacingPx?: number | null;
1753
- readonly containerPx?: {
1754
- readonly [x: string]: number;
1755
- } | null;
1756
- } | null;
1757
- readonly assets?: {
1758
- readonly logoUrl?: string | null;
1759
- readonly logoDarkUrl?: string | null;
1760
- readonly iconUrl?: string | null;
1761
- } | null;
1762
- } | null;
1763
- readonly replyToDefault?: readonly string[] | null;
1764
- readonly fromDefault?: {
1765
- readonly email: string;
1766
- readonly name?: string | null;
1767
- } | null;
1768
- readonly trackingDefault?: {
1769
- readonly opens?: boolean | null;
1770
- readonly clicks?: boolean | null;
1771
- } | null;
700
+ readonly usageCount: number;
701
+ readonly lastUsedAt: string | null;
702
+ readonly status: string;
703
+ readonly isActive: boolean;
704
+ readonly isDefault: boolean;
1772
705
  readonly publishedAt?: string | null;
1773
706
  readonly publishedBy?: string | null;
1774
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
707
+ readonly createdAt: string;
708
+ readonly updatedAt: string;
709
+ }, 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>;
1775
710
  export declare const remove: (input: {
1776
711
  readonly id: string;
1777
712
  }) => import("effect/Effect").Effect<{
1778
713
  readonly success: boolean;
1779
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
714
+ }, 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>;
1780
715
  export declare const update: (input: {
1781
716
  readonly id: string;
1782
717
  readonly data: {
1783
718
  readonly name?: string | null | undefined;
1784
- readonly origin?: string | null | undefined;
719
+ readonly slug?: string | null | undefined;
1785
720
  readonly description?: string | null | undefined;
1786
- readonly isDefault?: boolean | null | undefined;
1787
- readonly isActive?: boolean | null | undefined;
1788
721
  readonly category?: string | null | undefined;
1789
- readonly slug?: string | null | undefined;
1790
- readonly version?: number | null | undefined;
1791
- readonly variableSchema?: readonly {
1792
- readonly name: string;
1793
- readonly type: string;
1794
- readonly required: boolean;
1795
- readonly validation?: {
1796
- readonly enum?: readonly string[] | null | undefined;
1797
- readonly pattern?: string | null | undefined;
1798
- readonly min?: number | null | undefined;
1799
- readonly max?: number | null | undefined;
1800
- readonly minLength?: number | null | undefined;
1801
- readonly maxLength?: number | null | undefined;
1802
- readonly format?: string | null | undefined;
1803
- } | null | undefined;
1804
- readonly default?: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
1805
- readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
1806
- } | null)[] | {
1807
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1808
- } | null)[] | {
1809
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1810
- } | null)[] | {
1811
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1812
- } | null)[] | {
1813
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1814
- } | null)[] | {
1815
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1816
- } | null)[] | {
1817
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1818
- } | null)[] | {
1819
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1820
- } | null)[] | {
1821
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1822
- } | null)[] | {
1823
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1824
- } | null)[] | {
1825
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
1826
- } | null | undefined;
1827
- readonly description?: string | null | undefined;
1828
- }[] | null | undefined;
1829
- readonly replyToDefault?: readonly string[] | null | undefined;
1830
- readonly compliance?: {
1831
- readonly dltTemplateId?: string | null | undefined;
1832
- readonly dltStatus?: string | null | undefined;
1833
- readonly dltApprovedAt?: string | null | undefined;
1834
- readonly whatsappTemplateId?: string | null | undefined;
1835
- readonly whatsappStatus?: string | null | undefined;
1836
- readonly whatsappApprovedAt?: string | null | undefined;
1837
- readonly metaStatus?: string | null | undefined;
1838
- readonly submittedAt?: string | null | undefined;
1839
- readonly qualityScore?: string | null | undefined;
1840
- readonly rejectedReason?: string | null | undefined;
1841
- readonly lastSyncedAt?: string | null | undefined;
1842
- readonly approvalStatus?: string | null | undefined;
1843
- readonly approvedBy?: string | null | undefined;
1844
- readonly approvedAt?: string | null | undefined;
1845
- readonly approvalNotes?: string | null | undefined;
1846
- readonly regulatoryRequirements?: readonly {
1847
- readonly status: string;
1848
- readonly region: string;
1849
- readonly requirement: string;
1850
- readonly notes?: string | null | undefined;
1851
- }[] | null | undefined;
1852
- } | null | undefined;
1853
- readonly performance?: {
1854
- readonly usageCount?: number | null | undefined;
1855
- readonly lastUsedAt?: string | null | undefined;
1856
- readonly deliveryRate?: number | null | undefined;
1857
- readonly openRate?: number | null | undefined;
1858
- readonly clickRate?: number | null | undefined;
1859
- readonly responseRate?: number | null | undefined;
1860
- readonly conversionRate?: number | null | undefined;
1861
- readonly averageSatisfaction?: number | null | undefined;
1862
- readonly totalSent?: number | null | undefined;
1863
- readonly totalDelivered?: number | null | undefined;
1864
- readonly totalOpened?: number | null | undefined;
1865
- readonly totalClicked?: number | null | undefined;
1866
- readonly totalResponses?: number | null | undefined;
1867
- readonly totalConversions?: number | null | undefined;
1868
- } | null | undefined;
1869
- readonly designOverrides?: {
1870
- readonly footer?: {
1871
- readonly address?: {
1872
- readonly region: string;
1873
- readonly street1: string;
1874
- readonly city: string;
1875
- readonly postalCode: string;
1876
- readonly country: string;
1877
- readonly street2?: string | null | undefined;
1878
- } | null | undefined;
1879
- readonly companyName?: string | null | undefined;
1880
- readonly socialLinks?: readonly {
1881
- readonly label: string;
1882
- readonly url: string;
1883
- }[] | null | undefined;
1884
- readonly customHtml?: string | null | undefined;
1885
- } | null | undefined;
1886
- readonly theme?: {
1887
- readonly text?: {
1888
- readonly [x: string]: {
1889
- readonly sizePx: number;
1890
- readonly lineHeightPx: number;
1891
- } | undefined;
1892
- } | null | undefined;
1893
- readonly tracking?: {
1894
- readonly [x: string]: number | undefined;
1895
- } | null | undefined;
1896
- readonly colors?: {
1897
- readonly [x: string]: string | undefined;
1898
- } | null | undefined;
1899
- readonly colorsDark?: {
1900
- readonly [x: string]: string | undefined;
1901
- } | null | undefined;
1902
- readonly radiusPx?: {
1903
- readonly [x: string]: number | undefined;
1904
- } | null | undefined;
1905
- readonly fontFamilies?: {
1906
- readonly [x: string]: {
1907
- readonly family: string;
1908
- readonly source: string;
1909
- readonly fallback: string;
1910
- readonly faces?: readonly {
1911
- readonly style: string;
1912
- readonly weight: number;
1913
- readonly src: string;
1914
- readonly unicodeRange?: string | null | undefined;
1915
- }[] | null | undefined;
1916
- } | undefined;
1917
- } | null | undefined;
1918
- readonly fontWeights?: {
1919
- readonly [x: string]: number | undefined;
1920
- } | null | undefined;
1921
- readonly leading?: {
1922
- readonly [x: string]: number | undefined;
1923
- } | null | undefined;
1924
- readonly spacingPx?: number | null | undefined;
1925
- readonly containerPx?: {
1926
- readonly [x: string]: number | undefined;
1927
- } | null | undefined;
1928
- } | null | undefined;
1929
- readonly assets?: {
1930
- readonly logoUrl?: string | null | undefined;
1931
- readonly logoDarkUrl?: string | null | undefined;
1932
- readonly iconUrl?: string | null | undefined;
1933
- } | null | undefined;
1934
- } | null | undefined;
1935
722
  readonly fromDefault?: {
1936
723
  readonly email: string;
1937
724
  readonly name?: string | null | undefined;
1938
725
  } | null | undefined;
726
+ readonly replyToDefault?: readonly string[] | null | undefined;
727
+ readonly isActive?: boolean | null | undefined;
1939
728
  };
1940
729
  }) => import("effect/Effect").Effect<{
1941
- readonly sms: {
1942
- readonly body: string;
1943
- readonly encoding: string | null;
1944
- readonly estimatedSegments: number | null;
1945
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
1946
- } | null;
1947
- readonly whatsapp: {
1948
- readonly name: string;
1949
- readonly language: string;
1950
- readonly category: "marketing" | "utility" | "authentication" | "service";
1951
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
1952
- readonly headerMediaType: string | null;
1953
- readonly headerContent: string | null;
1954
- readonly bodyContent: string;
1955
- readonly footerContent: string | null;
1956
- readonly components: readonly {
1957
- readonly type: "body" | "button" | "header" | "footer";
1958
- readonly text?: string | null;
1959
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
1960
- readonly example?: {
1961
- readonly header_text?: readonly string[] | null;
1962
- readonly body_text?: readonly (readonly string[])[] | null;
1963
- } | null;
1964
- readonly buttons?: readonly {
1965
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
1966
- readonly url?: string | null;
1967
- readonly text?: string | null;
1968
- readonly example?: string | null;
1969
- readonly phone_number?: string | null;
1970
- }[] | null;
1971
- readonly parameters?: readonly {
1972
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
1973
- readonly text?: string | null;
1974
- readonly image?: {
1975
- readonly link: string;
1976
- } | null;
1977
- readonly video?: {
1978
- readonly link: string;
1979
- } | null;
1980
- readonly document?: {
1981
- readonly link: string;
1982
- readonly filename?: string | null;
1983
- } | null;
1984
- readonly currency?: {
1985
- readonly fallback_value: string;
1986
- readonly code: string;
1987
- readonly amount_1000: number;
1988
- } | null;
1989
- readonly date_time?: {
1990
- readonly fallback_value: string;
1991
- } | null;
1992
- }[] | null;
1993
- }[] | null;
1994
- readonly buttons: readonly {
1995
- readonly [x: string]: import("./generated").JsonValue;
1996
- }[] | null;
1997
- readonly examples: {
1998
- readonly [x: string]: import("./generated").JsonValue;
1999
- } | null;
2000
- } | null;
2001
- readonly email: {
2002
- readonly subject: string;
2003
- readonly preheader: string | null;
2004
- readonly headers: {
2005
- readonly [x: string]: string;
2006
- } | null;
2007
- } | null;
2008
- readonly name: string;
2009
- readonly createdAt: string;
2010
- readonly updatedAt: string;
2011
- readonly usageCount: number;
2012
- readonly lastUsedAt: string | null;
2013
- readonly channel: "sms" | "whatsapp" | "email";
2014
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
2015
- readonly origin: "dashboard" | "tsx";
2016
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
2017
- readonly description: string | null;
2018
- readonly status: string;
2019
- readonly isDefault: boolean;
2020
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2021
- readonly isActive: boolean;
2022
- readonly category: string | null;
2023
- readonly slug: string;
2024
- readonly version: number;
2025
- readonly variableSchema: readonly {
2026
- readonly name: string;
2027
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
2028
- readonly required: boolean;
2029
- readonly validation?: {
2030
- readonly enum?: readonly string[] | null;
2031
- readonly pattern?: string | null;
2032
- readonly min?: number | null;
2033
- readonly max?: number | null;
2034
- readonly minLength?: number | null;
2035
- readonly maxLength?: number | null;
2036
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
2037
- } | null;
2038
- readonly default?: import("./generated").JsonValue;
2039
- readonly description?: string | null;
2040
- }[] | null;
2041
- readonly compliance: {
2042
- readonly dltTemplateId?: string | null;
2043
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
2044
- readonly dltApprovedAt?: string | null;
2045
- readonly whatsappTemplateId?: string | null;
2046
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
2047
- readonly whatsappApprovedAt?: string | null;
2048
- readonly metaStatus?: string | null;
2049
- readonly submittedAt?: string | null;
2050
- readonly qualityScore?: string | null;
2051
- readonly rejectedReason?: string | null;
2052
- readonly lastSyncedAt?: string | null;
2053
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
2054
- readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
2055
- readonly approvedAt?: string | null;
2056
- readonly approvalNotes?: string | null;
2057
- readonly regulatoryRequirements?: readonly {
2058
- readonly status: "pending" | "compliant" | "non_compliant";
2059
- readonly region: string;
2060
- readonly requirement: string;
2061
- readonly notes?: string | null;
2062
- }[] | null;
2063
- } | null;
2064
- readonly designOverrides: {
2065
- readonly footer?: {
2066
- readonly address?: {
2067
- readonly region: string;
2068
- readonly street1: string;
2069
- readonly city: string;
2070
- readonly postalCode: string;
2071
- readonly country: string;
2072
- readonly street2?: string | null;
2073
- } | null;
2074
- readonly companyName?: string | null;
2075
- readonly socialLinks?: readonly {
2076
- readonly label: string;
2077
- readonly url: string;
2078
- }[] | null;
2079
- readonly customHtml?: string | null;
2080
- } | null;
2081
- readonly theme?: {
2082
- readonly text?: {
2083
- readonly [x: string]: {
2084
- readonly sizePx: number;
2085
- readonly lineHeightPx: number;
2086
- };
2087
- } | null;
2088
- readonly tracking?: {
2089
- readonly [x: string]: number;
2090
- } | null;
2091
- readonly colors?: {
2092
- readonly [x: string]: string;
2093
- } | null;
2094
- readonly colorsDark?: {
2095
- readonly [x: string]: string;
2096
- } | null;
2097
- readonly radiusPx?: {
2098
- readonly [x: string]: number;
2099
- } | null;
2100
- readonly fontFamilies?: {
2101
- readonly [x: string]: {
2102
- readonly family: string;
2103
- readonly source: "system" | "google" | "custom";
2104
- readonly fallback: string;
2105
- readonly faces?: readonly {
2106
- readonly style: "normal" | "italic";
2107
- readonly weight: number;
2108
- readonly src: string;
2109
- readonly unicodeRange?: string | null;
2110
- }[] | null;
2111
- };
2112
- } | null;
2113
- readonly fontWeights?: {
2114
- readonly [x: string]: number;
2115
- } | null;
2116
- readonly leading?: {
2117
- readonly [x: string]: number;
2118
- } | null;
2119
- readonly spacingPx?: number | null;
2120
- readonly containerPx?: {
2121
- readonly [x: string]: number;
2122
- } | null;
2123
- } | null;
2124
- readonly assets?: {
2125
- readonly logoUrl?: string | null;
2126
- readonly logoDarkUrl?: string | null;
2127
- readonly iconUrl?: string | null;
2128
- } | null;
730
+ readonly id: string & import("effect/Brand").Brand<"TemplateId">;
731
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
732
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
733
+ readonly entryPath: string;
734
+ readonly name: string;
735
+ readonly slug: string;
736
+ readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
737
+ readonly channel: "email";
738
+ readonly description: string | null;
739
+ readonly category: string | null;
740
+ readonly fromDefault?: {
741
+ readonly email: string;
742
+ readonly name?: string | null;
2129
743
  } | null;
2130
744
  readonly replyToDefault?: readonly string[] | null;
2131
- readonly fromDefault?: {
2132
- readonly email: string;
2133
- readonly name?: string | null;
2134
- } | null;
2135
745
  readonly trackingDefault?: {
2136
746
  readonly opens?: boolean | null;
2137
747
  readonly clicks?: boolean | null;
2138
748
  } | null;
2139
- readonly publishedAt?: string | null;
2140
- readonly publishedBy?: string | null;
2141
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2142
- export declare const approve: (input: {
2143
- readonly id: string;
2144
- readonly data: {
2145
- readonly notes?: string | null | undefined;
2146
- };
2147
- }) => import("effect/Effect").Effect<{
2148
- readonly sms: {
2149
- readonly body: string;
2150
- readonly encoding: string | null;
2151
- readonly estimatedSegments: number | null;
2152
- readonly category: "transactional" | "promotional" | "service_implicit" | null;
2153
- } | null;
2154
- readonly whatsapp: {
2155
- readonly name: string;
2156
- readonly language: string;
2157
- readonly category: "marketing" | "utility" | "authentication" | "service";
2158
- readonly headerType: "text" | "image" | "video" | "document" | "none" | null;
2159
- readonly headerMediaType: string | null;
2160
- readonly headerContent: string | null;
2161
- readonly bodyContent: string;
2162
- readonly footerContent: string | null;
2163
- readonly components: readonly {
2164
- readonly type: "body" | "button" | "header" | "footer";
2165
- readonly text?: string | null;
2166
- readonly format?: "TEXT" | "IMAGE" | "VIDEO" | "DOCUMENT" | null;
2167
- readonly example?: {
2168
- readonly header_text?: readonly string[] | null;
2169
- readonly body_text?: readonly (readonly string[])[] | null;
2170
- } | null;
2171
- readonly buttons?: readonly {
2172
- readonly type: "QUICK_REPLY" | "URL" | "PHONE_NUMBER" | "COPY_CODE";
2173
- readonly url?: string | null;
2174
- readonly text?: string | null;
2175
- readonly example?: string | null;
2176
- readonly phone_number?: string | null;
2177
- }[] | null;
2178
- readonly parameters?: readonly {
2179
- readonly type: "text" | "image" | "video" | "document" | "currency" | "date_time";
2180
- readonly text?: string | null;
2181
- readonly image?: {
2182
- readonly link: string;
2183
- } | null;
2184
- readonly video?: {
2185
- readonly link: string;
2186
- } | null;
2187
- readonly document?: {
2188
- readonly link: string;
2189
- readonly filename?: string | null;
2190
- } | null;
2191
- readonly currency?: {
2192
- readonly fallback_value: string;
2193
- readonly code: string;
2194
- readonly amount_1000: number;
2195
- } | null;
2196
- readonly date_time?: {
2197
- readonly fallback_value: string;
2198
- } | null;
2199
- }[] | null;
2200
- }[] | null;
2201
- readonly buttons: readonly {
2202
- readonly [x: string]: import("./generated").JsonValue;
2203
- }[] | null;
2204
- readonly examples: {
2205
- readonly [x: string]: import("./generated").JsonValue;
2206
- } | null;
2207
- } | null;
2208
749
  readonly email: {
2209
750
  readonly subject: string;
2210
751
  readonly preheader: string | null;
@@ -2212,169 +753,392 @@ export declare const approve: (input: {
2212
753
  readonly [x: string]: string;
2213
754
  } | null;
2214
755
  } | null;
2215
- readonly name: string;
2216
- readonly createdAt: string;
2217
- readonly updatedAt: string;
2218
- readonly usageCount: number;
2219
- readonly lastUsedAt: string | null;
2220
- readonly channel: "sms" | "whatsapp" | "email";
2221
- readonly id: string & import("effect/Brand").Brand<"TemplateId">;
2222
- readonly origin: "dashboard" | "tsx";
2223
- readonly familyId: (string & import("effect/Brand").Brand<"TemplateFamilyId">) | null;
2224
- readonly description: string | null;
2225
- readonly status: string;
2226
- readonly isDefault: boolean;
2227
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2228
- readonly isActive: boolean;
2229
- readonly category: string | null;
2230
- readonly slug: string;
2231
- readonly version: number;
2232
- readonly variableSchema: readonly {
2233
- readonly name: string;
2234
- readonly type: "string" | "number" | "boolean" | "object" | "date" | "array";
2235
- readonly required: boolean;
2236
- readonly validation?: {
2237
- readonly enum?: readonly string[] | null;
2238
- readonly pattern?: string | null;
2239
- readonly min?: number | null;
2240
- readonly max?: number | null;
2241
- readonly minLength?: number | null;
2242
- readonly maxLength?: number | null;
2243
- readonly format?: "url" | "email" | "date" | "date-time" | "uuid" | null;
2244
- } | null;
2245
- readonly default?: import("./generated").JsonValue;
2246
- readonly description?: string | null;
2247
- }[] | null;
756
+ readonly publicationId: (string & import("effect/Brand").Brand<"TemplatePublicationId">) | null;
757
+ readonly inputContractId: (string & import("effect/Brand").Brand<"TemplateInputContractId">) | null;
758
+ readonly inputSchema: {
759
+ readonly [x: string]: import("./generated").JsonValue;
760
+ } | null;
2248
761
  readonly compliance: {
2249
- readonly dltTemplateId?: string | null;
2250
- readonly dltStatus?: "pending" | "rejected" | "approved" | "expired" | null;
2251
- readonly dltApprovedAt?: string | null;
2252
- readonly whatsappTemplateId?: string | null;
2253
- readonly whatsappStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
2254
- readonly whatsappApprovedAt?: string | null;
2255
762
  readonly metaStatus?: string | null;
2256
763
  readonly submittedAt?: string | null;
2257
764
  readonly qualityScore?: string | null;
2258
765
  readonly rejectedReason?: string | null;
2259
766
  readonly lastSyncedAt?: string | null;
2260
- readonly approvalStatus?: "pending" | "archived" | "rejected" | "approved" | "draft" | "published" | null;
767
+ readonly approvalStatus?: "approved" | "archived" | "draft" | "pending" | "published" | "rejected" | null;
2261
768
  readonly approvedBy?: (string & import("effect/Brand").Brand<"UserId">) | null;
2262
769
  readonly approvedAt?: string | null;
2263
770
  readonly approvalNotes?: string | null;
2264
771
  readonly regulatoryRequirements?: readonly {
2265
- readonly status: "pending" | "compliant" | "non_compliant";
2266
772
  readonly region: string;
2267
773
  readonly requirement: string;
774
+ readonly status: "compliant" | "non_compliant" | "pending";
2268
775
  readonly notes?: string | null;
2269
776
  }[] | null;
2270
777
  } | null;
2271
- readonly designOverrides: {
2272
- readonly footer?: {
2273
- readonly address?: {
2274
- readonly region: string;
2275
- readonly street1: string;
2276
- readonly city: string;
2277
- readonly postalCode: string;
2278
- readonly country: string;
2279
- readonly street2?: string | null;
2280
- } | null;
2281
- readonly companyName?: string | null;
2282
- readonly socialLinks?: readonly {
2283
- readonly label: string;
2284
- readonly url: string;
2285
- }[] | null;
2286
- readonly customHtml?: string | null;
2287
- } | null;
2288
- readonly theme?: {
2289
- readonly text?: {
2290
- readonly [x: string]: {
2291
- readonly sizePx: number;
2292
- readonly lineHeightPx: number;
2293
- };
2294
- } | null;
2295
- readonly tracking?: {
2296
- readonly [x: string]: number;
2297
- } | null;
2298
- readonly colors?: {
2299
- readonly [x: string]: string;
2300
- } | null;
2301
- readonly colorsDark?: {
2302
- readonly [x: string]: string;
2303
- } | null;
2304
- readonly radiusPx?: {
2305
- readonly [x: string]: number;
2306
- } | null;
2307
- readonly fontFamilies?: {
2308
- readonly [x: string]: {
2309
- readonly family: string;
2310
- readonly source: "system" | "google" | "custom";
2311
- readonly fallback: string;
2312
- readonly faces?: readonly {
2313
- readonly style: "normal" | "italic";
2314
- readonly weight: number;
2315
- readonly src: string;
2316
- readonly unicodeRange?: string | null;
2317
- }[] | null;
2318
- };
2319
- } | null;
2320
- readonly fontWeights?: {
2321
- readonly [x: string]: number;
2322
- } | null;
2323
- readonly leading?: {
2324
- readonly [x: string]: number;
2325
- } | null;
2326
- readonly spacingPx?: number | null;
2327
- readonly containerPx?: {
2328
- readonly [x: string]: number;
2329
- } | null;
2330
- } | null;
2331
- readonly assets?: {
2332
- readonly logoUrl?: string | null;
2333
- readonly logoDarkUrl?: string | null;
2334
- readonly iconUrl?: string | null;
2335
- } | null;
2336
- } | null;
2337
- readonly replyToDefault?: readonly string[] | null;
2338
- readonly fromDefault?: {
2339
- readonly email: string;
2340
- readonly name?: string | null;
2341
- } | null;
2342
- readonly trackingDefault?: {
2343
- readonly opens?: boolean | null;
2344
- readonly clicks?: boolean | null;
2345
- } | null;
778
+ readonly usageCount: number;
779
+ readonly lastUsedAt: string | null;
780
+ readonly status: string;
781
+ readonly isActive: boolean;
782
+ readonly isDefault: boolean;
2346
783
  readonly publishedAt?: string | null;
2347
784
  readonly publishedBy?: string | null;
2348
- }, import("effect/SchemaError").SchemaError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2349
- export declare const openDocument: (input: {
2350
- readonly templateId: string;
2351
- }) => import("effect/Effect").Effect<{
2352
- readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
2353
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2354
- readonly channel: "sms" | "whatsapp" | "email";
2355
- readonly source: string;
2356
- readonly revision: string;
2357
- readonly sourceDigest: string;
2358
785
  readonly createdAt: string;
2359
786
  readonly updatedAt: string;
2360
- readonly createdBy: {
2361
- readonly userId: string & import("effect/Brand").Brand<"UserId">;
2362
- readonly via: "agent" | "api" | "mcp";
787
+ }, import("./generated").ConflictError | 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>;
788
+ export declare const openWorkspace: (input: {
789
+ readonly id: string;
790
+ }) => import("effect/Effect").Effect<{
791
+ readonly workspace: {
792
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
793
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
794
+ readonly ownerEpoch: number;
795
+ readonly repositoryName: string;
796
+ readonly defaultBranch: string;
797
+ readonly baseCommit: string;
798
+ readonly remoteHead: string;
799
+ readonly pendingRemoteHead: string | null;
800
+ readonly revision: string;
801
+ readonly overlay: {
802
+ readonly [x: string]: string | null;
803
+ };
804
+ readonly assetChanges: readonly {
805
+ readonly path: string;
806
+ readonly status: "added" | "deleted" | "modified";
807
+ }[];
808
+ readonly conflicts: readonly {
809
+ readonly path: string;
810
+ readonly base: string | null;
811
+ readonly draft: string | null;
812
+ readonly main: string | null;
813
+ }[];
814
+ readonly provenance: {
815
+ readonly references: readonly {
816
+ readonly kind: string;
817
+ readonly digest: string;
818
+ readonly locator?: string;
819
+ }[];
820
+ };
821
+ readonly mounts: readonly ({
822
+ readonly kind: "project";
823
+ readonly root: "/project";
824
+ readonly access: "read-write";
825
+ } | {
826
+ readonly root: string;
827
+ readonly digest: string;
828
+ readonly fileCount: number;
829
+ readonly byteSize: number;
830
+ readonly kind: "started-from";
831
+ readonly access: "read-only";
832
+ readonly templateId: string;
833
+ readonly slug: string;
834
+ readonly name: string;
835
+ } | {
836
+ readonly root: string;
837
+ readonly digest: string;
838
+ readonly fileCount: number;
839
+ readonly byteSize: number;
840
+ readonly kind: "resource";
841
+ readonly access: "read-only";
842
+ readonly resourceId: string;
843
+ readonly name: string;
844
+ } | {
845
+ readonly root: string;
846
+ readonly digest: string;
847
+ readonly fileCount: number;
848
+ readonly byteSize: number;
849
+ readonly kind: "library-template";
850
+ readonly access: "read-only";
851
+ readonly templateId: string;
852
+ readonly slug: string;
853
+ readonly name: string;
854
+ })[];
855
+ readonly libraryManifestDigest: string;
856
+ readonly createdAt: string;
857
+ readonly updatedAt: string;
858
+ readonly createdBy: {
859
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
860
+ readonly via: "agent" | "api" | "mcp";
861
+ };
862
+ readonly updatedBy: {
863
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
864
+ readonly via: "agent" | "api" | "mcp";
865
+ };
2363
866
  };
2364
- readonly updatedBy: {
2365
- readonly userId: string & import("effect/Brand").Brand<"UserId">;
2366
- readonly via: "agent" | "api" | "mcp";
867
+ readonly files: {
868
+ readonly [x: string]: string;
2367
869
  };
2368
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2369
- export declare const getDocument: (input: {
2370
- readonly templateId: string;
870
+ }, import("./generated").ConflictError | 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>;
871
+ export declare const getGitRepository: (input: {
872
+ readonly id: string;
2371
873
  }) => import("effect/Effect").Effect<{
2372
- readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
2373
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2374
- readonly channel: "sms" | "whatsapp" | "email";
2375
- readonly source: string;
874
+ readonly remote: string;
875
+ readonly defaultBranch: string;
876
+ }, import("./generated").ConflictError | 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>;
877
+ export declare const issueGitCredential: (input: {
878
+ readonly id: string;
879
+ readonly scope: string;
880
+ }) => import("effect/Effect").Effect<{
881
+ readonly remote: string;
882
+ readonly username: "x-access-token";
883
+ readonly password: string;
884
+ readonly expiresAt: string;
885
+ }, import("./generated").ConflictError | 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>;
886
+ export declare const patchWorkspace: (input: {
887
+ readonly id: string;
888
+ readonly expectedRevision: string;
889
+ readonly patches: readonly {
890
+ readonly path: string;
891
+ readonly content: string | null;
892
+ }[];
893
+ readonly idempotencyKey: string;
894
+ }) => import("effect/Effect").Effect<{
895
+ readonly workspace: {
896
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
897
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
898
+ readonly ownerEpoch: number;
899
+ readonly repositoryName: string;
900
+ readonly defaultBranch: string;
901
+ readonly baseCommit: string;
902
+ readonly remoteHead: string;
903
+ readonly pendingRemoteHead: string | null;
904
+ readonly revision: string;
905
+ readonly overlay: {
906
+ readonly [x: string]: string | null;
907
+ };
908
+ readonly assetChanges: readonly {
909
+ readonly path: string;
910
+ readonly status: "added" | "deleted" | "modified";
911
+ }[];
912
+ readonly conflicts: readonly {
913
+ readonly path: string;
914
+ readonly base: string | null;
915
+ readonly draft: string | null;
916
+ readonly main: string | null;
917
+ }[];
918
+ readonly provenance: {
919
+ readonly references: readonly {
920
+ readonly kind: string;
921
+ readonly digest: string;
922
+ readonly locator?: string;
923
+ }[];
924
+ };
925
+ readonly mounts: readonly ({
926
+ readonly kind: "project";
927
+ readonly root: "/project";
928
+ readonly access: "read-write";
929
+ } | {
930
+ readonly root: string;
931
+ readonly digest: string;
932
+ readonly fileCount: number;
933
+ readonly byteSize: number;
934
+ readonly kind: "started-from";
935
+ readonly access: "read-only";
936
+ readonly templateId: string;
937
+ readonly slug: string;
938
+ readonly name: string;
939
+ } | {
940
+ readonly root: string;
941
+ readonly digest: string;
942
+ readonly fileCount: number;
943
+ readonly byteSize: number;
944
+ readonly kind: "resource";
945
+ readonly access: "read-only";
946
+ readonly resourceId: string;
947
+ readonly name: string;
948
+ } | {
949
+ readonly root: string;
950
+ readonly digest: string;
951
+ readonly fileCount: number;
952
+ readonly byteSize: number;
953
+ readonly kind: "library-template";
954
+ readonly access: "read-only";
955
+ readonly templateId: string;
956
+ readonly slug: string;
957
+ readonly name: string;
958
+ })[];
959
+ readonly libraryManifestDigest: string;
960
+ readonly createdAt: string;
961
+ readonly updatedAt: string;
962
+ readonly createdBy: {
963
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
964
+ readonly via: "agent" | "api" | "mcp";
965
+ };
966
+ readonly updatedBy: {
967
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
968
+ readonly via: "agent" | "api" | "mcp";
969
+ };
970
+ };
971
+ readonly files: {
972
+ readonly [x: string]: string;
973
+ };
974
+ }, import("./generated").ConflictError | 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>;
975
+ export declare const resolveWorkspaceConflict: (input: {
976
+ readonly id: string;
977
+ readonly expectedRevision: string;
978
+ readonly path: string;
979
+ readonly resolution: string | {
980
+ readonly content: string | null;
981
+ };
982
+ readonly idempotencyKey: string;
983
+ }) => import("effect/Effect").Effect<{
984
+ readonly workspace: {
985
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
986
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
987
+ readonly ownerEpoch: number;
988
+ readonly repositoryName: string;
989
+ readonly defaultBranch: string;
990
+ readonly baseCommit: string;
991
+ readonly remoteHead: string;
992
+ readonly pendingRemoteHead: string | null;
993
+ readonly revision: string;
994
+ readonly overlay: {
995
+ readonly [x: string]: string | null;
996
+ };
997
+ readonly assetChanges: readonly {
998
+ readonly path: string;
999
+ readonly status: "added" | "deleted" | "modified";
1000
+ }[];
1001
+ readonly conflicts: readonly {
1002
+ readonly path: string;
1003
+ readonly base: string | null;
1004
+ readonly draft: string | null;
1005
+ readonly main: string | null;
1006
+ }[];
1007
+ readonly provenance: {
1008
+ readonly references: readonly {
1009
+ readonly kind: string;
1010
+ readonly digest: string;
1011
+ readonly locator?: string;
1012
+ }[];
1013
+ };
1014
+ readonly mounts: readonly ({
1015
+ readonly kind: "project";
1016
+ readonly root: "/project";
1017
+ readonly access: "read-write";
1018
+ } | {
1019
+ readonly root: string;
1020
+ readonly digest: string;
1021
+ readonly fileCount: number;
1022
+ readonly byteSize: number;
1023
+ readonly kind: "started-from";
1024
+ readonly access: "read-only";
1025
+ readonly templateId: string;
1026
+ readonly slug: string;
1027
+ readonly name: string;
1028
+ } | {
1029
+ readonly root: string;
1030
+ readonly digest: string;
1031
+ readonly fileCount: number;
1032
+ readonly byteSize: number;
1033
+ readonly kind: "resource";
1034
+ readonly access: "read-only";
1035
+ readonly resourceId: string;
1036
+ readonly name: string;
1037
+ } | {
1038
+ readonly root: string;
1039
+ readonly digest: string;
1040
+ readonly fileCount: number;
1041
+ readonly byteSize: number;
1042
+ readonly kind: "library-template";
1043
+ readonly access: "read-only";
1044
+ readonly templateId: string;
1045
+ readonly slug: string;
1046
+ readonly name: string;
1047
+ })[];
1048
+ readonly libraryManifestDigest: string;
1049
+ readonly createdAt: string;
1050
+ readonly updatedAt: string;
1051
+ readonly createdBy: {
1052
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1053
+ readonly via: "agent" | "api" | "mcp";
1054
+ };
1055
+ readonly updatedBy: {
1056
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1057
+ readonly via: "agent" | "api" | "mcp";
1058
+ };
1059
+ };
1060
+ readonly files: {
1061
+ readonly [x: string]: string;
1062
+ };
1063
+ }, import("./generated").ConflictError | 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>;
1064
+ export declare const attachWorkspaceResource: (input: {
1065
+ readonly id: string;
1066
+ readonly expectedRevision: string;
1067
+ readonly resource: {
1068
+ readonly resourceId: string;
1069
+ readonly name: string;
1070
+ readonly files: readonly {
1071
+ readonly path: string;
1072
+ readonly mediaType: string;
1073
+ readonly contentBase64: string;
1074
+ }[];
1075
+ };
1076
+ readonly idempotencyKey: string;
1077
+ }) => import("effect/Effect").Effect<{
1078
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1079
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
1080
+ readonly ownerEpoch: number;
1081
+ readonly repositoryName: string;
1082
+ readonly defaultBranch: string;
1083
+ readonly baseCommit: string;
1084
+ readonly remoteHead: string;
1085
+ readonly pendingRemoteHead: string | null;
2376
1086
  readonly revision: string;
2377
- readonly sourceDigest: string;
1087
+ readonly overlay: {
1088
+ readonly [x: string]: string | null;
1089
+ };
1090
+ readonly assetChanges: readonly {
1091
+ readonly path: string;
1092
+ readonly status: "added" | "deleted" | "modified";
1093
+ }[];
1094
+ readonly conflicts: readonly {
1095
+ readonly path: string;
1096
+ readonly base: string | null;
1097
+ readonly draft: string | null;
1098
+ readonly main: string | null;
1099
+ }[];
1100
+ readonly provenance: {
1101
+ readonly references: readonly {
1102
+ readonly kind: string;
1103
+ readonly digest: string;
1104
+ readonly locator?: string;
1105
+ }[];
1106
+ };
1107
+ readonly mounts: readonly ({
1108
+ readonly kind: "project";
1109
+ readonly root: "/project";
1110
+ readonly access: "read-write";
1111
+ } | {
1112
+ readonly root: string;
1113
+ readonly digest: string;
1114
+ readonly fileCount: number;
1115
+ readonly byteSize: number;
1116
+ readonly kind: "started-from";
1117
+ readonly access: "read-only";
1118
+ readonly templateId: string;
1119
+ readonly slug: string;
1120
+ readonly name: string;
1121
+ } | {
1122
+ readonly root: string;
1123
+ readonly digest: string;
1124
+ readonly fileCount: number;
1125
+ readonly byteSize: number;
1126
+ readonly kind: "resource";
1127
+ readonly access: "read-only";
1128
+ readonly resourceId: string;
1129
+ readonly name: string;
1130
+ } | {
1131
+ readonly root: string;
1132
+ readonly digest: string;
1133
+ readonly fileCount: number;
1134
+ readonly byteSize: number;
1135
+ readonly kind: "library-template";
1136
+ readonly access: "read-only";
1137
+ readonly templateId: string;
1138
+ readonly slug: string;
1139
+ readonly name: string;
1140
+ })[];
1141
+ readonly libraryManifestDigest: string;
2378
1142
  readonly createdAt: string;
2379
1143
  readonly updatedAt: string;
2380
1144
  readonly createdBy: {
@@ -2385,18 +1149,77 @@ export declare const getDocument: (input: {
2385
1149
  readonly userId: string & import("effect/Brand").Brand<"UserId">;
2386
1150
  readonly via: "agent" | "api" | "mcp";
2387
1151
  };
2388
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2389
- export declare const replaceDocument: (input: {
2390
- readonly templateId: string;
1152
+ }, import("./generated").ConflictError | 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>;
1153
+ export declare const removeWorkspaceResource: (input: {
1154
+ readonly id: string;
1155
+ readonly resourceId: string;
2391
1156
  readonly expectedRevision: string;
2392
- readonly source: string;
1157
+ readonly idempotencyKey: string;
2393
1158
  }) => import("effect/Effect").Effect<{
2394
- readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
2395
- readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2396
- readonly channel: "sms" | "whatsapp" | "email";
2397
- readonly source: string;
1159
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1160
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
1161
+ readonly ownerEpoch: number;
1162
+ readonly repositoryName: string;
1163
+ readonly defaultBranch: string;
1164
+ readonly baseCommit: string;
1165
+ readonly remoteHead: string;
1166
+ readonly pendingRemoteHead: string | null;
2398
1167
  readonly revision: string;
2399
- readonly sourceDigest: string;
1168
+ readonly overlay: {
1169
+ readonly [x: string]: string | null;
1170
+ };
1171
+ readonly assetChanges: readonly {
1172
+ readonly path: string;
1173
+ readonly status: "added" | "deleted" | "modified";
1174
+ }[];
1175
+ readonly conflicts: readonly {
1176
+ readonly path: string;
1177
+ readonly base: string | null;
1178
+ readonly draft: string | null;
1179
+ readonly main: string | null;
1180
+ }[];
1181
+ readonly provenance: {
1182
+ readonly references: readonly {
1183
+ readonly kind: string;
1184
+ readonly digest: string;
1185
+ readonly locator?: string;
1186
+ }[];
1187
+ };
1188
+ readonly mounts: readonly ({
1189
+ readonly kind: "project";
1190
+ readonly root: "/project";
1191
+ readonly access: "read-write";
1192
+ } | {
1193
+ readonly root: string;
1194
+ readonly digest: string;
1195
+ readonly fileCount: number;
1196
+ readonly byteSize: number;
1197
+ readonly kind: "started-from";
1198
+ readonly access: "read-only";
1199
+ readonly templateId: string;
1200
+ readonly slug: string;
1201
+ readonly name: string;
1202
+ } | {
1203
+ readonly root: string;
1204
+ readonly digest: string;
1205
+ readonly fileCount: number;
1206
+ readonly byteSize: number;
1207
+ readonly kind: "resource";
1208
+ readonly access: "read-only";
1209
+ readonly resourceId: string;
1210
+ readonly name: string;
1211
+ } | {
1212
+ readonly root: string;
1213
+ readonly digest: string;
1214
+ readonly fileCount: number;
1215
+ readonly byteSize: number;
1216
+ readonly kind: "library-template";
1217
+ readonly access: "read-only";
1218
+ readonly templateId: string;
1219
+ readonly slug: string;
1220
+ readonly name: string;
1221
+ })[];
1222
+ readonly libraryManifestDigest: string;
2400
1223
  readonly createdAt: string;
2401
1224
  readonly updatedAt: string;
2402
1225
  readonly createdBy: {
@@ -2407,185 +1230,705 @@ export declare const replaceDocument: (input: {
2407
1230
  readonly userId: string & import("effect/Brand").Brand<"UserId">;
2408
1231
  readonly via: "agent" | "api" | "mcp";
2409
1232
  };
2410
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2411
- export declare const saveDocument: (input: {
2412
- readonly templateId: string;
2413
- readonly revision: string;
1233
+ }, import("./generated").ConflictError | 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>;
1234
+ export declare const reconcileWorkspace: (input: {
1235
+ readonly id: string;
1236
+ readonly expectedRevision: string;
1237
+ readonly assetResolution?: string | undefined;
1238
+ readonly expectedRemoteHead?: string | undefined;
1239
+ readonly idempotencyKey: string;
2414
1240
  }) => import("effect/Effect").Effect<{
1241
+ readonly workspace: {
1242
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1243
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
1244
+ readonly ownerEpoch: number;
1245
+ readonly repositoryName: string;
1246
+ readonly defaultBranch: string;
1247
+ readonly baseCommit: string;
1248
+ readonly remoteHead: string;
1249
+ readonly pendingRemoteHead: string | null;
1250
+ readonly revision: string;
1251
+ readonly overlay: {
1252
+ readonly [x: string]: string | null;
1253
+ };
1254
+ readonly assetChanges: readonly {
1255
+ readonly path: string;
1256
+ readonly status: "added" | "deleted" | "modified";
1257
+ }[];
1258
+ readonly conflicts: readonly {
1259
+ readonly path: string;
1260
+ readonly base: string | null;
1261
+ readonly draft: string | null;
1262
+ readonly main: string | null;
1263
+ }[];
1264
+ readonly provenance: {
1265
+ readonly references: readonly {
1266
+ readonly kind: string;
1267
+ readonly digest: string;
1268
+ readonly locator?: string;
1269
+ }[];
1270
+ };
1271
+ readonly mounts: readonly ({
1272
+ readonly kind: "project";
1273
+ readonly root: "/project";
1274
+ readonly access: "read-write";
1275
+ } | {
1276
+ readonly root: string;
1277
+ readonly digest: string;
1278
+ readonly fileCount: number;
1279
+ readonly byteSize: number;
1280
+ readonly kind: "started-from";
1281
+ readonly access: "read-only";
1282
+ readonly templateId: string;
1283
+ readonly slug: string;
1284
+ readonly name: string;
1285
+ } | {
1286
+ readonly root: string;
1287
+ readonly digest: string;
1288
+ readonly fileCount: number;
1289
+ readonly byteSize: number;
1290
+ readonly kind: "resource";
1291
+ readonly access: "read-only";
1292
+ readonly resourceId: string;
1293
+ readonly name: string;
1294
+ } | {
1295
+ readonly root: string;
1296
+ readonly digest: string;
1297
+ readonly fileCount: number;
1298
+ readonly byteSize: number;
1299
+ readonly kind: "library-template";
1300
+ readonly access: "read-only";
1301
+ readonly templateId: string;
1302
+ readonly slug: string;
1303
+ readonly name: string;
1304
+ })[];
1305
+ readonly libraryManifestDigest: string;
1306
+ readonly createdAt: string;
1307
+ readonly updatedAt: string;
1308
+ readonly createdBy: {
1309
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1310
+ readonly via: "agent" | "api" | "mcp";
1311
+ };
1312
+ readonly updatedBy: {
1313
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1314
+ readonly via: "agent" | "api" | "mcp";
1315
+ };
1316
+ };
1317
+ readonly files: {
1318
+ readonly [x: string]: string;
1319
+ };
1320
+ }, import("./generated").ConflictError | 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>;
1321
+ export declare const restoreWorkspace: (input: {
2415
1322
  readonly id: string;
2416
- readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
2417
- readonly documentRevision: string;
2418
- readonly sourceDigest: string;
2419
- readonly compilerVersion: string;
2420
- readonly createdAt: string;
2421
- readonly versionId: string;
2422
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2423
- export declare const renderDocument: (input: {
2424
- readonly templateId: string;
2425
- readonly revision: string;
2426
- readonly variables?: {
2427
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
2428
- readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
2429
- } | null)[] | {
2430
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2431
- } | null)[] | {
2432
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2433
- } | null)[] | {
2434
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2435
- } | null)[] | {
2436
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2437
- } | null)[] | {
2438
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2439
- } | null)[] | {
2440
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2441
- } | null)[] | {
2442
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2443
- } | null)[] | {
2444
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2445
- } | null)[] | {
2446
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2447
- } | null)[] | {
2448
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2449
- } | null)[] | {
2450
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2451
- } | null | undefined;
2452
- } | null | undefined;
1323
+ readonly expectedRevision: string;
1324
+ readonly commit: string;
1325
+ readonly idempotencyKey: string;
2453
1326
  }) => import("effect/Effect").Effect<{
2454
- readonly text: string;
2455
- readonly channel: "sms" | "whatsapp" | "email";
2456
- readonly missingVariables: readonly string[];
2457
- readonly subject?: string | null;
2458
- readonly html?: string | null;
2459
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2460
- export declare const checkDocumentSpam: (input: {
2461
- readonly templateId: string;
2462
- readonly revision: string;
2463
- readonly variables?: {
2464
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
2465
- readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
2466
- } | null)[] | {
2467
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2468
- } | null)[] | {
2469
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2470
- } | null)[] | {
2471
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2472
- } | null)[] | {
2473
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2474
- } | null)[] | {
2475
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2476
- } | null)[] | {
2477
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2478
- } | null)[] | {
2479
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2480
- } | null)[] | {
2481
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2482
- } | null)[] | {
2483
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2484
- } | null)[] | {
2485
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2486
- } | null)[] | {
2487
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2488
- } | null | undefined;
2489
- } | null | undefined;
1327
+ readonly view: {
1328
+ readonly workspace: {
1329
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1330
+ readonly organizationId: (string & import("effect/Brand").Brand<"OrganizationId">) | null;
1331
+ readonly ownerEpoch: number;
1332
+ readonly repositoryName: string;
1333
+ readonly defaultBranch: string;
1334
+ readonly baseCommit: string;
1335
+ readonly remoteHead: string;
1336
+ readonly pendingRemoteHead: string | null;
1337
+ readonly revision: string;
1338
+ readonly overlay: {
1339
+ readonly [x: string]: string | null;
1340
+ };
1341
+ readonly assetChanges: readonly {
1342
+ readonly path: string;
1343
+ readonly status: "added" | "deleted" | "modified";
1344
+ }[];
1345
+ readonly conflicts: readonly {
1346
+ readonly path: string;
1347
+ readonly base: string | null;
1348
+ readonly draft: string | null;
1349
+ readonly main: string | null;
1350
+ }[];
1351
+ readonly provenance: {
1352
+ readonly references: readonly {
1353
+ readonly kind: string;
1354
+ readonly digest: string;
1355
+ readonly locator?: string;
1356
+ }[];
1357
+ };
1358
+ readonly mounts: readonly ({
1359
+ readonly kind: "project";
1360
+ readonly root: "/project";
1361
+ readonly access: "read-write";
1362
+ } | {
1363
+ readonly root: string;
1364
+ readonly digest: string;
1365
+ readonly fileCount: number;
1366
+ readonly byteSize: number;
1367
+ readonly kind: "started-from";
1368
+ readonly access: "read-only";
1369
+ readonly templateId: string;
1370
+ readonly slug: string;
1371
+ readonly name: string;
1372
+ } | {
1373
+ readonly root: string;
1374
+ readonly digest: string;
1375
+ readonly fileCount: number;
1376
+ readonly byteSize: number;
1377
+ readonly kind: "resource";
1378
+ readonly access: "read-only";
1379
+ readonly resourceId: string;
1380
+ readonly name: string;
1381
+ } | {
1382
+ readonly root: string;
1383
+ readonly digest: string;
1384
+ readonly fileCount: number;
1385
+ readonly byteSize: number;
1386
+ readonly kind: "library-template";
1387
+ readonly access: "read-only";
1388
+ readonly templateId: string;
1389
+ readonly slug: string;
1390
+ readonly name: string;
1391
+ })[];
1392
+ readonly libraryManifestDigest: string;
1393
+ readonly createdAt: string;
1394
+ readonly updatedAt: string;
1395
+ readonly createdBy: {
1396
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1397
+ readonly via: "agent" | "api" | "mcp";
1398
+ };
1399
+ readonly updatedBy: {
1400
+ readonly userId: string & import("effect/Brand").Brand<"UserId">;
1401
+ readonly via: "agent" | "api" | "mcp";
1402
+ };
1403
+ };
1404
+ readonly files: {
1405
+ readonly [x: string]: string;
1406
+ };
1407
+ };
1408
+ readonly source: {
1409
+ readonly digest: string;
1410
+ readonly content: string;
1411
+ };
1412
+ }, import("./generated").ConflictError | 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>;
1413
+ export declare const saveWorkspace: (input: {
1414
+ readonly id: string;
1415
+ readonly expectedRevision: string;
1416
+ readonly expectedHead: string;
1417
+ readonly message: string;
1418
+ readonly idempotencyKey: string;
2490
1419
  }) => import("effect/Effect").Effect<{
2491
- readonly score: number;
2492
- readonly severity: "low" | "medium" | "high";
2493
- readonly issues: readonly {
2494
- readonly rule: string;
2495
- readonly description: string;
2496
- readonly severity: "low" | "medium" | "high";
2497
- readonly score: number;
1420
+ readonly commit: string;
1421
+ readonly parentCommit: string;
1422
+ readonly tree: string;
1423
+ readonly revision: string;
1424
+ readonly changedPaths: readonly string[];
1425
+ readonly sourceDigest: string;
1426
+ readonly buildDigest: string;
1427
+ readonly warnings: readonly {
1428
+ readonly code: string;
1429
+ readonly severity: "error" | "info" | "warning";
1430
+ readonly message: string;
1431
+ readonly origins: readonly {
1432
+ readonly fileName: string;
1433
+ readonly lineNumber: number;
1434
+ readonly columnNumber: number;
1435
+ }[];
1436
+ readonly clients?: readonly string[] | null;
1437
+ readonly notes?: string | null;
1438
+ readonly provenance?: string | null;
1439
+ readonly fixtures?: readonly string[] | null;
1440
+ readonly occurrences?: readonly (readonly {
1441
+ readonly fileName: string;
1442
+ readonly lineNumber: number;
1443
+ readonly columnNumber: number;
1444
+ }[])[] | null;
1445
+ readonly compatibility?: {
1446
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1447
+ readonly title: string;
1448
+ } | null;
2498
1449
  }[];
2499
- readonly recommendations: readonly string[];
2500
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2501
- export declare const sendDocumentTest: (input: {
2502
- readonly templateId: string;
2503
- readonly to: string;
1450
+ readonly incompatibilities: readonly {
1451
+ readonly code: string;
1452
+ readonly severity: "error" | "info" | "warning";
1453
+ readonly message: string;
1454
+ readonly origins: readonly {
1455
+ readonly fileName: string;
1456
+ readonly lineNumber: number;
1457
+ readonly columnNumber: number;
1458
+ }[];
1459
+ readonly clients?: readonly string[] | null;
1460
+ readonly notes?: string | null;
1461
+ readonly provenance?: string | null;
1462
+ readonly fixtures?: readonly string[] | null;
1463
+ readonly occurrences?: readonly (readonly {
1464
+ readonly fileName: string;
1465
+ readonly lineNumber: number;
1466
+ readonly columnNumber: number;
1467
+ }[])[] | null;
1468
+ readonly compatibility?: {
1469
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1470
+ readonly title: string;
1471
+ } | null;
1472
+ }[];
1473
+ }, import("./generated").ConflictError | 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>;
1474
+ export declare const checkWorkspace: (input: {
1475
+ readonly id: string;
1476
+ readonly expectedRevision: string;
1477
+ }) => import("effect/Effect").Effect<{
1478
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
2504
1479
  readonly revision: string;
2505
- readonly variables?: {
2506
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | {
2507
- readonly [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
2508
- } | null)[] | {
2509
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2510
- } | null)[] | {
2511
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2512
- } | null)[] | {
2513
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2514
- } | null)[] | {
2515
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2516
- } | null)[] | {
2517
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2518
- } | null)[] | {
2519
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2520
- } | null)[] | {
2521
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2522
- } | null)[] | {
2523
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2524
- } | null)[] | {
2525
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2526
- } | null)[] | {
2527
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2528
- } | null)[] | {
2529
- readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null)[] | /*elided*/ any | null | undefined;
2530
- } | null | undefined;
2531
- } | null | undefined;
1480
+ readonly entryPath: string;
1481
+ readonly declaration: {
1482
+ readonly codeDigest: string;
1483
+ readonly templateId: string;
1484
+ readonly input: {
1485
+ readonly schema: {
1486
+ readonly [x: string]: import("./generated").JsonValue;
1487
+ };
1488
+ readonly schemaDigest: string;
1489
+ readonly contractDigest: string;
1490
+ };
1491
+ readonly runtime: {
1492
+ readonly now?: number;
1493
+ readonly randomSeed?: number;
1494
+ };
1495
+ readonly fixtures: readonly string[];
1496
+ } | null;
1497
+ readonly diagnostics: readonly {
1498
+ readonly code: string;
1499
+ readonly severity: "error" | "info" | "warning";
1500
+ readonly message: string;
1501
+ readonly origins: readonly {
1502
+ readonly fileName: string;
1503
+ readonly lineNumber: number;
1504
+ readonly columnNumber: number;
1505
+ }[];
1506
+ readonly clients?: readonly string[] | null;
1507
+ readonly notes?: string | null;
1508
+ readonly provenance?: string | null;
1509
+ readonly fixtures?: readonly string[] | null;
1510
+ readonly occurrences?: readonly (readonly {
1511
+ readonly fileName: string;
1512
+ readonly lineNumber: number;
1513
+ readonly columnNumber: number;
1514
+ }[])[] | null;
1515
+ readonly compatibility?: {
1516
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1517
+ readonly title: string;
1518
+ } | null;
1519
+ }[];
1520
+ readonly incompatibilities: readonly {
1521
+ readonly code: string;
1522
+ readonly severity: "error" | "info" | "warning";
1523
+ readonly message: string;
1524
+ readonly origins: readonly {
1525
+ readonly fileName: string;
1526
+ readonly lineNumber: number;
1527
+ readonly columnNumber: number;
1528
+ }[];
1529
+ readonly clients?: readonly string[] | null;
1530
+ readonly notes?: string | null;
1531
+ readonly provenance?: string | null;
1532
+ readonly fixtures?: readonly string[] | null;
1533
+ readonly occurrences?: readonly (readonly {
1534
+ readonly fileName: string;
1535
+ readonly lineNumber: number;
1536
+ readonly columnNumber: number;
1537
+ }[])[] | null;
1538
+ readonly compatibility?: {
1539
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1540
+ readonly title: string;
1541
+ } | null;
1542
+ }[];
1543
+ }, import("./generated").ConflictError | 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>;
1544
+ export declare const renderWorkspaceFixture: (input: {
1545
+ readonly id: string;
1546
+ readonly expectedRevision: string;
1547
+ readonly fixture: string;
2532
1548
  }) => import("effect/Effect").Effect<{
2533
- readonly messageId: string;
2534
- readonly status: string;
1549
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1550
+ readonly revision: string;
1551
+ readonly entryPath: string;
1552
+ readonly declaration: {
1553
+ readonly codeDigest: string;
1554
+ readonly templateId: string;
1555
+ readonly input: {
1556
+ readonly schema: {
1557
+ readonly [x: string]: import("./generated").JsonValue;
1558
+ };
1559
+ readonly schemaDigest: string;
1560
+ readonly contractDigest: string;
1561
+ };
1562
+ readonly runtime: {
1563
+ readonly now?: number;
1564
+ readonly randomSeed?: number;
1565
+ };
1566
+ readonly fixtures: readonly string[];
1567
+ } | null;
1568
+ readonly diagnostics: readonly {
1569
+ readonly code: string;
1570
+ readonly severity: "error" | "info" | "warning";
1571
+ readonly message: string;
1572
+ readonly origins: readonly {
1573
+ readonly fileName: string;
1574
+ readonly lineNumber: number;
1575
+ readonly columnNumber: number;
1576
+ }[];
1577
+ readonly clients?: readonly string[] | null;
1578
+ readonly notes?: string | null;
1579
+ readonly provenance?: string | null;
1580
+ readonly fixtures?: readonly string[] | null;
1581
+ readonly occurrences?: readonly (readonly {
1582
+ readonly fileName: string;
1583
+ readonly lineNumber: number;
1584
+ readonly columnNumber: number;
1585
+ }[])[] | null;
1586
+ readonly compatibility?: {
1587
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1588
+ readonly title: string;
1589
+ } | null;
1590
+ }[];
1591
+ readonly incompatibilities: readonly {
1592
+ readonly code: string;
1593
+ readonly severity: "error" | "info" | "warning";
1594
+ readonly message: string;
1595
+ readonly origins: readonly {
1596
+ readonly fileName: string;
1597
+ readonly lineNumber: number;
1598
+ readonly columnNumber: number;
1599
+ }[];
1600
+ readonly clients?: readonly string[] | null;
1601
+ readonly notes?: string | null;
1602
+ readonly provenance?: string | null;
1603
+ readonly fixtures?: readonly string[] | null;
1604
+ readonly occurrences?: readonly (readonly {
1605
+ readonly fileName: string;
1606
+ readonly lineNumber: number;
1607
+ readonly columnNumber: number;
1608
+ }[])[] | null;
1609
+ readonly compatibility?: {
1610
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1611
+ readonly title: string;
1612
+ } | null;
1613
+ }[];
1614
+ readonly fixture: string;
2535
1615
  readonly rendered: {
1616
+ readonly subject: string;
1617
+ readonly preheader?: string;
1618
+ readonly html: string;
2536
1619
  readonly text: string;
2537
- readonly channel: "sms" | "whatsapp" | "email";
2538
- readonly missingVariables: readonly string[];
2539
- readonly subject?: string | null;
2540
- readonly html?: string | null;
2541
- };
2542
- }, import("effect/SchemaError").SchemaError | import("./generated").BillingProviderError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").PaymentRequiredError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("./generated").WebhookEnqueueError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2543
- export declare const listDocumentVersions: (input: {
2544
- readonly templateId: string;
1620
+ readonly selections: readonly {
1621
+ readonly instancePath: string;
1622
+ readonly tag: string;
1623
+ readonly origins: readonly {
1624
+ readonly fileName: string;
1625
+ readonly lineNumber: number;
1626
+ readonly columnNumber: number;
1627
+ }[];
1628
+ readonly authored: boolean;
1629
+ readonly occurrence: number;
1630
+ readonly occurrences: number;
1631
+ readonly parentPath?: string;
1632
+ readonly start: number;
1633
+ readonly end: number;
1634
+ }[];
1635
+ } | null;
1636
+ }, import("./generated").ConflictError | 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>;
1637
+ export declare const publish: (input: {
1638
+ readonly id: string;
1639
+ readonly projectId: string;
1640
+ readonly commitSha: string;
1641
+ readonly entryPath: string;
1642
+ readonly expectedWorkspaceRevision: string;
2545
1643
  }) => import("effect/Effect").Effect<{
2546
- readonly versions: readonly {
2547
- readonly versionId: string & import("effect/Brand").Brand<"TemplateSourceVersionId">;
2548
- readonly version: number;
2549
- readonly status: string;
2550
- readonly isCurrent: boolean;
2551
- readonly materializationId: string;
2552
- readonly documentRevision: string;
2553
- readonly sourceDigest: string;
2554
- readonly compilerVersion: string;
2555
- readonly publishedAt: string | null;
2556
- readonly archivedAt: string | null;
2557
- readonly createdAt: string;
1644
+ readonly id: string & import("effect/Brand").Brand<"TemplatePublicationId">;
1645
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
1646
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1647
+ readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
1648
+ readonly inputContractId: string & import("effect/Brand").Brand<"TemplateInputContractId">;
1649
+ readonly commitSha: string;
1650
+ readonly treeSha: string;
1651
+ readonly entryPath: string;
1652
+ readonly buildIdentity: string;
1653
+ readonly manifest: {
1654
+ readonly templateKey: string;
1655
+ readonly executable: {
1656
+ readonly codeDigest: string;
1657
+ readonly bytes: number;
1658
+ };
1659
+ readonly input: {
1660
+ readonly schemaDigest: string;
1661
+ readonly contractDigest: string;
1662
+ };
1663
+ readonly environment: {
1664
+ readonly locale: string;
1665
+ readonly timeZone: "UTC";
1666
+ readonly now?: number;
1667
+ readonly randomSeed?: number;
1668
+ readonly compiler: string;
1669
+ readonly runtime: string;
1670
+ readonly checker: string;
1671
+ readonly lockKind: "bun" | "npm";
1672
+ readonly lockDigest: string;
1673
+ readonly digest: string;
1674
+ };
1675
+ readonly assets: {
1676
+ readonly base: string;
1677
+ readonly entries: readonly {
1678
+ readonly path: string;
1679
+ readonly fileName: string;
1680
+ readonly digest: string;
1681
+ readonly bytes: number;
1682
+ readonly contentType: string;
1683
+ readonly url: string;
1684
+ }[];
1685
+ };
1686
+ readonly source: {
1687
+ readonly commitSha: string;
1688
+ readonly treeSha: string;
1689
+ readonly entryPath: string;
1690
+ readonly treeDigest: string;
1691
+ };
1692
+ };
1693
+ readonly executable: {
1694
+ readonly key: string;
1695
+ readonly digest: string;
1696
+ };
1697
+ readonly assets: readonly {
1698
+ readonly path: string;
1699
+ readonly fileName: string;
1700
+ readonly digest: string;
1701
+ readonly bytes: number;
1702
+ readonly contentType: string;
1703
+ readonly url: string;
2558
1704
  }[];
2559
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2560
- export declare const publishDocument: (input: {
2561
- readonly templateId: string;
2562
- }) => import("effect/Effect").Effect<{
2563
- readonly versionId: string;
2564
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2565
- export declare const unpublishDocument: (input: {
2566
- readonly templateId: string;
2567
- }) => import("effect/Effect").Effect<{
2568
- readonly versionId: string;
2569
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
2570
- export declare const restoreDocument: (input: {
2571
- readonly templateId: string;
2572
- readonly versionId: string;
2573
- readonly expectedRevision: string;
1705
+ readonly warnings: readonly {
1706
+ readonly code: string;
1707
+ readonly severity: "error" | "info" | "warning";
1708
+ readonly message: string;
1709
+ readonly origins: readonly {
1710
+ readonly fileName: string;
1711
+ readonly lineNumber: number;
1712
+ readonly columnNumber: number;
1713
+ }[];
1714
+ readonly clients?: readonly string[] | null;
1715
+ readonly notes?: string | null;
1716
+ readonly provenance?: string | null;
1717
+ readonly fixtures?: readonly string[] | null;
1718
+ readonly occurrences?: readonly (readonly {
1719
+ readonly fileName: string;
1720
+ readonly lineNumber: number;
1721
+ readonly columnNumber: number;
1722
+ }[])[] | null;
1723
+ readonly compatibility?: {
1724
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1725
+ readonly title: string;
1726
+ } | null;
1727
+ }[];
1728
+ readonly incompatibilities: readonly {
1729
+ readonly code: string;
1730
+ readonly severity: "error" | "info" | "warning";
1731
+ readonly message: string;
1732
+ readonly origins: readonly {
1733
+ readonly fileName: string;
1734
+ readonly lineNumber: number;
1735
+ readonly columnNumber: number;
1736
+ }[];
1737
+ readonly clients?: readonly string[] | null;
1738
+ readonly notes?: string | null;
1739
+ readonly provenance?: string | null;
1740
+ readonly fixtures?: readonly string[] | null;
1741
+ readonly occurrences?: readonly (readonly {
1742
+ readonly fileName: string;
1743
+ readonly lineNumber: number;
1744
+ readonly columnNumber: number;
1745
+ }[])[] | null;
1746
+ readonly compatibility?: {
1747
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1748
+ readonly title: string;
1749
+ } | null;
1750
+ }[];
1751
+ readonly status: string;
1752
+ readonly publishedAt: string;
1753
+ readonly publishedBy: string | null;
1754
+ readonly createdAt: string;
1755
+ }, import("./generated").ConflictError | 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>;
1756
+ export declare const getPublication: (input: {
1757
+ readonly id: string;
1758
+ readonly publicationId: string;
2574
1759
  }) => import("effect/Effect").Effect<{
2575
- readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
1760
+ readonly id: string & import("effect/Brand").Brand<"TemplatePublicationId">;
2576
1761
  readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
2577
- readonly channel: "sms" | "whatsapp" | "email";
2578
- readonly source: string;
2579
- readonly revision: string;
2580
- readonly sourceDigest: string;
1762
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1763
+ readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
1764
+ readonly inputContractId: string & import("effect/Brand").Brand<"TemplateInputContractId">;
1765
+ readonly commitSha: string;
1766
+ readonly treeSha: string;
1767
+ readonly entryPath: string;
1768
+ readonly buildIdentity: string;
1769
+ readonly manifest: {
1770
+ readonly templateKey: string;
1771
+ readonly executable: {
1772
+ readonly codeDigest: string;
1773
+ readonly bytes: number;
1774
+ };
1775
+ readonly input: {
1776
+ readonly schemaDigest: string;
1777
+ readonly contractDigest: string;
1778
+ };
1779
+ readonly environment: {
1780
+ readonly locale: string;
1781
+ readonly timeZone: "UTC";
1782
+ readonly now?: number;
1783
+ readonly randomSeed?: number;
1784
+ readonly compiler: string;
1785
+ readonly runtime: string;
1786
+ readonly checker: string;
1787
+ readonly lockKind: "bun" | "npm";
1788
+ readonly lockDigest: string;
1789
+ readonly digest: string;
1790
+ };
1791
+ readonly assets: {
1792
+ readonly base: string;
1793
+ readonly entries: readonly {
1794
+ readonly path: string;
1795
+ readonly fileName: string;
1796
+ readonly digest: string;
1797
+ readonly bytes: number;
1798
+ readonly contentType: string;
1799
+ readonly url: string;
1800
+ }[];
1801
+ };
1802
+ readonly source: {
1803
+ readonly commitSha: string;
1804
+ readonly treeSha: string;
1805
+ readonly entryPath: string;
1806
+ readonly treeDigest: string;
1807
+ };
1808
+ };
1809
+ readonly executable: {
1810
+ readonly key: string;
1811
+ readonly digest: string;
1812
+ };
1813
+ readonly assets: readonly {
1814
+ readonly path: string;
1815
+ readonly fileName: string;
1816
+ readonly digest: string;
1817
+ readonly bytes: number;
1818
+ readonly contentType: string;
1819
+ readonly url: string;
1820
+ }[];
1821
+ readonly warnings: readonly {
1822
+ readonly code: string;
1823
+ readonly severity: "error" | "info" | "warning";
1824
+ readonly message: string;
1825
+ readonly origins: readonly {
1826
+ readonly fileName: string;
1827
+ readonly lineNumber: number;
1828
+ readonly columnNumber: number;
1829
+ }[];
1830
+ readonly clients?: readonly string[] | null;
1831
+ readonly notes?: string | null;
1832
+ readonly provenance?: string | null;
1833
+ readonly fixtures?: readonly string[] | null;
1834
+ readonly occurrences?: readonly (readonly {
1835
+ readonly fileName: string;
1836
+ readonly lineNumber: number;
1837
+ readonly columnNumber: number;
1838
+ }[])[] | null;
1839
+ readonly compatibility?: {
1840
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1841
+ readonly title: string;
1842
+ } | null;
1843
+ }[];
1844
+ readonly incompatibilities: readonly {
1845
+ readonly code: string;
1846
+ readonly severity: "error" | "info" | "warning";
1847
+ readonly message: string;
1848
+ readonly origins: readonly {
1849
+ readonly fileName: string;
1850
+ readonly lineNumber: number;
1851
+ readonly columnNumber: number;
1852
+ }[];
1853
+ readonly clients?: readonly string[] | null;
1854
+ readonly notes?: string | null;
1855
+ readonly provenance?: string | null;
1856
+ readonly fixtures?: readonly string[] | null;
1857
+ readonly occurrences?: readonly (readonly {
1858
+ readonly fileName: string;
1859
+ readonly lineNumber: number;
1860
+ readonly columnNumber: number;
1861
+ }[])[] | null;
1862
+ readonly compatibility?: {
1863
+ readonly assessment: "degradation" | "not-applicable" | "risk" | "unverified";
1864
+ readonly title: string;
1865
+ } | null;
1866
+ }[];
1867
+ readonly status: string;
1868
+ readonly publishedAt: string;
1869
+ readonly publishedBy: string | null;
2581
1870
  readonly createdAt: string;
2582
- readonly updatedAt: string;
2583
- readonly createdBy: {
2584
- readonly userId: string & import("effect/Brand").Brand<"UserId">;
2585
- readonly via: "agent" | "api" | "mcp";
1871
+ }, 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>;
1872
+ export declare const listInputContracts: (input: {
1873
+ readonly id: string;
1874
+ }) => import("effect/Effect").Effect<readonly {
1875
+ readonly id: string & import("effect/Brand").Brand<"TemplateInputContractId">;
1876
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
1877
+ readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
1878
+ readonly version: number;
1879
+ readonly validationDigest: string;
1880
+ readonly schema: {
1881
+ readonly [x: string]: import("./generated").JsonValue;
2586
1882
  };
2587
- readonly updatedBy: {
2588
- readonly userId: string & import("effect/Brand").Brand<"UserId">;
2589
- readonly via: "agent" | "api" | "mcp";
1883
+ readonly createdAt: string;
1884
+ }[], 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>;
1885
+ export declare const getInputContract: (input: {
1886
+ readonly id: string;
1887
+ readonly inputContractId: string;
1888
+ }) => import("effect/Effect").Effect<{
1889
+ readonly id: string & import("effect/Brand").Brand<"TemplateInputContractId">;
1890
+ readonly organizationId: string & import("effect/Brand").Brand<"OrganizationId">;
1891
+ readonly templateId: string & import("effect/Brand").Brand<"TemplateId">;
1892
+ readonly version: number;
1893
+ readonly validationDigest: string;
1894
+ readonly schema: {
1895
+ readonly [x: string]: import("./generated").JsonValue;
2590
1896
  };
2591
- }, import("effect/SchemaError").SchemaError | import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("./generated").UnauthorizedError | import("./generated").ValidationError | import("effect/unstable/http/HttpClientError").HttpClientError, import("./client").Service>;
1897
+ readonly createdAt: string;
1898
+ }, 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>;
1899
+ export declare const diffWorkspace: (input: {
1900
+ readonly id: string;
1901
+ readonly expectedRevision: string;
1902
+ }) => import("effect/Effect").Effect<{
1903
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1904
+ readonly baseCommit: string;
1905
+ readonly revision: string;
1906
+ readonly changes: readonly {
1907
+ readonly path: string;
1908
+ readonly before: string | null;
1909
+ readonly after: string | null;
1910
+ readonly status: "added" | "deleted" | "modified";
1911
+ }[];
1912
+ readonly assetChanges: readonly {
1913
+ readonly path: string;
1914
+ readonly status: "added" | "deleted" | "modified";
1915
+ }[];
1916
+ }, import("./generated").ConflictError | 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>;
1917
+ export declare const workspaceHistory: (input: {
1918
+ readonly id: string;
1919
+ readonly limit?: string | null | undefined;
1920
+ }) => import("effect/Effect").Effect<{
1921
+ readonly projectId: string & import("effect/Brand").Brand<"TemplateProjectId">;
1922
+ readonly head: string;
1923
+ readonly commits: readonly {
1924
+ readonly commit: string;
1925
+ readonly tree: string;
1926
+ readonly parentCommit: string | null;
1927
+ readonly message: string;
1928
+ readonly committedAt: string;
1929
+ }[];
1930
+ readonly publication: {
1931
+ readonly id: string & import("effect/Brand").Brand<"TemplatePublicationId">;
1932
+ readonly commit: string;
1933
+ } | null;
1934
+ }, import("./generated").ConflictError | 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>;