@zapier/zapier-sdk-cli 0.36.2 → 0.37.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/CHANGELOG.md +20 -0
- package/README.md +61 -53
- package/dist/cli.cjs +128 -27
- package/dist/cli.mjs +129 -28
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/package.json +1 -1
- package/dist/src/cli.js +28 -2
- package/dist/src/utils/parameter-resolver.js +111 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @zapier/zapier-sdk-cli
|
|
2
2
|
|
|
3
|
+
## 0.37.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2906101: Default `listConnections` and `listTables` to only return your own items. Gate shared access and table deletion behind boolean flags: `canIncludeSharedConnections`, `canIncludeSharedTables`, `canDeleteTables`. Set via SDK options, `.zapierrc`, CLI flags (`--can-delete-tables`), or env vars (`ZAPIER_CAN_DELETE_TABLES=true`).
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [2906101]
|
|
12
|
+
- @zapier/zapier-sdk@0.38.0
|
|
13
|
+
- @zapier/zapier-sdk-mcp@0.10.3
|
|
14
|
+
|
|
15
|
+
## 0.36.3
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [307aa98]
|
|
20
|
+
- @zapier/zapier-sdk@0.37.0
|
|
21
|
+
- @zapier/zapier-sdk-mcp@0.10.2
|
|
22
|
+
|
|
3
23
|
## 0.36.2
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -129,6 +129,9 @@ These options are available for all commands:
|
|
|
129
129
|
| `--tracking-base-url <url>` | | Base URL for Zapier tracking endpoints. |
|
|
130
130
|
| `--max-network-retries <count>` | | Max retries for rate-limited requests (default: 3). |
|
|
131
131
|
| `--max-network-retry-delay-ms <ms>` | | Max delay in ms to wait for retry (default: 60000). |
|
|
132
|
+
| `--can-include-shared-connections` | | Allow listing shared connections. |
|
|
133
|
+
| `--can-include-shared-tables` | | Allow listing shared tables. |
|
|
134
|
+
| `--can-delete-tables` | | Allow deleting tables. |
|
|
132
135
|
| `--json` | | Output raw JSON instead of formatted results |
|
|
133
136
|
|
|
134
137
|
## Available Commands
|
|
@@ -287,22 +290,23 @@ Execute an action with the given inputs
|
|
|
287
290
|
|
|
288
291
|
**Options:**
|
|
289
292
|
|
|
290
|
-
| Option | Type | Required | Default | Possible Values | Description
|
|
291
|
-
| ----------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- |
|
|
292
|
-
| `<app-key>` | `string` | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github')
|
|
293
|
-
| `<action-type>` | `string` | ✅ | — | `read`, `read_bulk`, `write`, `run`, `search`, `search_or_write`, `search_and_write`, `filter` | Action type that matches the action's defined type
|
|
294
|
-
| `<action-key>` | `string` | ✅ | — | — | Action key to execute
|
|
295
|
-
| `--connection-id` | `string, number` | ❌ | — | — | Connection ID to use when running the action. Required if the action needs a connection to authenticate and interact with the service.
|
|
296
|
-
| `--
|
|
297
|
-
| `--
|
|
298
|
-
| `--
|
|
299
|
-
| `--
|
|
300
|
-
| `--
|
|
293
|
+
| Option | Type | Required | Default | Possible Values | Description |
|
|
294
|
+
| ----------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
295
|
+
| `<app-key>` | `string` | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') |
|
|
296
|
+
| `<action-type>` | `string` | ✅ | — | `read`, `read_bulk`, `write`, `run`, `search`, `search_or_write`, `search_and_write`, `filter` | Action type that matches the action's defined type |
|
|
297
|
+
| `<action-key>` | `string` | ✅ | — | — | Action key to execute |
|
|
298
|
+
| `--connection-id` | `string, number` | ❌ | — | — | Connection ID to use when running the action. Required if the action needs a connection to authenticate and interact with the service. |
|
|
299
|
+
| `--connection` | `string, number` | ❌ | — | — | Connection alias (string) or numeric connectionId. Strings are resolved from the connections map; numbers are used directly. Mutually exclusive with connectionId. |
|
|
300
|
+
| `--inputs` | `object` | ❌ | — | — | Input parameters for the action |
|
|
301
|
+
| `--timeout-ms` | `number` | ❌ | — | — | Maximum time to wait for action completion in milliseconds (default: 180000) |
|
|
302
|
+
| `--page-size` | `number` | ❌ | — | — | Number of results per page |
|
|
303
|
+
| `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
|
|
304
|
+
| `--cursor` | `string` | ❌ | — | — | Cursor to start from |
|
|
301
305
|
|
|
302
306
|
**Usage:**
|
|
303
307
|
|
|
304
308
|
```bash
|
|
305
|
-
npx zapier-sdk run-action <app-key> <action-type> <action-key> [--connection-id] [--inputs] [--timeout-ms] [--page-size] [--max-items] [--cursor]
|
|
309
|
+
npx zapier-sdk run-action <app-key> <action-type> <action-key> [--connection-id] [--connection] [--inputs] [--timeout-ms] [--page-size] [--max-items] [--cursor]
|
|
306
310
|
```
|
|
307
311
|
|
|
308
312
|
### Apps
|
|
@@ -404,19 +408,20 @@ Find the first connection matching the criteria
|
|
|
404
408
|
|
|
405
409
|
**Options:**
|
|
406
410
|
|
|
407
|
-
| Option
|
|
408
|
-
|
|
|
409
|
-
| `--search`
|
|
410
|
-
| `--title`
|
|
411
|
-
| `--owner`
|
|
412
|
-
| `--app-key`
|
|
413
|
-
| `--account-id`
|
|
414
|
-
| `--
|
|
411
|
+
| Option | Type | Required | Default | Possible Values | Description |
|
|
412
|
+
| ------------------ | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
413
|
+
| `--search` | `string` | ❌ | — | — | Search term to filter connections by title |
|
|
414
|
+
| `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
|
|
415
|
+
| `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
|
|
416
|
+
| `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
|
|
417
|
+
| `--account-id` | `string` | ❌ | — | — | Account ID to filter by |
|
|
418
|
+
| `--include-shared` | `boolean` | ❌ | — | — | Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections. |
|
|
419
|
+
| `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
|
|
415
420
|
|
|
416
421
|
**Usage:**
|
|
417
422
|
|
|
418
423
|
```bash
|
|
419
|
-
npx zapier-sdk find-first-connection [--search] [--title] [--owner] [--app-key] [--account-id] [--is-expired]
|
|
424
|
+
npx zapier-sdk find-first-connection [--search] [--title] [--owner] [--app-key] [--account-id] [--include-shared] [--is-expired]
|
|
420
425
|
```
|
|
421
426
|
|
|
422
427
|
#### `find-unique-connection`
|
|
@@ -425,19 +430,20 @@ Find a unique connection matching the criteria
|
|
|
425
430
|
|
|
426
431
|
**Options:**
|
|
427
432
|
|
|
428
|
-
| Option
|
|
429
|
-
|
|
|
430
|
-
| `--search`
|
|
431
|
-
| `--title`
|
|
432
|
-
| `--owner`
|
|
433
|
-
| `--app-key`
|
|
434
|
-
| `--account-id`
|
|
435
|
-
| `--
|
|
433
|
+
| Option | Type | Required | Default | Possible Values | Description |
|
|
434
|
+
| ------------------ | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
435
|
+
| `--search` | `string` | ❌ | — | — | Search term to filter connections by title |
|
|
436
|
+
| `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
|
|
437
|
+
| `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
|
|
438
|
+
| `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
|
|
439
|
+
| `--account-id` | `string` | ❌ | — | — | Account ID to filter by |
|
|
440
|
+
| `--include-shared` | `boolean` | ❌ | — | — | Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections. |
|
|
441
|
+
| `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
|
|
436
442
|
|
|
437
443
|
**Usage:**
|
|
438
444
|
|
|
439
445
|
```bash
|
|
440
|
-
npx zapier-sdk find-unique-connection [--search] [--title] [--owner] [--app-key] [--account-id] [--is-expired]
|
|
446
|
+
npx zapier-sdk find-unique-connection [--search] [--title] [--owner] [--app-key] [--account-id] [--include-shared] [--is-expired]
|
|
441
447
|
```
|
|
442
448
|
|
|
443
449
|
#### `get-connection`
|
|
@@ -462,23 +468,24 @@ List available connections with optional filtering
|
|
|
462
468
|
|
|
463
469
|
**Options:**
|
|
464
470
|
|
|
465
|
-
| Option | Type | Required | Default | Possible Values | Description
|
|
466
|
-
| ------------------ | --------- | -------- | ------- | --------------- |
|
|
467
|
-
| `--search` | `string` | ❌ | — | — | Search term to filter connections by title
|
|
468
|
-
| `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally)
|
|
469
|
-
| `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID
|
|
470
|
-
| `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github')
|
|
471
|
-
| `--connection-ids` | `array` | ❌ | — | — | List of connection IDs to filter by
|
|
472
|
-
| `--account-id` | `string` | ❌ | — | — | Account ID to filter by
|
|
473
|
-
| `--
|
|
474
|
-
| `--
|
|
475
|
-
| `--
|
|
476
|
-
| `--
|
|
471
|
+
| Option | Type | Required | Default | Possible Values | Description |
|
|
472
|
+
| ------------------ | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
473
|
+
| `--search` | `string` | ❌ | — | — | Search term to filter connections by title |
|
|
474
|
+
| `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
|
|
475
|
+
| `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
|
|
476
|
+
| `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
|
|
477
|
+
| `--connection-ids` | `array` | ❌ | — | — | List of connection IDs to filter by |
|
|
478
|
+
| `--account-id` | `string` | ❌ | — | — | Account ID to filter by |
|
|
479
|
+
| `--include-shared` | `boolean` | ❌ | — | — | Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections. |
|
|
480
|
+
| `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
|
|
481
|
+
| `--page-size` | `number` | ❌ | — | — | Number of connections per page |
|
|
482
|
+
| `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
|
|
483
|
+
| `--cursor` | `string` | ❌ | — | — | Cursor to start from |
|
|
477
484
|
|
|
478
485
|
**Usage:**
|
|
479
486
|
|
|
480
487
|
```bash
|
|
481
|
-
npx zapier-sdk list-connections [--search] [--title] [--owner] [--app-key] [--connection-ids] [--account-id] [--is-expired] [--page-size] [--max-items] [--cursor]
|
|
488
|
+
npx zapier-sdk list-connections [--search] [--title] [--owner] [--app-key] [--connection-ids] [--account-id] [--include-shared] [--is-expired] [--page-size] [--max-items] [--cursor]
|
|
482
489
|
```
|
|
483
490
|
|
|
484
491
|
### HTTP Requests
|
|
@@ -710,20 +717,21 @@ List tables available to the authenticated user
|
|
|
710
717
|
|
|
711
718
|
**Options:**
|
|
712
719
|
|
|
713
|
-
| Option
|
|
714
|
-
|
|
|
715
|
-
| `--table-ids`
|
|
716
|
-
| `--kind`
|
|
717
|
-
| `--search`
|
|
718
|
-
| `--owner`
|
|
719
|
-
| `--
|
|
720
|
-
| `--
|
|
721
|
-
| `--
|
|
720
|
+
| Option | Type | Required | Default | Possible Values | Description |
|
|
721
|
+
| ------------------ | --------- | -------- | ------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
722
|
+
| `--table-ids` | `array` | ❌ | — | — | Filter by specific table IDs |
|
|
723
|
+
| `--kind` | `string` | ❌ | — | `table`, `virtual_table`, `both` | Filter by table type |
|
|
724
|
+
| `--search` | `string` | ❌ | — | — | Search term to filter tables by name |
|
|
725
|
+
| `--owner` | `string` | ❌ | — | — | Filter by table owner. Use "me" for the current user, or a numeric user ID. Requires includeShared to be true. |
|
|
726
|
+
| `--include-shared` | `boolean` | ❌ | — | — | Include tables shared with you. Without this, only your own tables are returned. |
|
|
727
|
+
| `--page-size` | `number` | ❌ | — | — | Number of tables per page |
|
|
728
|
+
| `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
|
|
729
|
+
| `--cursor` | `string` | ❌ | — | — | Cursor to start from |
|
|
722
730
|
|
|
723
731
|
**Usage:**
|
|
724
732
|
|
|
725
733
|
```bash
|
|
726
|
-
npx zapier-sdk list-tables [--table-ids] [--kind] [--search] [--owner] [--page-size] [--max-items] [--cursor]
|
|
734
|
+
npx zapier-sdk list-tables [--table-ids] [--kind] [--search] [--owner] [--include-shared] [--page-size] [--max-items] [--cursor]
|
|
727
735
|
```
|
|
728
736
|
|
|
729
737
|
#### `update-table-records`
|
package/dist/cli.cjs
CHANGED
|
@@ -230,10 +230,13 @@ var SchemaParameterResolver = class {
|
|
|
230
230
|
const value = await this.resolveParameter(
|
|
231
231
|
param,
|
|
232
232
|
context,
|
|
233
|
-
functionName
|
|
233
|
+
functionName,
|
|
234
|
+
{ isOptional: !param.isRequired }
|
|
234
235
|
);
|
|
235
|
-
|
|
236
|
-
|
|
236
|
+
if (param.isRequired || value !== void 0) {
|
|
237
|
+
this.setNestedValue(resolvedParams, param.path, value);
|
|
238
|
+
context.resolvedParams = resolvedParams;
|
|
239
|
+
}
|
|
237
240
|
} catch (error) {
|
|
238
241
|
if (this.isUserCancellation(error)) {
|
|
239
242
|
console.log(chalk7__default.default.yellow("\n\nOperation cancelled by user"));
|
|
@@ -426,28 +429,104 @@ var SchemaParameterResolver = class {
|
|
|
426
429
|
context.sdk,
|
|
427
430
|
context.resolvedParams
|
|
428
431
|
);
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
432
|
+
let pageIterator = null;
|
|
433
|
+
let items;
|
|
434
|
+
let hasMore = false;
|
|
435
|
+
if (fetchResult != null && typeof fetchResult === "object" && Symbol.asyncIterator in fetchResult) {
|
|
436
|
+
pageIterator = fetchResult[Symbol.asyncIterator]();
|
|
437
|
+
const first = await pageIterator.next();
|
|
438
|
+
if (!first.done && first.value) {
|
|
439
|
+
items = first.value.data;
|
|
440
|
+
hasMore = first.value.nextCursor != null;
|
|
441
|
+
} else {
|
|
442
|
+
items = [];
|
|
443
|
+
}
|
|
444
|
+
} else if (fetchResult != null && typeof fetchResult === "object" && "data" in fetchResult) {
|
|
445
|
+
const page = fetchResult;
|
|
446
|
+
items = page.data;
|
|
447
|
+
hasMore = page.nextCursor != null;
|
|
448
|
+
if (hasMore) {
|
|
449
|
+
this.debugLog(
|
|
450
|
+
`Resolver for ${promptLabel} has more pages but no iterator. Use toIterable() to enable "Load more..." support.`
|
|
451
|
+
);
|
|
452
|
+
}
|
|
453
|
+
} else {
|
|
454
|
+
items = fetchResult || [];
|
|
455
|
+
pageIterator = null;
|
|
456
|
+
}
|
|
457
|
+
const LOAD_MORE_SENTINEL = Symbol("LOAD_MORE");
|
|
458
|
+
const SKIP_SENTINEL = Symbol("SKIP");
|
|
459
|
+
let newItemsStartIndex = -1;
|
|
435
460
|
this.stopSpinner();
|
|
436
|
-
|
|
437
|
-
const
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
461
|
+
while (true) {
|
|
462
|
+
const promptConfig = dynamicResolver.prompt(
|
|
463
|
+
items,
|
|
464
|
+
context.resolvedParams
|
|
465
|
+
);
|
|
466
|
+
promptConfig.name = promptName;
|
|
467
|
+
if (isOptional && promptConfig.choices) {
|
|
468
|
+
promptConfig.choices.unshift({
|
|
469
|
+
name: chalk7__default.default.dim("(Skip)"),
|
|
470
|
+
value: SKIP_SENTINEL
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
if (hasMore && pageIterator && promptConfig.choices) {
|
|
474
|
+
promptConfig.choices.push({
|
|
475
|
+
name: chalk7__default.default.dim("(Load more...)"),
|
|
476
|
+
value: LOAD_MORE_SENTINEL
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
if (!hasMore && promptConfig.choices && dynamicResolver.requireCapabilities) {
|
|
480
|
+
const capContext = context.sdk.getContext();
|
|
481
|
+
if (capContext.hasCapability) {
|
|
482
|
+
for (const cap of dynamicResolver.requireCapabilities) {
|
|
483
|
+
const enabled = await capContext.hasCapability(cap);
|
|
484
|
+
if (!enabled) {
|
|
485
|
+
promptConfig.choices.push({
|
|
486
|
+
name: chalk7__default.default.dim(zapierSdk.buildCapabilityMessage(cap)),
|
|
487
|
+
value: SKIP_SENTINEL,
|
|
488
|
+
disabled: true
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
if (newItemsStartIndex >= 0 && promptConfig.choices) {
|
|
495
|
+
const injectedBefore = isOptional ? 1 : 0;
|
|
496
|
+
const adjustedIndex = newItemsStartIndex + injectedBefore;
|
|
497
|
+
if (promptConfig.choices[adjustedIndex]) {
|
|
498
|
+
promptConfig.default = promptConfig.choices[adjustedIndex].value;
|
|
499
|
+
}
|
|
500
|
+
newItemsStartIndex = -1;
|
|
501
|
+
}
|
|
502
|
+
const answers = await inquirer__default.default.prompt([promptConfig]);
|
|
503
|
+
let selected = answers[promptName];
|
|
504
|
+
if (selected === SKIP_SENTINEL) {
|
|
445
505
|
return void 0;
|
|
446
506
|
}
|
|
447
|
-
|
|
507
|
+
const wantsMore = Array.isArray(selected) ? selected.includes(LOAD_MORE_SENTINEL) : selected === LOAD_MORE_SENTINEL;
|
|
508
|
+
if (wantsMore && pageIterator) {
|
|
509
|
+
if (Array.isArray(selected)) {
|
|
510
|
+
selected = selected.filter(
|
|
511
|
+
(v) => v !== LOAD_MORE_SENTINEL
|
|
512
|
+
);
|
|
513
|
+
}
|
|
514
|
+
const prevLength = items.length;
|
|
515
|
+
this.startSpinner();
|
|
516
|
+
this.debugLog("Fetching more options...");
|
|
517
|
+
const next = await pageIterator.next();
|
|
518
|
+
this.stopSpinner();
|
|
519
|
+
if (!next.done && next.value) {
|
|
520
|
+
items = [...items, ...next.value.data];
|
|
521
|
+
hasMore = next.value.nextCursor != null;
|
|
522
|
+
newItemsStartIndex = prevLength;
|
|
523
|
+
} else {
|
|
524
|
+
hasMore = false;
|
|
525
|
+
}
|
|
526
|
+
continue;
|
|
527
|
+
}
|
|
528
|
+
return selected;
|
|
448
529
|
}
|
|
449
|
-
const answers = await inquirer__default.default.prompt([promptConfig]);
|
|
450
|
-
return answers[promptName];
|
|
451
530
|
} else if (resolver.type === "fields") {
|
|
452
531
|
if (isOptional && !inArrayContext) {
|
|
453
532
|
this.stopSpinner();
|
|
@@ -1024,7 +1103,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
|
|
|
1024
1103
|
|
|
1025
1104
|
// package.json
|
|
1026
1105
|
var package_default = {
|
|
1027
|
-
version: "0.
|
|
1106
|
+
version: "0.37.0"};
|
|
1028
1107
|
|
|
1029
1108
|
// src/telemetry/builders.ts
|
|
1030
1109
|
function createCliBaseEvent(context = {}) {
|
|
@@ -4559,7 +4638,7 @@ function createZapierCliSdk(options = {}) {
|
|
|
4559
4638
|
// package.json with { type: 'json' }
|
|
4560
4639
|
var package_default2 = {
|
|
4561
4640
|
name: "@zapier/zapier-sdk-cli",
|
|
4562
|
-
version: "0.
|
|
4641
|
+
version: "0.37.0"};
|
|
4563
4642
|
var ONE_DAY_MS = 24 * 60 * 60 * 1e3;
|
|
4564
4643
|
var CACHE_RESET_INTERVAL_MS = (() => {
|
|
4565
4644
|
const { ZAPIER_SDK_UPDATE_CHECK_INTERVAL_MS = `${ONE_DAY_MS}` } = process.env;
|
|
@@ -4704,8 +4783,6 @@ async function checkAndNotifyUpdates({
|
|
|
4704
4783
|
const versionInfo = await checkForUpdates({ packageName, currentVersion });
|
|
4705
4784
|
displayUpdateNotification(versionInfo, packageName);
|
|
4706
4785
|
}
|
|
4707
|
-
|
|
4708
|
-
// src/cli.ts
|
|
4709
4786
|
var EXIT_GRACE_PERIOD_MS = 500;
|
|
4710
4787
|
var program = new commander.Command();
|
|
4711
4788
|
var versionOption = getReservedCliOption("version" /* Version */);
|
|
@@ -4726,7 +4803,24 @@ program.name("zapier-sdk").description("CLI for Zapier SDK").version(
|
|
|
4726
4803
|
).option(
|
|
4727
4804
|
"--max-network-retry-delay-ms <ms>",
|
|
4728
4805
|
"Max delay in ms to wait for rate limit retry (default: 60000)"
|
|
4729
|
-
)
|
|
4806
|
+
);
|
|
4807
|
+
var booleanFlags = [];
|
|
4808
|
+
for (const [key, fieldSchema] of Object.entries(
|
|
4809
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4810
|
+
zapierSdk.BaseSdkOptionsSchema.shape
|
|
4811
|
+
)) {
|
|
4812
|
+
let inner = fieldSchema;
|
|
4813
|
+
if (inner instanceof zod.z.ZodOptional) {
|
|
4814
|
+
inner = inner._zod.def.innerType;
|
|
4815
|
+
}
|
|
4816
|
+
if (inner instanceof zod.z.ZodBoolean && key !== "debug") {
|
|
4817
|
+
const kebab = key.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
4818
|
+
const description = fieldSchema._zod?.def?.description ?? "";
|
|
4819
|
+
booleanFlags.push({ camelName: key, kebabFlag: `--${kebab}` });
|
|
4820
|
+
program.option(`--${kebab}`, description);
|
|
4821
|
+
}
|
|
4822
|
+
}
|
|
4823
|
+
program.helpOption(
|
|
4730
4824
|
`${helpOption.short}, ${helpOption.flag}`,
|
|
4731
4825
|
helpOption.description
|
|
4732
4826
|
);
|
|
@@ -4768,13 +4862,20 @@ function buildCredentialsFromFlags() {
|
|
|
4768
4862
|
return void 0;
|
|
4769
4863
|
}
|
|
4770
4864
|
var credentials = buildCredentialsFromFlags();
|
|
4865
|
+
var flagOverrides = {};
|
|
4866
|
+
for (const { camelName, kebabFlag } of booleanFlags) {
|
|
4867
|
+
if (process.argv.includes(kebabFlag)) {
|
|
4868
|
+
flagOverrides[camelName] = true;
|
|
4869
|
+
}
|
|
4870
|
+
}
|
|
4771
4871
|
var sdk = createZapierCliSdk({
|
|
4772
4872
|
debug: isDebugMode,
|
|
4773
4873
|
credentials,
|
|
4774
4874
|
baseUrl,
|
|
4775
4875
|
trackingBaseUrl,
|
|
4776
4876
|
maxNetworkRetries,
|
|
4777
|
-
maxNetworkRetryDelayMs
|
|
4877
|
+
maxNetworkRetryDelayMs,
|
|
4878
|
+
...flagOverrides
|
|
4778
4879
|
});
|
|
4779
4880
|
generateCliCommands(program, sdk);
|
|
4780
4881
|
program.exitOverride();
|