@zapier/zapier-sdk-cli 0.48.0 → 0.48.1
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 +8 -0
- package/README.md +1 -0
- package/dist/cli.cjs +24 -4
- package/dist/cli.mjs +24 -4
- package/dist/experimental.cjs +2 -1
- package/dist/experimental.mjs +2 -1
- package/dist/index.cjs +3 -2
- package/dist/index.mjs +3 -2
- package/dist/package.json +1 -1
- package/dist/src/cli.js +32 -3
- package/dist/src/plugins/mcp/index.d.ts +1 -0
- package/dist/src/plugins/mcp/index.js +8 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -146,6 +146,7 @@ These options are available for all commands:
|
|
|
146
146
|
| `--tracking-base-url <url>` | | Base URL for Zapier tracking endpoints. |
|
|
147
147
|
| `--max-network-retries <count>` | | Max retries for rate-limited requests (default: 3). |
|
|
148
148
|
| `--max-network-retry-delay-ms <ms>` | | Max delay in ms to wait for retry (default: 60000). |
|
|
149
|
+
| `--max-concurrent-requests <count>` | | Max concurrent in-flight HTTP requests (default: 200, max: 10000). |
|
|
149
150
|
| `--approval-timeout-ms <ms>` | | Timeout in ms for approval polling. Default: 600000 (10 min). |
|
|
150
151
|
| `--max-approval-retries` | | Maximum number of sequential approval rounds per request (one per gating policy) before giving up. Default: 2. |
|
|
151
152
|
| `--approval-mode` | | Approval flow behavior. "disabled" (default) throws a ZapierApprovalError on approval-required responses without creating an approval. "poll" creates the approval, opens it in a browser, polls until resolved, and retries the original request. "throw" creates the approval and throws a ZapierApprovalError with the approval URL so the caller can surface it. Defaults to the ZAPIER_APPROVAL_MODE env var, then "disabled". |
|
package/dist/cli.cjs
CHANGED
|
@@ -1190,7 +1190,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
|
|
|
1190
1190
|
|
|
1191
1191
|
// package.json
|
|
1192
1192
|
var package_default = {
|
|
1193
|
-
version: "0.48.
|
|
1193
|
+
version: "0.48.1"};
|
|
1194
1194
|
|
|
1195
1195
|
// src/telemetry/builders.ts
|
|
1196
1196
|
function createCliBaseEvent(context = {}) {
|
|
@@ -3722,6 +3722,7 @@ var mcpPlugin = zapierSdk.definePlugin(
|
|
|
3722
3722
|
await zapierSdkMcp.startMcpServer({
|
|
3723
3723
|
...options,
|
|
3724
3724
|
debug: sdk2.context.options?.debug,
|
|
3725
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
3725
3726
|
extensions: sdk2.context.extensions,
|
|
3726
3727
|
experimental: sdk2.context.experimental
|
|
3727
3728
|
});
|
|
@@ -6220,7 +6221,7 @@ var watchTriggerInboxCliPlugin = zapierSdk.definePlugin(
|
|
|
6220
6221
|
// package.json with { type: 'json' }
|
|
6221
6222
|
var package_default2 = {
|
|
6222
6223
|
name: "@zapier/zapier-sdk-cli",
|
|
6223
|
-
version: "0.48.
|
|
6224
|
+
version: "0.48.1"};
|
|
6224
6225
|
|
|
6225
6226
|
// src/sdk.ts
|
|
6226
6227
|
zapierSdk.injectCliLogin(login_exports);
|
|
@@ -6482,6 +6483,9 @@ program.name("zapier-sdk").description("CLI for Zapier SDK").version(
|
|
|
6482
6483
|
).option(
|
|
6483
6484
|
"--max-network-retry-delay-ms <ms>",
|
|
6484
6485
|
"Max delay in ms to wait for rate limit retry (default: 60000)"
|
|
6486
|
+
).option(
|
|
6487
|
+
"--max-concurrent-requests <count>",
|
|
6488
|
+
"Max concurrent in-flight HTTP requests (default: 200). Pass 'Infinity' to disable."
|
|
6485
6489
|
).option("--experimental", "Use the experimental SDK / CLI surface");
|
|
6486
6490
|
var booleanFlags = [];
|
|
6487
6491
|
for (const [key, fieldSchema] of Object.entries(
|
|
@@ -6505,8 +6509,13 @@ program.helpOption(
|
|
|
6505
6509
|
);
|
|
6506
6510
|
var isDebugMode = process.env.DEBUG === "true" || process.argv.includes("--debug");
|
|
6507
6511
|
function getFlagValue(flagName) {
|
|
6508
|
-
const
|
|
6509
|
-
|
|
6512
|
+
const prefix = `${flagName}=`;
|
|
6513
|
+
for (let i = 0; i < process.argv.length; i++) {
|
|
6514
|
+
const arg = process.argv[i];
|
|
6515
|
+
if (arg === flagName) return process.argv[i + 1];
|
|
6516
|
+
if (arg.startsWith(prefix)) return arg.slice(prefix.length);
|
|
6517
|
+
}
|
|
6518
|
+
return void 0;
|
|
6510
6519
|
}
|
|
6511
6520
|
var baseUrl = getFlagValue("--base-url");
|
|
6512
6521
|
var credentialsToken = getFlagValue("--credentials");
|
|
@@ -6518,6 +6527,16 @@ var maxNetworkRetriesStr = getFlagValue("--max-network-retries");
|
|
|
6518
6527
|
var maxNetworkRetries = maxNetworkRetriesStr ? parseInt(maxNetworkRetriesStr, 10) : void 0;
|
|
6519
6528
|
var maxNetworkRetryDelayMsStr = getFlagValue("--max-network-retry-delay-ms");
|
|
6520
6529
|
var maxNetworkRetryDelayMs = maxNetworkRetryDelayMsStr ? parseInt(maxNetworkRetryDelayMsStr, 10) : void 0;
|
|
6530
|
+
var maxConcurrentRequestsStr = getFlagValue("--max-concurrent-requests");
|
|
6531
|
+
var maxConcurrentRequests;
|
|
6532
|
+
if (maxConcurrentRequestsStr === void 0) {
|
|
6533
|
+
maxConcurrentRequests = void 0;
|
|
6534
|
+
} else if (maxConcurrentRequestsStr === "Infinity") {
|
|
6535
|
+
maxConcurrentRequests = Infinity;
|
|
6536
|
+
} else {
|
|
6537
|
+
const parsed = parseInt(maxConcurrentRequestsStr, 10);
|
|
6538
|
+
maxConcurrentRequests = Number.isFinite(parsed) ? parsed : NaN;
|
|
6539
|
+
}
|
|
6521
6540
|
function buildCredentialsFromFlags() {
|
|
6522
6541
|
if (credentialsToken) {
|
|
6523
6542
|
return credentialsToken;
|
|
@@ -6560,6 +6579,7 @@ program.exitOverride();
|
|
|
6560
6579
|
trackingBaseUrl,
|
|
6561
6580
|
maxNetworkRetries,
|
|
6562
6581
|
maxNetworkRetryDelayMs,
|
|
6582
|
+
maxConcurrentRequests,
|
|
6563
6583
|
...flagOverrides,
|
|
6564
6584
|
extensions
|
|
6565
6585
|
});
|
package/dist/cli.mjs
CHANGED
|
@@ -1149,7 +1149,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
|
|
|
1149
1149
|
|
|
1150
1150
|
// package.json
|
|
1151
1151
|
var package_default = {
|
|
1152
|
-
version: "0.48.
|
|
1152
|
+
version: "0.48.1"};
|
|
1153
1153
|
|
|
1154
1154
|
// src/telemetry/builders.ts
|
|
1155
1155
|
function createCliBaseEvent(context = {}) {
|
|
@@ -3681,6 +3681,7 @@ var mcpPlugin = definePlugin(
|
|
|
3681
3681
|
await startMcpServer({
|
|
3682
3682
|
...options,
|
|
3683
3683
|
debug: sdk2.context.options?.debug,
|
|
3684
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
3684
3685
|
extensions: sdk2.context.extensions,
|
|
3685
3686
|
experimental: sdk2.context.experimental
|
|
3686
3687
|
});
|
|
@@ -6179,7 +6180,7 @@ var watchTriggerInboxCliPlugin = definePlugin(
|
|
|
6179
6180
|
// package.json with { type: 'json' }
|
|
6180
6181
|
var package_default2 = {
|
|
6181
6182
|
name: "@zapier/zapier-sdk-cli",
|
|
6182
|
-
version: "0.48.
|
|
6183
|
+
version: "0.48.1"};
|
|
6183
6184
|
|
|
6184
6185
|
// src/sdk.ts
|
|
6185
6186
|
injectCliLogin(login_exports);
|
|
@@ -6441,6 +6442,9 @@ program.name("zapier-sdk").description("CLI for Zapier SDK").version(
|
|
|
6441
6442
|
).option(
|
|
6442
6443
|
"--max-network-retry-delay-ms <ms>",
|
|
6443
6444
|
"Max delay in ms to wait for rate limit retry (default: 60000)"
|
|
6445
|
+
).option(
|
|
6446
|
+
"--max-concurrent-requests <count>",
|
|
6447
|
+
"Max concurrent in-flight HTTP requests (default: 200). Pass 'Infinity' to disable."
|
|
6444
6448
|
).option("--experimental", "Use the experimental SDK / CLI surface");
|
|
6445
6449
|
var booleanFlags = [];
|
|
6446
6450
|
for (const [key, fieldSchema] of Object.entries(
|
|
@@ -6464,8 +6468,13 @@ program.helpOption(
|
|
|
6464
6468
|
);
|
|
6465
6469
|
var isDebugMode = process.env.DEBUG === "true" || process.argv.includes("--debug");
|
|
6466
6470
|
function getFlagValue(flagName) {
|
|
6467
|
-
const
|
|
6468
|
-
|
|
6471
|
+
const prefix = `${flagName}=`;
|
|
6472
|
+
for (let i = 0; i < process.argv.length; i++) {
|
|
6473
|
+
const arg = process.argv[i];
|
|
6474
|
+
if (arg === flagName) return process.argv[i + 1];
|
|
6475
|
+
if (arg.startsWith(prefix)) return arg.slice(prefix.length);
|
|
6476
|
+
}
|
|
6477
|
+
return void 0;
|
|
6469
6478
|
}
|
|
6470
6479
|
var baseUrl = getFlagValue("--base-url");
|
|
6471
6480
|
var credentialsToken = getFlagValue("--credentials");
|
|
@@ -6477,6 +6486,16 @@ var maxNetworkRetriesStr = getFlagValue("--max-network-retries");
|
|
|
6477
6486
|
var maxNetworkRetries = maxNetworkRetriesStr ? parseInt(maxNetworkRetriesStr, 10) : void 0;
|
|
6478
6487
|
var maxNetworkRetryDelayMsStr = getFlagValue("--max-network-retry-delay-ms");
|
|
6479
6488
|
var maxNetworkRetryDelayMs = maxNetworkRetryDelayMsStr ? parseInt(maxNetworkRetryDelayMsStr, 10) : void 0;
|
|
6489
|
+
var maxConcurrentRequestsStr = getFlagValue("--max-concurrent-requests");
|
|
6490
|
+
var maxConcurrentRequests;
|
|
6491
|
+
if (maxConcurrentRequestsStr === void 0) {
|
|
6492
|
+
maxConcurrentRequests = void 0;
|
|
6493
|
+
} else if (maxConcurrentRequestsStr === "Infinity") {
|
|
6494
|
+
maxConcurrentRequests = Infinity;
|
|
6495
|
+
} else {
|
|
6496
|
+
const parsed = parseInt(maxConcurrentRequestsStr, 10);
|
|
6497
|
+
maxConcurrentRequests = Number.isFinite(parsed) ? parsed : NaN;
|
|
6498
|
+
}
|
|
6480
6499
|
function buildCredentialsFromFlags() {
|
|
6481
6500
|
if (credentialsToken) {
|
|
6482
6501
|
return credentialsToken;
|
|
@@ -6519,6 +6538,7 @@ program.exitOverride();
|
|
|
6519
6538
|
trackingBaseUrl,
|
|
6520
6539
|
maxNetworkRetries,
|
|
6521
6540
|
maxNetworkRetryDelayMs,
|
|
6541
|
+
maxConcurrentRequests,
|
|
6522
6542
|
...flagOverrides,
|
|
6523
6543
|
extensions
|
|
6524
6544
|
});
|
package/dist/experimental.cjs
CHANGED
|
@@ -1481,6 +1481,7 @@ var mcpPlugin = zapierSdk.definePlugin(
|
|
|
1481
1481
|
await zapierSdkMcp.startMcpServer({
|
|
1482
1482
|
...options,
|
|
1483
1483
|
debug: sdk2.context.options?.debug,
|
|
1484
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
1484
1485
|
extensions: sdk2.context.extensions,
|
|
1485
1486
|
experimental: sdk2.context.experimental
|
|
1486
1487
|
});
|
|
@@ -3962,7 +3963,7 @@ var watchTriggerInboxCliPlugin = zapierSdk.definePlugin(
|
|
|
3962
3963
|
// package.json with { type: 'json' }
|
|
3963
3964
|
var package_default = {
|
|
3964
3965
|
name: "@zapier/zapier-sdk-cli",
|
|
3965
|
-
version: "0.48.
|
|
3966
|
+
version: "0.48.1"};
|
|
3966
3967
|
|
|
3967
3968
|
// src/experimental.ts
|
|
3968
3969
|
experimental.injectCliLogin(login_exports);
|
package/dist/experimental.mjs
CHANGED
|
@@ -1445,6 +1445,7 @@ var mcpPlugin = definePlugin(
|
|
|
1445
1445
|
await startMcpServer({
|
|
1446
1446
|
...options,
|
|
1447
1447
|
debug: sdk2.context.options?.debug,
|
|
1448
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
1448
1449
|
extensions: sdk2.context.extensions,
|
|
1449
1450
|
experimental: sdk2.context.experimental
|
|
1450
1451
|
});
|
|
@@ -3926,7 +3927,7 @@ var watchTriggerInboxCliPlugin = definePlugin(
|
|
|
3926
3927
|
// package.json with { type: 'json' }
|
|
3927
3928
|
var package_default = {
|
|
3928
3929
|
name: "@zapier/zapier-sdk-cli",
|
|
3929
|
-
version: "0.48.
|
|
3930
|
+
version: "0.48.1"};
|
|
3930
3931
|
|
|
3931
3932
|
// src/experimental.ts
|
|
3932
3933
|
injectCliLogin(login_exports);
|
package/dist/index.cjs
CHANGED
|
@@ -1480,6 +1480,7 @@ var mcpPlugin = zapierSdk.definePlugin(
|
|
|
1480
1480
|
await zapierSdkMcp.startMcpServer({
|
|
1481
1481
|
...options,
|
|
1482
1482
|
debug: sdk2.context.options?.debug,
|
|
1483
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
1483
1484
|
extensions: sdk2.context.extensions,
|
|
1484
1485
|
experimental: sdk2.context.experimental
|
|
1485
1486
|
});
|
|
@@ -3961,7 +3962,7 @@ zapierSdk.definePlugin(
|
|
|
3961
3962
|
// package.json with { type: 'json' }
|
|
3962
3963
|
var package_default = {
|
|
3963
3964
|
name: "@zapier/zapier-sdk-cli",
|
|
3964
|
-
version: "0.48.
|
|
3965
|
+
version: "0.48.1"};
|
|
3965
3966
|
|
|
3966
3967
|
// src/sdk.ts
|
|
3967
3968
|
zapierSdk.injectCliLogin(login_exports);
|
|
@@ -3989,7 +3990,7 @@ function createZapierCliSdk(options = {}) {
|
|
|
3989
3990
|
|
|
3990
3991
|
// package.json
|
|
3991
3992
|
var package_default2 = {
|
|
3992
|
-
version: "0.48.
|
|
3993
|
+
version: "0.48.1"};
|
|
3993
3994
|
|
|
3994
3995
|
// src/telemetry/builders.ts
|
|
3995
3996
|
function createCliBaseEvent(context = {}) {
|
package/dist/index.mjs
CHANGED
|
@@ -1444,6 +1444,7 @@ var mcpPlugin = definePlugin(
|
|
|
1444
1444
|
await startMcpServer({
|
|
1445
1445
|
...options,
|
|
1446
1446
|
debug: sdk2.context.options?.debug,
|
|
1447
|
+
maxConcurrentRequests: sdk2.context.options?.maxConcurrentRequests,
|
|
1447
1448
|
extensions: sdk2.context.extensions,
|
|
1448
1449
|
experimental: sdk2.context.experimental
|
|
1449
1450
|
});
|
|
@@ -3925,7 +3926,7 @@ definePlugin(
|
|
|
3925
3926
|
// package.json with { type: 'json' }
|
|
3926
3927
|
var package_default = {
|
|
3927
3928
|
name: "@zapier/zapier-sdk-cli",
|
|
3928
|
-
version: "0.48.
|
|
3929
|
+
version: "0.48.1"};
|
|
3929
3930
|
|
|
3930
3931
|
// src/sdk.ts
|
|
3931
3932
|
injectCliLogin(login_exports);
|
|
@@ -3953,7 +3954,7 @@ function createZapierCliSdk(options = {}) {
|
|
|
3953
3954
|
|
|
3954
3955
|
// package.json
|
|
3955
3956
|
var package_default2 = {
|
|
3956
|
-
version: "0.48.
|
|
3957
|
+
version: "0.48.1"};
|
|
3957
3958
|
|
|
3958
3959
|
// src/telemetry/builders.ts
|
|
3959
3960
|
function createCliBaseEvent(context = {}) {
|
package/dist/package.json
CHANGED
package/dist/src/cli.js
CHANGED
|
@@ -27,6 +27,7 @@ program
|
|
|
27
27
|
.option("--tracking-base-url <url>", "Base URL for Zapier tracking endpoints")
|
|
28
28
|
.option("--max-network-retries <count>", "Max retries for rate-limited requests (default: 3)")
|
|
29
29
|
.option("--max-network-retry-delay-ms <ms>", "Max delay in ms to wait for rate limit retry (default: 60000)")
|
|
30
|
+
.option("--max-concurrent-requests <count>", "Max concurrent in-flight HTTP requests (default: 200). Pass 'Infinity' to disable.")
|
|
30
31
|
// Registered so Commander accepts --experimental without rejecting it as
|
|
31
32
|
// unknown. The actual factory selection happens before Commander parses,
|
|
32
33
|
// by peeking at argv directly. Equivalent to using the
|
|
@@ -51,10 +52,20 @@ BaseSdkOptionsSchema.shape)) {
|
|
|
51
52
|
program.helpOption(`${helpOption.short}, ${helpOption.flag}`, helpOption.description);
|
|
52
53
|
// Check for debug flag early (support both flag and env var)
|
|
53
54
|
const isDebugMode = process.env.DEBUG === "true" || process.argv.includes("--debug");
|
|
54
|
-
// Helper to get flag value from argv
|
|
55
|
+
// Helper to get flag value from argv. Handles both Commander forms:
|
|
56
|
+
// `--flag value` (returns the next argv entry) and `--flag=value` (returns
|
|
57
|
+
// the part after the equals). Returns undefined only when the flag is
|
|
58
|
+
// genuinely absent — an explicit empty string still returns "".
|
|
55
59
|
function getFlagValue(flagName) {
|
|
56
|
-
const
|
|
57
|
-
|
|
60
|
+
const prefix = `${flagName}=`;
|
|
61
|
+
for (let i = 0; i < process.argv.length; i++) {
|
|
62
|
+
const arg = process.argv[i];
|
|
63
|
+
if (arg === flagName)
|
|
64
|
+
return process.argv[i + 1];
|
|
65
|
+
if (arg.startsWith(prefix))
|
|
66
|
+
return arg.slice(prefix.length);
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
58
69
|
}
|
|
59
70
|
// Extract options from process.argv for early SDK creation
|
|
60
71
|
// We need to create the SDK before parsing to generate commands from schemas
|
|
@@ -72,6 +83,23 @@ const maxNetworkRetryDelayMsStr = getFlagValue("--max-network-retry-delay-ms");
|
|
|
72
83
|
const maxNetworkRetryDelayMs = maxNetworkRetryDelayMsStr
|
|
73
84
|
? parseInt(maxNetworkRetryDelayMsStr, 10)
|
|
74
85
|
: undefined;
|
|
86
|
+
const maxConcurrentRequestsStr = getFlagValue("--max-concurrent-requests");
|
|
87
|
+
// "Infinity" is the explicit disable sentinel. parseInt of an all-digit
|
|
88
|
+
// overflow value (e.g. "9".repeat(309)) also returns ±Infinity, which
|
|
89
|
+
// would otherwise look like the sentinel and silently disable throttling
|
|
90
|
+
// — coerce non-finite parseInt results to NaN so the SDK boundary's
|
|
91
|
+
// fall-back-to-default branch handles them.
|
|
92
|
+
let maxConcurrentRequests;
|
|
93
|
+
if (maxConcurrentRequestsStr === undefined) {
|
|
94
|
+
maxConcurrentRequests = undefined;
|
|
95
|
+
}
|
|
96
|
+
else if (maxConcurrentRequestsStr === "Infinity") {
|
|
97
|
+
maxConcurrentRequests = Infinity;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const parsed = parseInt(maxConcurrentRequestsStr, 10);
|
|
101
|
+
maxConcurrentRequests = Number.isFinite(parsed) ? parsed : NaN;
|
|
102
|
+
}
|
|
75
103
|
// Build credentials object from flags
|
|
76
104
|
function buildCredentialsFromFlags() {
|
|
77
105
|
// If a direct token is provided, use it
|
|
@@ -143,6 +171,7 @@ program.exitOverride();
|
|
|
143
171
|
trackingBaseUrl,
|
|
144
172
|
maxNetworkRetries,
|
|
145
173
|
maxNetworkRetryDelayMs,
|
|
174
|
+
maxConcurrentRequests,
|
|
146
175
|
...flagOverrides,
|
|
147
176
|
extensions,
|
|
148
177
|
});
|
|
@@ -6,16 +6,17 @@ export const mcpPlugin = definePlugin((sdk) => createPluginMethod(sdk, {
|
|
|
6
6
|
categories: ["utility"],
|
|
7
7
|
inputSchema: McpSchema,
|
|
8
8
|
handler: async ({ sdk, options }) => {
|
|
9
|
-
// Forward debug
|
|
10
|
-
// server's
|
|
11
|
-
// this forward, MCP would build a
|
|
12
|
-
// surfaces would diverge. The
|
|
13
|
-
// experimental
|
|
14
|
-
// `@zapier/zapier-sdk/experimental`
|
|
15
|
-
// exposed.
|
|
9
|
+
// Forward debug, the concurrency cap, and the extensions resolved at
|
|
10
|
+
// CLI startup so the MCP server's SDK matches what the user asked
|
|
11
|
+
// for at the CLI surface. Without this forward, MCP would build a
|
|
12
|
+
// vanilla SDK and the CLI/MCP surfaces would diverge. The
|
|
13
|
+
// `experimental` flag (set by the experimental CLI factory) tells
|
|
14
|
+
// the MCP server to build against `@zapier/zapier-sdk/experimental`
|
|
15
|
+
// so experimental tools are exposed.
|
|
16
16
|
await startMcpServer({
|
|
17
17
|
...options,
|
|
18
18
|
debug: sdk.context.options?.debug,
|
|
19
|
+
maxConcurrentRequests: sdk.context.options?.maxConcurrentRequests,
|
|
19
20
|
extensions: sdk.context.extensions,
|
|
20
21
|
experimental: sdk.context.experimental,
|
|
21
22
|
});
|