@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 +9 -0
- package/dist/cli.cjs +40 -28
- package/dist/cli.mjs +40 -28
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/package.json +1 -1
- package/dist/src/utils/parameter-resolver.js +27 -25
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
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(
|
|
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
|
-
|
|
327
|
-
|
|
330
|
+
if (resolver.type === "static") {
|
|
331
|
+
const staticResolver = resolver;
|
|
328
332
|
const promptConfig = {
|
|
329
|
-
type:
|
|
333
|
+
type: staticResolver.inputType === "password" ? "password" : "input",
|
|
330
334
|
name: param.name,
|
|
331
335
|
message: `Enter ${param.name}:`,
|
|
332
|
-
...
|
|
333
|
-
default:
|
|
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 (
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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(
|
|
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
|
-
|
|
290
|
-
|
|
293
|
+
if (resolver.type === "static") {
|
|
294
|
+
const staticResolver = resolver;
|
|
291
295
|
const promptConfig = {
|
|
292
|
-
type:
|
|
296
|
+
type: staticResolver.inputType === "password" ? "password" : "input",
|
|
293
297
|
name: param.name,
|
|
294
298
|
message: `Enter ${param.name}:`,
|
|
295
|
-
...
|
|
296
|
-
default:
|
|
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 (
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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
package/dist/index.mjs
CHANGED
package/dist/package.json
CHANGED
|
@@ -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
|
-
|
|
264
|
-
|
|
265
|
-
// Static resolver - just prompt for input
|
|
263
|
+
if (resolver.type === "static") {
|
|
264
|
+
const staticResolver = resolver;
|
|
266
265
|
const promptConfig = {
|
|
267
|
-
type:
|
|
266
|
+
type: staticResolver.inputType === "password" ? "password" : "input",
|
|
268
267
|
name: param.name,
|
|
269
268
|
message: `Enter ${param.name}:`,
|
|
270
|
-
...(
|
|
271
|
-
default:
|
|
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 (
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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
|
-
|
|
292
|
-
|
|
293
|
-
|
|
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 (
|
|
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
|
|
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.`));
|