@zapier/zapier-sdk 0.18.4 → 1.0.2

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 (57) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +12 -3
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +11 -6
  5. package/dist/api/client.test.js +82 -27
  6. package/dist/api/index.d.ts +3 -2
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +2 -3
  9. package/dist/api/schemas.d.ts +5 -5
  10. package/dist/api/types.d.ts +8 -3
  11. package/dist/api/types.d.ts.map +1 -1
  12. package/dist/auth.d.ts +54 -26
  13. package/dist/auth.d.ts.map +1 -1
  14. package/dist/auth.js +211 -39
  15. package/dist/auth.test.js +338 -64
  16. package/dist/constants.d.ts +14 -0
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +14 -0
  19. package/dist/credentials.d.ts +57 -0
  20. package/dist/credentials.d.ts.map +1 -0
  21. package/dist/credentials.js +174 -0
  22. package/dist/index.cjs +346 -48
  23. package/dist/index.d.mts +213 -29
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +5 -0
  27. package/dist/index.mjs +326 -47
  28. package/dist/plugins/api/index.d.ts +2 -0
  29. package/dist/plugins/api/index.d.ts.map +1 -1
  30. package/dist/plugins/api/index.js +8 -4
  31. package/dist/plugins/eventEmission/index.d.ts.map +1 -1
  32. package/dist/plugins/eventEmission/index.js +1 -3
  33. package/dist/plugins/eventEmission/index.test.js +14 -17
  34. package/dist/plugins/getAction/schemas.d.ts +1 -1
  35. package/dist/plugins/getInputFieldsSchema/schemas.d.ts +1 -1
  36. package/dist/plugins/listActions/index.test.js +1 -0
  37. package/dist/plugins/listActions/schemas.d.ts +1 -1
  38. package/dist/plugins/listInputFieldChoices/schemas.d.ts +1 -1
  39. package/dist/plugins/listInputFields/schemas.d.ts +1 -1
  40. package/dist/plugins/manifest/index.d.ts.map +1 -1
  41. package/dist/plugins/manifest/index.js +10 -2
  42. package/dist/plugins/manifest/index.test.js +46 -6
  43. package/dist/plugins/runAction/schemas.d.ts +1 -1
  44. package/dist/schemas/Action.d.ts +1 -1
  45. package/dist/sdk.d.ts +1 -0
  46. package/dist/sdk.d.ts.map +1 -1
  47. package/dist/sdk.test.js +5 -4
  48. package/dist/types/credentials.d.ts +65 -0
  49. package/dist/types/credentials.d.ts.map +1 -0
  50. package/dist/types/credentials.js +42 -0
  51. package/dist/types/properties.d.ts +1 -1
  52. package/dist/types/sdk.d.ts +12 -3
  53. package/dist/types/sdk.d.ts.map +1 -1
  54. package/dist/utils/logging.d.ts +13 -0
  55. package/dist/utils/logging.d.ts.map +1 -0
  56. package/dist/utils/logging.js +20 -0
  57. package/package.json +2 -2
