@iterable/cli 0.1.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 (140) hide show
  1. package/COMMANDS.md +1574 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +194 -0
  4. package/dist/commands/campaigns.d.ts +3 -0
  5. package/dist/commands/campaigns.d.ts.map +1 -0
  6. package/dist/commands/campaigns.js +106 -0
  7. package/dist/commands/campaigns.js.map +1 -0
  8. package/dist/commands/catalogs.d.ts +3 -0
  9. package/dist/commands/catalogs.d.ts.map +1 -0
  10. package/dist/commands/catalogs.js +99 -0
  11. package/dist/commands/catalogs.js.map +1 -0
  12. package/dist/commands/events.d.ts +3 -0
  13. package/dist/commands/events.d.ts.map +1 -0
  14. package/dist/commands/events.js +33 -0
  15. package/dist/commands/events.js.map +1 -0
  16. package/dist/commands/experiments.d.ts +3 -0
  17. package/dist/commands/experiments.d.ts.map +1 -0
  18. package/dist/commands/experiments.js +33 -0
  19. package/dist/commands/experiments.js.map +1 -0
  20. package/dist/commands/export.d.ts +3 -0
  21. package/dist/commands/export.d.ts.map +1 -0
  22. package/dist/commands/export.js +33 -0
  23. package/dist/commands/export.js.map +1 -0
  24. package/dist/commands/journeys.d.ts +3 -0
  25. package/dist/commands/journeys.d.ts.map +1 -0
  26. package/dist/commands/journeys.js +21 -0
  27. package/dist/commands/journeys.js.map +1 -0
  28. package/dist/commands/lists.d.ts +3 -0
  29. package/dist/commands/lists.d.ts.map +1 -0
  30. package/dist/commands/lists.js +64 -0
  31. package/dist/commands/lists.js.map +1 -0
  32. package/dist/commands/messaging.d.ts +3 -0
  33. package/dist/commands/messaging.d.ts.map +1 -0
  34. package/dist/commands/messaging.js +120 -0
  35. package/dist/commands/messaging.js.map +1 -0
  36. package/dist/commands/registry.d.ts +46 -0
  37. package/dist/commands/registry.d.ts.map +1 -0
  38. package/dist/commands/registry.js +42 -0
  39. package/dist/commands/registry.js.map +1 -0
  40. package/dist/commands/snippets.d.ts +3 -0
  41. package/dist/commands/snippets.d.ts.map +1 -0
  42. package/dist/commands/snippets.js +42 -0
  43. package/dist/commands/snippets.js.map +1 -0
  44. package/dist/commands/subscriptions.d.ts +3 -0
  45. package/dist/commands/subscriptions.d.ts.map +1 -0
  46. package/dist/commands/subscriptions.js +40 -0
  47. package/dist/commands/subscriptions.js.map +1 -0
  48. package/dist/commands/templates.d.ts +3 -0
  49. package/dist/commands/templates.d.ts.map +1 -0
  50. package/dist/commands/templates.js +160 -0
  51. package/dist/commands/templates.js.map +1 -0
  52. package/dist/commands/transforms.d.ts +3 -0
  53. package/dist/commands/transforms.d.ts.map +1 -0
  54. package/dist/commands/transforms.js +24 -0
  55. package/dist/commands/transforms.js.map +1 -0
  56. package/dist/commands/types.d.ts +40 -0
  57. package/dist/commands/types.d.ts.map +1 -0
  58. package/dist/commands/types.js +15 -0
  59. package/dist/commands/types.js.map +1 -0
  60. package/dist/commands/users.d.ts +3 -0
  61. package/dist/commands/users.d.ts.map +1 -0
  62. package/dist/commands/users.js +103 -0
  63. package/dist/commands/users.js.map +1 -0
  64. package/dist/commands/webhooks.d.ts +3 -0
  65. package/dist/commands/webhooks.d.ts.map +1 -0
  66. package/dist/commands/webhooks.js +21 -0
  67. package/dist/commands/webhooks.js.map +1 -0
  68. package/dist/config.d.ts +14 -0
  69. package/dist/config.d.ts.map +1 -0
  70. package/dist/config.js +60 -0
  71. package/dist/config.js.map +1 -0
  72. package/dist/errors.d.ts +11 -0
  73. package/dist/errors.d.ts.map +1 -0
  74. package/dist/errors.js +21 -0
  75. package/dist/errors.js.map +1 -0
  76. package/dist/index.d.ts +3 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +107 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/key-manager.d.ts +280 -0
  81. package/dist/key-manager.d.ts.map +1 -0
  82. package/dist/key-manager.js +989 -0
  83. package/dist/key-manager.js.map +1 -0
  84. package/dist/keys-cli.d.ts +3 -0
  85. package/dist/keys-cli.d.ts.map +1 -0
  86. package/dist/keys-cli.js +396 -0
  87. package/dist/keys-cli.js.map +1 -0
  88. package/dist/output.d.ts +5 -0
  89. package/dist/output.d.ts.map +1 -0
  90. package/dist/output.js +104 -0
  91. package/dist/output.js.map +1 -0
  92. package/dist/parser.d.ts +26 -0
  93. package/dist/parser.d.ts.map +1 -0
  94. package/dist/parser.js +281 -0
  95. package/dist/parser.js.map +1 -0
  96. package/dist/router.d.ts +20 -0
  97. package/dist/router.d.ts.map +1 -0
  98. package/dist/router.js +137 -0
  99. package/dist/router.js.map +1 -0
  100. package/dist/utils/cli-env.d.ts +10 -0
  101. package/dist/utils/cli-env.d.ts.map +1 -0
  102. package/dist/utils/cli-env.js +21 -0
  103. package/dist/utils/cli-env.js.map +1 -0
  104. package/dist/utils/command-info.d.ts +7 -0
  105. package/dist/utils/command-info.d.ts.map +1 -0
  106. package/dist/utils/command-info.js +36 -0
  107. package/dist/utils/command-info.js.map +1 -0
  108. package/dist/utils/detect-background.d.ts +3 -0
  109. package/dist/utils/detect-background.d.ts.map +1 -0
  110. package/dist/utils/detect-background.js +33 -0
  111. package/dist/utils/detect-background.js.map +1 -0
  112. package/dist/utils/endpoint-prompt.d.ts +5 -0
  113. package/dist/utils/endpoint-prompt.d.ts.map +1 -0
  114. package/dist/utils/endpoint-prompt.js +98 -0
  115. package/dist/utils/endpoint-prompt.js.map +1 -0
  116. package/dist/utils/formatting.d.ts +3 -0
  117. package/dist/utils/formatting.d.ts.map +1 -0
  118. package/dist/utils/formatting.js +5 -0
  119. package/dist/utils/formatting.js.map +1 -0
  120. package/dist/utils/password-prompt.d.ts +3 -0
  121. package/dist/utils/password-prompt.d.ts.map +1 -0
  122. package/dist/utils/password-prompt.js +21 -0
  123. package/dist/utils/password-prompt.js.map +1 -0
  124. package/dist/utils/sanitize.d.ts +13 -0
  125. package/dist/utils/sanitize.d.ts.map +1 -0
  126. package/dist/utils/sanitize.js +23 -0
  127. package/dist/utils/sanitize.js.map +1 -0
  128. package/dist/utils/theme.d.ts +11 -0
  129. package/dist/utils/theme.d.ts.map +1 -0
  130. package/dist/utils/theme.js +14 -0
  131. package/dist/utils/theme.js.map +1 -0
  132. package/dist/utils/ui.d.ts +22 -0
  133. package/dist/utils/ui.d.ts.map +1 -0
  134. package/dist/utils/ui.js +107 -0
  135. package/dist/utils/ui.js.map +1 -0
  136. package/dist/utils/url.d.ts +13 -0
  137. package/dist/utils/url.d.ts.map +1 -0
  138. package/dist/utils/url.js +20 -0
  139. package/dist/utils/url.js.map +1 -0
  140. package/package.json +90 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 Iterable, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,194 @@
