@zapier/zapier-sdk 0.37.0 → 0.38.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +56 -49
  3. package/dist/index.cjs +145 -41
  4. package/dist/index.d.mts +38 -7
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.mjs +145 -42
  9. package/dist/plugins/capabilities/index.d.ts +22 -0
  10. package/dist/plugins/capabilities/index.d.ts.map +1 -0
  11. package/dist/plugins/capabilities/index.js +76 -0
  12. package/dist/plugins/findFirstConnection/schemas.d.ts +1 -0
  13. package/dist/plugins/findFirstConnection/schemas.d.ts.map +1 -1
  14. package/dist/plugins/findUniqueConnection/schemas.d.ts +1 -0
  15. package/dist/plugins/findUniqueConnection/schemas.d.ts.map +1 -1
  16. package/dist/plugins/listConnections/index.d.ts +2 -1
  17. package/dist/plugins/listConnections/index.d.ts.map +1 -1
  18. package/dist/plugins/listConnections/index.js +10 -3
  19. package/dist/plugins/listConnections/schemas.d.ts +1 -0
  20. package/dist/plugins/listConnections/schemas.d.ts.map +1 -1
  21. package/dist/plugins/listConnections/schemas.js +5 -0
  22. package/dist/plugins/manifest/index.d.ts +1 -0
  23. package/dist/plugins/manifest/index.d.ts.map +1 -1
  24. package/dist/plugins/manifest/index.js +1 -0
  25. package/dist/plugins/manifest/schemas.d.ts +9 -0
  26. package/dist/plugins/manifest/schemas.d.ts.map +1 -1
  27. package/dist/plugins/manifest/schemas.js +9 -0
  28. package/dist/plugins/tables/deleteTable/index.d.ts +2 -1
  29. package/dist/plugins/tables/deleteTable/index.d.ts.map +1 -1
  30. package/dist/plugins/tables/deleteTable/index.js +1 -0
  31. package/dist/plugins/tables/listTables/index.d.ts +2 -1
  32. package/dist/plugins/tables/listTables/index.d.ts.map +1 -1
  33. package/dist/plugins/tables/listTables/index.js +14 -6
  34. package/dist/plugins/tables/listTables/schemas.d.ts +1 -0
  35. package/dist/plugins/tables/listTables/schemas.d.ts.map +1 -1
  36. package/dist/plugins/tables/listTables/schemas.js +5 -1
  37. package/dist/resolvers/connectionId.d.ts.map +1 -1
  38. package/dist/resolvers/connectionId.js +13 -23
  39. package/dist/resolvers/tableId.d.ts.map +1 -1
  40. package/dist/resolvers/tableId.js +17 -6
  41. package/dist/sdk.d.ts +3 -2
  42. package/dist/sdk.d.ts.map +1 -1
  43. package/dist/sdk.js +3 -0
  44. package/dist/types/sdk.d.ts +3 -0
  45. package/dist/types/sdk.d.ts.map +1 -1
  46. package/dist/types/sdk.js +9 -0
  47. package/dist/utils/pagination-utils.d.ts +6 -0
  48. package/dist/utils/pagination-utils.d.ts.map +1 -1
  49. package/dist/utils/pagination-utils.js +8 -0
  50. package/dist/utils/schema-utils.d.ts +6 -1
  51. package/dist/utils/schema-utils.d.ts.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ import { ZapierConfigurationError } from "../../types/errors";
2
+ function toDescription(key) {
3
+ // "canDeleteTables" -> "To delete tables"
4
+ const words = key
5
+ .replace(/^can/, "")
6
+ .replace(/([A-Z])/g, " $1")
7
+ .trim()
8
+ .toLowerCase();
9
+ return `To ${words}`;
10
+ }
11
+ function toEnvVar(key) {
12
+ return "ZAPIER_" + key.replace(/([A-Z])/g, "_$1").toUpperCase();
13
+ }
14
+ function toCliFlag(key) {
15
+ return "--" + key.replace(/([A-Z])/g, "-$1").toLowerCase();
16
+ }
17
+ export function buildCapabilityMessage(key) {
18
+ return [
19
+ `${toDescription(key)}, use ${toCliFlag(key)} in the CLI,`,
20
+ `set ${key}: true in SDK options or .zapierrc,`,
21
+ `or set ${toEnvVar(key)}=true.`,
22
+ ].join(" ");
23
+ }
24
+ const GATED_FLAGS = [
25
+ "canIncludeSharedConnections",
26
+ "canIncludeSharedTables",
27
+ "canDeleteTables",
28
+ ];
29
+ function isEnabledByEnv(key) {
30
+ if (typeof process === "undefined")
31
+ return undefined;
32
+ const value = process.env[toEnvVar(key)];
33
+ if (value === undefined)
34
+ return undefined;
35
+ if (value === "true" || value === "1")
36
+ return true;
37
+ if (value === "false" || value === "0")
38
+ return false;
39
+ return undefined;
40
+ }
41
+ export const capabilitiesPlugin = ({ context }) => {
42
+ const options = context.options ?? {};
43
+ let cached;
44
+ /**
45
+ * Resolve each gated flag to true/false by checking (in priority order):
46
+ * SDK options, environment variables, and .zapierrc manifest.
47
+ * Results are cached after the first call.
48
+ */
49
+ async function resolveFlags() {
50
+ if (cached)
51
+ return cached;
52
+ const manifest = await context.getResolvedManifest();
53
+ cached = {};
54
+ for (const flag of GATED_FLAGS) {
55
+ cached[flag] = Boolean(options[flag] ??
56
+ isEnabledByEnv(flag) ??
57
+ manifest?.[flag]);
58
+ }
59
+ return cached;
60
+ }
61
+ return {
62
+ context: {
63
+ checkCapability: async (key) => {
64
+ const flags = await resolveFlags();
65
+ if (flags[key])
66
+ return;
67
+ throw new ZapierConfigurationError(buildCapabilityMessage(key) +
68
+ " (If you are an AI agent, you MUST NOT retry. Ask the user if they want to enable this.)", { configType: key });
69
+ },
70
+ hasCapability: async (key) => {
71
+ const flags = await resolveFlags();
72
+ return flags[key];
73
+ },
74
+ },
75
+ };
76
+ };
@@ -10,6 +10,7 @@ export declare const FindFirstConnectionSchema: z.ZodObject<{
10
10
  owner: z.ZodOptional<z.ZodString>;
11
11
  authenticationIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
12
  accountId: z.ZodOptional<z.ZodString>;
13
+ includeShared: z.ZodOptional<z.ZodBoolean>;
13
14
  isExpired: z.ZodOptional<z.ZodBoolean>;
14
15
  }, z.core.$strip>;