@@ -69,6 +69,7 @@ describe("listActions plugin", () => {
69
69
  .addPlugin(() => ({
70
70
  context: {
71
71
  api: mockApiClient,
72
+ resolveCredentials: vi.fn().mockResolvedValue(undefined),
72
73
  },
73
74
  }))
74
75
  .addPlugin(eventEmissionPlugin)
@@ -7,8 +7,8 @@ export declare const ListActionsSchema: z.ZodObject<{
7
7
  _def: z.core.$ZodStringDef & import("../..").PositionalMetadata;
8
8
  };
9
9
  actionType: z.ZodOptional<z.ZodEnum<{
10
- search: "search";
11
10
  filter: "filter";
11
+ search: "search";
12
12
  read: "read";
13
13
  read_bulk: "read_bulk";
14
14
  run: "run";
@@ -13,8 +13,8 @@ export declare const ListInputFieldChoicesSchema: z.ZodObject<{
13
13
  _def: z.core.$ZodStringDef & import("../..").PositionalMetadata;
14
14
  };
15
15
  actionType: z.ZodEnum<{
16
- search: "search";
17
16
  filter: "filter";
17
+ search: "search";
18
18
  read: "read";
19
19
  read_bulk: "read_bulk";
20
20
  run: "run";
@@ -7,8 +7,8 @@ export declare const ListInputFieldsSchema: z.ZodObject<{
7
7
  _def: z.core.$ZodStringDef & import("../..").PositionalMetadata;
8
8
  };
9
9
  actionType: z.ZodEnum<{
10
- search: "search";
11
10
  filter: "filter";
11
+ search: "search";
12
12
  read: "read";
13
13
  read_bulk: "read_bulk";
14
14
  run: "run";
@@ -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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"}
@@ -35,8 +35,16 @@ export async function readManifestFromFile(filePath) {
35
35
  const content = await readFile(resolvedPath);
36
36
  return parseManifestContent(content, resolvedPath);
37
37
  }
38
- catch {
39
- console.warn(`⚠️ Failed to read manifest from ${filePath}`);
38
+ catch (error) {
39
+ // Silently return null for "file not found" errors (expected for first-time users)
40
+ const isFileNotFound = (error &&
41
+ typeof error === "object" &&
42
+ "code" in error &&
43
+ error.code === "ENOENT") ||
44
+ (error instanceof Error && error.message.includes("File not found"));
45
+ if (!isFileNotFound) {
46
+ console.warn(`⚠️ Failed to read manifest from ${filePath}`);
47
+ }
40
48
  return null;
41
49
  }
42
50
  }
@@ -247,14 +247,35 @@ describe("manifestPlugin", () => {
247
247
  expect(mockResolve).toHaveBeenCalledWith("manifest.json");
248
248
  expect(mockReadFile).toHaveBeenCalledWith("/resolved/manifest.json");
249
249
  });
250
- it("should handle file read errors gracefully", async () => {
251
- mockReadFile.mockRejectedValue(new Error("File not found"));
250
+ it("should silently return null when file does not exist (ENOENT)", async () => {
251
+ const enoentError = Object.assign(new Error("ENOENT: no such file"), {
252
+ code: "ENOENT",
253
+ });
254
+ mockReadFile.mockRejectedValue(enoentError);
252
255
  const sdk = createTestSdk({ manifestPath: "nonexistent.json" });
253
256
  const context = sdk.getContext();
254
257
  // Trigger file loading by calling a function
255
258
  await context.getVersionedImplementationId("slack");
256
- // Verify file loading errors are handled gracefully
257
- expect(console.warn).toHaveBeenCalledWith(expect.stringContaining("Failed to read manifest from nonexistent.json"));
259
+ // Verify no warning is logged when file simply doesn't exist
260
+ expect(console.warn).not.toHaveBeenCalled();
261
+ });
262
+ it("should silently return null when file does not exist (browser fallback)", async () => {
263
+ mockReadFile.mockRejectedValue(new Error("File not found: /some/path"));
264
+ const sdk = createTestSdk({ manifestPath: "nonexistent.json" });
265
+ const context = sdk.getContext();
266
+ // Trigger file loading by calling a function
267
+ await context.getVersionedImplementationId("slack");
268
+ // Verify no warning is logged when file simply doesn't exist
269
+ expect(console.warn).not.toHaveBeenCalled();
270
+ });
271
+ it("should handle file read errors gracefully", async () => {
272
+ mockReadFile.mockRejectedValue(new Error("Permission denied"));
273
+ const sdk = createTestSdk({ manifestPath: "protected.json" });
274
+ const context = sdk.getContext();
275
+ // Trigger file loading by calling a function
276
+ await context.getVersionedImplementationId("slack");
277
+ // Verify file loading errors (other than file not found) are logged
278
+ expect(console.warn).toHaveBeenCalledWith(expect.stringContaining("Failed to read manifest from protected.json"));
258
279
  });
259
280
  it("should handle invalid JSON gracefully", async () => {
260
281
  mockReadFile.mockResolvedValue("invalid json content");
@@ -558,10 +579,29 @@ describe("readManifestFromFile", () => {
558
579
  },
559
580
  });
560
581
  });
561
- it("should handle file read errors", async () => {
562
- mockReadFile.mockRejectedValue(new Error("File not found"));
582
+ it("should return null without warning when file does not exist (ENOENT)", async () => {
583
+ vi.spyOn(console, "warn").mockImplementation(() => { });
584
+ const enoentError = Object.assign(new Error("ENOENT: no such file"), {
585
+ code: "ENOENT",
586
+ });
587
+ mockReadFile.mockRejectedValue(enoentError);
588
+ const result = await readManifestFromFile("nonexistent.json");
589
+ expect(result).toBeNull();
590
+ expect(console.warn).not.toHaveBeenCalled();
591
+ });
592
+ it("should return null without warning when file does not exist (browser fallback)", async () => {
593
+ vi.spyOn(console, "warn").mockImplementation(() => { });
594
+ mockReadFile.mockRejectedValue(new Error("File not found: /some/path"));
563
595
  const result = await readManifestFromFile("nonexistent.json");
564
596
  expect(result).toBeNull();
597
+ expect(console.warn).not.toHaveBeenCalled();
598
+ });
599
+ it("should handle file read errors with warning", async () => {
600
+ vi.spyOn(console, "warn").mockImplementation(() => { });
601
+ mockReadFile.mockRejectedValue(new Error("Permission denied"));
602
+ const result = await readManifestFromFile("protected.json");
603
+ expect(result).toBeNull();
604
+ expect(console.warn).toHaveBeenCalledWith(expect.stringContaining("Failed to read manifest from protected.json"));
565
605
  });
566
606
  it("should handle invalid JSON content", async () => {
567
607
  mockReadFile.mockResolvedValue("invalid json");
@@ -6,8 +6,8 @@ export declare const RunActionSchema: z.ZodObject<{
6
6
  _def: z.core.$ZodStringDef & import("../..").PositionalMetadata;
7
7
  };
8
8
  actionType: z.ZodEnum<{
9
- search: "search";
10
9
  filter: "filter";
10
+ search: "search";
11
11
  read: "read";
12
12
  read_bulk: "read_bulk";
13
13
  run: "run";
@@ -8,8 +8,8 @@ export declare const ActionItemSchema: z.ZodObject<{
8
8
  app_key: z.ZodString;
9
9
  app_version: z.ZodOptional<z.ZodString>;
10
10
  action_type: z.ZodEnum<{
11
- search: "search";
12
11
  filter: "filter";
12
+ search: "search";
13
13
  read: "read";
14
14
  read_bulk: "read_bulk";
15
15
  run: "run";
package/dist/sdk.d.ts CHANGED
@@ -17,6 +17,7 @@ export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOption
17
17
  meta: Record<string, PluginMeta>;
18
18
  } & import(".").EventEmissionContext & {
19
19
  api: import("./api").ApiClient;
20
+ resolveCredentials: () => Promise<import("./auth").ResolvedCredentials | undefined>;
20
21
  } & {
21
22
  getVersionedImplementationId: import("./plugins/manifest/schemas").GetVersionedImplementationId;
22
23
  resolveAppKeys: import("./plugins/manifest/schemas").ResolveAppKeys;
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;AA2BxB,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;;;;;;;;;;;;+BAD2B,CAAC;kBAC/C,CAAC;;;;kBAKG,CAAC;iBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuH/C;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;AA2BxB,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;;;;;;;;;;;;;+BAD2B,CAAC;kBAC/C,CAAC;;;;kBAKG,CAAC;iBAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuH/C;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAMzE"}
package/dist/sdk.test.js CHANGED
@@ -243,15 +243,16 @@ describe("Environment Variable Support", () => {
243
243
  expect(actualUrl).toMatch(new RegExp(`^${customBaseUrl}`));
244
244
  expect(actualUrl).toContain("/api/v0/");
245
245
  });
246
- it("should accept authClientId in SDK options", async () => {
246
+ it("should accept credentials with clientId in SDK options", async () => {
247
247
  delete process.env.ZAPIER_BASE_URL;
248
248
  vi.resetModules();
249
249
  const { createZapierSdk } = await import("./sdk");
250
250
  const sdk = createZapierSdk({
251
- authClientId: "test-client-id",
252
- token: "test-token",
251
+ credentials: {
252
+ clientId: "test-client-id",
253
+ },
253
254
  });
254
- // Verify SDK was created successfully with authClientId option
255
+ // Verify SDK was created successfully with credentials option
255
256
  expect(sdk).toBeDefined();
256
257
  expect(sdk.listApps).toBeDefined();
257
258
  });
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Credentials type definitions
3
+ *
4
+ * The credentials system provides a unified way to authenticate with Zapier APIs.
5
+ * It supports multiple credential types:
6
+ * - String: A token (JWT or API key) used directly
7
+ * - Client credentials: OAuth client ID + secret exchanged for a token
8
+ * - PKCE: OAuth client ID for interactive login (CLI only)
9
+ * - Function: Lazy/dynamic credential resolution
10
+ */
11
+ /**
12
+ * Client credentials for OAuth client_credentials flow.
13
+ * The SDK will exchange these for an access token.
14
+ */
15
+ export interface ClientCredentialsObject {
16
+ type?: "client_credentials";
17
+ clientId: string;
18
+ clientSecret: string;
19
+ baseUrl?: string;
20
+ scope?: string;
21
+ }
22
+ /**
23
+ * PKCE credentials for interactive OAuth flow.
24
+ * Only works when @zapier/zapier-sdk-cli-login is available.
25
+ */
26
+ export interface PkceCredentialsObject {
27
+ type?: "pkce";
28
+ clientId: string;
29
+ baseUrl?: string;
30
+ scope?: string;
31
+ }
32
+ /**
33
+ * Union of all credential object types.
34
+ */
35
+ export type CredentialsObject = ClientCredentialsObject | PkceCredentialsObject;
36
+ /**
37
+ * Resolved credentials - what a credentials function must return.
38
+ * Either a string (token) or a credentials object.
39
+ * Functions are not allowed to return other functions.
40
+ */
41
+ export type ResolvedCredentials = string | CredentialsObject;
42
+ /**
43
+ * Credentials can be:
44
+ * - A string (token or API key)
45
+ * - A credentials object (client_credentials or pkce)
46
+ * - A function that returns credentials (sync or async)
47
+ */
48
+ export type Credentials = ResolvedCredentials | (() => ResolvedCredentials | Promise<ResolvedCredentials>);
49
+ /**
50
+ * Type guard for client credentials objects.
51
+ */
52
+ export declare function isClientCredentials(credentials: ResolvedCredentials): credentials is ClientCredentialsObject;
53
+ /**
54
+ * Type guard for PKCE credentials objects.
55
+ */
56
+ export declare function isPkceCredentials(credentials: ResolvedCredentials): credentials is PkceCredentialsObject;
57
+ /**
58
+ * Type guard for credentials objects (either type).
59
+ */
60
+ export declare function isCredentialsObject(credentials: ResolvedCredentials): credentials is CredentialsObject;
61
+ /**
62
+ * Type guard for credentials functions.
63
+ */
64
+ export declare function isCredentialsFunction(credentials: Credentials): credentials is () => ResolvedCredentials | Promise<ResolvedCredentials>;
65
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/types/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC;AAEhF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAE/D;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,mBAAmB,GAC/B,WAAW,IAAI,uBAAuB,CAOxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,mBAAmB,GAC/B,WAAW,IAAI,qBAAqB,CAOtC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,mBAAmB,GAC/B,WAAW,IAAI,iBAAiB,CAMlC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,GACvB,WAAW,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEzE"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Credentials type definitions
3
+ *
4
+ * The credentials system provides a unified way to authenticate with Zapier APIs.
5
+ * It supports multiple credential types:
6
+ * - String: A token (JWT or API key) used directly
7
+ * - Client credentials: OAuth client ID + secret exchanged for a token
8
+ * - PKCE: OAuth client ID for interactive login (CLI only)
9
+ * - Function: Lazy/dynamic credential resolution
10
+ */
11
+ /**
12
+ * Type guard for client credentials objects.
13
+ */
14
+ export function isClientCredentials(credentials) {
15
+ return (typeof credentials === "object" &&
16
+ credentials !== null &&
17
+ "clientId" in credentials &&
18
+ "clientSecret" in credentials);
19
+ }
20
+ /**
21
+ * Type guard for PKCE credentials objects.
22
+ */
23
+ export function isPkceCredentials(credentials) {
24
+ return (typeof credentials === "object" &&
25
+ credentials !== null &&
26
+ "clientId" in credentials &&
27
+ !("clientSecret" in credentials));
28
+ }
29
+ /**
30
+ * Type guard for credentials objects (either type).
31
+ */
32
+ export function isCredentialsObject(credentials) {
33
+ return (typeof credentials === "object" &&
34
+ credentials !== null &&
35
+ "clientId" in credentials);
36
+ }
37
+ /**
38
+ * Type guard for credentials functions.
39
+ */
40
+ export function isCredentialsFunction(credentials) {
41
+ return typeof credentials === "function";
42
+ }
@@ -3,8 +3,8 @@ export declare const AppKeyPropertySchema: z.ZodString & {
3
3
  _def: z.core.$ZodStringDef & import("..").PositionalMetadata;
4
4
  };
5
5
  export declare const ActionTypePropertySchema: z.ZodEnum<{
6
- search: "search";
7
6
  filter: "filter";
7
+ search: "search";
8
8
  read: "read";
9
9
  read_bulk: "read_bulk";
10
10
  run: "run";
@@ -4,14 +4,23 @@
4
4
  import type { EventCallback } from "./events";
5
5
  import type { EventEmissionConfig } from "../plugins/eventEmission";
6
6
  import type { Manifest } from "../plugins/manifest";
7
+ import type { Credentials } from "./credentials";
7
8
  export interface BaseSdkOptions {
9
+ /**
10
+ * Authentication credentials. Can be:
11
+ * - A string (token or API key)
12
+ * - An object with clientId/clientSecret for client_credentials flow
13
+ * - An object with clientId (no secret) for PKCE flow
14
+ * - A function returning any of the above
15
+ */
16
+ credentials?: Credentials;
17
+ /**
18
+ * @deprecated Use `credentials` instead.
19
+ */
8
20
  token?: string;
9
- getToken?: () => Promise<string | undefined>;
10
21
  onEvent?: EventCallback;
11
22
  fetch?: typeof fetch;
12
23
  baseUrl?: string;
13
- authBaseUrl?: string;
14
- authClientId?: string;
15
24
  trackingBaseUrl?: string;
16
25
  debug?: boolean;
17
26
  manifestPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Logging utilities for the SDK
3
+ */
4
+ /**
5
+ * Log a deprecation warning. Each unique message is only logged once per process.
6
+ */
7
+ export declare function logDeprecation(message: string): void;
8
+ /**
9
+ * Reset the set of logged deprecation warnings.
10
+ * Useful for testing.
11
+ */
12
+ export declare function resetDeprecationWarnings(): void;
13
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Logging utilities for the SDK
3
+ */
4
+ const loggedDeprecations = new Set();
5
+ /**
6
+ * Log a deprecation warning. Each unique message is only logged once per process.
7
+ */
8
+ export function logDeprecation(message) {
9
+ if (loggedDeprecations.has(message))
10
+ return;
11
+ loggedDeprecations.add(message);
12
+ console.warn(`[zapier-sdk] Deprecation: ${message}`);
13
+ }
14
+ /**
15
+ * Reset the set of logged deprecation warnings.
16
+ * Useful for testing.
17
+ */
18
+ export function resetDeprecationWarnings() {
19
+ loggedDeprecations.clear();
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zapier/zapier-sdk",
3
- "version": "0.18.4",
3
+ "version": "1.0.2",
4
4
  "description": "Complete Zapier SDK - combines all Zapier SDK packages",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -52,7 +52,7 @@
52
52
  "tsup": "^8.5.0",
53
53
  "typescript": "^5.8.3",
54
54
  "vitest": "^3.2.3",
55
- "@zapier/zapier-sdk-cli-login": "0.3.7"
55
+ "@zapier/zapier-sdk-cli-login": "0.4.0"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "tsup",