samva 0.28.1 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +1 -1
  3. package/dist/client/sdk.gen.d.ts +156 -1
  4. package/dist/client/sdk.gen.js +475 -1
  5. package/dist/client/types.gen.d.ts +1653 -183
  6. package/dist/effect/campaigns.d.ts +32 -0
  7. package/dist/effect/generated/agents.js +36 -36
  8. package/dist/effect/generated/analytics.js +24 -24
  9. package/dist/effect/generated/api-keys.js +29 -29
  10. package/dist/effect/generated/attachments.js +13 -13
  11. package/dist/effect/generated/brands.js +13 -13
  12. package/dist/effect/generated/campaigns.d.ts +178 -60
  13. package/dist/effect/generated/campaigns.js +92 -104
  14. package/dist/effect/generated/contact-events.js +5 -5
  15. package/dist/effect/generated/contact-groups.js +38 -38
  16. package/dist/effect/generated/contacts.js +93 -93
  17. package/dist/effect/generated/conversations.js +38 -38
  18. package/dist/effect/generated/custom-fields.js +15 -15
  19. package/dist/effect/generated/email.js +225 -225
  20. package/dist/effect/generated/events.js +5 -5
  21. package/dist/effect/generated/extension-installations.js +35 -35
  22. package/dist/effect/generated/extensions.js +24 -24
  23. package/dist/effect/generated/feedback.js +6 -6
  24. package/dist/effect/generated/index.d.ts +5 -1
  25. package/dist/effect/generated/journeys.js +67 -67
  26. package/dist/effect/generated/mailboxes.js +286 -286
  27. package/dist/effect/generated/media.js +16 -16
  28. package/dist/effect/generated/messages.js +65 -65
  29. package/dist/effect/generated/namespaces.js +27 -27
  30. package/dist/effect/generated/operations.js +6 -6
  31. package/dist/effect/generated/organizations.js +19 -19
  32. package/dist/effect/generated/publication-domains.d.ts +548 -0
  33. package/dist/effect/generated/publication-domains.js +163 -0
  34. package/dist/effect/generated/scheduled-messages.js +25 -25
  35. package/dist/effect/generated/shared.d.ts +142 -30
  36. package/dist/effect/generated/shared.js +356 -328
  37. package/dist/effect/generated/subscriptions.js +10 -10
  38. package/dist/effect/generated/templates.d.ts +172 -15
  39. package/dist/effect/generated/templates.js +207 -162
  40. package/dist/effect/generated/topic-forms.js +21 -21
  41. package/dist/effect/generated/topic-issues.d.ts +2995 -0
  42. package/dist/effect/generated/topic-issues.js +985 -0
  43. package/dist/effect/generated/topics.d.ts +61 -1
  44. package/dist/effect/generated/topics.js +39 -31
  45. package/dist/effect/generated/webhooks.js +50 -50
  46. package/dist/effect/generated/whoami.js +10 -10
  47. package/dist/effect/generated-metadata.d.ts +70 -0
  48. package/dist/effect/generated-metadata.js +57 -13
  49. package/dist/effect/index.d.ts +2 -0
  50. package/dist/effect/index.js +3 -1
  51. package/dist/effect/journeys.d.ts +112 -112
  52. package/dist/effect/mailboxes.d.ts +78 -78
  53. package/dist/effect/publication-domains.d.ts +14 -0
  54. package/dist/effect/publication-domains.js +17 -0
  55. package/dist/effect/topic-issues.d.ts +57 -0
  56. package/dist/effect/topic-issues.js +33 -0
  57. package/dist/effect/topics.d.ts +6 -2
  58. package/dist/package.js +1 -1
  59. package/dist/promises/index.d.ts +5 -1
  60. package/dist/promises/index.js +5 -1
  61. package/dist/promises/types.gen.d.ts +1 -1
  62. package/dist/service-map.d.ts +74 -0
  63. package/dist/service-map.js +56 -0
  64. package/package.json +16 -8
@@ -5630,6 +5630,14 @@ var Topics = class {
5630
5630
  in: "body",
5631
5631
  key: "default"
5632
5632
  },
