@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 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
- | `--inputs` | `object` | ❌ | — | — | Input parameters for the action |
297
- | `--timeout-ms` | `number` | ❌ | — | — | Maximum time to wait for action completion in milliseconds (default: 180000) |
298
- | `--page-size` | `number` | ❌ | — | — | Number of results per page |
299
- | `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
300
- | `--cursor` | `string` | ❌ | — | — | Cursor to start from |
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 | Type | Required | Default | Possible Values | Description |
408
- | -------------- | --------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------ |
409
- | `--search` | `string` | ❌ | — | — | Search term to filter connections by title |
410
- | `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
411
- | `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
412
- | `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
413
- | `--account-id` | `string` | ❌ | — | — | Account ID to filter by |
414
- | `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
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 | Type | Required | Default | Possible Values | Description |
429
- | -------------- | --------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------ |
430
- | `--search` | `string` | ❌ | — | — | Search term to filter connections by title |
431
- | `--title` | `string` | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
432
- | `--owner` | `string` | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
433
- | `--app-key` | `string` | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
434
- | `--account-id` | `string` | ❌ | — | — | Account ID to filter by |
435
- | `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
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
- | `--is-expired` | `boolean` | ❌ | — | — | Filter by expired status |
474
- | `--page-size` | `number` | ❌ | — | — | Number of connections per page |
475
- | `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
476
- | `--cursor` | `string` | ❌ | — | — | Cursor to start from |
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 | Type | Required | Default | Possible Values | Description |
714
- | ------------- | -------- | -------- | ------- | -------------------------------- | --------------------------------------------------------------------------- |
715
- | `--table-ids` | `array` | ❌ | — | — | Filter by specific table IDs |
716
- | `--kind` | `string` | ❌ | — | `table`, `virtual_table`, `both` | Filter by table type |
717
- | `--search` | `string` | ❌ | — | — | Search term to filter tables by name |
718
- | `--owner` | `string` | ❌ | — | — | Filter by table owner. Use "me" for the current user, or a numeric user ID. |
719
- | `--page-size` | `number` | ❌ | — | — | Number of tables per page |
720
- | `--max-items` | `number` | ❌ | — | — | Maximum total items to return across all pages |
721
- | `--cursor` | `string` | ❌ | — | — | Cursor to start from |
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
- this.setNestedValue(resolvedParams, param.path, value);
236
- context.resolvedParams = resolvedParams;
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
- const items = Array.isArray(fetchResult) ? fetchResult : fetchResult?.data ?? [];
430
- const promptConfig = dynamicResolver.prompt(
431
- items,
432
- context.resolvedParams
433
- );
434
- promptConfig.name = promptName;
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
- if (isOptional && promptConfig.choices) {
437
- const SKIP_SENTINEL = Symbol("SKIP");
438
- promptConfig.choices = [
439
- { name: chalk7__default.default.dim("(Skip)"), value: SKIP_SENTINEL },
440
- ...promptConfig.choices
441
- ];
442
- const answers2 = await inquirer__default.default.prompt([promptConfig]);
443
- const value = answers2[promptName];
444
- if (value === SKIP_SENTINEL) {
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
- return value;
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.36.2"};
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.36.2"};
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
- ).helpOption(
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();