@zapier/zapier-sdk 0.44.0 → 0.45.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +19 -1
  4. package/dist/api/types.d.ts +11 -0
  5. package/dist/api/types.d.ts.map +1 -1
  6. package/dist/constants.d.ts +6 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +8 -0
  9. package/dist/index.cjs +125 -114
  10. package/dist/index.d.mts +2490 -2458
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.mjs +125 -115
  14. package/dist/plugins/api/index.d.ts.map +1 -1
  15. package/dist/plugins/api/index.js +2 -1
  16. package/dist/plugins/apps/index.d.ts +1 -1
  17. package/dist/plugins/apps/index.d.ts.map +1 -1
  18. package/dist/plugins/apps/index.js +4 -0
  19. package/dist/plugins/eventEmission/builders.js +1 -1
  20. package/dist/plugins/registry/index.d.ts +11 -16
  21. package/dist/plugins/registry/index.d.ts.map +1 -1
  22. package/dist/plugins/registry/index.js +9 -130
  23. package/dist/registry.d.ts +9 -0
  24. package/dist/registry.d.ts.map +1 -0
  25. package/dist/registry.js +77 -0
  26. package/dist/sdk-version.d.ts +28 -0
  27. package/dist/sdk-version.d.ts.map +1 -0
  28. package/dist/sdk-version.js +29 -0
  29. package/dist/sdk.d.ts +20 -2
  30. package/dist/sdk.d.ts.map +1 -1
  31. package/dist/sdk.js +25 -9
  32. package/dist/types/plugin.d.ts +7 -1
  33. package/dist/types/plugin.d.ts.map +1 -1
  34. package/dist/types/registry.d.ts +49 -0
  35. package/dist/types/registry.d.ts.map +1 -0
  36. package/dist/types/registry.js +1 -0
  37. package/dist/types/sdk.d.ts +8 -78
  38. package/dist/types/sdk.d.ts.map +1 -1
  39. package/dist/types/sdk.js +4 -0
  40. package/dist/utils/schema-utils.d.ts +1 -1
  41. package/dist/utils/schema-utils.d.ts.map +1 -1
  42. package/dist/utils/telemetry-context.d.ts.map +1 -1
  43. package/dist/utils/telemetry-context.js +13 -6
  44. package/package.json +6 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @zapier/zapier-sdk
2
2
 
3
+ ## 0.45.1
4
+
5
+ ### Patch Changes
6
+
7
+ - cb0d898: Added telemetry headers so sdkapi can attribute traffic to the SDK entry point that produced it. Every outbound request now includes `x-zapier-sdk-version`, with `x-zapier-service` added when `ZAPIER_SDK_SERVICE` is set. Requests originating from `createZapierCliSdk` or `createZapierMcpServer` additionally include `x-zapier-sdk-package` and `x-zapier-sdk-package-version` identifying the wrapping package; direct `createZapierSdk` callers omit those two. Headers are applied after caller-supplied header merging, so they can't be spoofed via per-request `options.headers`.
8
+
9
+ ## 0.45.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 15dce25: `registryPlugin` is now deprecated, because `getRegistry` is built into the SDK and added after each plugin is added. Plugins will always be registered; there is no need to call `createZapierSdkWithoutRegistry`, add custom plugins, and then `.addPlugin(registryPlugin)`. Because of this, `createZapierSdkWithoutRegistry` is now deprecated, and calling it will still give you an SDK with `getRegistry` on it. Calling `addPlugin(registryPlugin)` on that SDK is a no-op.
14
+
3
15
  ## 0.44.0
4
16
 
5
17
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AA2/BjB,eAAO,MAAM,eAAe,GAAI,SAAS,gBAAgB,KAAG,SAW3D,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAihCjB,eAAO,MAAM,eAAe,GAAI,SAAS,gBAAgB,KAAG,SAW3D,CAAC"}
@@ -12,7 +12,8 @@ import { getZapierBaseUrl } from "../utils/url-utils";
12
12
  import { sleep, calculateExponentialBackoffMs } from "../utils/retry-utils";
13
13
  import { isPlainObject } from "../utils/type-guard-utils";
14
14
  import { ZapierApiError, ZapierApprovalError, ZapierAuthenticationError, ZapierTimeoutError, ZapierValidationError, ZapierNotFoundError, ZapierRateLimitError, } from "../types/errors";
