@zapier/zapier-sdk-cli 0.67.4 → 0.67.6

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,19 @@
1
1
  # @zapier/zapier-sdk-cli
2
2
 
3
+ ## 0.67.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [4886b5b]
8
+ - @zapier/zapier-sdk@0.91.1
9
+ - @zapier/zapier-sdk-mcp@0.18.20
10
+
11
+ ## 0.67.5
12
+
13
+ ### Patch Changes
14
+
15
+ - 20a0ab4: _This release contains no user-facing changes._
16
+
3
17
  ## 0.67.4
4
18
 
5
19
  ### Patch Changes
package/dist/cli.cjs CHANGED
@@ -536,7 +536,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
536
536
 
537
537
  // package.json
538
538
  var package_default = {
539
- version: "0.67.4"};
539
+ version: "0.67.6"};
540
540
 
541
541
  // src/telemetry/builders.ts
542
542
  function createCliBaseEvent(context = {}) {
@@ -5279,30 +5279,11 @@ var feedbackResolver = zapierSdk.defineResolver({
5279
5279
  inputType: "text",
5280
5280
  placeholder: "Enter your feedback"
5281
5281
  });
5282
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
5283
- var MAX_RETRIES = 2;
5284
- var RETRY_DELAY_MILLISECONDS = 1e3;
5285
- function getFeedbackWebhookUrl() {
5286
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
5287
- }
5288
- async function postWithRetry({
5289
- body,
5290
- attemptsLeft
5291
- }) {
5292
- const response = await fetch(getFeedbackWebhookUrl(), {
5293
- method: "POST",
5294
- headers: { "Content-Type": "application/json" },
5295
- body
5296
- });
5297
- if (!response.ok && attemptsLeft > 1) {
5298
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
5299
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
5300
- }
5301
- return response;
5302
- }
5282
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
5283
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
5303
5284
  var feedbackPlugin = zapierSdk.defineMethod({
5304
5285
  name: "feedback",
5305
- imports: [zapierSdk.sdkOptionsPluginRef],
5286
+ imports: [zapierSdk.apiPluginRef],
5306
5287
  categories: ["utility"],
5307
5288
  inputSchema: FeedbackSchema,
5308
5289
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -5310,19 +5291,29 @@ var feedbackPlugin = zapierSdk.defineMethod({
5310
5291
  output: "raw",
5311
5292
  resolvers: { feedback: feedbackResolver },
5312
5293
  run: async ({ imports, input }) => {
5313
- const user = await getLoggedInUser();
5314
- const body = JSON.stringify({
5315
- email: user.email,
5316
- customuser_id: user.customUserId,
5317
- feedback: input.feedback
5318
- });
5319
- const response = await postWithRetry({
5320
- body,
5321
- attemptsLeft: MAX_RETRIES
5322
- });
5323
- if (imports.sdkOptions?.debug) {
5324
- const text = await response.text();
5325
- console.error("[debug] Webhook response:", text);
5294
+ try {
5295
+ await withRetry({
5296
+ action: () => imports.api.post(
5297
+ "/api/v0/feedback",
5298
+ {
5299
+ feedback: input.feedback
5300
+ },
5301
+ {
5302
+ authRequired: true
5303
+ }
5304
+ ),
5305
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
5306
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
5307
+ shouldRetry: (error) => !zapierSdk.isPermanentHttpError(error)
5308
+ });
5309
+ } catch (cause) {
5310
+ if (zapierSdk.isZapierAuthenticationError(cause)) {
5311
+ throw cause;
5312
+ }
5313
+ throw new zapierSdk.ZapierApiError(
5314
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
5315
+ { cause }
5316
+ );
5326
5317
  }
5327
5318
  return "Thank you for your feedback!";
5328
5319
  }
@@ -6767,7 +6758,7 @@ function buildBoxLines(message) {
6767
6758
  // package.json with { type: 'json' }
6768
6759
  var package_default2 = {
6769
6760
  name: "@zapier/zapier-sdk-cli",
6770
- version: "0.67.4"};
6761
+ version: "0.67.6"};
6771
6762
 
6772
6763
  // src/sdk.ts
6773
6764
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command, CommanderError, Option } from 'commander';
3
- import { getConnectionPlugin, defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, BaseSdkOptionsSchema, disposeSdk, isPermanentHttpError, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, createSdk as createSdk$1, CORE_OPTIONS_ID as CORE_OPTIONS_ID$1, SDK_OPTIONS_ID as SDK_OPTIONS_ID$1, addPlugin as addPlugin$1, getOrCreateApiClient, isCredentialsObject, ZapierAuthenticationError, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, DEPRECATION_NOTICE_EVENT, runWithCallerContext, isPositional, createController, isCoreCancelledSignal, resolvePlugin, isZapierError, formatErrorMessage, getOsInfo, getPlatformVersions, getAgent, getTtyContext, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId, isZapierApprovalError } from '@zapier/zapier-sdk';
3
+ import { getConnectionPlugin, defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, isPermanentHttpError, isZapierAuthenticationError, ZapierApiError, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, BaseSdkOptionsSchema, disposeSdk, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, createSdk as createSdk$1, CORE_OPTIONS_ID as CORE_OPTIONS_ID$1, SDK_OPTIONS_ID as SDK_OPTIONS_ID$1, addPlugin as addPlugin$1, getOrCreateApiClient, isCredentialsObject, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, DEPRECATION_NOTICE_EVENT, runWithCallerContext, isPositional, createController, isCoreCancelledSignal, resolvePlugin, isZapierError, formatErrorMessage, getOsInfo, getPlatformVersions, getAgent, getTtyContext, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId, isZapierApprovalError, ZapierAuthenticationError } from '@zapier/zapier-sdk';
4
4
  import { z } from 'zod';
5
5
  import inquirer from 'inquirer';
6
6
  import chalk8 from 'chalk';
@@ -494,7 +494,7 @@ var SHARED_COMMAND_CLI_OPTIONS = [
494
494
 
495
495
  // package.json
496
496
  var package_default = {
497
- version: "0.67.4"};
497
+ version: "0.67.6"};
498
498
 
499
499
  // src/telemetry/builders.ts
500
500
  function createCliBaseEvent(context = {}) {
@@ -5237,30 +5237,11 @@ var feedbackResolver = defineResolver({
5237
5237
  inputType: "text",
5238
5238
  placeholder: "Enter your feedback"
5239
5239
  });
5240
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
5241
- var MAX_RETRIES = 2;
5242
- var RETRY_DELAY_MILLISECONDS = 1e3;
5243
- function getFeedbackWebhookUrl() {
5244
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
5245
- }
5246
- async function postWithRetry({
5247
- body,
5248
- attemptsLeft
5249
- }) {
5250
- const response = await fetch(getFeedbackWebhookUrl(), {
5251
- method: "POST",
5252
- headers: { "Content-Type": "application/json" },
5253
- body
5254
- });
5255
- if (!response.ok && attemptsLeft > 1) {
5256
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
5257
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
5258
- }
5259
- return response;
5260
- }
5240
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
5241
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
5261
5242
  var feedbackPlugin = defineMethod({
5262
5243
  name: "feedback",
5263
- imports: [sdkOptionsPluginRef],
5244
+ imports: [apiPluginRef],
5264
5245
  categories: ["utility"],
5265
5246
  inputSchema: FeedbackSchema,
5266
5247
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -5268,19 +5249,29 @@ var feedbackPlugin = defineMethod({
5268
5249
  output: "raw",
5269
5250
  resolvers: { feedback: feedbackResolver },
5270
5251
  run: async ({ imports, input }) => {
5271
- const user = await getLoggedInUser();
5272
- const body = JSON.stringify({
5273
- email: user.email,
5274
- customuser_id: user.customUserId,
5275
- feedback: input.feedback
5276
- });
5277
- const response = await postWithRetry({
5278
- body,
5279
- attemptsLeft: MAX_RETRIES
5280
- });
5281
- if (imports.sdkOptions?.debug) {
5282
- const text = await response.text();
5283
- console.error("[debug] Webhook response:", text);
5252
+ try {
5253
+ await withRetry({
5254
+ action: () => imports.api.post(
5255
+ "/api/v0/feedback",
5256
+ {
5257
+ feedback: input.feedback
5258
+ },
5259
+ {
5260
+ authRequired: true
5261
+ }
5262
+ ),
5263
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
5264
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
5265
+ shouldRetry: (error) => !isPermanentHttpError(error)
5266
+ });
5267
+ } catch (cause) {
5268
+ if (isZapierAuthenticationError(cause)) {
5269
+ throw cause;
5270
+ }
5271
+ throw new ZapierApiError(
5272
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
5273
+ { cause }
5274
+ );
5284
5275
  }
5285
5276
  return "Thank you for your feedback!";
5286
5277
  }
@@ -6725,7 +6716,7 @@ function buildBoxLines(message) {
6725
6716
  // package.json with { type: 'json' }
6726
6717
  var package_default2 = {
6727
6718
  name: "@zapier/zapier-sdk-cli",
6728
- version: "0.67.4"};
6719
+ version: "0.67.6"};
6729
6720
 
6730
6721
  // src/sdk.ts
6731
6722
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
@@ -3659,30 +3659,11 @@ var feedbackResolver = zapierSdk.defineResolver({
3659
3659
  inputType: "text",
3660
3660
  placeholder: "Enter your feedback"
3661
3661
  });
3662
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
3663
- var MAX_RETRIES = 2;
3664
- var RETRY_DELAY_MILLISECONDS = 1e3;
3665
- function getFeedbackWebhookUrl() {
3666
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
3667
- }
3668
- async function postWithRetry({
3669
- body,
3670
- attemptsLeft
3671
- }) {
3672
- const response = await fetch(getFeedbackWebhookUrl(), {
3673
- method: "POST",
3674
- headers: { "Content-Type": "application/json" },
3675
- body
3676
- });
3677
- if (!response.ok && attemptsLeft > 1) {
3678
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
3679
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
3680
- }
3681
- return response;
3682
- }
3662
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
3663
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
3683
3664
  var feedbackPlugin = zapierSdk.defineMethod({
3684
3665
  name: "feedback",
3685
- imports: [zapierSdk.sdkOptionsPluginRef],
3666
+ imports: [zapierSdk.apiPluginRef],
3686
3667
  categories: ["utility"],
3687
3668
  inputSchema: FeedbackSchema,
3688
3669
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -3690,19 +3671,29 @@ var feedbackPlugin = zapierSdk.defineMethod({
3690
3671
  output: "raw",
3691
3672
  resolvers: { feedback: feedbackResolver },
3692
3673
  run: async ({ imports, input }) => {
3693
- const user = await getLoggedInUser();
3694
- const body = JSON.stringify({
3695
- email: user.email,
3696
- customuser_id: user.customUserId,
3697
- feedback: input.feedback
3698
- });
3699
- const response = await postWithRetry({
3700
- body,
3701
- attemptsLeft: MAX_RETRIES
3702
- });
3703
- if (imports.sdkOptions?.debug) {
3704
- const text = await response.text();
3705
- console.error("[debug] Webhook response:", text);
3674
+ try {
3675
+ await withRetry({
3676
+ action: () => imports.api.post(
3677
+ "/api/v0/feedback",
3678
+ {
3679
+ feedback: input.feedback
3680
+ },
3681
+ {
3682
+ authRequired: true
3683
+ }
3684
+ ),
3685
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
3686
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
3687
+ shouldRetry: (error) => !zapierSdk.isPermanentHttpError(error)
3688
+ });
3689
+ } catch (cause) {
3690
+ if (zapierSdk.isZapierAuthenticationError(cause)) {
3691
+ throw cause;
3692
+ }
3693
+ throw new zapierSdk.ZapierApiError(
3694
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
3695
+ { cause }
3696
+ );
3706
3697
  }
3707
3698
  return "Thank you for your feedback!";
3708
3699
  }
@@ -5109,7 +5100,7 @@ function collectDeprecationNoticeAndForward(event, onEvent) {
5109
5100
  // package.json with { type: 'json' }
5110
5101
  var package_default = {
5111
5102
  name: "@zapier/zapier-sdk-cli",
5112
- version: "0.67.4"};
5103
+ version: "0.67.6"};
5113
5104
 
5114
5105
  // src/sdk.ts
5115
5106
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
@@ -1,5 +1,5 @@
1
1
  import { ZapierSdkOptions } from '@zapier/zapier-sdk/experimental';
2
- import { E as Extension, Z as ZapierSdkCli } from './extensions-B9AXjeN8.mjs';
2
+ import { E as Extension, Z as ZapierSdkCli } from './extensions-CU5Oy_Wv.mjs';
3
3
  import '@zapier/zapier-sdk';
4
4
  import 'zod';
5
5
  import 'zod/v4/core';
@@ -1,5 +1,5 @@
1
1
  import { ZapierSdkOptions } from '@zapier/zapier-sdk/experimental';
2
- import { E as Extension, Z as ZapierSdkCli } from './extensions-B9AXjeN8.js';
2
+ import { E as Extension, Z as ZapierSdkCli } from './extensions-CU5Oy_Wv.js';
3
3
  import '@zapier/zapier-sdk';
4
4
  import 'zod';
5
5
  import 'zod/v4/core';
@@ -7,7 +7,7 @@ import crypto, { createHash } from 'crypto';
7
7
  import * as path from 'path';
8
8
  import { resolve, join, dirname, basename, relative, extname } from 'path';
9
9
  import * as lockfile from 'proper-lockfile';
10
- import { defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, isPermanentHttpError, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, getOrCreateApiClient, isCredentialsObject, ZapierAuthenticationError, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, DEPRECATION_NOTICE_EVENT } from '@zapier/zapier-sdk';
10
+ import { defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, isPermanentHttpError, isZapierAuthenticationError, ZapierApiError, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, getOrCreateApiClient, isCredentialsObject, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, ZapierAuthenticationError, DEPRECATION_NOTICE_EVENT } from '@zapier/zapier-sdk';
11
11
  import { z } from 'zod';
12
12
  import { triggerInboxResolver, DrainTriggerInboxSchema, WatchTriggerInboxSchema, injectCliLogin as injectCliLogin$1, definePlugin as definePlugin$1, omitExports as omitExports$1, zapierExperimentalSdkPlugin, createSdk, CORE_OPTIONS_ID, SDK_OPTIONS_ID, addPlugin } from '@zapier/zapier-sdk/experimental';
13
13
  import { hostname } from 'os';
@@ -3623,30 +3623,11 @@ var feedbackResolver = defineResolver({
3623
3623
  inputType: "text",
3624
3624
  placeholder: "Enter your feedback"
3625
3625
  });
3626
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
3627
- var MAX_RETRIES = 2;
3628
- var RETRY_DELAY_MILLISECONDS = 1e3;
3629
- function getFeedbackWebhookUrl() {
3630
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
3631
- }
3632
- async function postWithRetry({
3633
- body,
3634
- attemptsLeft
3635
- }) {
3636
- const response = await fetch(getFeedbackWebhookUrl(), {
3637
- method: "POST",
3638
- headers: { "Content-Type": "application/json" },
3639
- body
3640
- });
3641
- if (!response.ok && attemptsLeft > 1) {
3642
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
3643
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
3644
- }
3645
- return response;
3646
- }
3626
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
3627
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
3647
3628
  var feedbackPlugin = defineMethod({
3648
3629
  name: "feedback",
3649
- imports: [sdkOptionsPluginRef],
3630
+ imports: [apiPluginRef],
3650
3631
  categories: ["utility"],
3651
3632
  inputSchema: FeedbackSchema,
3652
3633
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -3654,19 +3635,29 @@ var feedbackPlugin = defineMethod({
3654
3635
  output: "raw",
3655
3636
  resolvers: { feedback: feedbackResolver },
3656
3637
  run: async ({ imports, input }) => {
3657
- const user = await getLoggedInUser();
3658
- const body = JSON.stringify({
3659
- email: user.email,
3660
- customuser_id: user.customUserId,
3661
- feedback: input.feedback
3662
- });
3663
- const response = await postWithRetry({
3664
- body,
3665
- attemptsLeft: MAX_RETRIES
3666
- });
3667
- if (imports.sdkOptions?.debug) {
3668
- const text = await response.text();
3669
- console.error("[debug] Webhook response:", text);
3638
+ try {
3639
+ await withRetry({
3640
+ action: () => imports.api.post(
3641
+ "/api/v0/feedback",
3642
+ {
3643
+ feedback: input.feedback
3644
+ },
3645
+ {
3646
+ authRequired: true
3647
+ }
3648
+ ),
3649
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
3650
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
3651
+ shouldRetry: (error) => !isPermanentHttpError(error)
3652
+ });
3653
+ } catch (cause) {
3654
+ if (isZapierAuthenticationError(cause)) {
3655
+ throw cause;
3656
+ }
3657
+ throw new ZapierApiError(
3658
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
3659
+ { cause }
3660
+ );
3670
3661
  }
3671
3662
  return "Thank you for your feedback!";
3672
3663
  }
@@ -5073,7 +5064,7 @@ function collectDeprecationNoticeAndForward(event, onEvent) {
5073
5064
  // package.json with { type: 'json' }
5074
5065
  var package_default = {
5075
5066
  name: "@zapier/zapier-sdk-cli",
5076
- version: "0.67.4"};
5067
+ version: "0.67.6"};
5077
5068
 
5078
5069
  // src/sdk.ts
5079
5070
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
@@ -116,76 +116,7 @@ type BuildManifestPluginProvides = PluginSurface<typeof buildManifestPlugin>;
116
116
 
117
117
  declare const feedbackPlugin: _zapier_zapier_sdk.MethodPlugin<"feedback", {
118
118
  feedback: string;
119
- }, Promise<string>, readonly []> & _zapier_zapier_sdk.LeafSummary<"", "feedback", readonly [_zapier_zapier_sdk.PropertyPlugin<"sdkOptions", {
120
- credentials?: string | {
121
- clientId: string;
122
- clientSecret: string;
123
- type?: "client_credentials" | undefined;
124
- baseUrl?: string | undefined;
125
- scope?: string | undefined;
126
- } | {
127
- clientId: string;
128
- type?: "pkce" | undefined;
129
- baseUrl?: string | undefined;
130
- scope?: string | undefined;
131
- } | zod_v4_core.$InferOuterFunctionType<zod_v4_core.$ZodTuple<readonly [], zod_v4_core.$ZodFunctionOut>, zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
132
- type: zod.ZodOptional<zod.ZodEnum<{
133
- client_credentials: "client_credentials";
134
- }>>;
135
- clientId: zod.ZodString;
136
- clientSecret: zod.ZodString;
137
- baseUrl: zod.ZodOptional<zod.ZodString>;
138
- scope: zod.ZodOptional<zod.ZodString>;
139
- }, zod_v4_core.$strip>, zod.ZodObject<{
140
- type: zod.ZodOptional<zod.ZodEnum<{
141
- pkce: "pkce";
142
- }>>;
143
- clientId: zod.ZodString;
144
- baseUrl: zod.ZodOptional<zod.ZodString>;
145
- scope: zod.ZodOptional<zod.ZodString>;
146
- }, zod_v4_core.$strip>]>]>, zod.ZodPromise<zod.ZodUnion<readonly [zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
147
- type: zod.ZodOptional<zod.ZodEnum<{
148
- client_credentials: "client_credentials";
149
- }>>;
150
- clientId: zod.ZodString;
151
- clientSecret: zod.ZodString;
152
- baseUrl: zod.ZodOptional<zod.ZodString>;
153
- scope: zod.ZodOptional<zod.ZodString>;
154
- }, zod_v4_core.$strip>, zod.ZodObject<{
155
- type: zod.ZodOptional<zod.ZodEnum<{
156
- pkce: "pkce";
157
- }>>;
158
- clientId: zod.ZodString;
159
- baseUrl: zod.ZodOptional<zod.ZodString>;
160
- scope: zod.ZodOptional<zod.ZodString>;
161
- }, zod_v4_core.$strip>]>]>>]>> | undefined;
162
- debug?: boolean | undefined;
163
- baseUrl?: string | undefined;
164
- trackingBaseUrl?: string | undefined;
165
- maxNetworkRetries?: number | undefined;
166
- maxNetworkRetryDelaySeconds?: number | undefined;
167
- maxNetworkRetryDelayMs?: number | undefined;
168
- maxConcurrentRequests?: number | undefined;
169
- approvalTimeoutSeconds?: number | undefined;
170
- approvalTimeoutMs?: number | undefined;
171
- maxApprovalRetries?: number | undefined;
172
- approvalMode?: "disabled" | "poll" | "throw" | undefined;
173
- openAutoModeApprovalsInBrowser?: boolean | undefined;
174
- manifestPath?: string | undefined;
175
- manifest?: _zapier_zapier_sdk.Manifest | undefined;
176
- onEvent?: _zapier_zapier_sdk.EventCallback | undefined;
177
- fetch?: typeof fetch | undefined;
178
- eventEmission?: _zapier_zapier_sdk.EventEmissionConfig | undefined;
179
- callerPackage?: {
180
- name: string;
181
- version: string;
182
- } | undefined;
183
- cache?: _zapier_zapier_sdk.ZapierCache | undefined;
184
- canIncludeSharedConnections?: boolean | undefined;
185
- canIncludeSharedTables?: boolean | undefined;
186
- canDeleteTables?: boolean | undefined;
187
- token?: string | undefined;
188
- } | undefined> & _zapier_zapier_sdk.PluginSummary<never, never>]>;
119
+ }, Promise<string>, readonly []> & _zapier_zapier_sdk.LeafSummary<"", "feedback", readonly [_zapier_zapier_sdk.PropertyPlugin<"api", _zapier_zapier_sdk.ApiClient> & _zapier_zapier_sdk.PluginSummary<"zapier/api", never>]>;
189
120
  type FeedbackPluginProvides = PluginSurface<typeof feedbackPlugin>;
190
121
 
191
122
  declare const GenerateAppTypesSchema: z.ZodObject<{
@@ -116,76 +116,7 @@ type BuildManifestPluginProvides = PluginSurface<typeof buildManifestPlugin>;
116
116
 
117
117
  declare const feedbackPlugin: _zapier_zapier_sdk.MethodPlugin<"feedback", {
118
118
  feedback: string;
119
- }, Promise<string>, readonly []> & _zapier_zapier_sdk.LeafSummary<"", "feedback", readonly [_zapier_zapier_sdk.PropertyPlugin<"sdkOptions", {
120
- credentials?: string | {
121
- clientId: string;
122
- clientSecret: string;
123
- type?: "client_credentials" | undefined;
124
- baseUrl?: string | undefined;
125
- scope?: string | undefined;
126
- } | {
127
- clientId: string;
128
- type?: "pkce" | undefined;
129
- baseUrl?: string | undefined;
130
- scope?: string | undefined;
131
- } | zod_v4_core.$InferOuterFunctionType<zod_v4_core.$ZodTuple<readonly [], zod_v4_core.$ZodFunctionOut>, zod.ZodUnion<readonly [zod.ZodUnion<readonly [zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
132
- type: zod.ZodOptional<zod.ZodEnum<{
133
- client_credentials: "client_credentials";
134
- }>>;
135
- clientId: zod.ZodString;
136
- clientSecret: zod.ZodString;
137
- baseUrl: zod.ZodOptional<zod.ZodString>;
138
- scope: zod.ZodOptional<zod.ZodString>;
139
- }, zod_v4_core.$strip>, zod.ZodObject<{
140
- type: zod.ZodOptional<zod.ZodEnum<{
141
- pkce: "pkce";
142
- }>>;
143
- clientId: zod.ZodString;
144
- baseUrl: zod.ZodOptional<zod.ZodString>;
145
- scope: zod.ZodOptional<zod.ZodString>;
146
- }, zod_v4_core.$strip>]>]>, zod.ZodPromise<zod.ZodUnion<readonly [zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
147
- type: zod.ZodOptional<zod.ZodEnum<{
148
- client_credentials: "client_credentials";
149
- }>>;
150
- clientId: zod.ZodString;
151
- clientSecret: zod.ZodString;
152
- baseUrl: zod.ZodOptional<zod.ZodString>;
153
- scope: zod.ZodOptional<zod.ZodString>;
154
- }, zod_v4_core.$strip>, zod.ZodObject<{
155
- type: zod.ZodOptional<zod.ZodEnum<{
156
- pkce: "pkce";
157
- }>>;
158
- clientId: zod.ZodString;
159
- baseUrl: zod.ZodOptional<zod.ZodString>;
160
- scope: zod.ZodOptional<zod.ZodString>;
161
- }, zod_v4_core.$strip>]>]>>]>> | undefined;
162
- debug?: boolean | undefined;
163
- baseUrl?: string | undefined;
164
- trackingBaseUrl?: string | undefined;
165
- maxNetworkRetries?: number | undefined;
166
- maxNetworkRetryDelaySeconds?: number | undefined;
167
- maxNetworkRetryDelayMs?: number | undefined;
168
- maxConcurrentRequests?: number | undefined;
169
- approvalTimeoutSeconds?: number | undefined;
170
- approvalTimeoutMs?: number | undefined;
171
- maxApprovalRetries?: number | undefined;
172
- approvalMode?: "disabled" | "poll" | "throw" | undefined;
173
- openAutoModeApprovalsInBrowser?: boolean | undefined;
174
- manifestPath?: string | undefined;
175
- manifest?: _zapier_zapier_sdk.Manifest | undefined;
176
- onEvent?: _zapier_zapier_sdk.EventCallback | undefined;
177
- fetch?: typeof fetch | undefined;
178
- eventEmission?: _zapier_zapier_sdk.EventEmissionConfig | undefined;
179
- callerPackage?: {
180
- name: string;
181
- version: string;
182
- } | undefined;
183
- cache?: _zapier_zapier_sdk.ZapierCache | undefined;
184
- canIncludeSharedConnections?: boolean | undefined;
185
- canIncludeSharedTables?: boolean | undefined;
186
- canDeleteTables?: boolean | undefined;
187
- token?: string | undefined;
188
- } | undefined> & _zapier_zapier_sdk.PluginSummary<never, never>]>;
119
+ }, Promise<string>, readonly []> & _zapier_zapier_sdk.LeafSummary<"", "feedback", readonly [_zapier_zapier_sdk.PropertyPlugin<"api", _zapier_zapier_sdk.ApiClient> & _zapier_zapier_sdk.PluginSummary<"zapier/api", never>]>;
189
120
  type FeedbackPluginProvides = PluginSurface<typeof feedbackPlugin>;
190
121
 
191
122
  declare const GenerateAppTypesSchema: z.ZodObject<{
package/dist/index.cjs CHANGED
@@ -3664,30 +3664,11 @@ var feedbackResolver = zapierSdk.defineResolver({
3664
3664
  inputType: "text",
3665
3665
  placeholder: "Enter your feedback"
3666
3666
  });
3667
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
3668
- var MAX_RETRIES = 2;
3669
- var RETRY_DELAY_MILLISECONDS = 1e3;
3670
- function getFeedbackWebhookUrl() {
3671
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
3672
- }
3673
- async function postWithRetry({
3674
- body,
3675
- attemptsLeft
3676
- }) {
3677
- const response = await fetch(getFeedbackWebhookUrl(), {
3678
- method: "POST",
3679
- headers: { "Content-Type": "application/json" },
3680
- body
3681
- });
3682
- if (!response.ok && attemptsLeft > 1) {
3683
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
3684
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
3685
- }
3686
- return response;
3687
- }
3667
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
3668
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
3688
3669
  var feedbackPlugin = zapierSdk.defineMethod({
3689
3670
  name: "feedback",
3690
- imports: [zapierSdk.sdkOptionsPluginRef],
3671
+ imports: [zapierSdk.apiPluginRef],
3691
3672
  categories: ["utility"],
3692
3673
  inputSchema: FeedbackSchema,
3693
3674
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -3695,19 +3676,29 @@ var feedbackPlugin = zapierSdk.defineMethod({
3695
3676
  output: "raw",
3696
3677
  resolvers: { feedback: feedbackResolver },
3697
3678
  run: async ({ imports, input }) => {
3698
- const user = await getLoggedInUser();
3699
- const body = JSON.stringify({
3700
- email: user.email,
3701
- customuser_id: user.customUserId,
3702
- feedback: input.feedback
3703
- });
3704
- const response = await postWithRetry({
3705
- body,
3706
- attemptsLeft: MAX_RETRIES
3707
- });
3708
- if (imports.sdkOptions?.debug) {
3709
- const text = await response.text();
3710
- console.error("[debug] Webhook response:", text);
3679
+ try {
3680
+ await withRetry({
3681
+ action: () => imports.api.post(
3682
+ "/api/v0/feedback",
3683
+ {
3684
+ feedback: input.feedback
3685
+ },
3686
+ {
3687
+ authRequired: true
3688
+ }
3689
+ ),
3690
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
3691
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
3692
+ shouldRetry: (error) => !zapierSdk.isPermanentHttpError(error)
3693
+ });
3694
+ } catch (cause) {
3695
+ if (zapierSdk.isZapierAuthenticationError(cause)) {
3696
+ throw cause;
3697
+ }
3698
+ throw new zapierSdk.ZapierApiError(
3699
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
3700
+ { cause }
3701
+ );
3711
3702
  }
3712
3703
  return "Thank you for your feedback!";
3713
3704
  }
@@ -5109,7 +5100,7 @@ function collectDeprecationNoticeAndForward(event, onEvent) {
5109
5100
  // package.json with { type: 'json' }
5110
5101
  var package_default = {
5111
5102
  name: "@zapier/zapier-sdk-cli",
5112
- version: "0.67.4"};
5103
+ version: "0.67.6"};
5113
5104
 
5114
5105
  // src/sdk.ts
5115
5106
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
@@ -5192,7 +5183,7 @@ function createZapierCliSdk(options = {}) {
5192
5183
 
5193
5184
  // package.json
5194
5185
  var package_default2 = {
5195
- version: "0.67.4"};
5186
+ version: "0.67.6"};
5196
5187
 
5197
5188
  // src/telemetry/builders.ts
5198
5189
  function createCliBaseEvent(context = {}) {
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ZapierSdkOptions, BaseEvent } from '@zapier/zapier-sdk';
2
- import { E as Extension, Z as ZapierSdkCli } from './extensions-B9AXjeN8.mjs';
2
+ import { E as Extension, Z as ZapierSdkCli } from './extensions-CU5Oy_Wv.mjs';
3
3
  import 'zod';
4
4
  import 'zod/v4/core';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ZapierSdkOptions, BaseEvent } from '@zapier/zapier-sdk';
2
- import { E as Extension, Z as ZapierSdkCli } from './extensions-B9AXjeN8.js';
2
+ import { E as Extension, Z as ZapierSdkCli } from './extensions-CU5Oy_Wv.js';
3
3
  import 'zod';
4
4
  import 'zod/v4/core';
5
5
 
package/dist/index.mjs CHANGED
@@ -7,7 +7,7 @@ import crypto, { createHash } from 'crypto';
7
7
  import * as path from 'path';
8
8
  import { resolve, join, dirname, basename, relative, extname } from 'path';
9
9
  import * as lockfile from 'proper-lockfile';
10
- import { defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, isPermanentHttpError, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, getOrCreateApiClient, isCredentialsObject, ZapierAuthenticationError, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, createSdk, CORE_OPTIONS_ID, SDK_OPTIONS_ID, addPlugin, getOsInfo, getPlatformVersions, getAgent, getTtyContext, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId, DEPRECATION_NOTICE_EVENT } from '@zapier/zapier-sdk';
10
+ import { defineMethod, apiPluginRef, resolveCredentialsPluginRef, eventEmissionPluginRef, sdkOptionsPluginRef, declareOptionalProperty, OutputPropertySchema, ZapierBundleError, isZapierBundleError, DEFAULT_CONFIG_PATH, declareMethod, ZapierValidationError, isZapierValidationError, ZapierUnknownError, manifestPluginRef, defineResolver, isPermanentHttpError, isZapierAuthenticationError, ZapierApiError, defineMethodOverride, zapierCoreOptions, injectCliLogin, definePlugin, omitExports, zapierSdkPlugin, invalidateCachedToken, batch, toSnakeCase, ZapierError, isZapierReleaseTriggerMessageSignal, getOrCreateApiClient, isCredentialsObject, ZapierAbortDrainSignal, ZapierReleaseTriggerMessageSignal, buildApplicationLifecycleEvent, AuthMechanism, ZapierAuthenticationError, createSdk, CORE_OPTIONS_ID, SDK_OPTIONS_ID, addPlugin, getOsInfo, getPlatformVersions, getAgent, getTtyContext, getCiPlatform, isCi, getReleaseId, getCurrentTimestamp, generateEventId, DEPRECATION_NOTICE_EVENT } from '@zapier/zapier-sdk';
11
11
  import { z } from 'zod';
12
12
  import chalk3 from 'chalk';
13
13
  import { hostname } from 'os';
@@ -3628,30 +3628,11 @@ var feedbackResolver = defineResolver({
3628
3628
  inputType: "text",
3629
3629
  placeholder: "Enter your feedback"
3630
3630
  });
3631
- var DEFAULT_FEEDBACK_WEBHOOK_URL = "https://hooks.zapier.com/hooks/catch/20279515/uc98k9m/";
3632
- var MAX_RETRIES = 2;
3633
- var RETRY_DELAY_MILLISECONDS = 1e3;
3634
- function getFeedbackWebhookUrl() {
3635
- return process.env.ZAPIER_FEEDBACK_WEBHOOK_URL || DEFAULT_FEEDBACK_WEBHOOK_URL;
3636
- }
3637
- async function postWithRetry({
3638
- body,
3639
- attemptsLeft
3640
- }) {
3641
- const response = await fetch(getFeedbackWebhookUrl(), {
3642
- method: "POST",
3643
- headers: { "Content-Type": "application/json" },
3644
- body
3645
- });
3646
- if (!response.ok && attemptsLeft > 1) {
3647
- await new Promise((r) => setTimeout(r, RETRY_DELAY_MILLISECONDS));
3648
- return postWithRetry({ body, attemptsLeft: attemptsLeft - 1 });
3649
- }
3650
- return response;
3651
- }
3631
+ var FEEDBACK_SUBMISSION_ATTEMPTS = 2;
3632
+ var FEEDBACK_RETRY_DELAY_MILLISECONDS = 1e3;
3652
3633
  var feedbackPlugin = defineMethod({
3653
3634
  name: "feedback",
3654
- imports: [sdkOptionsPluginRef],
3635
+ imports: [apiPluginRef],
3655
3636
  categories: ["utility"],
3656
3637
  inputSchema: FeedbackSchema,
3657
3638
  // Returns the thank-you string verbatim — no `{ data }` envelope, matching
@@ -3659,19 +3640,29 @@ var feedbackPlugin = defineMethod({
3659
3640
  output: "raw",
3660
3641
  resolvers: { feedback: feedbackResolver },
3661
3642
  run: async ({ imports, input }) => {
3662
- const user = await getLoggedInUser();
3663
- const body = JSON.stringify({
3664
- email: user.email,
3665
- customuser_id: user.customUserId,
3666
- feedback: input.feedback
3667
- });
3668
- const response = await postWithRetry({
3669
- body,
3670
- attemptsLeft: MAX_RETRIES
3671
- });
3672
- if (imports.sdkOptions?.debug) {
3673
- const text = await response.text();
3674
- console.error("[debug] Webhook response:", text);
3643
+ try {
3644
+ await withRetry({
3645
+ action: () => imports.api.post(
3646
+ "/api/v0/feedback",
3647
+ {
3648
+ feedback: input.feedback
3649
+ },
3650
+ {
3651
+ authRequired: true
3652
+ }
3653
+ ),
3654
+ attempts: FEEDBACK_SUBMISSION_ATTEMPTS,
3655
+ initialDelayMs: FEEDBACK_RETRY_DELAY_MILLISECONDS,
3656
+ shouldRetry: (error) => !isPermanentHttpError(error)
3657
+ });
3658
+ } catch (cause) {
3659
+ if (isZapierAuthenticationError(cause)) {
3660
+ throw cause;
3661
+ }
3662
+ throw new ZapierApiError(
3663
+ "Feedback could not be submitted. Please visit https://help.zapier.com/ to get help.",
3664
+ { cause }
3665
+ );
3675
3666
  }
3676
3667
  return "Thank you for your feedback!";
3677
3668
  }
@@ -5073,7 +5064,7 @@ function collectDeprecationNoticeAndForward(event, onEvent) {
5073
5064
  // package.json with { type: 'json' }
5074
5065
  var package_default = {
5075
5066
  name: "@zapier/zapier-sdk-cli",
5076
- version: "0.67.4"};
5067
+ version: "0.67.6"};
5077
5068
 
5078
5069
  // src/sdk.ts
5079
5070
  var warnedDeprecatedMethods = /* @__PURE__ */ new Set();
@@ -5156,7 +5147,7 @@ function createZapierCliSdk(options = {}) {
5156
5147
 
5157
5148
  // package.json
5158
5149
  var package_default2 = {
5159
- version: "0.67.4"};
5150
+ version: "0.67.6"};
5160
5151
 
5161
5152
  // src/telemetry/builders.ts
5162
5153
  function createCliBaseEvent(context = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zapier/zapier-sdk-cli",
3
- "version": "0.67.4",
3
+ "version": "0.67.6",
4
4
  "description": "Command line interface for Zapier SDK",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -94,8 +94,8 @@
94
94
  "typescript": "^5.8.3",
95
95
  "wrap-ansi": "^10.0.0",
96
96
  "zod": "4.3.6",
97
- "@zapier/zapier-sdk-mcp": "0.18.19",
98
- "@zapier/zapier-sdk": "0.91.0"
97
+ "@zapier/zapier-sdk": "0.91.1",
98
+ "@zapier/zapier-sdk-mcp": "0.18.20"
99
99
  },
100
100
  "devDependencies": {
101
101
  "@types/express": "^5.0.3",