15
16
  export type FindFirstConnectionOptions = z.infer<typeof FindFirstConnectionSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/findFirstConnection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAKwB,CAAC;AAG/D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,yBAAyB,CACjC,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,8BAA8B;IAC7C,mBAAmB,EAAE,CACnB,OAAO,CAAC,EAAE,0BAA0B,KACjC,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/findFirstConnection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,yBAAyB;;;;;;;;;;;iBAKwB,CAAC;AAG/D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,yBAAyB,CACjC,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,8BAA8B;IAC7C,mBAAmB,EAAE,CACnB,OAAO,CAAC,EAAE,0BAA0B,KACjC,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC/C"}
@@ -10,6 +10,7 @@ export declare const FindUniqueConnectionSchema: z.ZodObject<{
10
10
  owner: z.ZodOptional<z.ZodString>;
11
11
  authenticationIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
12
12
  accountId: z.ZodOptional<z.ZodString>;
13
+ includeShared: z.ZodOptional<z.ZodBoolean>;
13
14
  isExpired: z.ZodOptional<z.ZodBoolean>;
14
15
  }, z.core.$strip>;
15
16
  export type FindUniqueConnectionOptions = z.infer<typeof FindUniqueConnectionSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/findUniqueConnection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAKsB,CAAC;AAG9D,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,0BAA0B,CAClC,CAAC;AAGF,MAAM,MAAM,yBAAyB,GACjC,yBAAyB,GACzB,cAAc,GACd,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,+BAA+B;IAC9C,oBAAoB,EAAE,CACpB,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/findUniqueConnection/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAKsB,CAAC;AAG9D,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,0BAA0B,CAClC,CAAC;AAGF,MAAM,MAAM,yBAAyB,GACjC,yBAAyB,GACzB,cAAc,GACd,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,+BAA+B;IAC9C,oBAAoB,EAAE,CACpB,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;CACxC"}