15
- import { ZAPIER_MAX_NETWORK_RETRIES, ZAPIER_MAX_NETWORK_RETRY_DELAY_MS, getZapierIsInteractive, getZapierApprovalMode, DEFAULT_APPROVAL_TIMEOUT_MS, DEFAULT_MAX_APPROVAL_RETRIES, } from "../constants";
15
+ import { ZAPIER_MAX_NETWORK_RETRIES, ZAPIER_MAX_NETWORK_RETRY_DELAY_MS, getZapierIsInteractive, getZapierApprovalMode, getZapierSdkService, DEFAULT_APPROVAL_TIMEOUT_MS, DEFAULT_MAX_APPROVAL_RETRIES, } from "../constants";
16
+ import { SDK_VERSION } from "../sdk-version";
16
17
  import { openApproval } from "../utils/open-approval";
17
18
  import { z } from "zod";
18
19
  const ApprovalStatusSchema = z.enum(["pending_approval", "approved", "denied"]);
@@ -124,6 +125,7 @@ class ZapierApiClient {
124
125
  inputHeaders.forEach((value, key) => {
125
126
  mergedHeaders.set(key, value);
126
127
  });
128
+ this.applyTelemetryHeaders(mergedHeaders);
127
129
  let retries = 0;
128
130
  // Retry loop for rate limiting (429)
129
131
  while (true) {
@@ -573,6 +575,22 @@ class ZapierApiClient {
573
575
  }
574
576
  return headers;
575
577
  }
578
+ // Telemetry headers consumed by sdkapi's ApiRequestCompletedEvent.
579
+ // Applied at the outbound layer (after caller-supplied header merging) so
580
+ // they always reflect the SDK's actual identity and can't be spoofed via
581
+ // options.headers.
582
+ applyTelemetryHeaders(headers) {
583
+ headers.set("x-zapier-sdk-version", SDK_VERSION);
584
+ const sdkService = getZapierSdkService();
585
+ if (sdkService) {
586
+ headers.set("x-zapier-service", sdkService);
587
+ }
588
+ const callerPackage = this.options.callerPackage;
589
+ if (callerPackage) {
590
+ headers.set("x-zapier-sdk-package", callerPackage.name);
591
+ headers.set("x-zapier-sdk-package-version", callerPackage.version);
592
+ }
593
+ }
576
594
  // Helper to perform HTTP requests with JSON handling
577
595
  async fetchJson(method, path, data, options = {}) {
578
596
  const headers = { ...options.headers };
@@ -60,6 +60,17 @@ export interface ApiClientOptions {
60
60
  * keeps returning approval_required. Default: 2.
61
61
  */
62
62
  maxApprovalRetries?: number;
63
+ /**
64
+ * Identifies the wrapping package that built this client (e.g., the CLI or
65
+ * MCP server). When set, emitted as `x-zapier-sdk-package` /
66
+ * `x-zapier-sdk-package-version` telemetry headers. Omitted by direct
67
+ * `createZapierSdk` callers — their identity is captured by
68
+ * `x-zapier-sdk-version` alone.
69
+ */
70
+ callerPackage?: {
71
+ name: string;
72
+ version: string;
73
+ };
63
74
  }
64
75
  export interface ApiClient {
65
76
  get: <T = unknown>(path: string, options?: RequestOptions) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,12 @@
7
7
  * Base URL for Zapier API endpoints
8
8
  */
9
9
  export declare const ZAPIER_BASE_URL: string;
10
+ /**
11
+ * Calling service name for telemetry headers.
12
+ *
13
+ * Read lazily so tests can stub the env var after module import.
14
+ */
15
+ export declare function getZapierSdkService(): string | undefined;
10
16
  /**
11
17
  * Maximum number of items that can be requested per page across all paginated functions
12
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,QACsC,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAejD;;GAEG;AACH,eAAO,MAAM,0BAA0B,QACY,CAAC;AACpD,eAAO,MAAM,iCAAiC,QACiB,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,MAAM,GAAG,SAAS,CAInE;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,QACsC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAExD;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAejD;;GAEG;AACH,eAAO,MAAM,0BAA0B,QACY,CAAC;AACpD,eAAO,MAAM,iCAAiC,QACiB,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,MAAM,GAAG,SAAS,CAInE;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,IAAI,CAAC"}
package/dist/constants.js CHANGED
@@ -7,6 +7,14 @@
7
7
  * Base URL for Zapier API endpoints
8
8
  */
9
9
  export const ZAPIER_BASE_URL = globalThis.process?.env?.ZAPIER_BASE_URL || "https://zapier.com";
10
+ /**
11
+ * Calling service name for telemetry headers.
12
+ *
13
+ * Read lazily so tests can stub the env var after module import.
14
+ */
15
+ export function getZapierSdkService() {
16
+ return globalThis.process?.env?.ZAPIER_SDK_SERVICE;
17
+ }
10
18
  /**
11
19
  * Maximum number of items that can be requested per page across all paginated functions
12
20
  */
package/dist/index.cjs CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var zod = require('zod');
4
4
  var policyContext = require('@zapier/policy-context');
5
+ var async_hooks = require('async_hooks');
5
6
  var apps = require('@zapier/zapier-sdk-core/v0/schemas/apps');
6
7
  var connections = require('@zapier/zapier-sdk-core/v0/schemas/connections');
7
8
  var clientCredentials = require('@zapier/zapier-sdk-core/v0/schemas/client-credentials');
@@ -42,6 +43,9 @@ function isPositional(schema) {
42
43
 
43
44
  // src/constants.ts
44
45
  var ZAPIER_BASE_URL = globalThis.process?.env?.ZAPIER_BASE_URL || "https://zapier.com";
46
+ function getZapierSdkService() {
47
+ return globalThis.process?.env?.ZAPIER_SDK_SERVICE;
48
+ }
45
49
  var MAX_PAGE_LIMIT = 1e4;
46
50
  var DEFAULT_PAGE_SIZE = 100;
47
51
  var DEFAULT_ACTION_TIMEOUT_MS = 18e4;
@@ -545,6 +549,10 @@ function createAppsProxy(options) {
545
549
  }
546
550
  var appsPlugin = (sdk) => {
547
551
  return {
552
+ // Cast: ZapierSdkApps is augmented by user-generated .d.ts files to
553
+ // give specific types like `slack: SlackAppWithFactory`. At runtime
554
+ // the Proxy intercepts any property access, so the augmented entries
555
+ // always resolve correctly even though TS can't see that statically.
548
556
  apps: createAppsProxy({ sdk }),
549
557
  context: {
550
558
  meta: {
@@ -830,12 +838,9 @@ function isPlainObject(value) {
830
838
  const proto = Object.getPrototypeOf(value);
831
839
  return proto === Object.prototype || proto === null;
832
840
  }
833
-
834
- // src/utils/telemetry-context.ts
835
841
  var telemetryStore = null;
836
842
  try {
837
- const mod = __require("async_hooks");
838
- telemetryStore = new mod.AsyncLocalStorage();
843
+ telemetryStore = new async_hooks.AsyncLocalStorage();
839
844
  } catch {
840
845
  }
841
846
  function isTelemetryNested() {
@@ -5740,6 +5745,9 @@ async function invalidateCredentialsToken(options) {
5740
5745
  }
5741
5746
  }
5742
5747
 
5748
+ // src/sdk-version.ts
5749
+ var SDK_VERSION = (typeof process !== "undefined" && process.env ? "0.45.1" : void 0) || "unknown";
5750
+
5743
5751
  // src/utils/open-url.ts
5744
5752
  var nodePrefix = "node:";
5745
5753
  async function loadChildProcess() {
@@ -5912,6 +5920,7 @@ var ZapierApiClient = class {
5912
5920
  inputHeaders.forEach((value, key) => {
5913
5921
  mergedHeaders.set(key, value);
5914
5922
  });
5923
+ this.applyTelemetryHeaders(mergedHeaders);
5915
5924
  let retries = 0;
5916
5925
  while (true) {
5917
5926
  const response = await this.options.fetch(url, {
@@ -6281,6 +6290,22 @@ var ZapierApiClient = class {
6281
6290
  }
6282
6291
  return headers;
6283
6292
  }
6293
+ // Telemetry headers consumed by sdkapi's ApiRequestCompletedEvent.
6294
+ // Applied at the outbound layer (after caller-supplied header merging) so
6295
+ // they always reflect the SDK's actual identity and can't be spoofed via
6296
+ // options.headers.
6297
+ applyTelemetryHeaders(headers) {
6298
+ headers.set("x-zapier-sdk-version", SDK_VERSION);
6299
+ const sdkService = getZapierSdkService();
6300
+ if (sdkService) {
6301
+ headers.set("x-zapier-service", sdkService);
6302
+ }
6303
+ const callerPackage = this.options.callerPackage;
6304
+ if (callerPackage) {
6305
+ headers.set("x-zapier-sdk-package", callerPackage.name);
6306
+ headers.set("x-zapier-sdk-package-version", callerPackage.version);
6307
+ }
6308
+ }
6284
6309
  // Helper to perform HTTP requests with JSON handling
6285
6310
  async fetchJson(method, path, data, options = {}) {
6286
6311
  const headers = { ...options.headers };
@@ -6486,7 +6511,8 @@ var apiPlugin = (sdk) => {
6486
6511
  isInteractive,
6487
6512
  approvalTimeoutMs,
6488
6513
  maxApprovalRetries,
6489
- approvalMode
6514
+ approvalMode,
6515
+ callerPackage
6490
6516
  } = sdk.context.options;
6491
6517
  const api = createZapierApi({
6492
6518
  baseUrl,
@@ -6500,7 +6526,8 @@ var apiPlugin = (sdk) => {
6500
6526
  isInteractive,
6501
6527
  approvalTimeoutMs,
6502
6528
  maxApprovalRetries,
6503
- approvalMode
6529
+ approvalMode,
6530
+ callerPackage
6504
6531
  });
6505
6532
  return {
6506
6533
  context: {
@@ -7877,119 +7904,75 @@ var updateTableRecordsPlugin = (sdk) => {
7877
7904
  };
7878
7905
  };
7879
7906
 
7880
- // src/plugins/registry/index.ts
7881
- var registryPlugin = (sdk) => {
7882
- const metaKeys = Object.keys(sdk.context.meta || {});
7883
- const categoryDefinitions = {
7884
- account: {
7885
- title: "Account"
7886
- },
7887
- app: {
7888
- title: "App",
7889
- titlePlural: "Apps"
7890
- },
7891
- connection: {
7892
- title: "Connection"
7893
- },
7894
- action: {
7895
- title: "Action"
7896
- },
7897
- "client-credentials": {
7898
- title: "Client Credentials",
7899
- titlePlural: "Client Credentials"
7900
- },
7901
- table: {
7902
- title: "Table"
7903
- },
7904
- http: {
7905
- title: "HTTP Request"
7906
- },
7907
- utility: {
7908
- title: "Utility",
7909
- titlePlural: "Utilities"
7910
- },
7911
- other: {
7912
- title: "Other"
7913
- }
7914
- };
7915
- const functions = metaKeys.filter((key) => {
7907
+ // src/registry.ts
7908
+ var categoryDefinitions = {
7909
+ account: { title: "Account" },
7910
+ app: { title: "App", titlePlural: "Apps" },
7911
+ connection: { title: "Connection" },
7912
+ action: { title: "Action" },
7913
+ "client-credentials": {
7914
+ title: "Client Credentials",
7915
+ titlePlural: "Client Credentials"
7916
+ },
7917
+ table: { title: "Table" },
7918
+ http: { title: "HTTP Request" },
7919
+ utility: { title: "Utility", titlePlural: "Utilities" },
7920
+ other: { title: "Other" }
7921
+ };
7922
+ var knownCategories = Object.keys(categoryDefinitions);
7923
+ function buildRegistry({
7924
+ sdk,
7925
+ meta,
7926
+ packageFilter
7927
+ }) {
7928
+ const functions = Object.keys(meta).filter((key) => {
7916
7929
  const property = sdk[key];
7917
- if (typeof property === "function") {
7918
- return true;
7919
- }
7930
+ if (typeof property === "function") return true;
7920
7931
  const [rootKey] = key.split(".");
7921
7932
  const rootProperty = sdk[rootKey];
7922
- if (typeof rootProperty === "object" && rootProperty !== null) {
7923
- return true;
7924
- }
7925
- return false;
7933
+ return typeof rootProperty === "object" && rootProperty !== null;
7926
7934
  }).map((key) => {
7927
- const meta = sdk.context.meta[key];
7935
+ const m = meta[key];
7928
7936
  return {
7929
7937
  name: key,
7930
- description: meta.description,
7931
- type: meta.type,
7932
- itemType: meta.itemType,
7933
- returnType: meta.returnType,
7934
- inputSchema: meta.inputSchema,
7935
- inputParameters: meta.inputParameters,
7936
- outputSchema: meta.outputSchema,
7937
- categories: meta.categories || [],
7938
- resolvers: meta.resolvers,
7939
- formatter: meta.formatter,
7940
- packages: meta.packages,
7941
- // Auto-infer confirm: "delete" from type: "delete" (all deletes should confirm)
7942
- confirm: meta.confirm ?? (meta.type === "delete" ? "delete" : void 0),
7943
- deprecation: meta.deprecation,
7944
- aliases: meta.aliases,
7945
- supportsJsonOutput: meta.supportsJsonOutput ?? true
7938
+ description: m.description,
7939
+ type: m.type,
7940
+ itemType: m.itemType,
7941
+ returnType: m.returnType,
7942
+ inputSchema: m.inputSchema,
7943
+ inputParameters: m.inputParameters,
7944
+ outputSchema: m.outputSchema,
7945
+ categories: m.categories || [],
7946
+ resolvers: m.resolvers,
7947
+ formatter: m.formatter,
7948
+ packages: m.packages,
7949
+ confirm: m.confirm ?? (m.type === "delete" ? "delete" : void 0),
7950
+ deprecation: m.deprecation,
7951
+ aliases: m.aliases,
7952
+ supportsJsonOutput: m.supportsJsonOutput ?? true
7946
7953
  };
7947
7954
  }).sort((a, b) => a.name.localeCompare(b.name));
7948
- const knownCategories = Object.keys(categoryDefinitions);
7949
- const registryCache = /* @__PURE__ */ new Map();
7950
- function getRegistry(options) {
7951
- const packageFilter = options?.package;
7952
- const cacheKey = packageFilter || "__all__";
7953
- if (registryCache.has(cacheKey)) {
7954
- return registryCache.get(cacheKey);
7955
- }
7956
- const filteredFunctions = packageFilter ? functions.filter(
7957
- (f) => (
7958
- // Include if packages is undefined (belongs to all packages) or includes the specified package
7959
- !f.packages || f.packages.includes(packageFilter)
7960
- )
7961
- ) : functions;
7962
- const filteredCategories = knownCategories.sort((a, b) => {
7963
- if (a === "other") return 1;
7964
- if (b === "other") return -1;
7965
- const titleA = categoryDefinitions[a].title;
7966
- const titleB = categoryDefinitions[b].title;
7967
- return titleA.localeCompare(titleB);
7968
- }).map((categoryKey) => {
7969
- const categoryFunctions = filteredFunctions.filter(
7970
- (f) => f.categories.includes(categoryKey) || // If the category is "other" and the function is not in any other category, include it
7971
- categoryKey === "other" && !f.categories.some((c) => knownCategories.includes(c))
7972
- ).map((f) => f.name).sort();
7973
- const definition = categoryDefinitions[categoryKey];
7974
- const title = definition.title;
7975
- return {
7976
- key: categoryKey,
7977
- title,
7978
- titlePlural: definition.titlePlural ?? `${title}s`,
7979
- functions: categoryFunctions
7980
- };
7981
- }).filter((category) => category.functions.length > 0);
7982
- const result = {
7983
- functions: filteredFunctions,
7984
- categories: filteredCategories
7955
+ const filteredFunctions = packageFilter ? functions.filter((f) => !f.packages || f.packages.includes(packageFilter)) : functions;
7956
+ const filteredCategories = knownCategories.slice().sort((a, b) => {
7957
+ if (a === "other") return 1;
7958
+ if (b === "other") return -1;
7959
+ return categoryDefinitions[a].title.localeCompare(
7960
+ categoryDefinitions[b].title
7961
+ );
7962
+ }).map((categoryKey) => {
7963
+ const categoryFunctions = filteredFunctions.filter(
7964
+ (f) => f.categories.includes(categoryKey) || categoryKey === "other" && !f.categories.some((c) => knownCategories.includes(c))
7965
+ ).map((f) => f.name).sort();
7966
+ const definition = categoryDefinitions[categoryKey];
7967
+ return {
7968
+ key: categoryKey,
7969
+ title: definition.title,
7970
+ titlePlural: definition.titlePlural ?? `${definition.title}s`,
7971
+ functions: categoryFunctions
7985
7972
  };
7986
- registryCache.set(cacheKey, result);
7987
- return result;
7988
- }
7989
- return {
7990
- getRegistry
7991
- };
7992
- };
7973
+ }).filter((category) => category.functions.length > 0);
7974
+ return { functions: filteredFunctions, categories: filteredCategories };
7975
+ }
7993
7976
 
7994
7977
  // src/plugins/deprecated/authentications.ts
7995
7978
  var listAuthenticationsPlugin = (sdk) => ({
@@ -8533,7 +8516,6 @@ function getCpuTime() {
8533
8516
  }
8534
8517
 
8535
8518
  // src/plugins/eventEmission/builders.ts
8536
- var SDK_VERSION = globalThis.process?.env?.SDK_VERSION || "unknown";
8537
8519
  function createBaseEvent(context = {}) {
8538
8520
  return {
8539
8521
  event_id: generateEventId(),
@@ -8990,13 +8972,28 @@ function createSdk() {
8990
8972
  }
8991
8973
  function buildSdk(properties, context) {
8992
8974
  const frozenContext = Object.freeze(context);
8993
- return {
8975
+ const registryCache = /* @__PURE__ */ new Map();
8976
+ const sdk = {
8994
8977
  ...properties,
8995
8978
  get context() {
8996
8979
  return frozenContext;
8997
8980
  },
8998
8981
  getContext: () => frozenContext,
8999
8982
  // runtime compat shim, not in types
8983
+ getRegistry(options) {
8984
+ const cacheKey = options?.package ?? "__all__";
8985
+ if (!registryCache.has(cacheKey)) {
8986
+ registryCache.set(
8987
+ cacheKey,
8988
+ buildRegistry({
8989
+ sdk,
8990
+ meta: frozenContext.meta,
8991
+ packageFilter: options?.package
8992
+ })
8993
+ );
8994
+ }
8995
+ return registryCache.get(cacheKey);
8996
+ },
9000
8997
  addPlugin(plugin) {
9001
8998
  const pluginResult = plugin({
9002
8999
  ...properties,
@@ -9027,12 +9024,16 @@ function buildSdk(properties, context) {
9027
9024
  );
9028
9025
  }
9029
9026
  };
9027
+ return sdk;
9030
9028
  }
9031
9029
  function createZapierSdkWithoutRegistry(options = {}) {
9032
- return createSdk().addPlugin(createOptionsPlugin(options)).addPlugin(eventEmissionPlugin).addPlugin(apiPlugin).addPlugin(manifestPlugin).addPlugin(capabilitiesPlugin).addPlugin(connectionsPlugin).addPlugin(listAppsPlugin).addPlugin(getAppPlugin).addPlugin(listActionsPlugin).addPlugin(getActionPlugin).addPlugin(listInputFieldsPlugin).addPlugin(getInputFieldsSchemaPlugin).addPlugin(listInputFieldChoicesPlugin).addPlugin(runActionPlugin).addPlugin(listConnectionsPlugin).addPlugin(getConnectionPlugin).addPlugin(findFirstConnectionPlugin).addPlugin(findUniqueConnectionPlugin).addPlugin(listAuthenticationsPlugin).addPlugin(getAuthenticationPlugin).addPlugin(findFirstAuthenticationPlugin).addPlugin(findUniqueAuthenticationPlugin).addPlugin(listClientCredentialsPlugin).addPlugin(createClientCredentialsPlugin).addPlugin(deleteClientCredentialsPlugin).addPlugin(fetchPlugin).addPlugin(requestPlugin).addPlugin(listTablesPlugin).addPlugin(getTablePlugin).addPlugin(deleteTablePlugin).addPlugin(createTablePlugin).addPlugin(listTableFieldsPlugin).addPlugin(createTableFieldsPlugin).addPlugin(deleteTableFieldsPlugin).addPlugin(getTableRecordPlugin).addPlugin(listTableRecordsPlugin).addPlugin(createTableRecordsPlugin).addPlugin(deleteTableRecordsPlugin).addPlugin(updateTableRecordsPlugin).addPlugin(appsPlugin).addPlugin(getProfilePlugin);
9030
+ logDeprecation(
9031
+ "createZapierSdkWithoutRegistry is deprecated; use createZapierSdk instead. getRegistry is now available on every sdk."
9032
+ );
9033
+ return createZapierSdk(options);
9033
9034
  }
9034
9035
  function createZapierSdk(options = {}) {
9035
- return createZapierSdkWithoutRegistry(options).addPlugin(registryPlugin);
9036
+ return createSdk().addPlugin(createOptionsPlugin(options)).addPlugin(eventEmissionPlugin).addPlugin(apiPlugin).addPlugin(manifestPlugin).addPlugin(capabilitiesPlugin).addPlugin(connectionsPlugin).addPlugin(listAppsPlugin).addPlugin(getAppPlugin).addPlugin(listActionsPlugin).addPlugin(getActionPlugin).addPlugin(listInputFieldsPlugin).addPlugin(getInputFieldsSchemaPlugin).addPlugin(listInputFieldChoicesPlugin).addPlugin(runActionPlugin).addPlugin(listConnectionsPlugin).addPlugin(getConnectionPlugin).addPlugin(findFirstConnectionPlugin).addPlugin(findUniqueConnectionPlugin).addPlugin(listAuthenticationsPlugin).addPlugin(getAuthenticationPlugin).addPlugin(findFirstAuthenticationPlugin).addPlugin(findUniqueAuthenticationPlugin).addPlugin(listClientCredentialsPlugin).addPlugin(createClientCredentialsPlugin).addPlugin(deleteClientCredentialsPlugin).addPlugin(fetchPlugin).addPlugin(requestPlugin).addPlugin(listTablesPlugin).addPlugin(getTablePlugin).addPlugin(deleteTablePlugin).addPlugin(createTablePlugin).addPlugin(listTableFieldsPlugin).addPlugin(createTableFieldsPlugin).addPlugin(deleteTableFieldsPlugin).addPlugin(getTableRecordPlugin).addPlugin(listTableRecordsPlugin).addPlugin(createTableRecordsPlugin).addPlugin(deleteTableRecordsPlugin).addPlugin(updateTableRecordsPlugin).addPlugin(appsPlugin).addPlugin(getProfilePlugin);
9036
9037
  }
9037
9038
  var BaseSdkOptionsSchema = zod.z.object({
9038
9039
  credentials: CredentialsSchema.optional().describe(
@@ -9068,6 +9069,7 @@ var BaseSdkOptionsSchema = zod.z.object({
9068
9069
  onEvent: zod.z.custom().optional().meta({ internal: true }),
9069
9070
  fetch: zod.z.custom().optional().meta({ internal: true }),
9070
9071
  eventEmission: zod.z.custom().optional().meta({ internal: true }),
9072
+ callerPackage: zod.z.custom().optional().meta({ internal: true }),
9071
9073
  canIncludeSharedConnections: zod.z.boolean().optional().describe("Allow listing shared connections."),
9072
9074
  canIncludeSharedTables: zod.z.boolean().optional().describe("Allow listing shared tables."),
9073
9075
  canDeleteTables: zod.z.boolean().optional().describe("Allow deleting tables."),
@@ -9076,6 +9078,14 @@ var BaseSdkOptionsSchema = zod.z.object({
9076
9078
  // Use credentials instead
9077
9079
  });
9078
9080
 
9081
+ // src/plugins/registry/index.ts
9082
+ var registryPlugin = () => {
9083
+ logDeprecation(
9084
+ "registryPlugin is deprecated and a no-op; getRegistry is now built into every sdk. Remove .addPlugin(registryPlugin)."
9085
+ );
9086
+ return {};
9087
+ };
9088
+
9079
9089
  exports.ActionKeyPropertySchema = ActionKeyPropertySchema;
9080
9090
  exports.ActionPropertySchema = ActionPropertySchema;
9081
9091
  exports.ActionTimeoutMsPropertySchema = ActionTimeoutMsPropertySchema;
@@ -9194,6 +9204,7 @@ exports.getTableRecordPlugin = getTableRecordPlugin;
9194
9204
  exports.getTokenFromCliLogin = getTokenFromCliLogin;
9195
9205
  exports.getZapierApprovalMode = getZapierApprovalMode;
9196
9206
  exports.getZapierIsInteractive = getZapierIsInteractive;
9207
+ exports.getZapierSdkService = getZapierSdkService;
9197
9208
  exports.injectCliLogin = injectCliLogin;
9198
9209
  exports.inputFieldKeyResolver = inputFieldKeyResolver;
9199
9210
  exports.inputsAllOptionalResolver = inputsAllOptionalResolver;