@zapier/zapier-sdk-cli 0.34.3 → 0.34.4

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,14 @@
1
1
  # @zapier/zapier-sdk-cli
2
2
 
3
+ ## 0.34.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 04000f6: Skip connection selection for apps that do not require auth
8
+ - Updated dependencies [04000f6]
9
+ - @zapier/zapier-sdk@0.32.3
10
+ - @zapier/zapier-sdk-mcp@0.9.14
11
+
3
12
  ## 0.34.3
4
13
 
5
14
  ### Patch Changes
package/dist/cli.cjs CHANGED
@@ -317,44 +317,57 @@ var SchemaParameterResolver = class {
317
317
  };
318
318
  }
319
319
  async resolveParameter(param, context, functionName) {
320
- const resolver = this.getResolver(param.name, context.sdk, functionName);
320
+ const resolver = this.getResolver(
321
+ param.name,
322
+ context.sdk,
323
+ functionName
324
+ );
321
325
  if (!resolver) {
322
326
  throw new Error(`No resolver found for parameter: ${param.name}`);
323
327
  }
324
328
  console.log(chalk6__default.default.blue(`
325
329
  \u{1F50D} Resolving ${param.name}...`));
326
- const typedResolver = resolver;
327
- if (typedResolver.type === "static") {
330
+ if (resolver.type === "static") {
331
+ const staticResolver = resolver;
328
332
  const promptConfig = {
329
- type: typedResolver.inputType === "password" ? "password" : "input",
333
+ type: staticResolver.inputType === "password" ? "password" : "input",
330
334
  name: param.name,
331
335
  message: `Enter ${param.name}:`,
332
- ...typedResolver.placeholder && {
333
- default: typedResolver.placeholder
336
+ ...staticResolver.placeholder && {
337
+ default: staticResolver.placeholder
334
338
  }
335
339
  };
336
340
  const answers = await inquirer__default.default.prompt([promptConfig]);
337
341
  return answers[param.name];
338
- } else if (typedResolver.type === "dynamic") {
339
- try {
340
- if (param.isRequired && param.name !== "connectionId") {
341
- console.log(chalk6__default.default.gray(`Fetching options for ${param.name}...`));
342
+ } else if (resolver.type === "dynamic") {
343
+ const dynamicResolver = resolver;
344
+ if (dynamicResolver.tryResolveWithoutPrompt) {
345
+ try {
346
+ const preResolvedValue = await dynamicResolver.tryResolveWithoutPrompt(
347
+ context.sdk,
348
+ context.resolvedParams
349
+ );
350
+ if (preResolvedValue != null) {
351
+ return preResolvedValue.resolvedValue;
352
+ }
353
+ } catch {
342
354
  }
343
- const items = await typedResolver.fetch(
344
- context.sdk,
345
- context.resolvedParams
346
- );
347
- const safeItems = items || [];
348
- const promptConfig = typedResolver.prompt(
349
- safeItems,
350
- context.resolvedParams
351
- );
352
- const answers = await inquirer__default.default.prompt([promptConfig]);
353
- return answers[param.name];
354
- } catch (error) {
355
- throw error;
356
355
  }
357
- } else if (typedResolver.type === "fields") {
356
+ if (param.isRequired && param.name !== "connectionId") {
357
+ console.log(chalk6__default.default.gray(`Fetching options for ${param.name}...`));
358
+ }
359
+ const items = await dynamicResolver.fetch(
360
+ context.sdk,
361
+ context.resolvedParams
362
+ );
363
+ const safeItems = items || [];
364
+ const promptConfig = dynamicResolver.prompt(
365
+ safeItems,
366
+ context.resolvedParams
367
+ );
368
+ const answers = await inquirer__default.default.prompt([promptConfig]);
369
+ return answers[param.name];
370
+ } else if (resolver.type === "fields") {
358
371
  return await this.resolveFieldsRecursively(
359
372
  resolver,
360
373
  context,
@@ -364,7 +377,6 @@ var SchemaParameterResolver = class {
364
377
  throw new Error(`Unknown resolver type for ${param.name}`);
365
378
  }
366
379
  async resolveFieldsRecursively(resolver, context, param) {
367
- const typedResolver = resolver;
368
380
  const inputs = {};
369
381
  let processedFieldKeys = /* @__PURE__ */ new Set();
370
382
  let iteration = 0;
@@ -383,7 +395,7 @@ var SchemaParameterResolver = class {
383
395
  `Fetching input fields for ${param.name}${iteration > 1 ? ` (iteration ${iteration})` : ""}...`
384
396
  )
385
397
  );
386
- const rootFieldItems = await typedResolver.fetch(
398
+ const rootFieldItems = await resolver.fetch(
387
399
  updatedContext.sdk,
388
400
  updatedContext.resolvedParams
389
401
  );
@@ -911,7 +923,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
911
923
 
912
924
  // package.json
913
925
  var package_default = {
914
- version: "0.34.3"};
926
+ version: "0.34.4"};
915
927
 
916
928
  // src/telemetry/builders.ts
917
929
  function createCliBaseEvent(context = {}) {
@@ -4160,7 +4172,7 @@ function createZapierCliSdk(options = {}) {
4160
4172
  // package.json with { type: 'json' }
4161
4173
  var package_default2 = {
4162
4174
  name: "@zapier/zapier-sdk-cli",
4163
- version: "0.34.3"};
4175
+ version: "0.34.4"};
4164
4176
  var ONE_DAY_MS = 24 * 60 * 60 * 1e3;
4165
4177
  var CACHE_RESET_INTERVAL_MS = (() => {
4166
4178
  const { ZAPIER_SDK_UPDATE_CHECK_INTERVAL_MS = `${ONE_DAY_MS}` } = process.env;
package/dist/cli.mjs CHANGED
@@ -280,44 +280,57 @@ var SchemaParameterResolver = class {
280
280
  };
281
281
  }
282
282
  async resolveParameter(param, context, functionName) {
283
- const resolver = this.getResolver(param.name, context.sdk, functionName);
283
+ const resolver = this.getResolver(
284
+ param.name,
285
+ context.sdk,
286
+ functionName
287
+ );
284
288
  if (!resolver) {
285
289
  throw new Error(`No resolver found for parameter: ${param.name}`);
286
290
  }
287
291
  console.log(chalk6.blue(`
288
292
  \u{1F50D} Resolving ${param.name}...`));
289
- const typedResolver = resolver;
290
- if (typedResolver.type === "static") {
293
+ if (resolver.type === "static") {
294
+ const staticResolver = resolver;
291
295
  const promptConfig = {
292
- type: typedResolver.inputType === "password" ? "password" : "input",
296
+ type: staticResolver.inputType === "password" ? "password" : "input",
293
297
  name: param.name,
294
298
  message: `Enter ${param.name}:`,
295
- ...typedResolver.placeholder && {
296
- default: typedResolver.placeholder
299
+ ...staticResolver.placeholder && {
300
+ default: staticResolver.placeholder
297
301
  }
298
302
  };
299
303
  const answers = await inquirer.prompt([promptConfig]);
300
304
  return answers[param.name];
301
- } else if (typedResolver.type === "dynamic") {
302
- try {
303
- if (param.isRequired && param.name !== "connectionId") {
304
- console.log(chalk6.gray(`Fetching options for ${param.name}...`));
305
+ } else if (resolver.type === "dynamic") {
306
+ const dynamicResolver = resolver;
307
+ if (dynamicResolver.tryResolveWithoutPrompt) {
308
+ try {
309
+ const preResolvedValue = await dynamicResolver.tryResolveWithoutPrompt(
310
+ context.sdk,
311
+ context.resolvedParams
312
+ );
313
+ if (preResolvedValue != null) {
314
+ return preResolvedValue.resolvedValue;
315
+ }
316
+ } catch {
305
317
  }
306
- const items = await typedResolver.fetch(
307
- context.sdk,
308
- context.resolvedParams
309
- );
310
- const safeItems = items || [];
311
- const promptConfig = typedResolver.prompt(
312
- safeItems,
313
- context.resolvedParams
314
- );
315
- const answers = await inquirer.prompt([promptConfig]);
316
- return answers[param.name];
317
- } catch (error) {
318
- throw error;
319
318
  }
320
- } else if (typedResolver.type === "fields") {
319
+ if (param.isRequired && param.name !== "connectionId") {
320
+ console.log(chalk6.gray(`Fetching options for ${param.name}...`));
321
+ }
322
+ const items = await dynamicResolver.fetch(
323
+ context.sdk,
324
+ context.resolvedParams
325
+ );
326
+ const safeItems = items || [];
327
+ const promptConfig = dynamicResolver.prompt(
328
+ safeItems,
329
+ context.resolvedParams
330
+ );
331
+ const answers = await inquirer.prompt([promptConfig]);
332
+ return answers[param.name];
333
+ } else if (resolver.type === "fields") {
321
334
  return await this.resolveFieldsRecursively(
322
335
  resolver,
323
336
  context,
@@ -327,7 +340,6 @@ var SchemaParameterResolver = class {
327
340
  throw new Error(`Unknown resolver type for ${param.name}`);
328
341
  }
329
342
  async resolveFieldsRecursively(resolver, context, param) {
330
- const typedResolver = resolver;
331
343
  const inputs = {};
332
344
  let processedFieldKeys = /* @__PURE__ */ new Set();
333
345
  let iteration = 0;
@@ -346,7 +358,7 @@ var SchemaParameterResolver = class {
346
358
  `Fetching input fields for ${param.name}${iteration > 1 ? ` (iteration ${iteration})` : ""}...`
347
359
  )
348
360
  );
349
- const rootFieldItems = await typedResolver.fetch(
361
+ const rootFieldItems = await resolver.fetch(
350
362
  updatedContext.sdk,
351
363
  updatedContext.resolvedParams
352
364
  );
@@ -874,7 +886,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
874
886
 
875
887
  // package.json
876
888
  var package_default = {
877
- version: "0.34.3"};
889
+ version: "0.34.4"};
878
890
 
879
891
  // src/telemetry/builders.ts
880
892
  function createCliBaseEvent(context = {}) {
@@ -4123,7 +4135,7 @@ function createZapierCliSdk(options = {}) {
4123
4135
  // package.json with { type: 'json' }
4124
4136
  var package_default2 = {
4125
4137
  name: "@zapier/zapier-sdk-cli",
4126
- version: "0.34.3"};
4138
+ version: "0.34.4"};
4127
4139
  var ONE_DAY_MS = 24 * 60 * 60 * 1e3;
4128
4140
  var CACHE_RESET_INTERVAL_MS = (() => {
4129
4141
  const { ZAPIER_SDK_UPDATE_CHECK_INTERVAL_MS = `${ONE_DAY_MS}` } = process.env;
package/dist/index.cjs CHANGED
@@ -2498,7 +2498,7 @@ function createZapierCliSdk(options = {}) {
2498
2498
 
2499
2499
  // package.json
2500
2500
  var package_default = {
2501
- version: "0.34.3"};
2501
+ version: "0.34.4"};
2502
2502
 
2503
2503
  // src/telemetry/builders.ts
2504
2504
  function createCliBaseEvent(context = {}) {
package/dist/index.mjs CHANGED
@@ -2465,7 +2465,7 @@ function createZapierCliSdk(options = {}) {
2465
2465
 
2466
2466
  // package.json
2467
2467
  var package_default = {
2468
- version: "0.34.3"};
2468
+ version: "0.34.4"};
2469
2469
 
2470
2470
  // src/telemetry/builders.ts
2471
2471
  function createCliBaseEvent(context = {}) {
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zapier/zapier-sdk-cli",
3
- "version": "0.34.3",
3
+ "version": "0.34.4",
4
4
  "description": "Command line interface for Zapier SDK",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -260,47 +260,49 @@ export class SchemaParameterResolver {
260
260
  throw new Error(`No resolver found for parameter: ${param.name}`);
261
261
  }
262
262
  console.log(chalk.blue(`\nšŸ” Resolving ${param.name}...`));
263
- const typedResolver = resolver;
264
- if (typedResolver.type === "static") {
265
- // Static resolver - just prompt for input
263
+ if (resolver.type === "static") {
264
+ const staticResolver = resolver;
266
265
  const promptConfig = {
267
- type: typedResolver.inputType === "password" ? "password" : "input",
266
+ type: staticResolver.inputType === "password" ? "password" : "input",
268
267
  name: param.name,
269
268
  message: `Enter ${param.name}:`,
270
- ...(typedResolver.placeholder && {
271
- default: typedResolver.placeholder,
269
+ ...(staticResolver.placeholder && {
270
+ default: staticResolver.placeholder,
272
271
  }),
273
272
  };
274
273
  const answers = await inquirer.prompt([promptConfig]);
275
274
  return answers[param.name];
276
275
  }
277
- else if (typedResolver.type === "dynamic") {
278
- // Dynamic resolver - fetch options and prompt for selection
279
- try {
280
- // Only show "Fetching..." for required parameters that typically have many options
281
- if (param.isRequired && param.name !== "connectionId") {
282
- console.log(chalk.gray(`Fetching options for ${param.name}...`));
276
+ else if (resolver.type === "dynamic") {
277
+ const dynamicResolver = resolver;
278
+ if (dynamicResolver.tryResolveWithoutPrompt) {
279
+ try {
280
+ const preResolvedValue = await dynamicResolver.tryResolveWithoutPrompt(context.sdk, context.resolvedParams);
281
+ if (preResolvedValue != null) {
282
+ return preResolvedValue.resolvedValue;
283
+ }
284
+ }
285
+ catch {
286
+ // Fall through to fetch/prompt if pre-resolution fails
283
287
  }
284
- const items = await typedResolver.fetch(context.sdk, context.resolvedParams);
285
- // Let the resolver's prompt handle empty lists (e.g., connectionId can show "skip connection")
286
- const safeItems = items || [];
287
- const promptConfig = typedResolver.prompt(safeItems, context.resolvedParams);
288
- const answers = await inquirer.prompt([promptConfig]);
289
- return answers[param.name];
290
288
  }
291
- catch (error) {
292
- // Let the main CLI error handler display user-friendly errors
293
- throw error;
289
+ // Only show "Fetching..." for required parameters that typically have many options
290
+ if (param.isRequired && param.name !== "connectionId") {
291
+ console.log(chalk.gray(`Fetching options for ${param.name}...`));
294
292
  }
293
+ const items = await dynamicResolver.fetch(context.sdk, context.resolvedParams);
294
+ // Let the resolver's prompt handle empty lists (e.g., connectionId can show "skip connection")
295
+ const safeItems = items || [];
296
+ const promptConfig = dynamicResolver.prompt(safeItems, context.resolvedParams);
297
+ const answers = await inquirer.prompt([promptConfig]);
298
+ return answers[param.name];
295
299
  }
296
- else if (typedResolver.type === "fields") {
297
- // Fields resolver - fetch field definitions and prompt for each input with recursive field resolution
300
+ else if (resolver.type === "fields") {
298
301
  return await this.resolveFieldsRecursively(resolver, context, param);
299
302
  }
300
303
  throw new Error(`Unknown resolver type for ${param.name}`);
301
304
  }
302
305
  async resolveFieldsRecursively(resolver, context, param) {
303
- const typedResolver = resolver;
304
306
  const inputs = {};
305
307
  let processedFieldKeys = new Set();
306
308
  let iteration = 0;
@@ -316,7 +318,7 @@ export class SchemaParameterResolver {
316
318
  },
317
319
  };
318
320
  console.log(chalk.gray(`Fetching input fields for ${param.name}${iteration > 1 ? ` (iteration ${iteration})` : ""}...`));
319
- const rootFieldItems = await typedResolver.fetch(updatedContext.sdk, updatedContext.resolvedParams);
321
+ const rootFieldItems = await resolver.fetch(updatedContext.sdk, updatedContext.resolvedParams);
320
322
  if (!rootFieldItems || rootFieldItems.length === 0) {
321
323
  if (iteration === 1) {
322
324
  console.log(chalk.yellow(`No input fields required for this action.`));