@iterable/cli 0.3.5 → 0.5.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.
package/COMMANDS.md CHANGED
@@ -1,4 +1,4 @@
1
- # Available Commands (110)
1
+ # Available Commands (120)
2
2
 
3
3
  All commands follow the pattern: `iterable <category> <command> [options]`
4
4
 
@@ -197,7 +197,7 @@ iterable campaigns trigger --campaignId <campaignId> --listIds <listIds...>
197
197
  | `--suppressionListIds` | number[] | no | Lists to suppress |
198
198
 
199
199
 
200
- ## catalogs (12)
200
+ ## catalogs (13)
201
201
 
202
202
  ### bulk-delete-items
203
203
 
@@ -317,6 +317,19 @@ iterable catalogs partial-update-item --catalogName <catalogName> --itemId <item
317
317
  | `--itemId` | string | **yes** | ID of the catalog item |
318
318
  | `--update` | json | **yes** | Fields to update |
319
319
 
320
+ ### partial-update-items
321
+
322
+ Bulk partial update catalog items (merge fields per item ID)
323
+
324
+ ```
325
+ iterable catalogs partial-update-items <catalogName> --documents <json>
326
+ ```
327
+
328
+ | Option | Type | Required | Description |
329
+ |--------|------|----------|-------------|
330
+ | `catalogName` | string | **yes** | Name of the catalog |
331
+ | `--documents` | json | **yes** | Map of catalog item ID to field values |
332
+
320
333
  ### replace-item
321
334
 
322
335
  Replace (PUT) a catalog item - replaces the entire item with new value
@@ -331,31 +344,31 @@ iterable catalogs replace-item --catalogName <catalogName> --itemId <itemId> --v
331
344
  | `--itemId` | string | **yes** | ID of the catalog item |
332
345
  | `--value` | json | **yes** | New value for the item |
333
346
 
334
- ### update-field-mappings
347
+ ### replace-items
335
348
 
336
- Update catalog field mappings (data types)
349
+ Bulk replace catalog items (each item becomes only provided fields)
337
350
 
338
351
  ```
339
- iterable catalogs update-field-mappings <catalogName> --mappingsUpdates <mappingsUpdates...>
352
+ iterable catalogs replace-items <catalogName> --documents <json>
340
353
  ```
341
354
 
342
355
  | Option | Type | Required | Description |
343
356
  |--------|------|----------|-------------|
344
357
  | `catalogName` | string | **yes** | Name of the catalog |
345
- | `--mappingsUpdates` | string[] | **yes** | Field mappings to update |
358
+ | `--documents` | json | **yes** | Map of catalog item ID to field values |
346
359
 
347
- ### update-items
360
+ ### update-field-mappings
348
361
 
349
- Update catalog items
362
+ Update catalog field mappings (data types)
350
363
 
351
364
  ```
352
- iterable catalogs update-items <catalogName> --items <items...>
365
+ iterable catalogs update-field-mappings <catalogName> --mappingsUpdates <mappingsUpdates...>
353
366
  ```
354
367
 
355
368
  | Option | Type | Required | Description |
356
369
  |--------|------|----------|-------------|
357
370
  | `catalogName` | string | **yes** | Name of the catalog |
358
- | `--items` | json[] | **yes** | Catalog items to update |
371
+ | `--mappingsUpdates` | string[] | **yes** | Field mappings to update |
359
372
 
360
373
 
361
374
  ## events (4)
@@ -419,7 +432,72 @@ iterable events track-bulk --events <events...>
419
432
  | `--events` | json[] | **yes** | |
420
433
 
421
434
 