5633
+ {
5634
+ in: "body",
5635
+ key: "archiveEnabled"
5636
+ },
5637
+ {
5638
+ in: "body",
5639
+ key: "publicationSlug"
5640
+ },
5633
5641
  {
5634
5642
  in: "body",
5635
5643
  key: "defaultSenderId"
@@ -5764,6 +5772,14 @@ var Topics = class {
5764
5772
  in: "body",
5765
5773
  key: "default"
5766
5774
  },
5775
+ {
5776
+ in: "body",
5777
+ key: "archiveEnabled"
5778
+ },
5779
+ {
5780
+ in: "body",
5781
+ key: "publicationSlug"
5782
+ },
5767
5783
  {
5768
5784
  in: "body",
5769
5785
  key: "defaultSenderId"
@@ -6072,6 +6088,464 @@ var TopicForms = class {
6072
6088
  });
6073
6089
  }
6074
6090
  };
6091
+ var TopicIssues = class {
6092
+ /**
6093
+ * List topic issues
6094
+ *
6095
+ * Lists the Markdown issues in the topic's shared Git workspace with each draft's title and its latest campaign send. An uninitialized topic returns null projectId and revision. Requires issueContent and email.
6096
+ */
6097
+ static list(parameters, options) {
6098
+ const params = buildClientParams([parameters], [{ args: [{
6099
+ in: "path",
6100
+ key: "id"
6101
+ }] }]);
6102
+ return (options?.client ?? client).get({
6103
+ security: [{
6104
+ name: "x-api-key",
6105
+ type: "apiKey"
6106
+ }],
6107
+ url: "/v1/topics/{id}/issues",
6108
+ ...options,
6109
+ ...params
6110
+ });
6111
+ }
6112
+ /**
6113
+ * Update a topic issue
6114
+ *
6115
+ * Replaces the complete Markdown file under a revision fence. Save separately to create a Git commit. Requires issueContent and email.
6116
+ */
6117
+ static update(parameters, options) {
6118
+ const params = buildClientParams([parameters], [{ args: [
6119
+ {
6120
+ in: "path",
6121
+ key: "id"
6122
+ },
6123
+ {
6124
+ in: "body",
6125
+ key: "path"
6126
+ },
6127
+ {
6128
+ in: "body",
6129
+ key: "content"
6130
+ },
6131
+ {
6132
+ in: "body",
6133
+ key: "idempotencyKey"
6134
+ },
6135
+ {
6136
+ in: "body",
6137
+ key: "expectedRevision"
6138
+ }
6139
+ ] }]);
6140
+ return (options?.client ?? client).patch({
6141
+ security: [{
6142
+ name: "x-api-key",
6143
+ type: "apiKey"
6144
+ }],
6145
+ url: "/v1/topics/{id}/issues",
6146
+ ...options,
6147
+ ...params,
6148
+ body: params.body ?? {},
6149
+ headers: {
6150
+ "Content-Type": "application/json",
6151
+ ...options?.headers,
6152
+ ...params.headers
6153
+ }
6154
+ });
6155
+ }
6156
+ /**
6157
+ * Create a topic issue
6158
+ *
6159
+ * Creates an unsaved Markdown file. The first request provisions the topic's project and layout; omit expectedRevision only for that first request or its retry. Further creates require the current revision. No template entry is registered. Requires issueContent and email.
6160
+ */
6161
+ static create(parameters, options) {
6162
+ const params = buildClientParams([parameters], [{ args: [
6163
+ {
6164
+ in: "path",
6165
+ key: "id"
6166
+ },
6167
+ {
6168
+ in: "body",
6169
+ key: "path"
6170
+ },
6171
+ {
6172
+ in: "body",
6173
+ key: "content"
6174
+ },
6175
+ {
6176
+ in: "body",
6177
+ key: "idempotencyKey"
6178
+ },
6179
+ {
6180
+ in: "body",
6181
+ key: "expectedRevision"
6182
+ }
6183
+ ] }]);
6184
+ return (options?.client ?? client).post({
6185
+ security: [{
6186
+ name: "x-api-key",
6187
+ type: "apiKey"
6188
+ }],
6189
+ url: "/v1/topics/{id}/issues",
6190
+ ...options,
6191
+ ...params,
6192
+ body: params.body ?? {},
6193
+ headers: {
6194
+ "Content-Type": "application/json",
6195
+ ...options?.headers,
6196
+ ...params.headers
6197
+ }
6198
+ });
6199
+ }
6200
+ /**
6201
+ * Open the topic issue workspace
6202
+ *
6203
+ * Returns the existing project workspace and pulls saved Git changes. Does not create a repository. Requires issueContent and email.
6204
+ */
6205
+ static open(parameters, options) {
6206
+ const params = buildClientParams([parameters], [{ args: [{
6207
+ in: "path",
6208
+ key: "id"
6209
+ }] }]);
6210
+ return (options?.client ?? client).get({
6211
+ security: [{
6212
+ name: "x-api-key",
6213
+ type: "apiKey"
6214
+ }],
6215
+ url: "/v1/topics/{id}/issues/workspace",
6216
+ ...options,
6217
+ ...params
6218
+ });
6219
+ }
6220
+ /**
6221
+ * Read a topic issue
6222
+ *
6223
+ * Reads one issues*.md file at the requested workspace revision. Requires issueContent and email.
6224
+ */
6225
+ static get(parameters, options) {
6226
+ const params = buildClientParams([parameters], [{ args: [
6227
+ {
6228
+ in: "path",
6229
+ key: "id"
6230
+ },
6231
+ {
6232
+ in: "query",
6233
+ key: "path"
6234
+ },
6235
+ {
6236
+ in: "query",
6237
+ key: "expectedRevision"
6238
+ }
6239
+ ] }]);
6240
+ return (options?.client ?? client).get({
6241
+ security: [{
6242
+ name: "x-api-key",
6243
+ type: "apiKey"
6244
+ }],
6245
+ url: "/v1/topics/{id}/issues/document",
6246
+ ...options,
6247
+ ...params
6248
+ });
6249
+ }
6250
+ /**
6251
+ * Remove a topic issue
6252
+ *
6253
+ * Removes one Markdown file from the draft under a revision fence. The project default issue must remain. Saved commits remain readable. Requires issueContent and email.
6254
+ */
6255
+ static remove(parameters, options) {
6256
+ const params = buildClientParams([parameters], [{ args: [
6257
+ {
6258
+ in: "path",
6259
+ key: "id"
6260
+ },
6261
+ {
6262
+ in: "body",
6263
+ key: "path"
6264
+ },
6265
+ {
6266
+ in: "body",
6267
+ key: "idempotencyKey"
6268
+ },
6269
+ {
6270
+ in: "body",
6271
+ key: "expectedRevision"
6272
+ }
6273
+ ] }]);
6274
+ return (options?.client ?? client).post({
6275
+ security: [{
6276
+ name: "x-api-key",
6277
+ type: "apiKey"
6278
+ }],
6279
+ url: "/v1/topics/{id}/issues/remove",
6280
+ ...options,
6281
+ ...params,
6282
+ body: params.body ?? {},
6283
+ headers: {
6284
+ "Content-Type": "application/json",
6285
+ ...options?.headers,
6286
+ ...params.headers
6287
+ }
6288
+ });
6289
+ }
6290
+ /**
6291
+ * Save topic issues
6292
+ *
6293
+ * Validates the project and saves its draft as a Git commit with revision and branch-head fences. Issue sends pin the resulting commit and issue path. Requires issueContent and email.
6294
+ */
6295
+ static save(parameters, options) {
6296
+ const params = buildClientParams([parameters], [{ args: [
6297
+ {
6298
+ in: "path",
6299
+ key: "id"
6300
+ },
6301
+ {
6302
+ in: "body",
6303
+ key: "expectedRevision"
6304
+ },
6305
+ {
6306
+ in: "body",
6307
+ key: "expectedHead"
6308
+ },
6309
+ {
6310
+ in: "body",
6311
+ key: "message"
6312
+ },
6313
+ {
6314
+ in: "body",
6315
+ key: "idempotencyKey"
6316
+ }
6317
+ ] }]);
6318
+ return (options?.client ?? client).post({
6319
+ security: [{
6320
+ name: "x-api-key",
6321
+ type: "apiKey"
6322
+ }],
6323
+ url: "/v1/topics/{id}/issues/save",
6324
+ ...options,
6325
+ ...params,
6326
+ body: params.body ?? {},
6327
+ headers: {
6328
+ "Content-Type": "application/json",
6329
+ ...options?.headers,
6330
+ ...params.headers
6331
+ }
6332
+ });
6333
+ }
6334
+ /**
6335
+ * Check a topic issue
6336
+ *
6337
+ * Compiles the issue in its layout at the requested revision and returns diagnostics and declared fixtures. Requires issueContent and email.
6338
+ */
6339
+ static check(parameters, options) {
6340
+ const params = buildClientParams([parameters], [{ args: [
6341
+ {
6342
+ in: "path",
6343
+ key: "id"
6344
+ },
6345
+ {
6346
+ in: "body",
6347
+ key: "path"
6348
+ },
6349
+ {
6350
+ in: "body",
6351
+ key: "expectedRevision"
6352
+ }
6353
+ ] }]);
6354
+ return (options?.client ?? client).post({
6355
+ security: [{
6356
+ name: "x-api-key",
6357
+ type: "apiKey"
6358
+ }],
6359
+ url: "/v1/topics/{id}/issues/check",
6360
+ ...options,
6361
+ ...params,
6362
+ body: params.body ?? {},
6363
+ headers: {
6364
+ "Content-Type": "application/json",
6365
+ ...options?.headers,
6366
+ ...params.headers
6367
+ }
6368
+ });
6369
+ }
6370
+ /**
6371
+ * Render a topic issue fixture
6372
+ *
6373
+ * Renders a fixture declared by the layout to email or web at the requested revision. The web render is the publication page readers get, with the subscribe wall position marked. Requires issueContent and email.
6374
+ */
6375
+ static render(parameters, options) {
6376
+ const params = buildClientParams([parameters], [{ args: [
6377
+ {
6378
+ in: "path",
6379
+ key: "id"
6380
+ },
6381
+ {
6382
+ in: "body",
6383
+ key: "path"
6384
+ },
6385
+ {
6386
+ in: "body",
6387
+ key: "expectedRevision"
6388
+ },
6389
+ {
6390
+ in: "body",
6391
+ key: "fixture"
6392
+ },
6393
+ {
6394
+ in: "body",
6395
+ key: "target"
6396
+ }
6397
+ ] }]);
6398
+ return (options?.client ?? client).post({
6399
+ security: [{
6400
+ name: "x-api-key",
6401
+ type: "apiKey"
6402
+ }],
6403
+ url: "/v1/topics/{id}/issues/render",
6404
+ ...options,
6405
+ ...params,
6406
+ body: params.body ?? {},
6407
+ headers: {
6408
+ "Content-Type": "application/json",
6409
+ ...options?.headers,
6410
+ ...params.headers
6411
+ }
6412
+ });
6413
+ }
6414
+ /**
6415
+ * Read the topic issue head
6416
+ *
6417
+ * Reads the current workspace revision and repository branch head. Requires issueContent and email.
6418
+ */
6419
+ static head(parameters, options) {
6420
+ const params = buildClientParams([parameters], [{ args: [{
6421
+ in: "path",
6422
+ key: "id"
6423
+ }] }]);
6424
+ return (options?.client ?? client).get({
6425
+ security: [{
6426
+ name: "x-api-key",
6427
+ type: "apiKey"
6428
+ }],
6429
+ url: "/v1/topics/{id}/issues/head",
6430
+ ...options,
6431
+ ...params
6432
+ });
6433
+ }
6434
+ /**
6435
+ * Read topic issue history
6436
+ *
6437
+ * Lists saved commits in the topic repository, newest first. Requires issueContent and email.
6438
+ */
6439
+ static history(parameters, options) {
6440
+ const params = buildClientParams([parameters], [{ args: [{
6441
+ in: "path",
6442
+ key: "id"
6443
+ }, {
6444
+ in: "query",
6445
+ key: "limit"
6446
+ }] }]);
6447
+ return (options?.client ?? client).get({
6448
+ security: [{
6449
+ name: "x-api-key",
6450
+ type: "apiKey"
6451
+ }],
6452
+ url: "/v1/topics/{id}/issues/history",
6453
+ ...options,
6454
+ ...params
6455
+ });
6456
+ }
6457
+ };
6458
+ var TopicPublicationDomains = class {
6459
+ /**
6460
+ * Add a publication domain
6461
+ *
6462
+ * Claims a hostname for an opt-in topic with its public archive enabled and published. Requires issueWeb. Reuse the UUID idempotencyKey when retrying. The hostname serves no publication until Cloudflare confirms both ownership and SSL are active.
6463
+ */
6464
+ static add(parameters, options) {
6465
+ const params = buildClientParams([parameters], [{ args: [
6466
+ {
6467
+ in: "path",
6468
+ key: "id"
6469
+ },
6470
+ {
6471
+ in: "body",
6472
+ key: "hostname"
6473
+ },
6474
+ {
6475
+ in: "body",
6476
+ key: "idempotencyKey"
6477
+ }
6478
+ ] }]);
6479
+ return (options?.client ?? client).post({
6480
+ security: [{
6481
+ name: "x-api-key",
6482
+ type: "apiKey"
6483
+ }],
6484
+ url: "/v1/topics/{id}/publication/domains",
6485
+ ...options,
6486
+ ...params,
6487
+ body: params.body ?? {},
6488
+ headers: {
6489
+ "Content-Type": "application/json",
6490
+ ...options?.headers,
6491
+ ...params.headers
6492
+ }
6493
+ });
6494
+ }
6495
+ /**
6496
+ * Remove a publication domain
6497
+ *
6498
+ * Revokes publication lookup before removing the Cloudflare hostname. Reuse the UUID idempotencyKey query value on retries. Pending provider teardown is reported as removing. Removal remains available after the topic archive is disabled.
6499
+ */
6500
+ static remove(parameters, options) {
6501
+ const params = buildClientParams([parameters], [{ args: [
6502
+ {
6503
+ in: "path",
6504
+ key: "id"
6505
+ },
6506
+ {
6507
+ in: "path",
6508
+ key: "hostname"
6509
+ },
6510
+ {
6511
+ in: "query",
6512
+ key: "idempotencyKey"
6513
+ }
6514
+ ] }]);
6515
+ return (options?.client ?? client).delete({
6516
+ security: [{
6517
+ name: "x-api-key",
6518
+ type: "apiKey"
6519
+ }],
6520
+ url: "/v1/topics/{id}/publication/domains/{hostname}",
6521
+ ...options,
6522
+ ...params
6523
+ });
6524
+ }
6525
+ /**
6526
+ * Get a publication domain
6527
+ *
6528
+ * Rechecks ownership and certificate status, returning DNS verification records. Domains outside this topic's organization or namespace return 404.
6529
+ */
6530
+ static get(parameters, options) {
6531
+ const params = buildClientParams([parameters], [{ args: [{
6532
+ in: "path",
6533
+ key: "id"
6534
+ }, {
6535
+ in: "path",
6536
+ key: "hostname"
6537
+ }] }]);
6538
+ return (options?.client ?? client).get({
6539
+ security: [{
6540
+ name: "x-api-key",
6541
+ type: "apiKey"
6542
+ }],
6543
+ url: "/v1/topics/{id}/publication/domains/{hostname}",
6544
+ ...options,
6545
+ ...params
6546
+ });
6547
+ }
6548
+ };
6075
6549
  var Analytics = class {
6076
6550
  /**
6077
6551
  * Get message volume analytics
@@ -11109,6 +11583,6 @@ var ExtensionInstallations = class {
11109
11583
  }
11110
11584
  };
11111
11585
  //#endregion
11112
- export { Agents, Analytics, ApiKeys, Attachments, Brands, Campaigns, ContactEvents, ContactGroups, Contacts, Conversations, CustomFields, Email, Events, ExtensionInstallations, Extensions, Feedback, Journeys, Mailboxes, Media, Messages, Namespaces, Operations, Organizations, ScheduledMessages, Subscriptions, Templates, TopicForms, Topics, Webhooks, Whoami };
11586
+ export { Agents, Analytics, ApiKeys, Attachments, Brands, Campaigns, ContactEvents, ContactGroups, Contacts, Conversations, CustomFields, Email, Events, ExtensionInstallations, Extensions, Feedback, Journeys, Mailboxes, Media, Messages, Namespaces, Operations, Organizations, ScheduledMessages, Subscriptions, Templates, TopicForms, TopicIssues, TopicPublicationDomains, Topics, Webhooks, Whoami };
11113
11587
 
11114
11588
  //# sourceMappingURL=sdk.gen.js.map