1
+ # Iterable CLI
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@iterable/cli.svg)](https://www.npmjs.com/package/@iterable/cli)
4
+
5
+ > **Note:** This is an open-source developer tool, not an officially supported Iterable product. It is provided "as is" under the MIT License with no warranty or support guarantees.
6
+
7
+ A command-line interface for the [Iterable API](https://api.iterable.com/api/docs). Manage campaigns, templates, users, lists, and more from your terminal.
8
+
9
+ ## Installation
10
+
11
+ **Prerequisites:**
12
+ - Node.js >= 20 (v22 LTS recommended)
13
+ - An Iterable API key
14
+
15
+ ```bash
16
+ npm install -g @iterable/cli
17
+ ```
18
+
19
+ Or run directly with npx:
20
+
21
+ ```bash
22
+ npx @iterable/cli campaigns list
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ Add your API key (stored securely in your system keychain):
28
+
29
+ ```bash
30
+ iterable keys add
31
+ ```
32
+
33
+ Then start using the CLI:
34
+
35
+ ```bash
36
+ iterable campaigns list
37
+ ```
38
+
39
+ For CI/scripting environments, you can also use an environment variable:
40
+
41
+ ```bash
42
+ export ITERABLE_API_KEY=your_api_key_here
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ ```bash
48
+ iterable <category> <command> [options]
49
+ ```
50
+
51
+ ### Examples
52
+
53
+ ```bash
54
+ # List campaigns
55
+ iterable campaigns list
56
+
57
+ # Get a specific campaign
58
+ iterable campaigns get 123
59
+
60
+ # List campaigns sorted by creation date
61
+ iterable campaigns list --sort createdAt --order desc
62
+
63
+ # Get a user (auto-detects email vs userId)
64
+ iterable users get user@example.com
65
+ iterable users get some-user-id
66
+
67
+ # Create a list
68
+ iterable lists create --name "My List"
69
+
70
+ # Pass complex parameters as JSON
71
+ iterable campaigns create-blast --json '{"name":"My Campaign","templateId":123,"listIds":[1,2,3]}'
72
+
73
+ # Pipe JSON from stdin
74
+ echo '{"page":1,"pageSize":5}' | iterable campaigns list --json -
75
+
76
+ # Output as a table
77
+ iterable campaigns list --output table
78
+
79
+ # Output as colorized JSON
80
+ iterable campaigns list --output pretty
81
+ ```
82
+
83
+ ### Positional Arguments
84
+
85
+ Commands that take a single identifier support positional arguments:
86
+
87
+ ```bash
88
+ iterable campaigns get 123 # equivalent to --id 123
89
+ iterable campaigns abort 456 # equivalent to --campaignId 456
90
+ iterable users get-by-email user@example.com # equivalent to --email user@example.com
91
+ iterable snippets get my-snippet # equivalent to --identifier my-snippet
92
+ ```
93
+
94
+ ### Smart Aliases
95
+
96
+ Some categories have convenience aliases that auto-detect the identifier type:
97
+
98
+ ```bash
99
+ iterable users get user@example.com # routes to get-by-email
100
+ iterable users get some-user-id # routes to get-by-userid
101
+ iterable users delete user@example.com # routes to delete-by-email
102
+ ```
103
+
104
+ ## Available Commands
105
+
106
+ See the [full command reference](COMMANDS.md) for all 109 commands with parameter details.
107
+
108
+ **Categories:** campaigns, catalogs, events, experiments, export, journeys, lists, messaging, snippets, subscriptions, templates, users, webhooks
109
+
110
+ ## Global Options
111
+
112
+ | Option | Description |
113
+ |--------|-------------|
114
+ | `--help, -h` | Show help |
115
+ | `--version, -V` | Show version |
116
+ | `--output <format>` | Output format: `json`, `pretty`, `table` |
117
+ | `--columns <cols>` | Comma-separated columns for table output |
118
+ | `--json <data>` | Pass raw JSON (use `-` for stdin) |
119
+
120
+ ## Output Formats
121
+
122
+ - **`json`** (default when piped): Raw JSON
123
+ - **`pretty`** (default in terminal): Colorized JSON with syntax highlighting
124
+ - **`table`**: Tabular format with auto-detected data shape
125
+
126
+ ### Table output
127
+
128
+ Table mode auto-detects the data shape:
129
+ - List responses (e.g., `{campaigns: [...]}`) render as a table with one row per item
130
+ - Single objects render as a key-value table
131
+
132
+ Use `--columns` to select which columns to display:
133
+
134
+ ```bash
135
+ iterable campaigns list --output table --columns id,name,campaignState
136
+ ```
137
+
138
+ Without `--columns`, all fields are shown.
139
+
140
+ ## Configuration
141
+
142
+ ### Environment Variables
143
+
144
+ | Variable | Description | Default |
145
+ |----------|-------------|---------|
146
+ | `ITERABLE_API_KEY` | Your Iterable API key | (required) |
147
+ | `ITERABLE_BASE_URL` | API base URL | `https://api.iterable.com` |
148
+
149
+ ### Key Management
150
+
151
+ The CLI supports storing multiple API keys securely:
152
+
153
+ ```bash
154
+ iterable keys add # Add a new key interactively
155
+ iterable keys list # List stored keys
156
+ iterable keys activate <name> # Switch active key
157
+ iterable keys deactivate # Deactivate current key
158
+ iterable keys update <name> # Update an existing key
159
+ iterable keys delete <name> # Remove a key
160
+ ```
161
+
162
+ Keys are stored securely using:
163
+ - **macOS**: Keychain
164
+ - **Windows**: DPAPI encryption
165
+ - **Linux**: File with restrictive permissions (`~/.iterable/keys.json`)
166
+
167
+ ## Development
168
+
169
+ ```bash
170
+ git clone https://github.com/Iterable/cli.git
171
+ cd cli
172
+ pnpm install
173
+ pnpm build
174
+ ```
175
+
176
+ ### Scripts
177
+
178
+ | Command | Description |
179
+ |---------|-------------|
180
+ | `pnpm build` | Lint, compile, generate docs |
181
+ | `pnpm check` | Typecheck and lint (no changes) |
182
+ | `pnpm test` | Run all tests |
183
+ | `pnpm test:unit` | Run unit tests |
184
+ | `pnpm test:integration` | Run integration tests |
185
+ | `pnpm test:e2e` | Run E2E tests |
186
+ | `pnpm dev` | Run with hot reload |
187
+
188
+ ## Contributing
189
+
190
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines.
191
+
192
+ ## License
193
+
194
+ [MIT](LICENSE.md)
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const campaignCommands: CommandDefinition[];
3
+ //# sourceMappingURL=campaigns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../src/commands/campaigns.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAwG/C,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { AbortCampaignParamsSchema, ActivateTriggeredCampaignParamsSchema, ArchiveCampaignsParamsSchema, CancelCampaignParamsSchema, CreateBlastCampaignParamsSchema, CreateTriggeredCampaignParamsSchema, DeactivateTriggeredCampaignParamsSchema, GetCampaignMetricsParamsSchema, GetCampaignParamsSchema, GetCampaignsParamsSchema, GetChildCampaignsParamsSchema, ScheduleCampaignParamsSchema, SendCampaignParamsSchema, TriggerCampaignParamsSchema, } from "@iterable/api";
2
+ import { sortTransform } from "./transforms.js";
3
+ import { defineCommand } from "./types.js";
4
+ export const campaignCommands = [
5
+ defineCommand({
6
+ category: "campaigns",
7
+ name: "list",
8
+ description: "Retrieve campaigns",
9
+ clientMethod: "getCampaigns",
10
+ schema: GetCampaignsParamsSchema,
11
+ cliTransforms: { sort: sortTransform },
12
+ }),
13
+ defineCommand({
14
+ category: "campaigns",
15
+ name: "get",
16
+ description: "Get detailed information about a specific campaign",
17
+ clientMethod: "getCampaign",
18
+ schema: GetCampaignParamsSchema,
19
+ }),
20
+ defineCommand({
21
+ category: "campaigns",
22
+ name: "get-metrics",
23
+ description: "Get campaign performance metrics",
24
+ clientMethod: "getCampaignMetrics",
25
+ schema: GetCampaignMetricsParamsSchema,
26
+ }),
27
+ defineCommand({
28
+ category: "campaigns",
29
+ name: "create-blast",
30
+ description: "Create a new blast campaign from an existing template. The campaign is created without being scheduled. Use schedule to schedule it for delivery.",
31
+ clientMethod: "createBlastCampaign",
32
+ schema: CreateBlastCampaignParamsSchema,
33
+ }),
34
+ defineCommand({
35
+ category: "campaigns",
36
+ name: "create-triggered",
37
+ description: "Create a new triggered campaign from an existing template. The campaign is created in Ready state and must be activated before it can send.",
38
+ clientMethod: "createTriggeredCampaign",
39
+ schema: CreateTriggeredCampaignParamsSchema,
40
+ }),
41
+ defineCommand({
42
+ category: "campaigns",
43
+ name: "get-children",
44
+ description: "Get child campaigns generated by a recurring campaign",
45
+ clientMethod: "getChildCampaigns",
46
+ schema: GetChildCampaignsParamsSchema,
47
+ cliTransforms: { sort: sortTransform },
48
+ }),
49
+ defineCommand({
50
+ category: "campaigns",
51
+ name: "schedule",
52
+ description: "Schedule an existing campaign to be sent at a specific time",
53
+ clientMethod: "scheduleCampaign",
54
+ schema: ScheduleCampaignParamsSchema,
55
+ }),
56
+ defineCommand({
57
+ category: "campaigns",
58
+ name: "abort",
59
+ description: "Abort a campaign that is currently running",
60
+ clientMethod: "abortCampaign",
61
+ schema: AbortCampaignParamsSchema,
62
+ }),
63
+ defineCommand({
64
+ category: "campaigns",
65
+ name: "cancel",
66
+ description: "Cancel a scheduled or recurring campaign",
67
+ clientMethod: "cancelCampaign",
68
+ schema: CancelCampaignParamsSchema,
69
+ }),
70
+ defineCommand({
71
+ category: "campaigns",
72
+ name: "activate",
73
+ description: "Activate a triggered campaign",
74
+ clientMethod: "activateTriggeredCampaign",
75
+ schema: ActivateTriggeredCampaignParamsSchema,
76
+ }),
77
+ defineCommand({
78
+ category: "campaigns",
79
+ name: "deactivate",
80
+ description: "Deactivate a triggered campaign",
81
+ clientMethod: "deactivateTriggeredCampaign",
82
+ schema: DeactivateTriggeredCampaignParamsSchema,
83
+ }),
84
+ defineCommand({
85
+ category: "campaigns",
86
+ name: "archive",
87
+ description: "Archive one or more campaigns. Scheduled/recurring campaigns will be cancelled, running campaigns will be aborted.",
88
+ clientMethod: "archiveCampaigns",
89
+ schema: ArchiveCampaignsParamsSchema,
90
+ }),
91
+ defineCommand({
92
+ category: "campaigns",
93
+ name: "trigger",
94
+ description: "Trigger a campaign to send to specified lists",
95
+ clientMethod: "triggerCampaign",
96
+ schema: TriggerCampaignParamsSchema,
97
+ }),
98
+ defineCommand({
99
+ category: "campaigns",
100
+ name: "send",
101
+ description: "Send an existing scheduled campaign immediately",
102
+ clientMethod: "sendCampaign",
103
+ schema: SendCampaignParamsSchema,
104
+ }),
105
+ ];
106
+ //# sourceMappingURL=campaigns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaigns.js","sourceRoot":"","sources":["../../src/commands/campaigns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const catalogCommands: CommandDefinition[];
3
+ //# sourceMappingURL=catalogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogs.d.ts","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAmG9C,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { BulkDeleteCatalogItemsParamsSchema, CreateCatalogParamsSchema, GetCatalogFieldMappingsParamsSchema, GetCatalogItemParamsSchema, GetCatalogItemsParamsSchema, GetCatalogsParamsSchema, PartialUpdateCatalogItemParamsSchema, ReplaceCatalogItemParamsSchema, UpdateCatalogFieldMappingsParamsSchema, UpdateCatalogItemParamsSchema, } from "@iterable/api";
2
+ import { z } from "zod";
3
+ import { defineCommand } from "./types.js";
4
+ export const catalogCommands = [
5
+ defineCommand({
6
+ category: "catalogs",
7
+ name: "list",
8
+ description: "Get list of all catalogs with optional pagination",
9
+ clientMethod: "getCatalogs",
10
+ schema: GetCatalogsParamsSchema,
11
+ }),
12
+ defineCommand({
13
+ category: "catalogs",
14
+ name: "get-items",
15
+ description: "Get items from a catalog with optional pagination and sorting",
16
+ clientMethod: "getCatalogItems",
17
+ schema: GetCatalogItemsParamsSchema,
18
+ }),
19
+ defineCommand({
20
+ category: "catalogs",
21
+ name: "get-item",
22
+ description: "Get a specific catalog item by ID",
23
+ clientMethod: "getCatalogItem",
24
+ schema: GetCatalogItemParamsSchema,
25
+ execute: (client, params) => client.getCatalogItem(params.catalogName, params.itemId),
26
+ }),
27
+ defineCommand({
28
+ category: "catalogs",
29
+ name: "create",
30
+ description: "Create a new catalog",
31
+ clientMethod: "createCatalog",
32
+ schema: CreateCatalogParamsSchema,
33
+ execute: (client, params) => client.createCatalog(params.catalogName),
34
+ }),
35
+ defineCommand({
36
+ category: "catalogs",
37
+ name: "delete",
38
+ description: "Delete a catalog",
39
+ clientMethod: "deleteCatalog",
40
+ schema: z.object({
41
+ catalogName: z.string().describe("Name of the catalog to delete"),
42
+ }),
43
+ execute: (client, params) => client.deleteCatalog(params.catalogName),
44
+ }),
45
+ defineCommand({
46
+ category: "catalogs",
47
+ name: "get-field-mappings",
48
+ description: "Get field mappings and data types for a catalog",
49
+ clientMethod: "getCatalogFieldMappings",
50
+ schema: GetCatalogFieldMappingsParamsSchema,
51
+ }),
52
+ defineCommand({
53
+ category: "catalogs",
54
+ name: "update-field-mappings",
55
+ description: "Update catalog field mappings (data types)",
56
+ clientMethod: "updateCatalogFieldMappings",
57
+ schema: UpdateCatalogFieldMappingsParamsSchema,
58
+ }),
59
+ defineCommand({
60
+ category: "catalogs",
61
+ name: "update-items",
62
+ description: "Update catalog items",
63
+ clientMethod: "updateCatalogItems",
64
+ schema: UpdateCatalogItemParamsSchema,
65
+ }),
66
+ defineCommand({
67
+ category: "catalogs",
68
+ name: "delete-item",
69
+ description: "Delete a specific catalog item by ID",
70
+ clientMethod: "deleteCatalogItem",
71
+ schema: z.object({
72
+ catalogName: z.string().describe("Name of the catalog"),
73
+ itemId: z.string().describe("ID of the catalog item to delete"),
74
+ }),
75
+ execute: (client, params) => client.deleteCatalogItem(params.catalogName, params.itemId),
76
+ }),
77
+ defineCommand({
78
+ category: "catalogs",
79
+ name: "bulk-delete-items",
80
+ description: "Bulk delete catalog items by their IDs",
81
+ clientMethod: "bulkDeleteCatalogItems",
82
+ schema: BulkDeleteCatalogItemsParamsSchema,
83
+ }),
84
+ defineCommand({
85
+ category: "catalogs",
86
+ name: "partial-update-item",
87
+ description: "Partial update (PATCH) a catalog item - updates only specified fields",
88
+ clientMethod: "partialUpdateCatalogItem",
89
+ schema: PartialUpdateCatalogItemParamsSchema,
90
+ }),
91
+ defineCommand({
92
+ category: "catalogs",
93
+ name: "replace-item",
94
+ description: "Replace (PUT) a catalog item - replaces the entire item with new value",
95
+ clientMethod: "replaceCatalogItem",
96
+ schema: ReplaceCatalogItemParamsSchema,
97
+ }),
98
+ ];
99
+ //# sourceMappingURL=catalogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/commands/catalogs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const eventCommands: CommandDefinition[];
3
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,aAAa,EAAE,iBAAiB,EA8B5C,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { GetUserEventsByEmailParamsSchema, GetUserEventsByUserIdParamsSchema, TrackBulkEventsParamsSchema, TrackEventParamsSchema, } from "@iterable/api";
2
+ import { defineCommand } from "./types.js";
3
+ export const eventCommands = [
4
+ defineCommand({
5
+ category: "events",
6
+ name: "track",
7
+ description: "Track a custom event for a user",
8
+ clientMethod: "trackEvent",
9
+ schema: TrackEventParamsSchema,
10
+ }),
11
+ defineCommand({
12
+ category: "events",
13
+ name: "track-bulk",
14
+ description: "Track multiple events in a single request for better performance",
15
+ clientMethod: "trackBulkEvents",
16
+ schema: TrackBulkEventsParamsSchema,
17
+ }),
18
+ defineCommand({
19
+ category: "events",
20
+ name: "get-by-email",
21
+ description: "Get event history for a user by email address",
22
+ clientMethod: "getUserEventsByEmail",
23
+ schema: GetUserEventsByEmailParamsSchema,
24
+ }),
25
+ defineCommand({
26
+ category: "events",
27
+ name: "get-by-userid",
28
+ description: "Get event history for a user by user ID",
29
+ clientMethod: "getUserEventsByUserId",
30
+ schema: GetUserEventsByUserIdParamsSchema,
31
+ }),
32
+ ];
33
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iCAAiC;QAC9C,YAAY,EAAE,YAAY;QAC1B,MAAM,EAAE,sBAAsB;KAC/B,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,kEAAkE;QACpE,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,2BAA2B;KACpC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,gCAAgC;KACzC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yCAAyC;QACtD,YAAY,EAAE,uBAAuB;QACrC,MAAM,EAAE,iCAAiC;KAC1C,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const experimentCommands: CommandDefinition[];
3
+ //# sourceMappingURL=experiments.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,33 @@
1
+ import { GetExperimentMetricsParamsSchema, GetExperimentParamsSchema, GetExperimentVariantsParamsSchema, ListExperimentsParamsSchema, } from "@iterable/api";
2
+ import { defineCommand } from "./types.js";
3
+ export const experimentCommands = [
4
+ defineCommand({
5
+ category: "experiments",
6
+ name: "list",
7
+ description: "List experiments with optional filtering by campaign, status, and date range",
8
+ clientMethod: "listExperiments",
9
+ schema: ListExperimentsParamsSchema,
10
+ }),
11
+ defineCommand({
12
+ category: "experiments",
13
+ name: "get",
14
+ description: "Get detailed information about a specific experiment by ID",
15
+ clientMethod: "getExperiment",
16
+ schema: GetExperimentParamsSchema,
17
+ }),
18
+ defineCommand({
19
+ category: "experiments",
20
+ name: "get-metrics",
21
+ description: "Get experiment metrics for A/B testing analysis",
22
+ clientMethod: "getExperimentMetrics",
23
+ schema: GetExperimentMetricsParamsSchema,
24
+ }),
25
+ defineCommand({
26
+ category: "experiments",
27
+ name: "get-variants",
28
+ description: "Get variant content for an experiment, including subject lines, preheaders, HTML source, and plain text",
29
+ clientMethod: "getExperimentVariants",
30
+ schema: GetExperimentVariantsParamsSchema,
31
+ }),
32
+ ];
33
+ //# sourceMappingURL=experiments.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const exportCommands: CommandDefinition[];
3
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,cAAc,EAAE,iBAAiB,EA+B7C,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { CancelExportJobParamsSchema, GetExportFilesParamsSchema, GetExportJobsParamsSchema, StartExportJobParamsSchema, } from "@iterable/api";
2
+ import { defineCommand } from "./types.js";
3
+ export const exportCommands = [
4
+ defineCommand({
5
+ category: "export",
6
+ name: "list-jobs",
7
+ description: "Get a list of recent export jobs for the current project",
8
+ clientMethod: "getExportJobs",
9
+ schema: GetExportJobsParamsSchema,
10
+ }),
11
+ defineCommand({
12
+ category: "export",
13
+ name: "get-files",
14
+ description: "Get the job status and download URLs for files from a completed export job",
15
+ clientMethod: "getExportFiles",
16
+ schema: GetExportFilesParamsSchema,
17
+ }),
18
+ defineCommand({
19
+ category: "export",
20
+ name: "start",
21
+ description: "Start a data export job that processes as a background job. Use get-files to check status and obtain download links.",
22
+ clientMethod: "startExportJob",
23
+ schema: StartExportJobParamsSchema,
24
+ }),
25
+ defineCommand({
26
+ category: "export",
27
+ name: "cancel",
28
+ description: "Cancel a queued or running export job",
29
+ clientMethod: "cancelExportJob",
30
+ schema: CancelExportJobParamsSchema,
31
+ }),
32
+ ];
33
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;QACvE,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,yBAAyB;KAClC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,4EAA4E;QAC9E,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,0BAA0B;KACnC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,OAAO;QACb,WAAW,EACT,sHAAsH;QACxH,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,0BAA0B;KACnC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uCAAuC;QACpD,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,2BAA2B;KACpC,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const journeyCommands: CommandDefinition[];
3
+ //# sourceMappingURL=journeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journeys.d.ts","sourceRoot":"","sources":["../../src/commands/journeys.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAiB9C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { GetJourneysParamsSchema, TriggerJourneyParamsSchema, } from "@iterable/api";
2
+ import { sortTransform } from "./transforms.js";
3
+ import { defineCommand } from "./types.js";
4
+ export const journeyCommands = [
5
+ defineCommand({
6
+ category: "journeys",
7
+ name: "list",
8
+ description: "Get journeys (workflows) with optional pagination and state filtering",
9
+ clientMethod: "getJourneys",
10
+ schema: GetJourneysParamsSchema,
11
+ cliTransforms: { sort: sortTransform },
12
+ }),
13
+ defineCommand({
14
+ category: "journeys",
15
+ name: "trigger",
16
+ description: "Trigger a journey (workflow) for a user",
17
+ clientMethod: "triggerJourney",
18
+ schema: TriggerJourneyParamsSchema,
19
+ }),
20
+ ];
21
+ //# sourceMappingURL=journeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journeys.js","sourceRoot":"","sources":["../../src/commands/journeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,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,EACT,uEAAuE;QACzE,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,uBAAuB;QAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACvC,CAAC;IACF,aAAa,CAAC;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yCAAyC;QACtD,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,0BAA0B;KACnC,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommandDefinition } from "./types.js";
2
+ export declare const listCommands: CommandDefinition[];
3
+ //# sourceMappingURL=lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/commands/lists.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,YAAY,EAAE,iBAAiB,EA2D3C,CAAC"}