@@ -5,6 +5,7 @@ import { ListConnectionsQuerySchema, type ListConnectionsOptions, type ListConne
5
5
  import type { GetVersionedImplementationId } from "../manifest/schemas";
6
6
  import type { ManifestPluginProvides } from "../manifest";
7
7
  import type { EventEmissionContext } from "../eventEmission";
8
+ import type { CapabilitiesContext } from "../capabilities";
8
9
  export interface ListConnectionsPluginProvides {
9
10
  listConnections: (options?: ListConnectionsOptions) => Promise<ListConnectionsPage> & AsyncIterable<ListConnectionsPage> & {
10
11
  items(): AsyncIterable<ConnectionItem>;
@@ -20,5 +21,5 @@ export interface ListConnectionsPluginProvides {
20
21
  export declare const listConnectionsPlugin: Plugin<GetSdkType<ManifestPluginProvides>, {
21
22
  api: ApiClient;
22
23
  getVersionedImplementationId: GetVersionedImplementationId;
23
- } & EventEmissionContext, ListConnectionsPluginProvides>;
24
+ } & EventEmissionContext & CapabilitiesContext, ListConnectionsPluginProvides>;
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/listConnections/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAKnB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAM7D,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,CACf,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,mBAAmB,CAAC,GAC/B,aAAa,CAAC,mBAAmB,CAAC,GAAG;QACnC,KAAK,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;KACxC,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,eAAe,EAAE;gBACf,WAAW,EAAE,OAAO,0BAA0B,CAAC;aAChD,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,UAAU,CAAC,sBAAsB,CAAC,EAClC;IACE,GAAG,EAAE,SAAS,CAAC;IACf,4BAA4B,EAAE,4BAA4B,CAAC;CAC5D,GAAG,oBAAoB,EACxB,6BAA6B,CA+G9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/listConnections/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAKnB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAQ7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,CACf,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,mBAAmB,CAAC,GAC/B,aAAa,CAAC,mBAAmB,CAAC,GAAG;QACnC,KAAK,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;KACxC,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,eAAe,EAAE;gBACf,WAAW,EAAE,OAAO,0BAA0B,CAAC;aAChD,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,UAAU,CAAC,sBAAsB,CAAC,EAClC;IACE,GAAG,EAAE,SAAS,CAAC;IACf,4BAA4B,EAAE,4BAA4B,CAAC;CAC5D,GAAG,oBAAoB,GACtB,mBAAmB,EACrB,6BAA6B,CAwH9B,CAAC"}
@@ -6,10 +6,13 @@ import { appKeyResolver } from "../../resolvers";
6
6
  import { ConnectionItemSchema } from "../../schemas/Connection";
7
7
  import { createTelemetryCallback } from "../../utils/telemetry-utils";
8
8
  import { stripPageSuffix } from "../../utils/string-utils";
9
- import { ZapierAuthenticationError } from "../../types/errors";
9
+ import { ZapierAuthenticationError, ZapierValidationError, } from "../../types/errors";
10
10
  import { setMethodMetadata } from "../../utils/telemetry-context";
11
11
  export const listConnectionsPlugin = ({ context }) => {
12
12
  async function listConnectionsPage(options) {
13
+ if (options.includeShared) {
14
+ await context.checkCapability("canIncludeSharedConnections");
15
+ }
13
16
  const { api, getVersionedImplementationId } = context;
14
17
  const searchParams = {};
15
18
  if (options.pageSize !== undefined) {
@@ -44,8 +47,12 @@ export const listConnectionsPlugin = ({ context }) => {
44
47
  if (options.accountId) {
45
48
  searchParams.account_id = options.accountId;
46
49
  }
47
- if (options.owner) {
48
- searchParams.owner = options.owner;
50
+ if (options.owner && options.owner !== "me" && !options.includeShared) {
51
+ throw new ZapierValidationError('The "owner" option requires "includeShared" to be true. Without includeShared, only your own connections are returned.');
52
+ }
53
+ const owner = options.includeShared ? options.owner : "me";
54
+ if (owner) {
55
+ searchParams.owner = owner;
49
56
  }
50
57
  if (options.isExpired !== undefined) {
51
58
  searchParams.is_expired = options.isExpired.toString();
@@ -12,6 +12,7 @@ export declare const ListConnectionsQuerySchema: z.ZodObject<{
12
12
  connectionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
13
  authenticationIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
14
  accountId: z.ZodOptional<z.ZodString>;
15
+ includeShared: z.ZodOptional<z.ZodBoolean>;
15
16
  isExpired: z.ZodOptional<z.ZodBoolean>;
16
17
  pageSize: z.ZodOptional<z.ZodNumber>;
17
18
  maxItems: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/listConnections/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAErF,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;iBA6C0B,CAAC;AAGlE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,cAAc,GACd,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,oBAAoB,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;CAC/E"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/listConnections/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAErF,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAoD0B,CAAC;AAGlE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,oBAAoB,GAC5B,yBAAyB,GACzB,cAAc,GACd,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,oBAAoB,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;CAC/E"}
@@ -25,6 +25,11 @@ export const ListConnectionsQuerySchema = ListConnectionsQueryBase.omit({
25
25
  .describe("List of authentication IDs to filter by (deprecated, use connectionIds)"),
26
26
  // camelCase account ID
27
27
  accountId: z.string().optional().describe("Account ID to filter by"),
28
+ // Include shared connections (overrides default owner=me filter)
29
+ includeShared: z
30
+ .boolean()
31
+ .optional()
32
+ .describe("Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections."),
28
33
  // camelCase isExpired
29
34
  isExpired: z.boolean().optional().describe("Filter by expired status"),
30
35
  // Override pageSize to make optional
@@ -30,6 +30,7 @@ export interface AddActionEntryResult {
30
30
  }
31
31
  export interface ManifestPluginProvides {
32
32
  context: {
33
+ getResolvedManifest: () => Promise<Manifest | null>;
33
34
  getVersionedImplementationId: GetVersionedImplementationId;
34
35
  resolveAppKeys: ResolveAppKeys;
35
36
  getManifestConnections: () => Promise<ConnectionsMap | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/manifest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/manifest/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAC5B,QAAQ,EACR,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAgB3C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE;QACP,mBAAmB,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACpD,4BAA4B,EAAE,4BAA4B,CAAC;QAC3D,cAAc,EAAE,cAAc,CAAC;QAC/B,sBAAsB,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAC7D,mBAAmB,EAAE,CACnB,OAAO,EAAE,0BAA0B,KAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACxC,cAAc,EAAE,CACd,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACnC,eAAe,EAAE,CAAC,OAAO,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,QAAQ,CAAC;SACpB,KAAK,WAAW,GAAG,IAAI,CAAC;QACzB,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE;YAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5C,iBAAiB,EAAE,CAAC,OAAO,EAAE;YAC3B,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE,OAAO,CAAC;SACrB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,cAAc,EAAE,CAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,QAAQ,CAAA;SAAE,KAAK,OAAO,CAAC;QAC3E,iBAAiB,EAAE,CAAC,OAAO,EAAE;YAC3B,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,QAAQ,CAAC;SACpB,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;QACrC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;KACtE,CAAC;CACH;AA6BD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAoB1B;AAcD;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,MAAM,EACN,GAAG,GACJ,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,SAAS,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClB;AAoCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;CACpB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,IAAI,CA6BjC;AA8GD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtE,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,EAAE,EAAE,sBAAsB;AAC1B;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,EAClB,sBAAsB,CA2PvB,CAAC"}
@@ -369,6 +369,7 @@ export const manifestPlugin = (params) => {
369
369
  };
370
370
  return {
371
371
  context: {
372
+ getResolvedManifest,
372
373
  getVersionedImplementationId,
373
374
  resolveAppKeys: async ({ appKeys }) => resolveAppKeys({
374
375
  appKeys,
@@ -27,6 +27,9 @@ export type ActionEntry = z.infer<typeof ActionEntrySchema>;
27
27
  export type Manifest = {
28
28
  apps?: Record<string, ManifestEntry>;
29
29
  actions?: Record<string, ActionEntry>;
30
+ canIncludeSharedConnections?: boolean;
31
+ canIncludeSharedTables?: boolean;
32
+ canDeleteTables?: boolean;
30
33
  connections?: ConnectionsMap;
31
34
  };
32
35
  export type ResolveAppKeys = ({ appKeys, }: {
@@ -50,6 +53,9 @@ export declare const ManifestSchema: z.ZodObject<{
50
53
  schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
51
54
  createdAt: z.ZodString;
52
55
  }, z.core.$strip>>>;
56
+ canIncludeSharedConnections: z.ZodOptional<z.ZodBoolean>;
57
+ canIncludeSharedTables: z.ZodOptional<z.ZodBoolean>;
58
+ canDeleteTables: z.ZodOptional<z.ZodBoolean>;
53
59
  connections: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
54
60
  connectionId: z.ZodNumber;
55
61
  }, z.core.$strip>>>;
@@ -71,6 +77,9 @@ export declare const ManifestPluginOptionsSchema: z.ZodObject<{
71
77
  schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
72
78
  createdAt: z.ZodString;
73
79
  }, z.core.$strip>>>;
80
+ canIncludeSharedConnections: z.ZodOptional<z.ZodBoolean>;
81
+ canIncludeSharedTables: z.ZodOptional<z.ZodBoolean>;
82
+ canDeleteTables: z.ZodOptional<z.ZodBoolean>;
74
83
  connections: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
75
84
  connectionId: z.ZodNumber;
76
85
  }, z.core.$strip>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/manifest/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,mBAAmB,EAAG,WAAoB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACzC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAmB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,EAC5B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;iBAyBxB,CAAC;AAEJ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;iBAGtC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/manifest/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,mBAAmB,EAAG,WAAoB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACzC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAmB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,EAC5B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBAkCxB,CAAC;AAEJ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;iBAGtC,CAAC"}
@@ -41,6 +41,15 @@ export const ManifestSchema = z
41
41
  .record(z.string(), ActionEntrySchema)
42
42
  .optional()
43
43
  .describe("Saved action configurations with their schemas"),
44
+ canIncludeSharedConnections: z
45
+ .boolean()
46
+ .optional()
47
+ .describe("Allow listing shared connections"),
48
+ canIncludeSharedTables: z
49
+ .boolean()
50
+ .optional()
51
+ .describe("Allow listing shared tables"),
52
+ canDeleteTables: z.boolean().optional().describe("Allow deleting tables"),
44
53
  connections: ConnectionsMapSchema.optional().describe("Named connections map. Keys are connection names, values contain a connectionId."),
45
54
  })
46
55
  .describe("Manifest for app version locking, action configurations, and named connections");
@@ -2,6 +2,7 @@ import type { Plugin } from "../../../types/plugin";
2
2
  import type { ApiClient } from "../../../api";
3
3
  import { DeleteTableOptionsSchema, type DeleteTableOptions, type DeleteTableResult } from "./schemas";
4
4
  import type { EventEmissionContext } from "../../eventEmission";
5
+ import type { CapabilitiesContext } from "../../capabilities";
5
6
  export interface DeleteTablePluginProvides {
6
7
  deleteTable: (options: DeleteTableOptions) => Promise<DeleteTableResult>;
7
8
  context: {
@@ -14,5 +15,5 @@ export interface DeleteTablePluginProvides {
14
15
  }
15
16
  export declare const deleteTablePlugin: Plugin<{}, {
16
17
  api: ApiClient;
17
- } & EventEmissionContext, DeleteTablePluginProvides>;
18
+ } & EventEmissionContext & CapabilitiesContext, DeleteTablePluginProvides>;
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/deleteTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,WAAW,EAAE,OAAO,wBAAwB,CAAC;aAC9C,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,EAAE,EACF;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,oBAAoB,EACzC,yBAAyB,CAyD1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/deleteTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzE,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,WAAW,EAAE,OAAO,wBAAwB,CAAC;aAC9C,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,EAAE,EACF;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,oBAAoB,GAAG,mBAAmB,EAC/D,yBAAyB,CA0D1B,CAAC"}
@@ -5,6 +5,7 @@ import { ZapierAuthenticationError } from "../../../types/errors";
5
5
  import { tableIdResolver } from "../../../resolvers";
6
6
  export const deleteTablePlugin = ({ context }) => {
7
7
  async function deleteTable(options) {
8
+ await context.checkCapability("canDeleteTables");
8
9
  const { api } = context;
9
10
  await api.delete(`/tables/api/v1/tables/${options.tableId}`, undefined, {
10
11
  customErrorHandler: ({ status }) => {
@@ -2,6 +2,7 @@ import type { GetContextType, Plugin } from "../../../types/plugin";
2
2
  import { ListTablesOptionsSchema, type ListTablesOptions, type TableItem } from "./schemas";
3
3
  import type { ApiPluginProvides } from "../../api";
4
4
  import type { EventEmissionContext } from "../../eventEmission";
5
+ import type { CapabilitiesContext } from "../../capabilities";
5
6
  export interface ListTablesPluginProvides {
6
7
  listTables: (options?: ListTablesOptions) => Promise<{
7
8
  data: TableItem[];
@@ -20,5 +21,5 @@ export interface ListTablesPluginProvides {
20
21
  };
21
22
  };
22
23
  }
23
- export declare const listTablesPlugin: Plugin<{}, GetContextType<ApiPluginProvides> & EventEmissionContext, ListTablesPluginProvides>;
24
+ export declare const listTablesPlugin: Plugin<{}, GetContextType<ApiPluginProvides> & EventEmissionContext & CapabilitiesContext, ListTablesPluginProvides>;
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/listTables/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAEL,uBAAuB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAsBhE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC;QACnD,IAAI,EAAE,SAAS,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,GACA,aAAa,CAAC;QAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QAC1D,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;KACnC,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,WAAW,EAAE,OAAO,uBAAuB,CAAC;aAC7C,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,EAAE,EACF,cAAc,CAAC,iBAAiB,CAAC,GAAG,oBAAoB,EACxD,wBAAwB,CAsFzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/listTables/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAEL,uBAAuB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmB9D,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC;QACnD,IAAI,EAAE,SAAS,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,GACA,aAAa,CAAC;QAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QAC1D,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;KACnC,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,WAAW,EAAE,OAAO,uBAAuB,CAAC;aAC7C,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,EAAE,EACF,cAAc,CAAC,iBAAiB,CAAC,GAC/B,oBAAoB,GACpB,mBAAmB,EACrB,wBAAwB,CAiGzB,CAAC"}
@@ -2,7 +2,7 @@ import { createPaginatedFunction } from "../../../utils/function-utils";
2
2
  import { ListTablesApiResponseSchema, ListTablesOptionsSchema, TableItemSchema, } from "./schemas";
3
3
  import { createTelemetryCallback } from "../../../utils/telemetry-utils";
4
4
  import { stripPageSuffix } from "../../../utils/string-utils";
5
- import { ZapierAuthenticationError } from "../../../types/errors";
5
+ import { ZapierAuthenticationError, ZapierValidationError, } from "../../../types/errors";
6
6
  import { transformTableItem } from "../utils";
7
7
  import { DEFAULT_PAGE_SIZE } from "../../../constants";
8
8
  function extractNextCursor(links) {
@@ -20,6 +20,9 @@ function extractNextCursor(links) {
20
20
  }
21
21
  export const listTablesPlugin = ({ context }) => {
22
22
  async function listTablesPage(options) {
23
+ if (options.includeShared) {
24
+ await context.checkCapability("canIncludeSharedTables");
25
+ }
23
26
  const { api } = context;
24
27
  const searchParams = {};
25
28
  if (options.pageSize !== undefined) {
@@ -34,15 +37,20 @@ export const listTablesPlugin = ({ context }) => {
34
37
  if (options?.search) {
35
38
  searchParams.q = options.search;
36
39
  }
37
- if (options?.owner) {
38
- let ownerId = options.owner;
39
- if (ownerId === "me") {
40
+ if (options?.owner && options.owner !== "me" && !options.includeShared) {
41
+ throw new ZapierValidationError('The "owner" option requires "includeShared" to be true. Without includeShared, only your own tables are returned.');
42
+ }
43
+ const owner = options.includeShared ? options.owner : "me";
44
+ if (owner) {
45
+ if (owner === "me") {
40
46
  const profile = await api.get("/zapier/api/v4/profile/", {
41
47
  authRequired: true,
42
48
  });
43
- ownerId = String(profile.id);
49
+ searchParams.owner_customuser_id = String(profile.id);
50
+ }
51
+ else {
52
+ searchParams.owner_customuser_id = owner;
44
53
  }
45
- searchParams.owner_customuser_id = ownerId;
46
54
  }
47
55
  if (options.cursor) {
48
56
  searchParams.offset = options.cursor;
@@ -62,6 +62,7 @@ export declare const ListTablesOptionsSchema: z.ZodObject<{
62
62
  }>>;
63
63
  search: z.ZodOptional<z.ZodString>;
64
64
  owner: z.ZodOptional<z.ZodString>;
65
+ includeShared: z.ZodOptional<z.ZodBoolean>;
65
66
  pageSize: z.ZodOptional<z.ZodNumber>;
66
67
  maxItems: z.ZodOptional<z.ZodNumber>;
67
68
  cursor: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/listTables/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAgC0B,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,eAAe,GACvB,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tables/listTables/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;iBAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAsC0B,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,MAAM,eAAe,GACvB,yBAAyB,GACzB,cAAc,GACd,qBAAqB,GACrB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;CAChE"}
@@ -47,7 +47,11 @@ export const ListTablesOptionsSchema = z
47
47
  owner: z
48
48
  .string()
49
49
  .optional()
50
- .describe('Filter by table owner. Use "me" for the current user, or a numeric user ID.'),
50
+ .describe('Filter by table owner. Use "me" for the current user, or a numeric user ID. Requires includeShared to be true.'),
51
+ includeShared: z
52
+ .boolean()
53
+ .optional()
54
+ .describe("Include tables shared with you. Without this, only your own tables are returned."),
51
55
  pageSize: z
52
56
  .number()
53
57
  .min(1)
@@ -1 +1 @@
1
- {"version":3,"file":"connectionId.d.ts","sourceRoot":"","sources":["../../src/resolvers/connectionId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,oBAAoB,GAAG,eAAe,CACzC,cAAc,EACd;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CACpB,CAAC;AAoDF,eAAO,MAAM,oBAAoB,EAAE,oBAiBlC,CAAC;AAIF,eAAO,MAAM,2BAA2B,EAAE,oBAKzC,CAAC"}
1
+ {"version":3,"file":"connectionId.d.ts","sourceRoot":"","sources":["../../src/resolvers/connectionId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,KAAK,oBAAoB,GAAG,eAAe,CACzC,cAAc,EACd;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CACpB,CAAC;AAoCF,eAAO,MAAM,oBAAoB,EAAE,oBAkBlC,CAAC;AAIF,eAAO,MAAM,2BAA2B,EAAE,oBAMzC,CAAC"}
@@ -1,17 +1,11 @@
1
+ import { toIterable } from "../utils/pagination-utils";
1
2
  async function fetchConnections(sdk, resolvedParams) {
2
- const listOptions = {
3
- maxItems: 1000,
4
- };
5
- if (resolvedParams.appKey) {
6
- listOptions.appKey = resolvedParams.appKey;
7
- }
8
- const myConnections = await sdk.listConnections({
9
- ...listOptions,
10
- owner: "me",
11
- });
12
- const allConnections = await sdk.listConnections(listOptions);
13
- const otherConnections = allConnections.data.filter((connection) => !myConnections.data.some((myConnection) => myConnection.id === connection.id));
14
- return [...myConnections.data, ...otherConnections];
3
+ const context = sdk.getContext();
4
+ const includeShared = await context.hasCapability?.("canIncludeSharedConnections");
5
+ return toIterable(sdk.listConnections({
6
+ appKey: resolvedParams.appKey,
7
+ includeShared: includeShared || undefined,
8
+ }));
15
9
  }
16
10
  function promptForConnection(connections, params) {
17
11
  return {
@@ -20,21 +14,16 @@ function promptForConnection(connections, params) {
20
14
  message: params.appKey
21
15
  ? `Select connection for ${params.appKey}:`
22
16
  : "Select connection:",
23
- choices: [
24
- ...connections.map((connection) => ({
25
- name: `${connection.title || connection.label || "Connection"} (ID: ${connection.id})`,
26
- value: connection.id,
27
- })),
28
- {
29
- name: "-> Skip connection (may fail)",
30
- value: null,
31
- },
32
- ],
17
+ choices: connections.map((connection) => ({
18
+ name: `${connection.title || connection.label || "Connection"} (ID: ${connection.id})`,
19
+ value: connection.id,
20
+ })),
33
21
  };
34
22
  }
35
23
  export const connectionIdResolver = {
36
24
  type: "dynamic",
37
25
  depends: ["appKey"],
26
+ requireCapabilities: ["canIncludeSharedConnections"],
38
27
  tryResolveWithoutPrompt: async (sdk, params) => {
39
28
  if (!params.appKey)
40
29
  return null;
@@ -57,6 +46,7 @@ export const connectionIdResolver = {
57
46
  export const connectionIdGenericResolver = {
58
47
  type: "dynamic",
59
48
  depends: [],
49
+ requireCapabilities: ["canIncludeSharedConnections"],
60
50
  fetch: fetchConnections,
61
51
  prompt: promptForConnection,
62
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tableId.d.ts","sourceRoot":"","sources":["../../src/resolvers/tableId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAGtE,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,CAiB1D,CAAC"}
1
+ {"version":3,"file":"tableId.d.ts","sourceRoot":"","sources":["../../src/resolvers/tableId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAItE,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,CAkC1D,CAAC"}
@@ -1,11 +1,22 @@
1
- import { concatPaginated } from "../utils/pagination-utils";
1
+ import { concatPaginated, toIterable } from "../utils/pagination-utils";
2
2
  export const tableIdResolver = {
3
3
  type: "dynamic",
4
- fetch: (sdk) => {
5
- return concatPaginated({
6
- sources: [() => sdk.listTables({ owner: "me" }), () => sdk.listTables()],
7
- dedupe: (table) => table.id,
8
- });
4
+ requireCapabilities: ["canIncludeSharedTables"],
5
+ fetch: async (sdk) => {
6
+ const context = sdk.getContext();
7
+ const includeShared = await context.hasCapability?.("canIncludeSharedTables");
8
+ // Unlike connections, the tables API does not return personal tables
9
+ // first, so we use concatPaginated to hoist own tables above shared.
10
+ if (includeShared) {
11
+ return toIterable(concatPaginated({
12
+ sources: [
13
+ () => sdk.listTables(),
14
+ () => sdk.listTables({ includeShared: true }),
15
+ ],
16
+ dedupe: (table) => table.id,
17
+ }));
18
+ }
19
+ return toIterable(sdk.listTables());
9
20
  },
10
21
  prompt: (tables) => ({
11
22
  type: "list",
package/dist/sdk.d.ts CHANGED
@@ -13,12 +13,13 @@ export declare function createSdk<TCurrentSdk = {}, TCurrentContext extends {
13
13
  getContext(): TCurrentContext;
14
14
  }, TRequiresContext, TProvides>, addPluginOptions?: Record<string, unknown>): Sdk<TCurrentSdk & ExtractSdkProperties<TProvides>, TCurrentContext & NonNullable<ExtractContextProperties<TProvides>>>;
15
15
  };
16
- export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOptions): Sdk<ExtractSdkProperties<import("./plugins/eventEmission").EventEmissionProvides> & ExtractSdkProperties<import(".").ApiPluginProvides> & ExtractSdkProperties<import(".").ManifestPluginProvides> & ExtractSdkProperties<import(".").ConnectionsPluginProvides> & ExtractSdkProperties<import(".").ListAppsPluginProvides> & ExtractSdkProperties<import(".").GetAppPluginProvides> & ExtractSdkProperties<import(".").ListActionsPluginProvides> & ExtractSdkProperties<import(".").GetActionPluginProvides> & ExtractSdkProperties<import(".").ListInputFieldsPluginProvides> & ExtractSdkProperties<import("./plugins/getInputFieldsSchema").GetInputFieldsSchemaPluginProvides> & ExtractSdkProperties<import("./plugins/listInputFieldChoices").ListInputFieldChoicesPluginProvides> & ExtractSdkProperties<import(".").RunActionPluginProvides> & ExtractSdkProperties<import(".").ListConnectionsPluginProvides> & ExtractSdkProperties<import(".").GetConnectionPluginProvides> & ExtractSdkProperties<import(".").FindFirstConnectionPluginProvides> & ExtractSdkProperties<import(".").FindUniqueConnectionPluginProvides> & ExtractSdkProperties<import(".").ListAuthenticationsPluginProvides> & ExtractSdkProperties<import(".").GetAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindFirstAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindUniqueAuthenticationPluginProvides> & ExtractSdkProperties<import(".").ListClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").CreateClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").DeleteClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").FetchPluginProvides> & ExtractSdkProperties<import(".").RequestPluginProvides> & ExtractSdkProperties<import(".").ListTablesPluginProvides> & ExtractSdkProperties<import(".").GetTablePluginProvides> & ExtractSdkProperties<import(".").DeleteTablePluginProvides> & ExtractSdkProperties<import(".").CreateTablePluginProvides> & ExtractSdkProperties<import(".").ListTableFieldsPluginProvides> & ExtractSdkProperties<import(".").CreateTableFieldsPluginProvides> & ExtractSdkProperties<import(".").DeleteTableFieldsPluginProvides> & ExtractSdkProperties<import(".").GetTableRecordPluginProvides> & ExtractSdkProperties<import(".").ListTableRecordsPluginProvides> & ExtractSdkProperties<import(".").CreateTableRecordsPluginProvides> & ExtractSdkProperties<import(".").DeleteTableRecordsPluginProvides> & ExtractSdkProperties<import(".").UpdateTableRecordsPluginProvides> & ExtractSdkProperties<import(".").AppsPluginProvides> & ExtractSdkProperties<import(".").GetProfilePluginProvides>, {
16
+ export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOptions): Sdk<ExtractSdkProperties<import("./plugins/eventEmission").EventEmissionProvides> & ExtractSdkProperties<import(".").ApiPluginProvides> & ExtractSdkProperties<import(".").ManifestPluginProvides> & ExtractSdkProperties<import("./plugins/capabilities").CapabilitiesPluginProvides> & ExtractSdkProperties<import(".").ConnectionsPluginProvides> & ExtractSdkProperties<import(".").ListAppsPluginProvides> & ExtractSdkProperties<import(".").GetAppPluginProvides> & ExtractSdkProperties<import(".").ListActionsPluginProvides> & ExtractSdkProperties<import(".").GetActionPluginProvides> & ExtractSdkProperties<import(".").ListInputFieldsPluginProvides> & ExtractSdkProperties<import("./plugins/getInputFieldsSchema").GetInputFieldsSchemaPluginProvides> & ExtractSdkProperties<import("./plugins/listInputFieldChoices").ListInputFieldChoicesPluginProvides> & ExtractSdkProperties<import(".").RunActionPluginProvides> & ExtractSdkProperties<import(".").ListConnectionsPluginProvides> & ExtractSdkProperties<import(".").GetConnectionPluginProvides> & ExtractSdkProperties<import(".").FindFirstConnectionPluginProvides> & ExtractSdkProperties<import(".").FindUniqueConnectionPluginProvides> & ExtractSdkProperties<import(".").ListAuthenticationsPluginProvides> & ExtractSdkProperties<import(".").GetAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindFirstAuthenticationPluginProvides> & ExtractSdkProperties<import(".").FindUniqueAuthenticationPluginProvides> & ExtractSdkProperties<import(".").ListClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").CreateClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").DeleteClientCredentialsPluginProvides> & ExtractSdkProperties<import(".").FetchPluginProvides> & ExtractSdkProperties<import(".").RequestPluginProvides> & ExtractSdkProperties<import(".").ListTablesPluginProvides> & ExtractSdkProperties<import(".").GetTablePluginProvides> & ExtractSdkProperties<import(".").DeleteTablePluginProvides> & ExtractSdkProperties<import(".").CreateTablePluginProvides> & ExtractSdkProperties<import(".").ListTableFieldsPluginProvides> & ExtractSdkProperties<import(".").CreateTableFieldsPluginProvides> & ExtractSdkProperties<import(".").DeleteTableFieldsPluginProvides> & ExtractSdkProperties<import(".").GetTableRecordPluginProvides> & ExtractSdkProperties<import(".").ListTableRecordsPluginProvides> & ExtractSdkProperties<import(".").CreateTableRecordsPluginProvides> & ExtractSdkProperties<import(".").DeleteTableRecordsPluginProvides> & ExtractSdkProperties<import(".").UpdateTableRecordsPluginProvides> & ExtractSdkProperties<import(".").AppsPluginProvides> & ExtractSdkProperties<import(".").GetProfilePluginProvides>, {
17
17
  meta: Record<string, PluginMeta>;
18
18
  } & import(".").EventEmissionContext & {
19
19
  api: import("./api").ApiClient;
20
20
  resolveCredentials: () => Promise<import("./auth").ResolvedCredentials | undefined>;
21
21
  } & {
22
+ getResolvedManifest: () => Promise<import(".").Manifest | null>;
22
23
  getVersionedImplementationId: import("./plugins/manifest/schemas").GetVersionedImplementationId;
23
24
  resolveAppKeys: import("./plugins/manifest/schemas").ResolveAppKeys;
24
25
  getManifestConnections: () => Promise<import(".").ConnectionsMap | null>;
@@ -45,7 +46,7 @@ export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOption
45
46
  manifest: import(".").Manifest;
46
47
  }) => [string, import(".").ManifestEntry] | null;
47
48
  readManifestFromFile: (filePath: string) => Promise<import(".").Manifest | null>;
48
- } & {
49
+ } & import("./plugins/capabilities").CapabilitiesContext & {
49
50
  resolveConnection: (name: string) => Promise<import(".").ConnectionEntry | undefined>;
50
51
  getConnectionsMap: () => Promise<import(".").ConnectionsMap | null>;
51
52
  } & {
package/dist/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,gBAAgB,CAAC;AAmDxB,MAAM,WAAW,gBAAiB,SAAQ,cAAc;CAAG;AAG3D,wBAAgB,SAAS,CACvB,WAAW,GAAG,EAAE,EAChB,eAAe,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC,EAED,OAAO,GAAE,gBAAqB,EAC9B,UAAU,GAAE,WAA+B,EAC3C,cAAc,GAAE,eAAiD;;cAKrD,gBAAgB,EAAE,SAAS,SAAS,cAAc,UAClD,MAAM,CACZ,WAAW,GAAG;QAAE,UAAU,IAAI,eAAe,CAAA;KAAE,EAC/C,gBAAgB,EAChB,SAAS,CACV,qBACiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,GAAG,CACJ,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAC7C,eAAe,GAAG,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CACnE;EA8DJ;AAED,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,gBAAqB;UApFnE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;+BAxBd,CAAC;kBAAoB,CAAC;;;;kBAET,CAAA;iBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8K5D;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAMzE"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,gBAAgB,CAAC;AAoDxB,MAAM,WAAW,gBAAiB,SAAQ,cAAc;CAAG;AAG3D,wBAAgB,SAAS,CACvB,WAAW,GAAG,EAAE,EAChB,eAAe,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC,EAED,OAAO,GAAE,gBAAqB,EAC9B,UAAU,GAAE,WAA+B,EAC3C,cAAc,GAAE,eAAiD;;cAKrD,gBAAgB,EAAE,SAAS,SAAS,cAAc,UAClD,MAAM,CACZ,WAAW,GAAG;QAAE,UAAU,IAAI,eAAe,CAAA;KAAE,EAC/C,gBAAgB,EAChB,SAAS,CACV,qBACiB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,GAAG,CACJ,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,EAC7C,eAAe,GAAG,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CACnE;EA8DJ;AAED,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,gBAAqB;UApFnE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;+BAxBvB,CAAC;kBAAoB,CAAC;;;;kBAEtB,CAAC;iBAA0B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiLvC;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAMzE"}
package/dist/sdk.js CHANGED
@@ -35,6 +35,7 @@ import { deleteTableRecordsPlugin } from "./plugins/tables/deleteTableRecords";
35
35
  import { updateTableRecordsPlugin } from "./plugins/tables/updateTableRecords";
36
36
  import { requestPlugin } from "./plugins/request";
37
37
  import { manifestPlugin } from "./plugins/manifest";
38
+ import { capabilitiesPlugin } from "./plugins/capabilities";
38
39
  import { connectionsPlugin } from "./plugins/connections";
39
40
  import { eventEmissionPlugin } from "./plugins/eventEmission";
40
41
  // Create SDK that supports flat plugins - returns an SDK, not a builder
@@ -100,6 +101,8 @@ export function createZapierSdkWithoutRegistry(options = {}) {
100
101
  .addPlugin(apiPlugin)
101
102
  // Manifest plugin (provides version locking context) - must come after apiPlugin
102
103
  .addPlugin(manifestPlugin)
104
+ // Capabilities gates (must come after manifestPlugin for config access)
105
+ .addPlugin(capabilitiesPlugin)
103
106
  // Named connections resolution
104
107
  .addPlugin(connectionsPlugin)
105
108
  // Apps/actions/fields
@@ -63,6 +63,9 @@ export declare const BaseSdkOptionsSchema: z.ZodObject<{
63
63
  onEvent: z.ZodOptional<z.ZodCustom<EventCallback, EventCallback>>;
64
64
  fetch: z.ZodOptional<z.ZodCustom<typeof fetch, typeof fetch>>;
65
65
  eventEmission: z.ZodOptional<z.ZodCustom<EventEmissionConfig, EventEmissionConfig>>;
66
+ canIncludeSharedConnections: z.ZodOptional<z.ZodBoolean>;
67
+ canIncludeSharedTables: z.ZodOptional<z.ZodBoolean>;
68
+ canDeleteTables: z.ZodOptional<z.ZodBoolean>;
66
69
  token: z.ZodOptional<z.ZodString>;
67
70
  }, z.core.$strip>;
68
71
  export type BaseSdkOptions = z.infer<typeof BaseSdkOptionsSchema>;