@zapier/zapier-sdk 0.37.0 → 0.39.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 (85) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +56 -49
  3. package/dist/apps.cjs +9036 -0
  4. package/dist/apps.d.mts +23 -0
  5. package/dist/apps.d.ts +23 -0
  6. package/dist/apps.mjs +9034 -0
  7. package/dist/define/apps-entrypoint.d.ts +3 -0
  8. package/dist/define/apps-entrypoint.d.ts.map +1 -0
  9. package/dist/define/apps-entrypoint.js +1 -0
  10. package/dist/define/apps-registry-keys.d.ts +2 -0
  11. package/dist/define/apps-registry-keys.d.ts.map +1 -0
  12. package/dist/define/apps-registry-keys.js +2 -0
  13. package/dist/define/apps-registry.d.ts +13 -0
  14. package/dist/define/apps-registry.d.ts.map +1 -0
  15. package/dist/define/apps-registry.js +31 -0
  16. package/dist/define/apps-registry.json +9010 -0
  17. package/dist/define/apps.d.ts +11 -0
  18. package/dist/define/apps.d.ts.map +1 -0
  19. package/dist/define/apps.js +2 -0
  20. package/dist/define/define.d.ts +13 -0
  21. package/dist/define/define.d.ts.map +1 -0
  22. package/dist/define/define.js +93 -0
  23. package/dist/define/helpers.d.ts +8 -0
  24. package/dist/define/helpers.d.ts.map +1 -0
  25. package/dist/define/helpers.js +6 -0
  26. package/dist/define/index.d.ts +5 -0
  27. package/dist/define/index.d.ts.map +1 -0
  28. package/dist/define/index.js +2 -0
  29. package/dist/define/types.d.ts +235 -0
  30. package/dist/define/types.d.ts.map +1 -0
  31. package/dist/define/types.js +1 -0
  32. package/dist/define.cjs +113 -0
  33. package/dist/define.d.mts +254 -0
  34. package/dist/define.d.ts +254 -0
  35. package/dist/define.mjs +107 -0
  36. package/dist/index.cjs +145 -41
  37. package/dist/index.d.mts +38 -7
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.mjs +145 -42
  42. package/dist/plugins/capabilities/index.d.ts +22 -0
  43. package/dist/plugins/capabilities/index.d.ts.map +1 -0
  44. package/dist/plugins/capabilities/index.js +76 -0
  45. package/dist/plugins/findFirstConnection/schemas.d.ts +1 -0
  46. package/dist/plugins/findFirstConnection/schemas.d.ts.map +1 -1
  47. package/dist/plugins/findUniqueConnection/schemas.d.ts +1 -0
  48. package/dist/plugins/findUniqueConnection/schemas.d.ts.map +1 -1
  49. package/dist/plugins/listConnections/index.d.ts +2 -1
  50. package/dist/plugins/listConnections/index.d.ts.map +1 -1
  51. package/dist/plugins/listConnections/index.js +10 -3
  52. package/dist/plugins/listConnections/schemas.d.ts +1 -0
  53. package/dist/plugins/listConnections/schemas.d.ts.map +1 -1
  54. package/dist/plugins/listConnections/schemas.js +5 -0
  55. package/dist/plugins/manifest/index.d.ts +1 -0
  56. package/dist/plugins/manifest/index.d.ts.map +1 -1
  57. package/dist/plugins/manifest/index.js +1 -0
  58. package/dist/plugins/manifest/schemas.d.ts +9 -0
  59. package/dist/plugins/manifest/schemas.d.ts.map +1 -1
  60. package/dist/plugins/manifest/schemas.js +9 -0
  61. package/dist/plugins/tables/deleteTable/index.d.ts +2 -1
  62. package/dist/plugins/tables/deleteTable/index.d.ts.map +1 -1
  63. package/dist/plugins/tables/deleteTable/index.js +1 -0
  64. package/dist/plugins/tables/listTables/index.d.ts +2 -1
  65. package/dist/plugins/tables/listTables/index.d.ts.map +1 -1
  66. package/dist/plugins/tables/listTables/index.js +14 -6
  67. package/dist/plugins/tables/listTables/schemas.d.ts +1 -0
  68. package/dist/plugins/tables/listTables/schemas.d.ts.map +1 -1
  69. package/dist/plugins/tables/listTables/schemas.js +5 -1
  70. package/dist/resolvers/connectionId.d.ts.map +1 -1
  71. package/dist/resolvers/connectionId.js +13 -23
  72. package/dist/resolvers/tableId.d.ts.map +1 -1
  73. package/dist/resolvers/tableId.js +17 -6
  74. package/dist/sdk.d.ts +3 -2
  75. package/dist/sdk.d.ts.map +1 -1
  76. package/dist/sdk.js +3 -0
  77. package/dist/types/sdk.d.ts +3 -0
  78. package/dist/types/sdk.d.ts.map +1 -1
  79. package/dist/types/sdk.js +9 -0
  80. package/dist/utils/pagination-utils.d.ts +6 -0
  81. package/dist/utils/pagination-utils.d.ts.map +1 -1
  82. package/dist/utils/pagination-utils.js +8 -0
  83. package/dist/utils/schema-utils.d.ts +6 -1
  84. package/dist/utils/schema-utils.d.ts.map +1 -1
  85. package/package.json +23 -1