422
- ## experiments (4)
435
+ ## experiments (13)
436
+
437
+ ### cancel
438
+
439
+ Cancel a running or winner-found campaign experiment without declaring a winner
440
+
441
+ ```
442
+ iterable experiments cancel <experimentId>
443
+ ```
444
+
445
+ | Option | Type | Required | Description |
446
+ |--------|------|----------|-------------|
447
+ | `experimentId` | number | **yes** | Experiment ID |
448
+
449
+ ### copy-variant
450
+
451
+ Copy a template into a new variant on a draft or ready campaign experiment
452
+
453
+ ```
454
+ iterable experiments copy-variant --copyFromTemplateId <copyFromTemplateId> --experimentId <experimentId>
455
+ ```
456
+
457
+ | Option | Type | Required | Description |
458
+ |--------|------|----------|-------------|
459
+ | `--copyFromTemplateId` | number | **yes** | Template ID to copy into a new variant |
460
+ | `--experimentId` | number | **yes** | Experiment ID |
461
+ | `--name` | string | no | Display name for the new variant |
462
+
463
+ ### create
464
+
465
+ Create a draft campaign experiment. The campaign template becomes the control.
466
+
467
+ ```
468
+ iterable experiments create --campaignId <campaignId> --experimentType <experimentType>
469
+ ```
470
+
471
+ | Option | Type | Required | Description |
472
+ |--------|------|----------|-------------|
473
+ | `--campaignId` | number | **yes** | Campaign ID |
474
+ | `--experimentType` | `SubjectLine` \| `PreheaderText` \| `FromNameAndSender` \| `EmailBody` \| `WholeEmail` | **yes** | What to test. Send-time, send-time optimization, and frequency optimization are not supported. |
475
+ | `--name` | string | no | Display name. If omitted, Iterable uses '{campaign name} Experiment'. |
476
+
477
+ ### declare-winner
478
+
479
+ Declare a winning variant and end a running or winner-found campaign experiment
480
+
481
+ ```
482
+ iterable experiments declare-winner --experimentId <experimentId> --variantId <variantId>
483
+ ```
484
+
485
+ | Option | Type | Required | Description |
486
+ |--------|------|----------|-------------|
487
+ | `--experimentId` | number | **yes** | Experiment ID |
488
+ | `--variantId` | number | **yes** | Variant ID to declare as the winner. The holdout group cannot be selected. |
489
+
490
+ ### delete
491
+
492
+ Delete a draft, ready, or errored campaign experiment
493
+
494
+ ```
495
+ iterable experiments delete <experimentId>
496
+ ```
497
+
498
+ | Option | Type | Required | Description |
499
+ |--------|------|----------|-------------|
500
+ | `experimentId` | number | **yes** | Experiment ID |
423
501
 
424
502
  ### get
425
503
 
@@ -448,6 +526,32 @@ iterable experiments get-metrics
448
526
  | `--experimentId` | number[] | no | Experiment IDs to export (can specify multiple) |
449
527
  | `--startDateTime` | string | no | Export starting from (ISO 8601 format) |
450
528
 
529
+ ### get-totals
530
+
531
+ Get lifetime send and conversion totals for a campaign experiment
532
+
533
+ ```
534
+ iterable experiments get-totals <experimentId>
535
+ ```
536
+
537
+ | Option | Type | Required | Description |
538
+ |--------|------|----------|-------------|
539
+ | `experimentId` | number | **yes** | Experiment ID |
540
+
541
+ ### get-trends
542
+
543
+ Get the performance time series for a campaign experiment. Provide both start and end times, or omit both to use the run window.
544
+
545
+ ```
546
+ iterable experiments get-trends <experimentId>
547
+ ```
548
+
549
+ | Option | Type | Required | Description |
550
+ |--------|------|----------|-------------|
551
+ | `experimentId` | number | **yes** | Experiment ID |
552
+ | `--endDateTime` | string | no | Series end (ISO 8601). Required when startDateTime is set. |
553
+ | `--startDateTime` | string | no | Series start (ISO 8601). Required when endDateTime is set. |
554
+
451
555
  ### get-variants
452
556
 
453
557
  Get variant content for an experiment, including subject lines, preheaders, HTML source, and plain text
@@ -477,6 +581,35 @@ iterable experiments list
477
581
  | `--startDate` | string | no | Filter experiments starting from this date (ISO 8601 format) |
478
582
  | `--status` | `draft` \| `running` \| `finished` | no | Filter by status (draft, running, finished) |
479
583
 
584
+ ### start
585
+
586
+ Start a draft or ready campaign experiment
587
+
588
+ ```
589
+ iterable experiments start <experimentId>
590
+ ```
591
+
592
+ | Option | Type | Required | Description |
593
+ |--------|------|----------|-------------|
594
+ | `experimentId` | number | **yes** | Experiment ID |
595
+
596
+ ### update-settings
597
+
598
+ Update settings on a draft or ready campaign experiment. Omit a field to leave it unchanged.
599
+
600
+ ```
601
+ iterable experiments update-settings <experimentId>
602
+ ```
603
+
604
+ | Option | Type | Required | Description |
605
+ |--------|------|----------|-------------|
606
+ | `experimentId` | number | **yes** | Experiment ID |
607
+ | `--conversionEventSettings` | json | no | Conversion settings. Omit to leave unchanged. (JSON: {systemConversionEventType, customConversionId}) |
608
+ | `--evenlySplitVariations` | boolean | no | Set true to split traffic evenly and clear blast and trigger settings. false is rejected. Omit to leave allocation unchanged. |
609
+ | `--explorationBlastSettings` | json | no | Blast exploration settings. Null removes them. Omit to leave unchanged. (JSON: {testSizePercentage, testDurationMinutes}) |
610
+ | `--explorationTriggerSettings` | json | no | Trigger exploration settings. Null removes them. Omit to leave unchanged. (JSON: {testSendsPerVariation}) |
611
+ | `--holdoutSettings` | json | no | Holdout settings. Null removes them. Omit to leave unchanged. (JSON: {holdOutGroupSize, attributionPeriodHours}) |
612
+
480
613
 
