@zapier/zapier-sdk 0.116.2 → 0.118.0

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.
@@ -119,6 +119,9 @@ var ActionTimeoutSecondsPropertySchema = zod.z.number().min(1).optional().descri
119
119
  var ActionTimeoutMillisecondsPropertySchema = zod.z.number().min(1e3).optional().describe(
120
120
  `Maximum time to wait for action completion in milliseconds (default: ${DEFAULT_ACTION_TIMEOUT_MILLISECONDS})`
121
121
  );
122
+ var ActionIdempotencyKeyPropertySchema = zod.z.string().min(1).max(255).optional().describe(
123
+ "Key that makes retrying a run safe. Another run with the same key within 72 hours returns the original run instead of starting a new one, even if its inputs differ, so use a fresh key per distinct run. A paged run is sent with a key derived from this key and the page, so one key covers every page and retrying a page replays that page's run."
124
+ );
122
125
  var TablePropertySchema = kitcore.withPositional(
123
126
  zod.z.string().regex(/^[A-Z0-9]{26}$/, "Table ID must be a valid ULID").describe("The unique identifier of the table")
124
127
  );
@@ -532,7 +535,8 @@ var ActionExecutionInputSchema = zod.z.object({
532
535
  /** @deprecated Use `timeoutSeconds` instead. */
533
536
  timeoutMs: ActionTimeoutMillisecondsPropertySchema.meta({
534
537
  deprecated: true
535
- })
538
+ }),
539
+ idempotencyKey: ActionIdempotencyKeyPropertySchema
536
540
  }).describe(
537
541
  "Execute an action with the given inputs for the bound app, as an alternative to runAction"
538
542
  ).meta({
@@ -2824,7 +2828,7 @@ function logRouteOverride({
2824
2828
  }
2825
2829
 
2826
2830
  // src/sdk-version.ts
2827
- var SDK_VERSION = (typeof process !== "undefined" && process.env ? "0.116.2" : void 0) || "unknown";
2831
+ var SDK_VERSION = (typeof process !== "undefined" && process.env ? "0.118.0" : void 0) || "unknown";
2828
2832
 
2829
2833
  // src/utils/open-url.ts
2830
2834
  var nodePrefix = "node:";
@@ -5213,6 +5217,73 @@ var FetchInputSchema = zod.z.object({
5213
5217
  url: FetchUrlSchema,
5214
5218
  init: FetchInitSchema
5215
5219
  });
5220
+
5221
+ // src/taxonomy.json
5222
+ var taxonomy_default = {
5223
+ categories: {
5224
+ account: {
5225
+ key: "account",
5226
+ description: "Your Zapier user account, the one the SDK is signed in as. Use these to check who that is."
5227
+ },
5228
+ action: {
5229
+ key: "action",
5230
+ description: "An action is something an app can do, like sending an email or creating a contact. Use these to find an app's actions, see what inputs they need, and run them directly, outside a Zap."
5231
+ },
5232
+ app: {
5233
+ key: "app",
5234
+ description: "An app is a web service that connects with Zapier, like Gmail or Slack. Use these to find apps and the keys other methods use to refer to them."
5235
+ },
5236
+ "client-credentials": {
5237
+ key: "client-credentials",
5238
+ description: "SDK client credentials are a client ID and client secret that authenticate your code to the Zapier SDK, separate from the connections that authenticate apps. Use these to create, list, and revoke them."
5239
+ },
5240
+ "code-workflow": {
5241
+ key: "code-workflow",
5242
+ title: "Next Gen Zaps",
5243
+ titlePlural: "Next Gen Zaps",
5244
+ description: "Next Gen Zaps are a new version of Zaps that run on code, which makes them easier for agents and AI tools to understand. Use these to build, test, publish, and run Next Gen Zaps, and to check on their runs."
5245
+ },
5246
+ connection: {
5247
+ key: "connection",
5248
+ description: "A connection is an authenticated link between Zapier and your account in an app, like your company's Slack workspace, made with OAuth or an API key. Use these to find existing connections or create new ones for actions, triggers, and API requests to use."
5249
+ },
5250
+ http: {
5251
+ key: "http",
5252
+ title: "HTTP Request",
5253
+ description: "Make authenticated requests to an app's API through Zapier's API proxy, using a connection's credentials so your code never handles tokens or keys. Useful when an app's actions don't cover what you need."
5254
+ },
5255
+ "human-input": {
5256
+ key: "human-input",
5257
+ description: "Collect information from people with Zapier Forms. Use these to create a form and share its link to gather responses."
5258
+ },
5259
+ table: {
5260
+ key: "table",
5261
+ description: "Tables is Zapier's database tool for storing and managing data. Use these to manage tables, their fields, and their records."
5262
+ },
5263
+ trigger: {
5264
+ key: "trigger",
5265
+ description: "A trigger is an event in an app that starts your automation, like a new email received. Use these to find an app's triggers and receive their events directly in your code, outside a Zap."
5266
+ },
5267
+ utility: {
5268
+ key: "utility",
5269
+ description: "Commands for setting up and working with the SDK in a project, like creating a project, adding apps, and generating TypeScript types."
5270
+ },
5271
+ vfs: {
5272
+ key: "vfs",
5273
+ title: "Virtual File System",
5274
+ titlePlural: "Virtual File System",
5275
+ description: "The Virtual File System is file storage hosted by Zapier. Use these to read, write, and organize files and folders."
5276
+ }
5277
+ }
5278
+ };
5279
+
5280
+ // src/taxonomy.ts
5281
+ var taxonomy = taxonomy_default;
5282
+ Object.values(taxonomy.categories).forEach((entry) => Object.freeze(entry));
5283
+ Object.freeze(taxonomy.categories);
5284
+ Object.freeze(taxonomy);
5285
+
5286
+ // src/plugins/fetch/index.ts
5216
5287
  function transformUrlToRelayPath(url) {
5217
5288
  const targetUrl = new URL(url);
5218
5289
  return `/relay/${targetUrl.host}${targetUrl.pathname}${targetUrl.search}${targetUrl.hash}`;
@@ -5293,7 +5364,7 @@ var fetchPlugin = kitcore.defineMethod({
5293
5364
  // title explicitly so the registry renders "HTTP Request". Other plugins in
5294
5365
  // this category use the bare string "http"; the object form wins regardless
5295
5366
  // of order.
5296
- categories: [{ key: "http", title: "HTTP Request" }],
5367
+ categories: [taxonomy.categories.http],
5297
5368
  returnType: "Response",
5298
5369
  // The CLI, controller, and MCP all derive fetch's `(url, init)` shape from
5299
5370
  // `inputSchema` + `positional`; the CLI flattens `init`'s fields into
@@ -5432,6 +5503,7 @@ var RunActionBaseSchema = zod.z.object({
5432
5503
  timeoutSeconds: ActionTimeoutSecondsPropertySchema,
5433
5504
  /** @deprecated Use `timeoutSeconds` instead. */
5434
5505
  timeoutMs: ActionTimeoutMillisecondsPropertySchema.meta({ deprecated: true }),
5506
+ idempotencyKey: ActionIdempotencyKeyPropertySchema,
5435
5507
  pageSize: zod.z.number().min(1).optional().describe("Number of results per page"),
5436
5508
  maxItems: zod.z.number().min(1).optional().describe("Maximum total items to return across all pages"),
5437
5509
  cursor: zod.z.string().optional().describe("Cursor to start from")
@@ -7104,7 +7176,7 @@ async function fetchAppActions({
7104
7176
  var listActionsPlugin = kitcore.defineMethod({
7105
7177
  name: "listActions",
7106
7178
  imports: [manifestPluginRef, apiPluginRef],
7107
- categories: ["action"],
7179
+ categories: [taxonomy.categories.action],
7108
7180
  itemType: "Action",
7109
7181
  inputSchema: ListActionsInputSchema,
7110
7182
  outputSchema: ActionItemSchema,
@@ -7139,7 +7211,7 @@ var getActionPlugin = kitcore.defineMethod({
7139
7211
  // `listActionsPlugin` is here for the action-type and action-key resolvers,
7140
7212
  // which reach it through a stand-in; the lookup itself doesn't use it.
7141
7213
  imports: [listActionsPlugin, manifestPluginRef, apiPluginRef],
7142
- categories: ["action"],
7214
+ categories: [taxonomy.categories.action],
7143
7215
  itemType: "Action",
7144
7216
  inputSchema: GetActionInputSchema,
7145
7217
  outputSchema: ActionItemSchema,
@@ -7181,7 +7253,8 @@ var CreateActionRunSchema = zod.z.object({
7181
7253
  ),
7182
7254
  callbackUrl: zod.z.string().url().optional().describe(
7183
7255
  "URL Zapier posts the finished run to, so you do not have to poll for it. Must use HTTPS and resolve to a public host, so a local receiver needs a tunnel. The body matches what `getActionRun` returns. Verify the `Zapier-Callback-Signature` header, and expect the same run to arrive more than once."
7184
- ).meta({ valueHint: "url" })
7256
+ ).meta({ valueHint: "url" }),
7257
+ idempotencyKey: ActionIdempotencyKeyPropertySchema
7185
7258
  }).describe(
7186
7259
  "Start an action run and return its ID without waiting for the result. Running an action is asynchronous: this hands back a run ID immediately, and `getActionRun` fetches the outcome. Reach for this pair when you want to start work and collect it later (fan out many runs, hand the ID to another process, survive a restart). `runAction` is the one-call form that starts a run and waits for its result."
7187
7260
  );
@@ -7193,6 +7266,38 @@ var ActionRunStartedItemSchema = zod.z.object({
7193
7266
  "Versioned implementation ID the run was started against (e.g. 'SlackCLIAPI@1.21.1'). The versionless app key is the part before the `@`."
7194
7267
  )
7195
7268
  });
7269
+
7270
+ // src/utils/action-run-wire.ts
7271
+ var PAGE_IDEMPOTENCY_KEY_PREFIX = "sdk-page:";
7272
+ function actionRunPath(run) {
7273
+ return `${ACTION_RUNS_PATH}/${encodeURIComponent(run)}`;
7274
+ }
7275
+ function actionRunPayload(body) {
7276
+ return body?.data;
7277
+ }
7278
+ function isActionRunPending(body) {
7279
+ return actionRunPayload(body)?.status === "waiting";
7280
+ }
7281
+ async function derivePageIdempotencyKey({
7282
+ key,
7283
+ page
7284
+ }) {
7285
+ const subtle = globalThis.crypto?.subtle;
7286
+ if (!subtle) {
7287
+ throw new ZapierConfigurationError(
7288
+ "Paging an action run with an idempotencyKey requires Web Crypto (`crypto.subtle`): Node.js 19+, or a browser page served over HTTPS or localhost."
7289
+ );
7290
+ }
7291
+ const digest = await subtle.digest(
7292
+ "SHA-256",
7293
+ new TextEncoder().encode(`${key}\0${page}`)
7294
+ );
7295
+ const hex = Array.from(
7296
+ new Uint8Array(digest),
7297
+ (byte) => byte.toString(16).padStart(2, "0")
7298
+ ).join("");
7299
+ return `${PAGE_IDEMPOTENCY_KEY_PREFIX}${hex}`;
7300
+ }
7196
7301
  var CONTEXT_CACHE_TTL_MILLISECONDS = 6e4;
7197
7302
  var CONTEXT_CACHE_MAX_SIZE = 500;
7198
7303
  var createActionRunPlugin = kitcore.defineMethod({
@@ -7203,7 +7308,7 @@ var createActionRunPlugin = kitcore.defineMethod({
7203
7308
  apiPluginRef,
7204
7309
  getActionPlugin
7205
7310
  ],
7206
- categories: ["action"],
7311
+ categories: [taxonomy.categories.action],
7207
7312
  type: "create",
7208
7313
  itemType: "StartedActionRun",
7209
7314
  inputSchema: CreateActionRunSchema,
@@ -7292,7 +7397,8 @@ var createActionRunPlugin = kitcore.defineMethod({
7292
7397
  connection,
7293
7398
  inputs = {},
7294
7399
  page,
7295
- callbackUrl
7400
+ callbackUrl,
7401
+ idempotencyKey
7296
7402
  } = input;
7297
7403
  const connectionId = await resolveConnectionId({
7298
7404
  connection,
@@ -7323,6 +7429,9 @@ var createActionRunPlugin = kitcore.defineMethod({
7323
7429
  if (callbackUrl) {
7324
7430
  runRequestData.callback_url = callbackUrl;
7325
7431
  }
7432
+ if (idempotencyKey) {
7433
+ runRequestData.idempotency_id = page ? await derivePageIdempotencyKey({ key: idempotencyKey, page }) : idempotencyKey;
7434
+ }
7326
7435
  const runData = await api.post(
7327
7436
  ACTION_RUNS_PATH,
7328
7437
  { data: runRequestData },
@@ -7348,22 +7457,11 @@ var createActionRunPlugin = kitcore.defineMethod({
7348
7457
  }
7349
7458
  });
7350
7459
 
7351
- // src/utils/action-run-wire.ts
7352
- function actionRunPath(run) {
7353
- return `${ACTION_RUNS_PATH}/${encodeURIComponent(run)}`;
7354
- }
7355
- function actionRunPayload(body) {
7356
- return body?.data;
7357
- }
7358
- function isActionRunPending(body) {
7359
- return actionRunPayload(body)?.status === "waiting";
7360
- }
7361
-
7362
7460
  // src/plugins/runAction/index.ts
7363
7461
  var runActionPlugin = kitcore.defineMethod({
7364
7462
  name: "runAction",
7365
7463
  imports: [apiPluginRef, connectionsPluginRef, createActionRunPlugin],
7366
- categories: ["action"],
7464
+ categories: [taxonomy.categories.action],
7367
7465
  itemType: "ActionResult",
7368
7466
  inputSchema: RunActionInputSchema,
7369
7467
  outputSchema: ActionResultItemSchema,
@@ -7388,7 +7486,8 @@ var runActionPlugin = kitcore.defineMethod({
7388
7486
  connection,
7389
7487
  authenticationId,
7390
7488
  inputs = {},
7391
- cursor
7489
+ cursor,
7490
+ idempotencyKey
7392
7491
  } = input;
7393
7492
  const timeoutMilliseconds = (input.timeoutSeconds != null ? input.timeoutSeconds * 1e3 : input.timeoutMs) ?? DEFAULT_ACTION_TIMEOUT_MILLISECONDS;
7394
7493
  const resolvedConnectionId = await resolveConnectionId({
@@ -7403,7 +7502,8 @@ var runActionPlugin = kitcore.defineMethod({
7403
7502
  action: actionKey,
7404
7503
  connection: resolvedConnectionId,
7405
7504
  inputs,
7406
- page: cursor
7505
+ page: cursor,
7506
+ idempotencyKey
7407
7507
  });
7408
7508
  annotate({ selectedApi: started.implementation_id });
7409
7509
  const run = await imports.api.poll(
@@ -7478,7 +7578,8 @@ function createActionFunction(appKey, actionType, actionKey, imports, pinnedAuth
7478
7578
  connection: providedConnection,
7479
7579
  authenticationId: providedAuthenticationId,
7480
7580
  timeoutSeconds,
7481
- timeoutMs
7581
+ timeoutMs,
7582
+ idempotencyKey
7482
7583
  } = actionOptions;
7483
7584
  const { connectionId, connection } = resolveProxyConnection({
7484
7585
  providedConnectionId,
@@ -7494,7 +7595,8 @@ function createActionFunction(appKey, actionType, actionKey, imports, pinnedAuth
7494
7595
  inputs,
7495
7596
  connection: connectionId ?? connection,
7496
7597
  timeoutSeconds,
7497
- timeoutMs
7598
+ timeoutMs,
7599
+ idempotencyKey
7498
7600
  });
7499
7601
  };
7500
7602
  }
@@ -7608,7 +7710,7 @@ var appsPlugin = kitcore.defineProperty({
7608
7710
  dynamicMembers: [
7609
7711
  {
7610
7712
  path: ["apps", { param: "appKey" }],
7611
- categories: ["app"],
7713
+ categories: [taxonomy.categories.app],
7612
7714
  packages: ["sdk"],
7613
7715
  type: "function",
7614
7716
  inputSchema: AppFactoryInputSchema,
@@ -7621,7 +7723,7 @@ var appsPlugin = kitcore.defineProperty({
7621
7723
  { param: "actionType" },
7622
7724
  { param: "actionKey" }
7623
7725
  ],
7624
- categories: ["app"],
7726
+ categories: [taxonomy.categories.app],
7625
7727
  packages: ["sdk"],
7626
7728
  type: "list",
7627
7729
  inputSchema: ActionExecutionInputSchema,
@@ -7928,7 +8030,7 @@ var listAppsPlugin = kitcore.defineMethod({
7928
8030
  sdkOptionsPluginRef,
7929
8031
  kitcore.coreOptionsPluginRef
7930
8032
  ],
7931
- categories: ["app"],
8033
+ categories: [taxonomy.categories.app],
7932
8034
  itemType: "App",
7933
8035
  inputSchema: ListAppsSchema,
7934
8036
  outputSchema: AppItemSchema,
@@ -8274,7 +8376,7 @@ var listActionInputFieldsPlugin = kitcore.defineMethod({
8274
8376
  apiPluginRef,
8275
8377
  getActionPlugin
8276
8378
  ],
8277
- categories: ["action"],
8379
+ categories: [taxonomy.categories.action],
8278
8380
  itemType: "RootField",
8279
8381
  inputSchema: ListActionInputFieldsInputSchema,
8280
8382
  outputSchema: RootFieldItemSchema,
@@ -8409,7 +8511,7 @@ var listActionInputFieldChoicesPlugin = kitcore.defineMethod({
8409
8511
  apiPluginRef,
8410
8512
  getActionPlugin
8411
8513
  ],
8412
- categories: ["action"],
8514
+ categories: [taxonomy.categories.action],
8413
8515
  itemType: "InputFieldChoice",
8414
8516
  inputSchema: ListActionInputFieldChoicesInputSchema,
8415
8517
  outputSchema: InputFieldChoiceItemSchema,
@@ -8573,7 +8675,7 @@ var getActionInputFieldsSchemaPlugin = kitcore.defineMethod({
8573
8675
  apiPluginRef,
8574
8676
  getActionPlugin
8575
8677
  ],
8576
- categories: ["action"],
8678
+ categories: [taxonomy.categories.action],
8577
8679
  itemType: "InputSchema",
8578
8680
  inputSchema: GetActionInputFieldsSchemaInputSchema,
8579
8681
  output: "item",
@@ -8733,7 +8835,7 @@ var listConnectionsPlugin = kitcore.defineMethod({
8733
8835
  capabilitiesPluginRef,
8734
8836
  kitcore.coreOptionsPluginRef
8735
8837
  ],
8736
- categories: ["connection"],
8838
+ categories: [taxonomy.categories.connection],
8737
8839
  itemType: "Connection",
8738
8840
  inputSchema: ListConnectionsQuerySchema,
8739
8841
  outputSchema: ConnectionItemSchema,
@@ -8889,7 +8991,7 @@ var clientCredentialsCreatedItemFormatter = kitcore.defineFormatter({
8889
8991
  var listClientCredentialsPlugin = kitcore.defineMethod({
8890
8992
  name: "listClientCredentials",
8891
8993
  imports: [apiPluginRef],
8892
- categories: ["client-credentials"],
8994
+ categories: [taxonomy.categories["client-credentials"]],
8893
8995
  itemType: "ClientCredentials",
8894
8996
  inputSchema: ListClientCredentialsQuerySchema,
8895
8997
  outputSchema: ClientCredentialsItemSchema,
@@ -8929,7 +9031,7 @@ var CreateClientCredentialsSchema = clientCredentials.CreateClientCredentialsReq
8929
9031
  var createClientCredentialsPlugin = kitcore.defineMethod({
8930
9032
  name: "createClientCredentials",
8931
9033
  imports: [apiPluginRef],
8932
- categories: ["client-credentials"],
9034
+ categories: [taxonomy.categories["client-credentials"]],
8933
9035
  type: "create",
8934
9036
  itemType: "ClientCredentials",
8935
9037
  inputSchema: CreateClientCredentialsSchema,
@@ -8964,7 +9066,7 @@ var DeleteClientCredentialsSchema = zod.z.object({
8964
9066
  var deleteClientCredentialsPlugin = kitcore.defineMethod({
8965
9067
  name: "deleteClientCredentials",
8966
9068
  imports: [apiPluginRef],
8967
- categories: ["client-credentials"],
9069
+ categories: [taxonomy.categories["client-credentials"]],
8968
9070
  itemType: "ClientCredentials",
8969
9071
  type: "delete",
8970
9072
  inputSchema: DeleteClientCredentialsSchema,
@@ -8997,7 +9099,7 @@ var GetAppInputSchema = zod.z.union([GetAppSchema, GetAppSchemaDeprecated]).desc
8997
9099
  var getAppPlugin = kitcore.defineMethod({
8998
9100
  name: "getApp",
8999
9101
  imports: [listAppsPlugin],
9000
- categories: ["app"],
9102
+ categories: [taxonomy.categories.app],
9001
9103
  itemType: "App",
9002
9104
  inputSchema: GetAppInputSchema,
9003
9105
  outputSchema: AppItemSchema,
@@ -9035,7 +9137,7 @@ var GetConnectionInputSchema = zod.z.union([
9035
9137
  var getConnectionPlugin = kitcore.defineMethod({
9036
9138
  name: "getConnection",
9037
9139
  imports: [apiPluginRef, kitcore.coreOptionsPluginRef],
9038
- categories: ["connection"],
9140
+ categories: [taxonomy.categories.connection],
9039
9141
  itemType: "Connection",
9040
9142
  inputSchema: GetConnectionInputSchema,
9041
9143
  outputSchema: ConnectionItemSchema,
@@ -9080,7 +9182,7 @@ var FindFirstConnectionSchema = ListConnectionsQuerySchema.omit({
9080
9182
  var findFirstConnectionPlugin = kitcore.defineMethod({
9081
9183
  name: "findFirstConnection",
9082
9184
  imports: [listConnectionsPlugin],
9083
- categories: ["connection"],
9185
+ categories: [taxonomy.categories.connection],
9084
9186
  itemType: "Connection",
9085
9187
  inputSchema: FindFirstConnectionSchema,
9086
9188
  outputSchema: ConnectionItemSchema,
@@ -9116,7 +9218,7 @@ var FindUniqueConnectionSchema = ListConnectionsQuerySchema.omit({
9116
9218
  var findUniqueConnectionPlugin = kitcore.defineMethod({
9117
9219
  name: "findUniqueConnection",
9118
9220
  imports: [listConnectionsPlugin],
9119
- categories: ["connection"],
9221
+ categories: [taxonomy.categories.connection],
9120
9222
  itemType: "Connection",
9121
9223
  inputSchema: FindUniqueConnectionSchema,
9122
9224
  outputSchema: ConnectionItemSchema,
@@ -9189,7 +9291,7 @@ function toActionRun(runId, payload) {
9189
9291
  var getActionRunPlugin = kitcore.defineMethod({
9190
9292
  name: "getActionRun",
9191
9293
  imports: [apiPluginRef],
9192
- categories: ["action"],
9294
+ categories: [taxonomy.categories.action],
9193
9295
  itemType: "ActionRun",
9194
9296
  inputSchema: GetActionRunSchema,
9195
9297
  outputSchema: ActionRunItemSchema,
@@ -9233,7 +9335,7 @@ var requestPlugin = kitcore.defineMethod({
9233
9335
  inputSchema: RelayRequestSchema,
9234
9336
  skipInputValidation: true,
9235
9337
  packages: ["cli", "mcp"],
9236
- categories: ["http"],
9338
+ categories: [taxonomy.categories.http],
9237
9339
  deprecation: { message: "Use fetch() instead." },
9238
9340
  returnType: "Response",
9239
9341
  setup: ({ imports }) => {
@@ -9303,7 +9405,7 @@ var getProfilePlugin = kitcore.defineMethod({
9303
9405
  inputSchema: GetProfileSchema,
9304
9406
  output: "item",
9305
9407
  formatter: userProfileItemFormatter,
9306
- categories: ["account"],
9408
+ categories: [taxonomy.categories.account],
9307
9409
  itemType: "Profile",
9308
9410
  outputSchema: UserProfileItemSchema,
9309
9411
  skipOutputValidation: true,
@@ -9377,7 +9479,7 @@ var START_PATH = "/zapier/api/authentications/v1/sdk/connections/start";
9377
9479
  var getConnectionStartUrlPlugin = kitcore.defineMethod({
9378
9480
  name: "getConnectionStartUrl",
9379
9481
  imports: [manifestPluginRef, apiPluginRef],
9380
- categories: ["connection"],
9482
+ categories: [taxonomy.categories.connection],
9381
9483
  type: "create",
9382
9484
  itemType: "ConnectionStartUrl",
9383
9485
  inputSchema: GetConnectionStartUrlSchema,
@@ -9453,7 +9555,7 @@ var CONNECTIONS_PATH = "/zapier/api/v4/authentications";
9453
9555
  var waitForNewConnectionPlugin = kitcore.defineMethod({
9454
9556
  name: "waitForNewConnection",
9455
9557
  imports: [manifestPluginRef, apiPluginRef, kitcore.coreOptionsPluginRef],
9456
- categories: ["connection"],
9558
+ categories: [taxonomy.categories.connection],
9457
9559
  itemType: "Connection",
9458
9560
  inputSchema: WaitForNewConnectionSchema,
9459
9561
  outputSchema: WaitForNewConnectionItemSchema,
@@ -9570,7 +9672,7 @@ var createConnectionPlugin = kitcore.defineMethod({
9570
9672
  // Composes the two low-level connection methods at runtime, so it imports
9571
9673
  // them (they materialize + dedup against their own module exports).
9572
9674
  imports: [getConnectionStartUrlPlugin, waitForNewConnectionPlugin],
9573
- categories: ["connection"],
9675
+ categories: [taxonomy.categories.connection],
9574
9676
  type: "create",
9575
9677
  itemType: "Connection",
9576
9678
  inputSchema: CreateConnectionSchema,
@@ -9635,7 +9737,7 @@ var listAuthenticationsPlugin = kitcore.defineMethod({
9635
9737
  output: { type: "list", adaptPage: toSdkPageInput },
9636
9738
  inputSchema: ListConnectionsQuerySchema,
9637
9739
  packages: ["cli", "mcp"],
9638
- categories: ["connection"],
9740
+ categories: [taxonomy.categories.connection],
9639
9741
  deprecation: { message: "Use listConnections instead." },
9640
9742
  itemType: "Connection",
9641
9743
  outputSchema: ConnectionItemSchema,
@@ -9655,7 +9757,7 @@ var getAuthenticationPlugin = kitcore.defineMethod({
9655
9757
  inputSchema: GetConnectionInputSchema,
9656
9758
  skipInputValidation: true,
9657
9759
  packages: ["cli", "mcp"],
9658
- categories: ["connection"],
9760
+ categories: [taxonomy.categories.connection],
9659
9761
  deprecation: { message: "Use getConnection instead." },
9660
9762
  type: "item",
9661
9763
  itemType: "Connection",
@@ -9676,7 +9778,7 @@ var findFirstAuthenticationPlugin = kitcore.defineMethod({
9676
9778
  inputSchema: FindFirstConnectionSchema,
9677
9779
  skipInputValidation: true,
9678
9780
  packages: ["cli", "mcp"],
9679
- categories: ["connection"],
9781
+ categories: [taxonomy.categories.connection],
9680
9782
  deprecation: { message: "Use findFirstConnection instead." },
9681
9783
  type: "item",
9682
9784
  itemType: "Connection",
@@ -9694,7 +9796,7 @@ var findUniqueAuthenticationPlugin = kitcore.defineMethod({
9694
9796
  inputSchema: FindUniqueConnectionSchema,
9695
9797
  skipInputValidation: true,
9696
9798
  packages: ["cli", "mcp"],
9697
- categories: ["connection"],
9799
+ categories: [taxonomy.categories.connection],
9698
9800
  deprecation: { message: "Use findUniqueConnection instead." },
9699
9801
  type: "item",
9700
9802
  itemType: "Connection",
@@ -9719,7 +9821,7 @@ var listInputFieldsDeprecatedPlugin = kitcore.defineMethod({
9719
9821
  defaultPageSize: DEFAULT_PAGE_SIZE
9720
9822
  },
9721
9823
  inputSchema: ListActionInputFieldsInputSchema,
9722
- categories: ["action"],
9824
+ categories: [taxonomy.categories.action],
9723
9825
  deprecation: { message: "Use listActionInputFields instead." },
9724
9826
  itemType: "RootField",
9725
9827
  outputSchema: RootFieldItemSchema,
@@ -9741,7 +9843,7 @@ var listInputFieldChoicesDeprecatedPlugin = kitcore.defineMethod({
9741
9843
  defaultPageSize: DEFAULT_PAGE_SIZE
9742
9844
  },
9743
9845
  inputSchema: ListActionInputFieldChoicesInputSchema,
9744
- categories: ["action"],
9846
+ categories: [taxonomy.categories.action],
9745
9847
  deprecation: { message: "Use listActionInputFieldChoices instead." },
9746
9848
  itemType: "InputFieldChoiceItem",
9747
9849
  outputSchema: InputFieldChoiceItemSchema,
@@ -9758,7 +9860,7 @@ var getInputFieldsSchemaDeprecatedPlugin = kitcore.defineMethod({
9758
9860
  output: "raw",
9759
9861
  inputSchema: GetActionInputFieldsSchemaInputSchema,
9760
9862
  skipInputValidation: true,
9761
- categories: ["action"],
9863
+ categories: [taxonomy.categories.action],
9762
9864
  deprecation: { message: "Use getActionInputFieldsSchema instead." },
9763
9865
  type: "function",
9764
9866
  run: ({ imports, input }) => {
@@ -9864,7 +9966,7 @@ var triggerInboxItemFormatter = kitcore.defineFormatter({
9864
9966
  });
9865
9967
 
9866
9968
  // src/plugins/triggers/shared.ts
9867
- var triggerCategories = ["trigger"];
9969
+ var triggerCategories = [taxonomy.categories.trigger];
9868
9970
  function deriveReadOperation() {
9869
9971
  const annotations = { operationType: "read" };
9870
9972
  return { ...annotations };
@@ -11675,7 +11777,7 @@ var listTablesInternalPlugin = kitcore.defineMethod({
11675
11777
  });
11676
11778
 
11677
11779
  // src/plugins/tables/shared.ts
11678
- var tableCategories = ["table"];
11780
+ var tableCategories = [taxonomy.categories.table];
11679
11781
 
11680
11782
  // src/plugins/tables/listTables/index.ts
11681
11783
  var listTablesPlugin = kitcore.defineMethod({
@@ -13600,6 +13702,7 @@ Object.defineProperty(exports, "toTitleCase", {
13600
13702
  });
13601
13703
  exports.ACTION_RUNS_PATH = ACTION_RUNS_PATH;
13602
13704
  exports.API_ID = API_ID;
13705
+ exports.ActionIdempotencyKeyPropertySchema = ActionIdempotencyKeyPropertySchema;
13603
13706
  exports.ActionKeyPropertySchema = ActionKeyPropertySchema;
13604
13707
  exports.ActionPropertySchema = ActionPropertySchema;
13605
13708
  exports.ActionTimeoutMillisecondsPropertySchema = ActionTimeoutMillisecondsPropertySchema;
@@ -13825,6 +13928,7 @@ exports.tableRecordIdsResolver = tableRecordIdsResolver;
13825
13928
  exports.tableRecordsResolver = tableRecordsResolver;
13826
13929
  exports.tableSortResolver = tableSortResolver;
13827
13930
  exports.tableUpdateRecordsResolver = tableUpdateRecordsResolver;
13931
+ exports.taxonomy = taxonomy;
13828
13932
  exports.triggerInboxResolver = triggerInboxResolver;
13829
13933
  exports.triggerMessagesResolver = triggerMessagesResolver;
13830
13934
  exports.updateTableRecordsPlugin = updateTableRecordsPlugin;