package/dist/index.mjs CHANGED
@@ -1053,6 +1053,9 @@ function concatPaginated({
1053
1053
  }
1054
1054
  });
1055
1055
  }
1056
+ function toIterable(source) {
1057
+ return { [Symbol.asyncIterator]: () => source[Symbol.asyncIterator]() };
1058
+ }
1056
1059
 
1057
1060
  // src/utils/validation.ts
1058
1061
  var validate = (schema, input) => {
@@ -1830,44 +1833,32 @@ var actionKeyResolver = {
1830
1833
 
1831
1834
  // src/resolvers/connectionId.ts
1832
1835
  async function fetchConnections(sdk, resolvedParams) {
1833
- const listOptions = {
1834
- maxItems: 1e3
1835
- };
1836
- if (resolvedParams.appKey) {
1837
- listOptions.appKey = resolvedParams.appKey;
1838
- }
1839
- const myConnections = await sdk.listConnections({
1840
- ...listOptions,
1841
- owner: "me"
1842
- });
1843
- const allConnections = await sdk.listConnections(listOptions);
1844
- const otherConnections = allConnections.data.filter(
1845
- (connection) => !myConnections.data.some(
1846
- (myConnection) => myConnection.id === connection.id
1847
- )
1836
+ const context = sdk.getContext();
1837
+ const includeShared = await context.hasCapability?.(
1838
+ "canIncludeSharedConnections"
1839
+ );
1840
+ return toIterable(
1841
+ sdk.listConnections({
1842
+ appKey: resolvedParams.appKey,
1843
+ includeShared: includeShared || void 0
1844
+ })
1848
1845
  );
1849
- return [...myConnections.data, ...otherConnections];
1850
1846
  }
1851
1847
  function promptForConnection(connections, params) {
1852
1848
  return {
1853
1849
  type: "list",
1854
1850
  name: "connectionId",
1855
1851
  message: params.appKey ? `Select connection for ${params.appKey}:` : "Select connection:",
1856
- choices: [
1857
- ...connections.map((connection) => ({
1858
- name: `${connection.title || connection.label || "Connection"} (ID: ${connection.id})`,
1859
- value: connection.id
1860
- })),
1861
- {
1862
- name: "-> Skip connection (may fail)",
1863
- value: null
1864
- }
1865
- ]
1852
+ choices: connections.map((connection) => ({
1853
+ name: `${connection.title || connection.label || "Connection"} (ID: ${connection.id})`,
1854
+ value: connection.id
1855
+ }))
1866
1856
  };
1867
1857
  }
1868
1858
  var connectionIdResolver = {
1869
1859
  type: "dynamic",
1870
1860
  depends: ["appKey"],
1861
+ requireCapabilities: ["canIncludeSharedConnections"],
1871
1862
  tryResolveWithoutPrompt: async (sdk, params) => {
1872
1863
  if (!params.appKey) return null;
1873
1864
  try {
@@ -1885,6 +1876,7 @@ var connectionIdResolver = {
1885
1876
  var connectionIdGenericResolver = {
1886
1877
  type: "dynamic",
1887
1878
  depends: [],
1879
+ requireCapabilities: ["canIncludeSharedConnections"],
1888
1880
  fetch: fetchConnections,
1889
1881
  prompt: promptForConnection
1890
1882
  };
@@ -2008,11 +2000,24 @@ var clientIdResolver = {
2008
2000
  // src/resolvers/tableId.ts
2009
2001
  var tableIdResolver = {
2010
2002
  type: "dynamic",
2011
- fetch: (sdk) => {
2012
- return concatPaginated({
2013
- sources: [() => sdk.listTables({ owner: "me" }), () => sdk.listTables()],
2014
- dedupe: (table) => table.id
2015
- });
2003
+ requireCapabilities: ["canIncludeSharedTables"],
2004
+ fetch: async (sdk) => {
2005
+ const context = sdk.getContext();
2006
+ const includeShared = await context.hasCapability?.(
2007
+ "canIncludeSharedTables"
2008
+ );
2009
+ if (includeShared) {
2010
+ return toIterable(
2011
+ concatPaginated({
2012
+ sources: [
2013
+ () => sdk.listTables(),
2014
+ () => sdk.listTables({ includeShared: true })
2015
+ ],
2016
+ dedupe: (table) => table.id
2017
+ })
2018
+ );
2019
+ }
2020
+ return toIterable(sdk.listTables());
2016
2021
  },
2017
2022
  prompt: (tables) => ({
2018
2023
  type: "list",
@@ -3108,6 +3113,10 @@ var ListConnectionsQuerySchema = ListConnectionsQuerySchema$1.omit({
3108
3113
  ),
3109
3114
  // camelCase account ID
3110
3115
  accountId: z.string().optional().describe("Account ID to filter by"),
3116
+ // Include shared connections (overrides default owner=me filter)
3117
+ includeShared: z.boolean().optional().describe(
3118
+ "Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections."
3119
+ ),
3111
3120
  // camelCase isExpired
3112
3121
  isExpired: z.boolean().optional().describe("Filter by expired status"),
3113
3122
  // Override pageSize to make optional
@@ -3147,6 +3156,9 @@ var ConnectionItemSchema = withFormatter(ConnectionItemSchema$1, {
3147
3156
  // src/plugins/listConnections/index.ts
3148
3157
  var listConnectionsPlugin = ({ context }) => {
3149
3158
  async function listConnectionsPage(options) {
3159
+ if (options.includeShared) {
3160
+ await context.checkCapability("canIncludeSharedConnections");
3161
+ }
3150
3162
  const { api, getVersionedImplementationId } = context;
3151
3163
  const searchParams = {};
3152
3164
  if (options.pageSize !== void 0) {
@@ -3177,8 +3189,14 @@ var listConnectionsPlugin = ({ context }) => {
3177
3189
  if (options.accountId) {
3178
3190
  searchParams.account_id = options.accountId;
3179
3191
  }
3180
- if (options.owner) {
3181
- searchParams.owner = options.owner;
3192
+ if (options.owner && options.owner !== "me" && !options.includeShared) {
3193
+ throw new ZapierValidationError(
3194
+ 'The "owner" option requires "includeShared" to be true. Without includeShared, only your own connections are returned.'
3195
+ );
3196
+ }
3197
+ const owner = options.includeShared ? options.owner : "me";
3198
+ if (owner) {
3199
+ searchParams.owner = owner;
3182
3200
  }
3183
3201
  if (options.isExpired !== void 0) {
3184
3202
  searchParams.is_expired = options.isExpired.toString();
@@ -4100,6 +4118,9 @@ var ManifestSchema = z.object({
4100
4118
  })
4101
4119
  ).optional(),
4102
4120
  actions: z.record(z.string(), ActionEntrySchema).optional().describe("Saved action configurations with their schemas"),
4121
+ canIncludeSharedConnections: z.boolean().optional().describe("Allow listing shared connections"),
4122
+ canIncludeSharedTables: z.boolean().optional().describe("Allow listing shared tables"),
4123
+ canDeleteTables: z.boolean().optional().describe("Allow deleting tables"),
4103
4124
  connections: ConnectionsMapSchema.optional().describe(
4104
4125
  "Named connections map. Keys are connection names, values contain a connectionId."
4105
4126
  )
@@ -4455,6 +4476,7 @@ var manifestPlugin = (params) => {
4455
4476
  };
4456
4477
  return {
4457
4478
  context: {
4479
+ getResolvedManifest,
4458
4480
  getVersionedImplementationId,
4459
4481
  resolveAppKeys: async ({ appKeys }) => resolveAppKeys({
4460
4482
  appKeys,
@@ -5858,6 +5880,69 @@ var connectionsPlugin = (params) => {
5858
5880
  }
5859
5881
  };
5860
5882
  };
5883
+
5884
+ // src/plugins/capabilities/index.ts
5885
+ function toDescription(key) {
5886
+ const words = key.replace(/^can/, "").replace(/([A-Z])/g, " $1").trim().toLowerCase();
5887
+ return `To ${words}`;
5888
+ }
5889
+ function toEnvVar(key) {
5890
+ return "ZAPIER_" + key.replace(/([A-Z])/g, "_$1").toUpperCase();
5891
+ }
5892
+ function toCliFlag(key) {
5893
+ return "--" + key.replace(/([A-Z])/g, "-$1").toLowerCase();
5894
+ }
5895
+ function buildCapabilityMessage(key) {
5896
+ return [
5897
+ `${toDescription(key)}, use ${toCliFlag(key)} in the CLI,`,
5898
+ `set ${key}: true in SDK options or .zapierrc,`,
5899
+ `or set ${toEnvVar(key)}=true.`
5900
+ ].join(" ");
5901
+ }
5902
+ var GATED_FLAGS = [
5903
+ "canIncludeSharedConnections",
5904
+ "canIncludeSharedTables",
5905
+ "canDeleteTables"
5906
+ ];
5907
+ function isEnabledByEnv(key) {
5908
+ if (typeof process === "undefined") return void 0;
5909
+ const value = process.env[toEnvVar(key)];
5910
+ if (value === void 0) return void 0;
5911
+ if (value === "true" || value === "1") return true;
5912
+ if (value === "false" || value === "0") return false;
5913
+ return void 0;
5914
+ }
5915
+ var capabilitiesPlugin = ({ context }) => {
5916
+ const options = context.options ?? {};
5917
+ let cached;
5918
+ async function resolveFlags() {
5919
+ if (cached) return cached;
5920
+ const manifest = await context.getResolvedManifest();
5921
+ cached = {};
5922
+ for (const flag of GATED_FLAGS) {
5923
+ cached[flag] = Boolean(
5924
+ options[flag] ?? isEnabledByEnv(flag) ?? manifest?.[flag]
5925
+ );
5926
+ }
5927
+ return cached;
5928
+ }
5929
+ return {
5930
+ context: {
5931
+ checkCapability: async (key) => {
5932
+ const flags = await resolveFlags();
5933
+ if (flags[key]) return;
5934
+ throw new ZapierConfigurationError(
5935
+ buildCapabilityMessage(key) + " (If you are an AI agent, you MUST NOT retry. Ask the user if they want to enable this.)",
5936
+ { configType: key }
5937
+ );
5938
+ },
5939
+ hasCapability: async (key) => {
5940
+ const flags = await resolveFlags();
5941
+ return flags[key];
5942
+ }
5943
+ }
5944
+ };
5945
+ };
5861
5946
  var TableApiItemSchema = z.object({
5862
5947
  id: z.string(),
5863
5948
  name: z.string(),
@@ -5892,7 +5977,10 @@ var ListTablesOptionsSchema = z.object({
5892
5977
  kind: z.enum(["table", "virtual_table", "both"]).optional().describe("Filter by table type"),
5893
5978
  search: z.string().optional().describe("Search term to filter tables by name"),
5894
5979
  owner: z.string().optional().describe(
5895
- 'Filter by table owner. Use "me" for the current user, or a numeric user ID.'
5980
+ 'Filter by table owner. Use "me" for the current user, or a numeric user ID. Requires includeShared to be true.'
5981
+ ),
5982
+ includeShared: z.boolean().optional().describe(
5983
+ "Include tables shared with you. Without this, only your own tables are returned."
5896
5984
  ),
5897
5985
  pageSize: z.number().min(1).optional().describe("Number of tables per page"),
5898
5986
  maxItems: z.number().min(1).optional().describe("Maximum total items to return across all pages"),
@@ -5914,6 +6002,9 @@ function extractNextCursor(links) {
5914
6002
  }
5915
6003
  var listTablesPlugin = ({ context }) => {
5916
6004
  async function listTablesPage(options) {
6005
+ if (options.includeShared) {
6006
+ await context.checkCapability("canIncludeSharedTables");
6007
+ }
5917
6008
  const { api } = context;
5918
6009
  const searchParams = {};
5919
6010
  if (options.pageSize !== void 0) {
@@ -5928,15 +6019,23 @@ var listTablesPlugin = ({ context }) => {
5928
6019
  if (options?.search) {
5929
6020
  searchParams.q = options.search;
5930
6021
  }
5931
- if (options?.owner) {
5932
- let ownerId = options.owner;
5933
- if (ownerId === "me") {
6022
+ if (options?.owner && options.owner !== "me" && !options.includeShared) {
6023
+ throw new ZapierValidationError(
6024
+ 'The "owner" option requires "includeShared" to be true. Without includeShared, only your own tables are returned.'
6025
+ );
6026
+ }
6027
+ const owner = options.includeShared ? options.owner : "me";
6028
+ if (owner) {
6029
+ if (owner === "me") {
5934
6030
  const profile = await api.get("/zapier/api/v4/profile/", {
5935
6031
  authRequired: true
5936
6032
  });
5937
- ownerId = String(profile.id);
6033
+ searchParams.owner_customuser_id = String(
6034
+ profile.id
6035
+ );
6036
+ } else {
6037
+ searchParams.owner_customuser_id = owner;
5938
6038
  }
5939
- searchParams.owner_customuser_id = ownerId;
5940
6039
  }
5941
6040
  if (options.cursor) {
5942
6041
  searchParams.offset = options.cursor;
@@ -6130,6 +6229,7 @@ var DeleteTableOptionsSchema = z.object({
6130
6229
  // src/plugins/tables/deleteTable/index.ts
6131
6230
  var deleteTablePlugin = ({ context }) => {
6132
6231
  async function deleteTable(options) {
6232
+ await context.checkCapability("canDeleteTables");
6133
6233
  const { api } = context;
6134
6234
  await api.delete(`/tables/api/v1/tables/${options.tableId}`, void 0, {
6135
6235
  customErrorHandler: ({ status }) => {
@@ -7539,7 +7639,7 @@ function getCpuTime() {
7539
7639
  }
7540
7640
 
7541
7641
  // src/plugins/eventEmission/builders.ts
7542
- var SDK_VERSION = "0.37.0";
7642
+ var SDK_VERSION = "0.39.0";
7543
7643
  function createBaseEvent(context = {}) {
7544
7644
  return {
7545
7645
  event_id: generateEventId(),
@@ -8032,7 +8132,7 @@ function createSdk(options = {}, initialSdk = {}, initialContext = { meta: {} })
8032
8132
  };
8033
8133
  }
8034
8134
  function createZapierSdkWithoutRegistry(options = {}) {
8035
- return createSdk(options).addPlugin(eventEmissionPlugin).addPlugin(apiPlugin).addPlugin(manifestPlugin).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);
8135
+ return createSdk(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);
8036
8136
  }
8037
8137
  function createZapierSdk(options = {}) {
8038
8138
  return createZapierSdkWithoutRegistry(options).addPlugin(registryPlugin);
@@ -8061,9 +8161,12 @@ var BaseSdkOptionsSchema = z.object({
8061
8161
  onEvent: z.custom().optional().meta({ internal: true }),
8062
8162
  fetch: z.custom().optional().meta({ internal: true }),
8063
8163
  eventEmission: z.custom().optional().meta({ internal: true }),
8164
+ canIncludeSharedConnections: z.boolean().optional().describe("Allow listing shared connections."),
8165
+ canIncludeSharedTables: z.boolean().optional().describe("Allow listing shared tables."),
8166
+ canDeleteTables: z.boolean().optional().describe("Allow deleting tables."),
8064
8167
  // Deprecated
8065
8168
  token: z.string().optional().meta({ deprecated: true })
8066
8169
  // Use credentials instead
8067
8170
  });
8068
8171
 
8069
- export { ActionKeyPropertySchema, ActionTimeoutMsPropertySchema, ActionTypePropertySchema, AppKeyPropertySchema, AuthenticationIdPropertySchema, BaseSdkOptionsSchema, CONTEXT_CACHE_MAX_SIZE, CONTEXT_CACHE_TTL_MS, ClientCredentialsObjectSchema, ConnectionEntrySchema, ConnectionIdPropertySchema, ConnectionPropertySchema, ConnectionsMapSchema, CredentialsFunctionSchema, CredentialsObjectSchema, CredentialsSchema, DEFAULT_ACTION_TIMEOUT_MS, DEFAULT_CONFIG_PATH, DEFAULT_PAGE_SIZE, DebugPropertySchema, InputsPropertySchema, LimitPropertySchema, MAX_PAGE_LIMIT, OffsetPropertySchema, OutputPropertySchema, ParamsPropertySchema, PkceCredentialsObjectSchema, RelayFetchSchema, RelayRequestSchema, ResolvedCredentialsSchema, ZAPIER_BASE_URL, ZAPIER_MAX_NETWORK_RETRIES, ZAPIER_MAX_NETWORK_RETRY_DELAY_MS, ZapierActionError, ZapierApiError, ZapierAppNotFoundError, ZapierAuthenticationError, ZapierBundleError, ZapierConfigurationError, ZapierError, ZapierNotFoundError, ZapierRateLimitError, ZapierRelayError, ZapierResourceNotFoundError, ZapierTimeoutError, ZapierUnknownError, ZapierValidationError, actionKeyResolver, actionTypeResolver, apiPlugin, appKeyResolver, appsPlugin, connectionIdGenericResolver as authenticationIdGenericResolver, connectionIdResolver as authenticationIdResolver, batch, buildApplicationLifecycleEvent, buildErrorEvent, buildErrorEventWithContext, buildMethodCalledEvent, clearTokenCache, clientCredentialsNameResolver, clientIdResolver, connectionIdGenericResolver, connectionIdResolver, connectionsPlugin, createBaseEvent, createClientCredentialsPlugin, createFunction, createSdk, createTableFieldsPlugin, createTablePlugin, createTableRecordsPlugin, createZapierSdk, createZapierSdkWithoutRegistry, deleteClientCredentialsPlugin, deleteTableFieldsPlugin, deleteTablePlugin, deleteTableRecordsPlugin, fetchPlugin, findFirstConnectionPlugin, findManifestEntry, findUniqueConnectionPlugin, formatErrorMessage, generateEventId, getActionPlugin, getAppPlugin, getBaseUrlFromCredentials, getCiPlatform, getClientIdFromCredentials, getConnectionPlugin, getCpuTime, getCurrentTimestamp, getMemoryUsage, getOsInfo, getPlatformVersions, getPreferredManifestEntryKey, getProfilePlugin, getReleaseId, getTablePlugin, getTableRecordPlugin, getTokenFromCliLogin, injectCliLogin, inputFieldKeyResolver, inputsAllOptionalResolver, inputsResolver, invalidateCachedToken, invalidateCredentialsToken, isCi, isCliLoginAvailable, isClientCredentials, isCredentialsFunction, isCredentialsObject, isPkceCredentials, isPositional, listActionsPlugin, listAppsPlugin, listClientCredentialsPlugin, listConnectionsPlugin, listInputFieldsPlugin, listTableFieldsPlugin, listTableRecordsPlugin, listTablesPlugin, logDeprecation, manifestPlugin, readManifestFromFile, registryPlugin, requestPlugin, resetDeprecationWarnings, resolveAuthToken, resolveCredentials, resolveCredentialsFromEnv, runActionPlugin, runWithTelemetryContext, tableFieldIdsResolver, tableFieldsResolver, tableFiltersResolver, tableIdResolver, tableNameResolver, tableRecordIdResolver, tableRecordIdsResolver, tableRecordsResolver, tableSortResolver, tableUpdateRecordsResolver, toSnakeCase, toTitleCase, updateTableRecordsPlugin };
8172
+ export { ActionKeyPropertySchema, ActionTimeoutMsPropertySchema, ActionTypePropertySchema, AppKeyPropertySchema, AuthenticationIdPropertySchema, BaseSdkOptionsSchema, CONTEXT_CACHE_MAX_SIZE, CONTEXT_CACHE_TTL_MS, ClientCredentialsObjectSchema, ConnectionEntrySchema, ConnectionIdPropertySchema, ConnectionPropertySchema, ConnectionsMapSchema, CredentialsFunctionSchema, CredentialsObjectSchema, CredentialsSchema, DEFAULT_ACTION_TIMEOUT_MS, DEFAULT_CONFIG_PATH, DEFAULT_PAGE_SIZE, DebugPropertySchema, InputsPropertySchema, LimitPropertySchema, MAX_PAGE_LIMIT, OffsetPropertySchema, OutputPropertySchema, ParamsPropertySchema, PkceCredentialsObjectSchema, RelayFetchSchema, RelayRequestSchema, ResolvedCredentialsSchema, ZAPIER_BASE_URL, ZAPIER_MAX_NETWORK_RETRIES, ZAPIER_MAX_NETWORK_RETRY_DELAY_MS, ZapierActionError, ZapierApiError, ZapierAppNotFoundError, ZapierAuthenticationError, ZapierBundleError, ZapierConfigurationError, ZapierError, ZapierNotFoundError, ZapierRateLimitError, ZapierRelayError, ZapierResourceNotFoundError, ZapierTimeoutError, ZapierUnknownError, ZapierValidationError, actionKeyResolver, actionTypeResolver, apiPlugin, appKeyResolver, appsPlugin, connectionIdGenericResolver as authenticationIdGenericResolver, connectionIdResolver as authenticationIdResolver, batch, buildApplicationLifecycleEvent, buildCapabilityMessage, buildErrorEvent, buildErrorEventWithContext, buildMethodCalledEvent, clearTokenCache, clientCredentialsNameResolver, clientIdResolver, connectionIdGenericResolver, connectionIdResolver, connectionsPlugin, createBaseEvent, createClientCredentialsPlugin, createFunction, createSdk, createTableFieldsPlugin, createTablePlugin, createTableRecordsPlugin, createZapierSdk, createZapierSdkWithoutRegistry, deleteClientCredentialsPlugin, deleteTableFieldsPlugin, deleteTablePlugin, deleteTableRecordsPlugin, fetchPlugin, findFirstConnectionPlugin, findManifestEntry, findUniqueConnectionPlugin, formatErrorMessage, generateEventId, getActionPlugin, getAppPlugin, getBaseUrlFromCredentials, getCiPlatform, getClientIdFromCredentials, getConnectionPlugin, getCpuTime, getCurrentTimestamp, getMemoryUsage, getOsInfo, getPlatformVersions, getPreferredManifestEntryKey, getProfilePlugin, getReleaseId, getTablePlugin, getTableRecordPlugin, getTokenFromCliLogin, injectCliLogin, inputFieldKeyResolver, inputsAllOptionalResolver, inputsResolver, invalidateCachedToken, invalidateCredentialsToken, isCi, isCliLoginAvailable, isClientCredentials, isCredentialsFunction, isCredentialsObject, isPkceCredentials, isPositional, listActionsPlugin, listAppsPlugin, listClientCredentialsPlugin, listConnectionsPlugin, listInputFieldsPlugin, listTableFieldsPlugin, listTableRecordsPlugin, listTablesPlugin, logDeprecation, manifestPlugin, readManifestFromFile, registryPlugin, requestPlugin, resetDeprecationWarnings, resolveAuthToken, resolveCredentials, resolveCredentialsFromEnv, runActionPlugin, runWithTelemetryContext, tableFieldIdsResolver, tableFieldsResolver, tableFiltersResolver, tableIdResolver, tableNameResolver, tableRecordIdResolver, tableRecordIdsResolver, tableRecordsResolver, tableSortResolver, tableUpdateRecordsResolver, toSnakeCase, toTitleCase, updateTableRecordsPlugin };
@@ -0,0 +1,22 @@
1
+ import type { Plugin } from "../../types/plugin";
2
+ import type { Manifest } from "../manifest/schemas";
3
+ export declare function buildCapabilityMessage(key: string): string;
4
+ declare const GATED_FLAGS: readonly ["canIncludeSharedConnections", "canIncludeSharedTables", "canDeleteTables"];
5
+ export type GatedFlag = (typeof GATED_FLAGS)[number];
6
+ export interface CapabilitiesContext {
7
+ checkCapability: (key: GatedFlag) => Promise<void>;
8
+ hasCapability: (key: GatedFlag) => Promise<boolean>;
9
+ }
10
+ export interface CapabilitiesPluginProvides {
11
+ context: CapabilitiesContext;
12
+ }
13
+ export declare const capabilitiesPlugin: Plugin<{}, {
14
+ options?: {
15
+ canIncludeSharedConnections?: boolean;
16
+ canIncludeSharedTables?: boolean;
17
+ canDeleteTables?: boolean;
18
+ };
19
+ getResolvedManifest: () => Promise<Manifest | null>;
20
+ }, CapabilitiesPluginProvides>;
21
+ export {};
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqBpD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM1D;AAED,QAAA,MAAM,WAAW,uFAIP,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAWrD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,EAAE,EACF;IACE,OAAO,CAAC,EAAE;QACR,2BAA2B,CAAC,EAAE,OAAO,CAAC;QACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,mBAAmB,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACrD,EACD,0BAA0B,CA8C3B,CAAC"}
@@ -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":"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"}
@@ -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");