481
614
  ## export (4)
482
615
 
@@ -1 +1 @@
1
- {"version":3,"file":"catalogs.d.ts","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA2F9C,CAAC"}
1
+ {"version":3,"file":"catalogs.d.ts","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmG9C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BulkDeleteCatalogItemsParamsSchema, CreateCatalogParamsSchema, DeleteCatalogItemParamsSchema, DeleteCatalogParamsSchema, GetCatalogFieldMappingsParamsSchema, GetCatalogItemParamsSchema, GetCatalogItemsParamsSchema, GetCatalogsParamsSchema, PartialUpdateCatalogItemParamsSchema, ReplaceCatalogItemParamsSchema, UpdateCatalogFieldMappingsParamsSchema, UpdateCatalogItemParamsSchema, } from "@iterable/api";
1
+ import { BulkDeleteCatalogItemsParamsSchema, CreateCatalogParamsSchema, DeleteCatalogItemParamsSchema, DeleteCatalogParamsSchema, GetCatalogFieldMappingsParamsSchema, GetCatalogItemParamsSchema, GetCatalogItemsParamsSchema, GetCatalogsParamsSchema, PartialUpdateCatalogItemParamsSchema, PartialUpdateCatalogItemsParamsSchema, ReplaceCatalogItemParamsSchema, ReplaceCatalogItemsParamsSchema, UpdateCatalogFieldMappingsParamsSchema, } from "@iterable/api";
2
2
  import { defineCommand } from "./types.js";
3
3
  export const catalogCommands = [
4
4
  defineCommand({
@@ -53,10 +53,17 @@ export const catalogCommands = [
53
53
  }),
54
54
  defineCommand({
55
55
  category: "catalogs",
56
- name: "update-items",
57
- description: "Update catalog items",
58
- clientMethod: "updateCatalogItems",
59
- schema: UpdateCatalogItemParamsSchema,
56
+ name: "partial-update-items",
57
+ description: "Bulk partial update catalog items (merge fields per item ID)",
58
+ clientMethod: "partialUpdateCatalogItems",
59
+ schema: PartialUpdateCatalogItemsParamsSchema,
60
+ }),
61
+ defineCommand({
62
+ category: "catalogs",
63
+ name: "replace-items",
64
+ description: "Bulk replace catalog items (each item becomes only provided fields)",
65
+ clientMethod: "replaceCatalogItems",
66
+ schema: ReplaceCatalogItemsParamsSchema,
60
67
  }),
61
68
  defineCommand({
62
69
  category: "catalogs",
@@ -1 +1 @@
1
- {"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,oCAAoC,EACpC,8BAA8B,EAC9B,sCAAsC,EACtC,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,eAAe,GAAwB;IAClD,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mDAAmD;QAChE,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,uBAAuB;KAChC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,+DAA+D;QACjE,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,2BAA2B;KACpC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mCAAmC;QAChD,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,0BAA0B;KACnC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,yBAAyB;KAClC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,iDAAiD;QAC9D,YAAY,EAAE,yBAAyB;QACvC,MAAM,EAAE,mCAAmC;KAC5C,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,4CAA4C;QACzD,YAAY,EAAE,4BAA4B;QAC1C,MAAM,EAAE,sCAAsC;KAC/C,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,6BAA6B;KACtC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,mBAAmB;QACjC,MAAM,EAAE,6BAA6B;QACrC,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,kCAAkC;QAC1C,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,uEAAuE;QACzE,YAAY,EAAE,0BAA0B;QACxC,MAAM,EAAE,oCAAoC;KAC7C,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wEAAwE;QAC1E,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,8BAA8B;KACvC,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EA+BjD,CAAC"}
1
+ {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EAsGjD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { GetExperimentMetricsParamsSchema, GetExperimentParamsSchema, GetExperimentVariantsParamsSchema, ListExperimentsParamsSchema, } from "@iterable/api";
1
+ import { CopyExperimentVariantParamsSchema, CreateExperimentParamsSchema, DeclareExperimentWinnerParamsSchema, ExperimentIdParamsSchema, GetExperimentMetricsParamsSchema, GetExperimentParamsSchema, GetExperimentTrendsParamsSchema, GetExperimentVariantsParamsSchema, ListExperimentsParamsSchema, UpdateExperimentSettingsParamsSchema, } from "@iterable/api";
2
2
  import { defineCommand } from "./types.js";
3
3
  export const experimentCommands = [
4
4
  defineCommand({
@@ -29,5 +29,69 @@ export const experimentCommands = [
29
29
  clientMethod: "getExperimentVariants",
30
30
  schema: GetExperimentVariantsParamsSchema,
31
31
  }),
32
+ defineCommand({
33
+ category: "experiments",
34
+ name: "get-totals",
35
+ description: "Get lifetime send and conversion totals for a campaign experiment",
36
+ clientMethod: "getExperimentTotals",
37
+ schema: ExperimentIdParamsSchema,
38
+ }),
39
+ defineCommand({
40
+ category: "experiments",
41
+ name: "get-trends",
42
+ description: "Get the performance time series for a campaign experiment. Provide both start and end times, or omit both to use the run window.",
43
+ clientMethod: "getExperimentTrends",
44
+ schema: GetExperimentTrendsParamsSchema,
45
+ }),
46
+ defineCommand({
47
+ category: "experiments",
48
+ name: "create",
49
+ description: "Create a draft campaign experiment. The campaign template becomes the control.",
50
+ clientMethod: "createExperiment",
51
+ schema: CreateExperimentParamsSchema,
52
+ }),
53
+ defineCommand({
54
+ category: "experiments",
55
+ name: "copy-variant",
56
+ description: "Copy a template into a new variant on a draft or ready campaign experiment",
57
+ clientMethod: "copyExperimentVariant",
58
+ schema: CopyExperimentVariantParamsSchema,
59
+ }),
60
+ defineCommand({
61
+ category: "experiments",
62
+ name: "update-settings",
63
+ description: "Update settings on a draft or ready campaign experiment. Omit a field to leave it unchanged.",
64
+ clientMethod: "updateExperimentSettings",
65
+ schema: UpdateExperimentSettingsParamsSchema,
66
+ }),
67
+ defineCommand({
68
+ category: "experiments",
69
+ name: "start",
70
+ description: "Start a draft or ready campaign experiment",
71
+ clientMethod: "startExperiment",
72
+ schema: ExperimentIdParamsSchema,
73
+ }),
74
+ defineCommand({
75
+ category: "experiments",
76
+ name: "cancel",
77
+ description: "Cancel a running or winner-found campaign experiment without declaring a winner",
78
+ clientMethod: "cancelExperiment",
79
+ schema: ExperimentIdParamsSchema,
80
+ }),
81
+ defineCommand({
82
+ category: "experiments",
83
+ name: "declare-winner",
84
+ description: "Declare a winning variant and end a running or winner-found campaign experiment",
85
+ clientMethod: "declareExperimentWinner",
86
+ schema: DeclareExperimentWinnerParamsSchema,
87
+ }),
88
+ defineCommand({
89
+ category: "experiments",
90
+ name: "delete",
91
+ description: "Delete a draft, ready, or errored campaign experiment",
92
+ clientMethod: "deleteExperiment",
93
+ schema: ExperimentIdParamsSchema,
94
+ destructive: true,
95
+ }),
32
96
  ];
33
97
  //# sourceMappingURL=experiments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,aAAa,CAAC;QACZ,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,8EAA8E;QAChF,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,2BAA2B;KACpC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,4DAA4D;QACzE,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,yBAAyB;KAClC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iDAAiD;QAC9D,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,gCAAgC;KACzC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,yGAAyG;QAC3G,YAAY,EAAE,uBAAuB;QACrC,MAAM,EAAE,iCAAiC;KAC1C,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iterable/cli",
3
- "version": "0.3.5",
3
+ "version": "0.5.0",
4
4
  "description": "Command-line interface for the Iterable API",
5
5
  "keywords": [
6
6
  "iterable",
@@ -37,7 +37,8 @@
37
37
  "minimumReleaseAge": 4320,
38
38
  "minimumReleaseAgeExclude": [
39
39
  "@iterable/*"
40
- ]
40
+ ],
41
+ "overrides": {}
41
42
  },
42
43
  "scripts": {
43
44
  "build": "pnpm format && pnpm lint:fix && tsc --project tsconfig.build.json && pnpm update-commands && chmod +x dist/index.js",
@@ -59,7 +60,7 @@
59
60
  "update-commands": "node scripts/update-commands.js"
60
61
  },
61
62
  "dependencies": {
62
- "@iterable/api": "0.11.1",
63
+ "@iterable/api": "0.13.1",
63
64
  "@primno/dpapi": "2.0.1",
64
65
  "boxen": "8.0.1",
65
66
  "chalk": "5.6.2",
@@ -69,7 +70,7 @@
69
70
  "ora": "9.3.0",
70
71
  "package-manager-detector": "1.6.0",
71
72
  "semver": "7.7.4",
72
- "zod": "4.3.6",
73
+ "zod": "4.6.7",
73
74
  "zod-opts": "1.0.0"
74
75
  },
75
76
  "devDependencies": {