@zapier/zapier-sdk-cli 0.34.10 → 0.34.11
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 +138 -134
- package/dist/cli.mjs +139 -135
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/package.json +1 -1
- package/dist/src/utils/parameter-resolver.d.ts +1 -1
- package/dist/src/utils/parameter-resolver.js +144 -140
- 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.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f676852: Suppress resolver method calls from emitting telemetry events
|
|
8
|
+
- Updated dependencies [f676852]
|
|
9
|
+
- @zapier/zapier-sdk@0.33.3
|
|
10
|
+
- @zapier/zapier-sdk-mcp@0.9.20
|
|
11
|
+
|
|
3
12
|
## 0.34.10
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
package/dist/cli.cjs
CHANGED
|
@@ -119,139 +119,105 @@ function getLocalResolutionOrderForParams(paramNames, resolvers) {
|
|
|
119
119
|
}
|
|
120
120
|
var SchemaParameterResolver = class {
|
|
121
121
|
async resolveParameters(schema, providedParams, sdk2, functionName) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const missingResolvable = resolvableParams.filter((param) => {
|
|
128
|
-
const hasValue = this.getNestedValue(providedParams, param.path) !== void 0;
|
|
129
|
-
return !hasValue;
|
|
130
|
-
});
|
|
131
|
-
const functionallyRequired = missingResolvable.filter((param) => {
|
|
132
|
-
if (param.isRequired) return true;
|
|
133
|
-
if (param.name === "inputs") {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
return false;
|
|
137
|
-
});
|
|
138
|
-
const alwaysPrompt = missingResolvable.filter((param) => {
|
|
139
|
-
if (functionallyRequired.includes(param)) return false;
|
|
140
|
-
if (param.name === "connectionId") {
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
return false;
|
|
144
|
-
});
|
|
145
|
-
const trulyOptional = missingResolvable.filter(
|
|
146
|
-
(param) => !functionallyRequired.includes(param) && !alwaysPrompt.includes(param)
|
|
147
|
-
);
|
|
148
|
-
if (parseResult.success && functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
149
|
-
return parseResult.data;
|
|
150
|
-
}
|
|
151
|
-
if (functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
152
|
-
if (!parseResult.success) {
|
|
153
|
-
throw parseResult.error;
|
|
154
|
-
}
|
|
155
|
-
return parseResult.data;
|
|
156
|
-
}
|
|
157
|
-
const resolvedParams = { ...providedParams };
|
|
158
|
-
const context = {
|
|
159
|
-
sdk: sdk2,
|
|
160
|
-
currentParams: providedParams,
|
|
161
|
-
resolvedParams,
|
|
162
|
-
functionName
|
|
163
|
-
};
|
|
164
|
-
const localResolvers = this.getLocalResolvers(sdk2, functionName);
|
|
165
|
-
if (functionallyRequired.length > 0) {
|
|
166
|
-
const requiredParamNames = functionallyRequired.map((p) => p.name);
|
|
167
|
-
const requiredResolutionOrder = getLocalResolutionOrderForParams(
|
|
168
|
-
requiredParamNames,
|
|
169
|
-
localResolvers
|
|
122
|
+
return zapierSdk.runWithTelemetryContext(async () => {
|
|
123
|
+
const parseResult = schema.safeParse(providedParams);
|
|
124
|
+
const allParams = this.extractParametersFromSchema(schema);
|
|
125
|
+
const resolvableParams = allParams.filter(
|
|
126
|
+
(param) => this.hasResolver(param.name, sdk2, functionName)
|
|
170
127
|
);
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
128
|
+
const missingResolvable = resolvableParams.filter((param) => {
|
|
129
|
+
const hasValue = this.getNestedValue(providedParams, param.path) !== void 0;
|
|
130
|
+
return !hasValue;
|
|
131
|
+
});
|
|
132
|
+
const functionallyRequired = missingResolvable.filter((param) => {
|
|
133
|
+
if (param.isRequired) return true;
|
|
134
|
+
if (param.name === "inputs") {
|
|
135
|
+
return true;
|
|
175
136
|
}
|
|
176
|
-
|
|
177
|
-
|
|
137
|
+
return false;
|
|
138
|
+
});
|
|
139
|
+
const alwaysPrompt = missingResolvable.filter((param) => {
|
|
140
|
+
if (functionallyRequired.includes(param)) return false;
|
|
141
|
+
if (param.name === "connectionId") {
|
|
142
|
+
return true;
|
|
178
143
|
}
|
|
179
|
-
return
|
|
180
|
-
})
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
} catch (error) {
|
|
191
|
-
if (this.isUserCancellation(error)) {
|
|
192
|
-
console.log(chalk3__default.default.yellow("\n\nOperation cancelled by user"));
|
|
193
|
-
throw new ZapierCliUserCancellationError();
|
|
194
|
-
}
|
|
195
|
-
throw error;
|
|
144
|
+
return false;
|
|
145
|
+
});
|
|
146
|
+
const trulyOptional = missingResolvable.filter(
|
|
147
|
+
(param) => !functionallyRequired.includes(param) && !alwaysPrompt.includes(param)
|
|
148
|
+
);
|
|
149
|
+
if (parseResult.success && functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
150
|
+
return parseResult.data;
|
|
151
|
+
}
|
|
152
|
+
if (functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
153
|
+
if (!parseResult.success) {
|
|
154
|
+
throw parseResult.error;
|
|
196
155
|
}
|
|
156
|
+
return parseResult.data;
|
|
197
157
|
}
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
);
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
158
|
+
const resolvedParams = { ...providedParams };
|
|
159
|
+
const context = {
|
|
160
|
+
sdk: sdk2,
|
|
161
|
+
currentParams: providedParams,
|
|
162
|
+
resolvedParams,
|
|
163
|
+
functionName
|
|
164
|
+
};
|
|
165
|
+
const localResolvers = this.getLocalResolvers(sdk2, functionName);
|
|
166
|
+
if (functionallyRequired.length > 0) {
|
|
167
|
+
const requiredParamNames = functionallyRequired.map((p) => p.name);
|
|
168
|
+
const requiredResolutionOrder = getLocalResolutionOrderForParams(
|
|
169
|
+
requiredParamNames,
|
|
170
|
+
localResolvers
|
|
171
|
+
);
|
|
172
|
+
const orderedRequiredParams = requiredResolutionOrder.map((paramName) => {
|
|
173
|
+
let param = functionallyRequired.find((p) => p.name === paramName);
|
|
174
|
+
if (!param) {
|
|
175
|
+
param = alwaysPrompt.find((p) => p.name === paramName);
|
|
176
|
+
}
|
|
177
|
+
if (!param) {
|
|
178
|
+
param = trulyOptional.find((p) => p.name === paramName);
|
|
179
|
+
}
|
|
180
|
+
return param;
|
|
181
|
+
}).filter((param) => param !== void 0);
|
|
182
|
+
for (const param of orderedRequiredParams) {
|
|
183
|
+
try {
|
|
184
|
+
const value = await this.resolveParameter(
|
|
185
|
+
param,
|
|
186
|
+
context,
|
|
187
|
+
functionName
|
|
188
|
+
);
|
|
189
|
+
this.setNestedValue(resolvedParams, param.path, value);
|
|
190
|
+
context.resolvedParams = resolvedParams;
|
|
191
|
+
} catch (error) {
|
|
192
|
+
if (this.isUserCancellation(error)) {
|
|
193
|
+
console.log(chalk3__default.default.yellow("\n\nOperation cancelled by user"));
|
|
194
|
+
throw new ZapierCliUserCancellationError();
|
|
195
|
+
}
|
|
196
|
+
throw error;
|
|
232
197
|
}
|
|
233
|
-
throw error;
|
|
234
198
|
}
|
|
199
|
+
const resolvedParamNames = new Set(
|
|
200
|
+
orderedRequiredParams.map((p) => p.name)
|
|
201
|
+
);
|
|
202
|
+
alwaysPrompt.splice(
|
|
203
|
+
0,
|
|
204
|
+
alwaysPrompt.length,
|
|
205
|
+
...alwaysPrompt.filter((p) => !resolvedParamNames.has(p.name))
|
|
206
|
+
);
|
|
207
|
+
trulyOptional.splice(
|
|
208
|
+
0,
|
|
209
|
+
trulyOptional.length,
|
|
210
|
+
...trulyOptional.filter((p) => !resolvedParamNames.has(p.name))
|
|
211
|
+
);
|
|
235
212
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
{
|
|
241
|
-
type: "confirm",
|
|
242
|
-
name: "resolveOptional",
|
|
243
|
-
message: `Would you like to be prompted for optional parameters (${optionalNames})?`,
|
|
244
|
-
default: false
|
|
245
|
-
}
|
|
246
|
-
]);
|
|
247
|
-
if (shouldResolveOptional.resolveOptional) {
|
|
248
|
-
const optionalParamNames = trulyOptional.map((p) => p.name);
|
|
249
|
-
const optionalResolutionOrder = getLocalResolutionOrderForParams(
|
|
250
|
-
optionalParamNames,
|
|
213
|
+
if (alwaysPrompt.length > 0) {
|
|
214
|
+
const alwaysPromptNames = alwaysPrompt.map((p) => p.name);
|
|
215
|
+
const alwaysPromptResolutionOrder = getLocalResolutionOrderForParams(
|
|
216
|
+
alwaysPromptNames,
|
|
251
217
|
localResolvers
|
|
252
218
|
);
|
|
253
|
-
const
|
|
254
|
-
for (const param of
|
|
219
|
+
const orderedAlwaysPromptParams = alwaysPromptResolutionOrder.map((paramName) => alwaysPrompt.find((p) => p.name === paramName)).filter((param) => param !== void 0);
|
|
220
|
+
for (const param of orderedAlwaysPromptParams) {
|
|
255
221
|
try {
|
|
256
222
|
const value = await this.resolveParameter(
|
|
257
223
|
param,
|
|
@@ -269,15 +235,53 @@ var SchemaParameterResolver = class {
|
|
|
269
235
|
}
|
|
270
236
|
}
|
|
271
237
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
238
|
+
if (trulyOptional.length > 0) {
|
|
239
|
+
const optionalNames = trulyOptional.map((p) => p.name).join(", ");
|
|
240
|
+
const shouldResolveOptional = await inquirer__default.default.prompt([
|
|
241
|
+
{
|
|
242
|
+
type: "confirm",
|
|
243
|
+
name: "resolveOptional",
|
|
244
|
+
message: `Would you like to be prompted for optional parameters (${optionalNames})?`,
|
|
245
|
+
default: false
|
|
246
|
+
}
|
|
247
|
+
]);
|
|
248
|
+
if (shouldResolveOptional.resolveOptional) {
|
|
249
|
+
const optionalParamNames = trulyOptional.map((p) => p.name);
|
|
250
|
+
const optionalResolutionOrder = getLocalResolutionOrderForParams(
|
|
251
|
+
optionalParamNames,
|
|
252
|
+
localResolvers
|
|
253
|
+
);
|
|
254
|
+
const orderedOptionalParams = optionalResolutionOrder.map((paramName) => trulyOptional.find((p) => p.name === paramName)).filter(
|
|
255
|
+
(param) => param !== void 0
|
|
256
|
+
);
|
|
257
|
+
for (const param of orderedOptionalParams) {
|
|
258
|
+
try {
|
|
259
|
+
const value = await this.resolveParameter(
|
|
260
|
+
param,
|
|
261
|
+
context,
|
|
262
|
+
functionName
|
|
263
|
+
);
|
|
264
|
+
this.setNestedValue(resolvedParams, param.path, value);
|
|
265
|
+
context.resolvedParams = resolvedParams;
|
|
266
|
+
} catch (error) {
|
|
267
|
+
if (this.isUserCancellation(error)) {
|
|
268
|
+
console.log(chalk3__default.default.yellow("\n\nOperation cancelled by user"));
|
|
269
|
+
throw new ZapierCliUserCancellationError();
|
|
270
|
+
}
|
|
271
|
+
throw error;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const finalResult = schema.safeParse(resolvedParams);
|
|
277
|
+
if (!finalResult.success) {
|
|
278
|
+
console.error(
|
|
279
|
+
chalk3__default.default.red("\u274C Parameter validation failed after resolution:")
|
|
280
|
+
);
|
|
281
|
+
throw finalResult.error;
|
|
282
|
+
}
|
|
283
|
+
return finalResult.data;
|
|
284
|
+
});
|
|
281
285
|
}
|
|
282
286
|
extractParametersFromSchema(schema) {
|
|
283
287
|
const parameters = [];
|
|
@@ -923,7 +927,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
|
|
|
923
927
|
|
|
924
928
|
// package.json
|
|
925
929
|
var package_default = {
|
|
926
|
-
version: "0.34.
|
|
930
|
+
version: "0.34.11"};
|
|
927
931
|
|
|
928
932
|
// src/telemetry/builders.ts
|
|
929
933
|
function createCliBaseEvent(context = {}) {
|
|
@@ -4199,7 +4203,7 @@ function createZapierCliSdk(options = {}) {
|
|
|
4199
4203
|
// package.json with { type: 'json' }
|
|
4200
4204
|
var package_default2 = {
|
|
4201
4205
|
name: "@zapier/zapier-sdk-cli",
|
|
4202
|
-
version: "0.34.
|
|
4206
|
+
version: "0.34.11"};
|
|
4203
4207
|
var ONE_DAY_MS = 24 * 60 * 60 * 1e3;
|
|
4204
4208
|
var CACHE_RESET_INTERVAL_MS = (() => {
|
|
4205
4209
|
const { ZAPIER_SDK_UPDATE_CHECK_INTERVAL_MS = `${ONE_DAY_MS}` } = process.env;
|
package/dist/cli.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command, CommanderError } from 'commander';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { createFunction, OutputPropertySchema, DEFAULT_CONFIG_PATH, injectCliLogin, createZapierSdkWithoutRegistry, registryPlugin, ZapierError, ZapierValidationError, ZapierUnknownError, batch, toSnakeCase, buildApplicationLifecycleEvent, formatErrorMessage, isCredentialsObject, isPositional, getOsInfo, getPlatformVersions, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId } from '@zapier/zapier-sdk';
|
|
4
|
+
import { createFunction, OutputPropertySchema, DEFAULT_CONFIG_PATH, injectCliLogin, createZapierSdkWithoutRegistry, registryPlugin, ZapierError, ZapierValidationError, ZapierUnknownError, batch, toSnakeCase, buildApplicationLifecycleEvent, formatErrorMessage, isCredentialsObject, isPositional, runWithTelemetryContext, getOsInfo, getPlatformVersions, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId } from '@zapier/zapier-sdk';
|
|
5
5
|
import inquirer from 'inquirer';
|
|
6
6
|
import chalk3 from 'chalk';
|
|
7
7
|
import util from 'util';
|
|
@@ -82,139 +82,105 @@ function getLocalResolutionOrderForParams(paramNames, resolvers) {
|
|
|
82
82
|
}
|
|
83
83
|
var SchemaParameterResolver = class {
|
|
84
84
|
async resolveParameters(schema, providedParams, sdk2, functionName) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const missingResolvable = resolvableParams.filter((param) => {
|
|
91
|
-
const hasValue = this.getNestedValue(providedParams, param.path) !== void 0;
|
|
92
|
-
return !hasValue;
|
|
93
|
-
});
|
|
94
|
-
const functionallyRequired = missingResolvable.filter((param) => {
|
|
95
|
-
if (param.isRequired) return true;
|
|
96
|
-
if (param.name === "inputs") {
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
return false;
|
|
100
|
-
});
|
|
101
|
-
const alwaysPrompt = missingResolvable.filter((param) => {
|
|
102
|
-
if (functionallyRequired.includes(param)) return false;
|
|
103
|
-
if (param.name === "connectionId") {
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
return false;
|
|
107
|
-
});
|
|
108
|
-
const trulyOptional = missingResolvable.filter(
|
|
109
|
-
(param) => !functionallyRequired.includes(param) && !alwaysPrompt.includes(param)
|
|
110
|
-
);
|
|
111
|
-
if (parseResult.success && functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
112
|
-
return parseResult.data;
|
|
113
|
-
}
|
|
114
|
-
if (functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
115
|
-
if (!parseResult.success) {
|
|
116
|
-
throw parseResult.error;
|
|
117
|
-
}
|
|
118
|
-
return parseResult.data;
|
|
119
|
-
}
|
|
120
|
-
const resolvedParams = { ...providedParams };
|
|
121
|
-
const context = {
|
|
122
|
-
sdk: sdk2,
|
|
123
|
-
currentParams: providedParams,
|
|
124
|
-
resolvedParams,
|
|
125
|
-
functionName
|
|
126
|
-
};
|
|
127
|
-
const localResolvers = this.getLocalResolvers(sdk2, functionName);
|
|
128
|
-
if (functionallyRequired.length > 0) {
|
|
129
|
-
const requiredParamNames = functionallyRequired.map((p) => p.name);
|
|
130
|
-
const requiredResolutionOrder = getLocalResolutionOrderForParams(
|
|
131
|
-
requiredParamNames,
|
|
132
|
-
localResolvers
|
|
85
|
+
return runWithTelemetryContext(async () => {
|
|
86
|
+
const parseResult = schema.safeParse(providedParams);
|
|
87
|
+
const allParams = this.extractParametersFromSchema(schema);
|
|
88
|
+
const resolvableParams = allParams.filter(
|
|
89
|
+
(param) => this.hasResolver(param.name, sdk2, functionName)
|
|
133
90
|
);
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
91
|
+
const missingResolvable = resolvableParams.filter((param) => {
|
|
92
|
+
const hasValue = this.getNestedValue(providedParams, param.path) !== void 0;
|
|
93
|
+
return !hasValue;
|
|
94
|
+
});
|
|
95
|
+
const functionallyRequired = missingResolvable.filter((param) => {
|
|
96
|
+
if (param.isRequired) return true;
|
|
97
|
+
if (param.name === "inputs") {
|
|
98
|
+
return true;
|
|
138
99
|
}
|
|
139
|
-
|
|
140
|
-
|
|
100
|
+
return false;
|
|
101
|
+
});
|
|
102
|
+
const alwaysPrompt = missingResolvable.filter((param) => {
|
|
103
|
+
if (functionallyRequired.includes(param)) return false;
|
|
104
|
+
if (param.name === "connectionId") {
|
|
105
|
+
return true;
|
|
141
106
|
}
|
|
142
|
-
return
|
|
143
|
-
})
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
} catch (error) {
|
|
154
|
-
if (this.isUserCancellation(error)) {
|
|
155
|
-
console.log(chalk3.yellow("\n\nOperation cancelled by user"));
|
|
156
|
-
throw new ZapierCliUserCancellationError();
|
|
157
|
-
}
|
|
158
|
-
throw error;
|
|
107
|
+
return false;
|
|
108
|
+
});
|
|
109
|
+
const trulyOptional = missingResolvable.filter(
|
|
110
|
+
(param) => !functionallyRequired.includes(param) && !alwaysPrompt.includes(param)
|
|
111
|
+
);
|
|
112
|
+
if (parseResult.success && functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
113
|
+
return parseResult.data;
|
|
114
|
+
}
|
|
115
|
+
if (functionallyRequired.length === 0 && alwaysPrompt.length === 0) {
|
|
116
|
+
if (!parseResult.success) {
|
|
117
|
+
throw parseResult.error;
|
|
159
118
|
}
|
|
119
|
+
return parseResult.data;
|
|
160
120
|
}
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
121
|
+
const resolvedParams = { ...providedParams };
|
|
122
|
+
const context = {
|
|
123
|
+
sdk: sdk2,
|
|
124
|
+
currentParams: providedParams,
|
|
125
|
+
resolvedParams,
|
|
126
|
+
functionName
|
|
127
|
+
};
|
|
128
|
+
const localResolvers = this.getLocalResolvers(sdk2, functionName);
|
|
129
|
+
if (functionallyRequired.length > 0) {
|
|
130
|
+
const requiredParamNames = functionallyRequired.map((p) => p.name);
|
|
131
|
+
const requiredResolutionOrder = getLocalResolutionOrderForParams(
|
|
132
|
+
requiredParamNames,
|
|
133
|
+
localResolvers
|
|
134
|
+
);
|
|
135
|
+
const orderedRequiredParams = requiredResolutionOrder.map((paramName) => {
|
|
136
|
+
let param = functionallyRequired.find((p) => p.name === paramName);
|
|
137
|
+
if (!param) {
|
|
138
|
+
param = alwaysPrompt.find((p) => p.name === paramName);
|
|
139
|
+
}
|
|
140
|
+
if (!param) {
|
|
141
|
+
param = trulyOptional.find((p) => p.name === paramName);
|
|
142
|
+
}
|
|
143
|
+
return param;
|
|
144
|
+
}).filter((param) => param !== void 0);
|
|
145
|
+
for (const param of orderedRequiredParams) {
|
|
146
|
+
try {
|
|
147
|
+
const value = await this.resolveParameter(
|
|
148
|
+
param,
|
|
149
|
+
context,
|
|
150
|
+
functionName
|
|
151
|
+
);
|
|
152
|
+
this.setNestedValue(resolvedParams, param.path, value);
|
|
153
|
+
context.resolvedParams = resolvedParams;
|
|
154
|
+
} catch (error) {
|
|
155
|
+
if (this.isUserCancellation(error)) {
|
|
156
|
+
console.log(chalk3.yellow("\n\nOperation cancelled by user"));
|
|
157
|
+
throw new ZapierCliUserCancellationError();
|
|
158
|
+
}
|
|
159
|
+
throw error;
|
|
195
160
|
}
|
|
196
|
-
throw error;
|
|
197
161
|
}
|
|
162
|
+
const resolvedParamNames = new Set(
|
|
163
|
+
orderedRequiredParams.map((p) => p.name)
|
|
164
|
+
);
|
|
165
|
+
alwaysPrompt.splice(
|
|
166
|
+
0,
|
|
167
|
+
alwaysPrompt.length,
|
|
168
|
+
...alwaysPrompt.filter((p) => !resolvedParamNames.has(p.name))
|
|
169
|
+
);
|
|
170
|
+
trulyOptional.splice(
|
|
171
|
+
0,
|
|
172
|
+
trulyOptional.length,
|
|
173
|
+
...trulyOptional.filter((p) => !resolvedParamNames.has(p.name))
|
|
174
|
+
);
|
|
198
175
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
{
|
|
204
|
-
type: "confirm",
|
|
205
|
-
name: "resolveOptional",
|
|
206
|
-
message: `Would you like to be prompted for optional parameters (${optionalNames})?`,
|
|
207
|
-
default: false
|
|
208
|
-
}
|
|
209
|
-
]);
|
|
210
|
-
if (shouldResolveOptional.resolveOptional) {
|
|
211
|
-
const optionalParamNames = trulyOptional.map((p) => p.name);
|
|
212
|
-
const optionalResolutionOrder = getLocalResolutionOrderForParams(
|
|
213
|
-
optionalParamNames,
|
|
176
|
+
if (alwaysPrompt.length > 0) {
|
|
177
|
+
const alwaysPromptNames = alwaysPrompt.map((p) => p.name);
|
|
178
|
+
const alwaysPromptResolutionOrder = getLocalResolutionOrderForParams(
|
|
179
|
+
alwaysPromptNames,
|
|
214
180
|
localResolvers
|
|
215
181
|
);
|
|
216
|
-
const
|
|
217
|
-
for (const param of
|
|
182
|
+
const orderedAlwaysPromptParams = alwaysPromptResolutionOrder.map((paramName) => alwaysPrompt.find((p) => p.name === paramName)).filter((param) => param !== void 0);
|
|
183
|
+
for (const param of orderedAlwaysPromptParams) {
|
|
218
184
|
try {
|
|
219
185
|
const value = await this.resolveParameter(
|
|
220
186
|
param,
|
|
@@ -232,15 +198,53 @@ var SchemaParameterResolver = class {
|
|
|
232
198
|
}
|
|
233
199
|
}
|
|
234
200
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
201
|
+
if (trulyOptional.length > 0) {
|
|
202
|
+
const optionalNames = trulyOptional.map((p) => p.name).join(", ");
|
|
203
|
+
const shouldResolveOptional = await inquirer.prompt([
|
|
204
|
+
{
|
|
205
|
+
type: "confirm",
|
|
206
|
+
name: "resolveOptional",
|
|
207
|
+
message: `Would you like to be prompted for optional parameters (${optionalNames})?`,
|
|
208
|
+
default: false
|
|
209
|
+
}
|
|
210
|
+
]);
|
|
211
|
+
if (shouldResolveOptional.resolveOptional) {
|
|
212
|
+
const optionalParamNames = trulyOptional.map((p) => p.name);
|
|
213
|
+
const optionalResolutionOrder = getLocalResolutionOrderForParams(
|
|
214
|
+
optionalParamNames,
|
|
215
|
+
localResolvers
|
|
216
|
+
);
|
|
217
|
+
const orderedOptionalParams = optionalResolutionOrder.map((paramName) => trulyOptional.find((p) => p.name === paramName)).filter(
|
|
218
|
+
(param) => param !== void 0
|
|
219
|
+
);
|
|
220
|
+
for (const param of orderedOptionalParams) {
|
|
221
|
+
try {
|
|
222
|
+
const value = await this.resolveParameter(
|
|
223
|
+
param,
|
|
224
|
+
context,
|
|
225
|
+
functionName
|
|
226
|
+
);
|
|
227
|
+
this.setNestedValue(resolvedParams, param.path, value);
|
|
228
|
+
context.resolvedParams = resolvedParams;
|
|
229
|
+
} catch (error) {
|
|
230
|
+
if (this.isUserCancellation(error)) {
|
|
231
|
+
console.log(chalk3.yellow("\n\nOperation cancelled by user"));
|
|
232
|
+
throw new ZapierCliUserCancellationError();
|
|
233
|
+
}
|
|
234
|
+
throw error;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
const finalResult = schema.safeParse(resolvedParams);
|
|
240
|
+
if (!finalResult.success) {
|
|
241
|
+
console.error(
|
|
242
|
+
chalk3.red("\u274C Parameter validation failed after resolution:")
|
|
243
|
+
);
|
|
244
|
+
throw finalResult.error;
|
|
245
|
+
}
|
|
246
|
+
return finalResult.data;
|
|
247
|
+
});
|
|
244
248
|
}
|
|
245
249
|
extractParametersFromSchema(schema) {
|
|
246
250
|
const parameters = [];
|
|
@@ -886,7 +890,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
|
|
|
886
890
|
|
|
887
891
|
// package.json
|
|
888
892
|
var package_default = {
|
|
889
|
-
version: "0.34.
|
|
893
|
+
version: "0.34.11"};
|
|
890
894
|
|
|
891
895
|
// src/telemetry/builders.ts
|
|
892
896
|
function createCliBaseEvent(context = {}) {
|
|
@@ -4162,7 +4166,7 @@ function createZapierCliSdk(options = {}) {
|
|
|
4162
4166
|
// package.json with { type: 'json' }
|
|
4163
4167
|
var package_default2 = {
|
|
4164
4168
|
name: "@zapier/zapier-sdk-cli",
|
|
4165
|
-
version: "0.34.
|
|
4169
|
+
version: "0.34.11"};
|
|
4166
4170
|
var ONE_DAY_MS = 24 * 60 * 60 * 1e3;
|
|
4167
4171
|
var CACHE_RESET_INTERVAL_MS = (() => {
|
|
4168
4172
|
const { ZAPIER_SDK_UPDATE_CHECK_INTERVAL_MS = `${ONE_DAY_MS}` } = process.env;
|
package/dist/index.cjs
CHANGED
package/dist/index.mjs
CHANGED