@zapier/zapier-sdk 0.29.0 → 0.31.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.
- package/CHANGELOG.md +12 -0
- package/README.md +23 -9
- package/dist/api/schemas.d.ts +2 -2
- package/dist/index.cjs +276 -204
- package/dist/index.d.mts +203 -86
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.mjs +270 -205
- package/dist/plugins/createClientCredentials/schemas.d.ts +0 -3
- package/dist/plugins/createClientCredentials/schemas.d.ts.map +1 -1
- package/dist/plugins/createClientCredentials/schemas.js +0 -2
- package/dist/plugins/deleteClientCredentials/schemas.d.ts +0 -3
- package/dist/plugins/deleteClientCredentials/schemas.d.ts.map +1 -1
- package/dist/plugins/deleteClientCredentials/schemas.js +0 -2
- package/dist/plugins/fetch/index.d.ts +0 -3
- package/dist/plugins/fetch/index.d.ts.map +1 -1
- package/dist/plugins/fetch/index.js +59 -53
- package/dist/plugins/findFirstConnection/index.d.ts.map +1 -1
- package/dist/plugins/findFirstConnection/index.js +0 -1
- package/dist/plugins/findFirstConnection/schemas.d.ts +1 -1
- package/dist/plugins/findFirstConnection/schemas.d.ts.map +1 -1
- package/dist/plugins/findFirstConnection/schemas.js +0 -1
- package/dist/plugins/findUniqueConnection/index.d.ts.map +1 -1
- package/dist/plugins/findUniqueConnection/index.js +0 -1
- package/dist/plugins/findUniqueConnection/schemas.d.ts +1 -1
- package/dist/plugins/findUniqueConnection/schemas.d.ts.map +1 -1
- package/dist/plugins/findUniqueConnection/schemas.js +0 -1
- package/dist/plugins/getAction/index.d.ts.map +1 -1
- package/dist/plugins/getAction/index.js +1 -3
- package/dist/plugins/getAction/schemas.d.ts +0 -3
- package/dist/plugins/getAction/schemas.d.ts.map +1 -1
- package/dist/plugins/getAction/schemas.js +0 -2
- package/dist/plugins/getApp/index.d.ts.map +1 -1
- package/dist/plugins/getApp/index.js +0 -1
- package/dist/plugins/listActions/schemas.d.ts +0 -3
- package/dist/plugins/listActions/schemas.d.ts.map +1 -1
- package/dist/plugins/listActions/schemas.js +0 -2
- package/dist/plugins/listApps/schemas.d.ts +0 -3
- package/dist/plugins/listApps/schemas.d.ts.map +1 -1
- package/dist/plugins/listApps/schemas.js +0 -2
- package/dist/plugins/listClientCredentials/schemas.d.ts +0 -3
- package/dist/plugins/listClientCredentials/schemas.d.ts.map +1 -1
- package/dist/plugins/listClientCredentials/schemas.js +0 -2
- package/dist/plugins/listConnections/schemas.d.ts +1 -4
- package/dist/plugins/listConnections/schemas.d.ts.map +1 -1
- package/dist/plugins/listConnections/schemas.js +0 -2
- package/dist/plugins/request/index.d.ts.map +1 -1
- package/dist/plugins/request/index.js +0 -1
- package/dist/plugins/request/schemas.d.ts +0 -6
- package/dist/plugins/request/schemas.d.ts.map +1 -1
- package/dist/plugins/request/schemas.js +0 -2
- package/dist/plugins/runAction/index.d.ts.map +1 -1
- package/dist/plugins/runAction/index.js +0 -1
- package/dist/schemas/Action.d.ts +2 -2
- package/dist/types/credentials.d.ts +137 -17
- package/dist/types/credentials.d.ts.map +1 -1
- package/dist/types/credentials.js +80 -0
- package/dist/types/meta.d.ts +9 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +3 -0
- package/dist/types/sdk.d.ts +61 -35
- package/dist/types/sdk.d.ts.map +1 -1
- package/dist/types/sdk.js +55 -1
- package/dist/utils/function-utils.d.ts +1 -14
- package/dist/utils/function-utils.d.ts.map +1 -1
- package/dist/utils/function-utils.js +115 -123
- package/dist/utils/function-utils.test.js +79 -1
- package/dist/utils/telemetry-context.d.ts +3 -0
- package/dist/utils/telemetry-context.d.ts.map +1 -0
- package/dist/utils/telemetry-context.js +23 -0
- package/dist/utils/telemetry-context.test.d.ts +2 -0
- package/dist/utils/telemetry-context.test.d.ts.map +1 -0
- package/dist/utils/telemetry-context.test.js +92 -0
- package/package.json +1 -1
|
@@ -8,44 +8,164 @@
|
|
|
8
8
|
* - PKCE: OAuth client ID for interactive login (CLI only)
|
|
9
9
|
* - Function: Lazy/dynamic credential resolution
|
|
10
10
|
*/
|
|
11
|
+
import { z } from "zod";
|
|
11
12
|
/**
|
|
12
13
|
* Client credentials for OAuth client_credentials flow.
|
|
13
14
|
* The SDK will exchange these for an access token.
|
|
14
15
|
*/
|
|
15
|
-
export
|
|
16
|
-
type
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
export declare const ClientCredentialsObjectSchema: z.ZodObject<{
|
|
17
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
18
|
+
client_credentials: "client_credentials";
|
|
19
|
+
}>>;
|
|
20
|
+
clientId: z.ZodString;
|
|
21
|
+
clientSecret: z.ZodString;
|
|
22
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
23
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export type ClientCredentialsObject = z.infer<typeof ClientCredentialsObjectSchema>;
|
|
22
26
|
/**
|
|
23
27
|
* PKCE credentials for interactive OAuth flow.
|
|
24
28
|
* Only works when @zapier/zapier-sdk-cli-login is available.
|
|
25
29
|
*/
|
|
26
|
-
export
|
|
27
|
-
type
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
export declare const PkceCredentialsObjectSchema: z.ZodObject<{
|
|
31
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
32
|
+
pkce: "pkce";
|
|
33
|
+
}>>;
|
|
34
|
+
clientId: z.ZodString;
|
|
35
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
36
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type PkceCredentialsObject = z.infer<typeof PkceCredentialsObjectSchema>;
|
|
32
39
|
/**
|
|
33
40
|
* Union of all credential object types.
|
|
34
41
|
*/
|
|
35
|
-
export
|
|
42
|
+
export declare const CredentialsObjectSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
43
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
44
|
+
client_credentials: "client_credentials";
|
|
45
|
+
}>>;
|
|
46
|
+
clientId: z.ZodString;
|
|
47
|
+
clientSecret: z.ZodString;
|
|
48
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
49
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
51
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
pkce: "pkce";
|
|
53
|
+
}>>;
|
|
54
|
+
clientId: z.ZodString;
|
|
55
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
56
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>]>;
|
|
58
|
+
export type CredentialsObject = z.infer<typeof CredentialsObjectSchema>;
|
|
36
59
|
/**
|
|
37
60
|
* Resolved credentials - what a credentials function must return.
|
|
38
61
|
* Either a string (token) or a credentials object.
|
|
39
62
|
* Functions are not allowed to return other functions.
|
|
40
63
|
*/
|
|
41
|
-
export
|
|
64
|
+
export declare const ResolvedCredentialsSchema: z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
65
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
66
|
+
client_credentials: "client_credentials";
|
|
67
|
+
}>>;
|
|
68
|
+
clientId: z.ZodString;
|
|
69
|
+
clientSecret: z.ZodString;
|
|
70
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
71
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
72
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
73
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
74
|
+
pkce: "pkce";
|
|
75
|
+
}>>;
|
|
76
|
+
clientId: z.ZodString;
|
|
77
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
78
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, z.core.$strip>]>]>;
|
|
80
|
+
export type ResolvedCredentials = z.infer<typeof ResolvedCredentialsSchema>;
|
|
81
|
+
/**
|
|
82
|
+
* Lazy/dynamic credential resolution — a function returning resolved credentials.
|
|
83
|
+
*/
|
|
84
|
+
export declare const CredentialsFunctionSchema: z.ZodFunction<z.core.$ZodTuple<readonly [], z.core.$ZodFunctionOut>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
85
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
86
|
+
client_credentials: "client_credentials";
|
|
87
|
+
}>>;
|
|
88
|
+
clientId: z.ZodString;
|
|
89
|
+
clientSecret: z.ZodString;
|
|
90
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
91
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
93
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
pkce: "pkce";
|
|
95
|
+
}>>;
|
|
96
|
+
clientId: z.ZodString;
|
|
97
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
98
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, z.core.$strip>]>]>, z.ZodPromise<z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
100
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
client_credentials: "client_credentials";
|
|
102
|
+
}>>;
|
|
103
|
+
clientId: z.ZodString;
|
|
104
|
+
clientSecret: z.ZodString;
|
|
105
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
106
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
107
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
108
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
109
|
+
pkce: "pkce";
|
|
110
|
+
}>>;
|
|
111
|
+
clientId: z.ZodString;
|
|
112
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
113
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
114
|
+
}, z.core.$strip>]>]>>]>>;
|
|
115
|
+
export type CredentialsFunction = z.infer<typeof CredentialsFunctionSchema>;
|
|
42
116
|
/**
|
|
43
117
|
* Credentials can be:
|
|
44
118
|
* - A string (token or API key)
|
|
45
119
|
* - A credentials object (client_credentials or pkce)
|
|
46
120
|
* - A function that returns credentials (sync or async)
|
|
47
121
|
*/
|
|
48
|
-
export
|
|
122
|
+
export declare const CredentialsSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
123
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
124
|
+
client_credentials: "client_credentials";
|
|
125
|
+
}>>;
|
|
126
|
+
clientId: z.ZodString;
|
|
127
|
+
clientSecret: z.ZodString;
|
|
128
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
129
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
130
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
131
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
132
|
+
pkce: "pkce";
|
|
133
|
+
}>>;
|
|
134
|
+
clientId: z.ZodString;
|
|
135
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
136
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
137
|
+
}, z.core.$strip>]>]>, z.ZodFunction<z.core.$ZodTuple<readonly [], z.core.$ZodFunctionOut>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
138
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
139
|
+
client_credentials: "client_credentials";
|
|
140
|
+
}>>;
|
|
141
|
+
clientId: z.ZodString;
|
|
142
|
+
clientSecret: z.ZodString;
|
|
143
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
144
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
145
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
146
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
147
|
+
pkce: "pkce";
|
|
148
|
+
}>>;
|
|
149
|
+
clientId: z.ZodString;
|
|
150
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
151
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
152
|
+
}, z.core.$strip>]>]>, z.ZodPromise<z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
153
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
154
|
+
client_credentials: "client_credentials";
|
|
155
|
+
}>>;
|
|
156
|
+
clientId: z.ZodString;
|
|
157
|
+
clientSecret: z.ZodString;
|
|
158
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
159
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
160
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
161
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
162
|
+
pkce: "pkce";
|
|
163
|
+
}>>;
|
|
164
|
+
clientId: z.ZodString;
|
|
165
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
166
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
167
|
+
}, z.core.$strip>]>]>>]>>]>;
|
|
168
|
+
export type Credentials = z.infer<typeof CredentialsSchema>;
|
|
49
169
|
/**
|
|
50
170
|
* Type guard for client credentials objects.
|
|
51
171
|
*/
|
|
@@ -61,5 +181,5 @@ export declare function isCredentialsObject(credentials: ResolvedCredentials): c
|
|
|
61
181
|
/**
|
|
62
182
|
* Type guard for credentials functions.
|
|
63
183
|
*/
|
|
64
|
-
export declare function isCredentialsFunction(credentials: Credentials): credentials is
|
|
184
|
+
export declare function isCredentialsFunction(credentials: Credentials): credentials is CredentialsFunction;
|
|
65
185
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/types/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/types/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;iBAoBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;iBAgBtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;mBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;qBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAKnC,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;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,mBAAmB,CAEpC"}
|
|
@@ -8,6 +8,86 @@
|
|
|
8
8
|
* - PKCE: OAuth client ID for interactive login (CLI only)
|
|
9
9
|
* - Function: Lazy/dynamic credential resolution
|
|
10
10
|
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
/**
|
|
13
|
+
* Client credentials for OAuth client_credentials flow.
|
|
14
|
+
* The SDK will exchange these for an access token.
|
|
15
|
+
*/
|
|
16
|
+
export const ClientCredentialsObjectSchema = z.object({
|
|
17
|
+
type: z.enum(["client_credentials"]).optional().meta({ internal: true }),
|
|
18
|
+
clientId: z
|
|
19
|
+
.string()
|
|
20
|
+
.describe("OAuth client ID for authentication.")
|
|
21
|
+
.meta({ valueHint: "id" }),
|
|
22
|
+
clientSecret: z
|
|
23
|
+
.string()
|
|
24
|
+
.describe("OAuth client secret for authentication.")
|
|
25
|
+
.meta({ valueHint: "secret" }),
|
|
26
|
+
baseUrl: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Override authentication base URL.")
|
|
30
|
+
.meta({ valueHint: "url" }),
|
|
31
|
+
scope: z
|
|
32
|
+
.string()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe("Authentication scope.")
|
|
35
|
+
.meta({ internal: true }),
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* PKCE credentials for interactive OAuth flow.
|
|
39
|
+
* Only works when @zapier/zapier-sdk-cli-login is available.
|
|
40
|
+
*/
|
|
41
|
+
export const PkceCredentialsObjectSchema = z.object({
|
|
42
|
+
type: z.enum(["pkce"]).optional().meta({ internal: true }),
|
|
43
|
+
clientId: z
|
|
44
|
+
.string()
|
|
45
|
+
.describe("OAuth client ID for authentication.")
|
|
46
|
+
.meta({ valueHint: "id" }),
|
|
47
|
+
baseUrl: z
|
|
48
|
+
.string()
|
|
49
|
+
.optional()
|
|
50
|
+
.describe("Override authentication base URL.")
|
|
51
|
+
.meta({ valueHint: "url" }),
|
|
52
|
+
scope: z
|
|
53
|
+
.string()
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Authentication scope.")
|
|
56
|
+
.meta({ internal: true }),
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Union of all credential object types.
|
|
60
|
+
*/
|
|
61
|
+
export const CredentialsObjectSchema = z.union([
|
|
62
|
+
ClientCredentialsObjectSchema,
|
|
63
|
+
PkceCredentialsObjectSchema,
|
|
64
|
+
]);
|
|
65
|
+
/**
|
|
66
|
+
* Resolved credentials - what a credentials function must return.
|
|
67
|
+
* Either a string (token) or a credentials object.
|
|
68
|
+
* Functions are not allowed to return other functions.
|
|
69
|
+
*/
|
|
70
|
+
export const ResolvedCredentialsSchema = z.union([
|
|
71
|
+
z.string().describe("Authentication token.").meta({ valueHint: "token" }),
|
|
72
|
+
CredentialsObjectSchema,
|
|
73
|
+
]);
|
|
74
|
+
/**
|
|
75
|
+
* Lazy/dynamic credential resolution — a function returning resolved credentials.
|
|
76
|
+
*/
|
|
77
|
+
export const CredentialsFunctionSchema = z
|
|
78
|
+
.function()
|
|
79
|
+
.input([])
|
|
80
|
+
.output(z.union([ResolvedCredentialsSchema, z.promise(ResolvedCredentialsSchema)]));
|
|
81
|
+
/**
|
|
82
|
+
* Credentials can be:
|
|
83
|
+
* - A string (token or API key)
|
|
84
|
+
* - A credentials object (client_credentials or pkce)
|
|
85
|
+
* - A function that returns credentials (sync or async)
|
|
86
|
+
*/
|
|
87
|
+
export const CredentialsSchema = z.union([
|
|
88
|
+
ResolvedCredentialsSchema,
|
|
89
|
+
CredentialsFunctionSchema,
|
|
90
|
+
]);
|
|
11
91
|
/**
|
|
12
92
|
* Type guard for client credentials objects.
|
|
13
93
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/types/meta.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,UAAU;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;CACF;AAGD,OAAO,EAAE,CAAC"}
|
package/dist/types/sdk.d.ts
CHANGED
|
@@ -1,49 +1,75 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SDK-related types and interfaces
|
|
3
3
|
*/
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import type { EventCallback } from "./events";
|
|
5
6
|
import type { EventEmissionConfig } from "../plugins/eventEmission";
|
|
6
7
|
import type { Manifest } from "../plugins/manifest";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
8
|
+
export declare const BaseSdkOptionsSchema: z.ZodObject<{
|
|
9
|
+
credentials: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
10
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
11
|
+
client_credentials: "client_credentials";
|
|
12
|
+
}>>;
|
|
13
|
+
clientId: z.ZodString;
|
|
14
|
+
clientSecret: z.ZodString;
|
|
15
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
16
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
18
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
19
|
+
pkce: "pkce";
|
|
20
|
+
}>>;
|
|
21
|
+
clientId: z.ZodString;
|
|
22
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
23
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>]>]>, z.ZodFunction<z.core.$ZodTuple<readonly [], z.core.$ZodFunctionOut>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
25
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
26
|
+
client_credentials: "client_credentials";
|
|
27
|
+
}>>;
|
|
28
|
+
clientId: z.ZodString;
|
|
29
|
+
clientSecret: z.ZodString;
|
|
30
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
31
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
33
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
34
|
+
pkce: "pkce";
|
|
35
|
+
}>>;
|
|
36
|
+
clientId: z.ZodString;
|
|
37
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
38
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strip>]>]>, z.ZodPromise<z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
40
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
41
|
+
client_credentials: "client_credentials";
|
|
42
|
+
}>>;
|
|
43
|
+
clientId: z.ZodString;
|
|
44
|
+
clientSecret: z.ZodString;
|
|
45
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
46
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
49
|
+
pkce: "pkce";
|
|
50
|
+
}>>;
|
|
51
|
+
clientId: z.ZodString;
|
|
52
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
53
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$strip>]>]>>]>>]>>;
|
|
55
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
57
|
+
trackingBaseUrl: z.ZodOptional<z.ZodString>;
|
|
58
|
+
maxNetworkRetries: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
maxNetworkRetryDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
manifestPath: z.ZodOptional<z.ZodString>;
|
|
61
|
+
manifest: z.ZodOptional<z.ZodCustom<Manifest, Manifest>>;
|
|
62
|
+
onEvent: z.ZodOptional<z.ZodCustom<EventCallback, EventCallback>>;
|
|
63
|
+
fetch: z.ZodOptional<z.ZodCustom<typeof fetch, typeof fetch>>;
|
|
64
|
+
eventEmission: z.ZodOptional<z.ZodCustom<EventEmissionConfig, EventEmissionConfig>>;
|
|
65
|
+
token: z.ZodOptional<z.ZodString>;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export type BaseSdkOptions = z.infer<typeof BaseSdkOptionsSchema>;
|
|
41
68
|
import type { ListInputFieldsSdkFunction } from "../plugins/listInputFields/schemas";
|
|
42
69
|
import type { GetConnectionSdkFunction } from "../plugins/getConnection/schemas";
|
|
43
70
|
import type { FindFirstConnectionSdkFunction } from "../plugins/findFirstConnection/schemas";
|
|
44
71
|
import type { FindUniqueConnectionSdkFunction } from "../plugins/findUniqueConnection/schemas";
|
|
45
72
|
import type { RelayRequestSdkFunction } from "../plugins/request/schemas";
|
|
46
|
-
import type { z } from "zod";
|
|
47
73
|
import type { RegistryPluginProvides } from "../plugins/registry";
|
|
48
74
|
import type { GetProfilePluginProvides } from "../plugins/getProfile";
|
|
49
75
|
import type { EventEmissionProvides } from "../plugins/eventEmission";
|
package/dist/types/sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/types/sdk.js
CHANGED
|
@@ -1,4 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SDK-related types and interfaces
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { CredentialsSchema } from "./credentials";
|
|
6
|
+
// SDK Configuration Types
|
|
7
|
+
export const BaseSdkOptionsSchema = z.object({
|
|
8
|
+
credentials: CredentialsSchema.optional().describe("Authentication credentials. Can be a string (token or API key), a client credentials object ({ clientId, clientSecret }), a PKCE object ({ clientId }), or a function returning any of those."),
|
|
9
|
+
debug: z.boolean().optional().describe("Enable debug logging."),
|
|
10
|
+
baseUrl: z
|
|
11
|
+
.string()
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("Base URL for Zapier API endpoints.")
|
|
14
|
+
.meta({ valueHint: "url" }),
|
|
15
|
+
trackingBaseUrl: z
|
|
16
|
+
.string()
|
|
17
|
+
.optional()
|
|
18
|
+
.describe("Base URL for Zapier tracking endpoints.")
|
|
19
|
+
.meta({ valueHint: "url" }),
|
|
20
|
+
/**
|
|
21
|
+
* Maximum number of retries for rate-limited requests (429 responses).
|
|
22
|
+
* Set to 0 to disable retries. Default is 3.
|
|
23
|
+
*/
|
|
24
|
+
maxNetworkRetries: z
|
|
25
|
+
.number()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Max retries for rate-limited requests (default: 3).")
|
|
28
|
+
.meta({ valueHint: "count" }),
|
|
29
|
+
/**
|
|
30
|
+
* Maximum delay in milliseconds to wait for a rate limit retry.
|
|
31
|
+
* If the server requests a longer delay, the request fails immediately.
|
|
32
|
+
* Default is 60000 (60 seconds).
|
|
33
|
+
*/
|
|
34
|
+
maxNetworkRetryDelayMs: z
|
|
35
|
+
.number()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Max delay in ms to wait for retry (default: 60000).")
|
|
38
|
+
.meta({ valueHint: "ms" }),
|
|
39
|
+
// Internal
|
|
40
|
+
manifestPath: z
|
|
41
|
+
.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Path to a .zapierrc manifest file for app version locking.")
|
|
44
|
+
.meta({ internal: true }),
|
|
45
|
+
manifest: z
|
|
46
|
+
.custom()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Manifest for app version locking.")
|
|
49
|
+
.meta({ internal: true }),
|
|
50
|
+
onEvent: z.custom().optional().meta({ internal: true }),
|
|
51
|
+
fetch: z.custom().optional().meta({ internal: true }),
|
|
52
|
+
eventEmission: z
|
|
53
|
+
.custom()
|
|
54
|
+
.optional()
|
|
55
|
+
.meta({ internal: true }),
|
|
56
|
+
// Deprecated
|
|
57
|
+
token: z.string().optional().meta({ deprecated: true }), // Use credentials instead
|
|
58
|
+
});
|
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generic utility functions for creating paginated SDK functions
|
|
3
3
|
*/
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
/**
|
|
6
|
-
* Zod schema for telemetry marker to prevent nested telemetry emissions.
|
|
7
|
-
* Used to extend options schemas with proper typing.
|
|
8
|
-
*/
|
|
9
|
-
export declare const TelemetryMarkerSchema: z.ZodObject<{
|
|
10
|
-
_telemetry: z.ZodOptional<z.ZodObject<{
|
|
11
|
-
isNested: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
-
}, z.core.$strip>>;
|
|
13
|
-
}, z.core.$strip>;
|
|
14
|
-
/**
|
|
15
|
-
* Marker for SDK method calls to control telemetry behavior
|
|
16
|
-
*/
|
|
17
|
-
export type TelemetryMarker = z.infer<typeof TelemetryMarkerSchema>;
|
|
4
|
+
import type { z } from "zod";
|
|
18
5
|
/**
|
|
19
6
|
* Callbacks for telemetry events during function execution
|
|
20
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-utils.d.ts","sourceRoot":"","sources":["../../src/utils/function-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"function-utils.d.ts","sourceRoot":"","sources":["../../src/utils/function-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAa7B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACtB,KAAK,IAAI,CAAC;CACZ;AAUD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,SAAS,CAYpB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EACR,OAAO,EACP,cAAc,SAAS,QAAQ,GAAG,QAAQ,EAE1C,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,EAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,EAAE,kBAAkB,cAMc,QAAQ,KAAG,OAAO,CAAC,OAAO,CAAC,CAsExE;AA6DD;;;;;GAKG;AACH,KAAK,eAAe,CAAC,OAAO,IAAI,OAAO,SAAS;IAC9C,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACG,OAAO,GACP;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;IAAE,IAAI,EAAE,MAAM,KAAK,CAAA;CAAE,GAC1D,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,GACpC,KAAK,GACL,KAAK,GACP,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,GACtC,KAAK,GACL,OAAO,CAAC;AAEd,wBAAgB,uBAAuB,CACrC,QAAQ,EACR,OAAO,EACP,cAAc,SAAS,QAAQ,GAAG,QAAQ,EAE1C,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACtE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,EAAE,kBAAkB,EAC9B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,CACD,OAAO,CAAC,EAAE,QAAQ,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GACpC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG;IACxC,KAAK,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3C,CAkHF"}
|