@zapier/zapier-sdk 0.5.0 → 0.5.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.
- package/CHANGELOG.md +14 -0
- package/README.md +343 -0
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/schemas.d.ts +6 -6
- package/dist/api/types.d.ts +7 -7
- package/dist/api/types.d.ts.map +1 -1
- package/dist/index.cjs +23 -17
- package/dist/index.d.mts +8 -8
- package/dist/index.mjs +23 -17
- package/dist/plugins/apps/types.d.ts +1 -1
- package/dist/plugins/apps/types.d.ts.map +1 -1
- package/dist/plugins/listActions/index.d.ts.map +1 -1
- package/dist/plugins/runAction/index.d.ts.map +1 -1
- package/dist/schemas/Auth.d.ts +4 -4
- package/dist/schemas/Field.d.ts.map +1 -1
- package/dist/types/errors.d.ts +6 -6
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/events.d.ts +1 -1
- package/dist/types/events.d.ts.map +1 -1
- package/dist/utils/validation.test.js +2 -1
- package/package.json +2 -2
- package/src/api/client.ts +3 -3
- package/src/api/index.ts +2 -0
- package/src/api/types.ts +15 -7
- package/src/plugins/apps/types.ts +1 -1
- package/src/plugins/listActions/index.ts +21 -18
- package/src/plugins/runAction/index.ts +5 -2
- package/src/schemas/Field.ts +5 -2
- package/src/types/errors.ts +9 -6
- package/src/types/events.ts +1 -1
- package/src/utils/validation.test.ts +2 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2005,24 +2005,27 @@ var listActionsPlugin = ({ sdk, context }) => {
|
|
|
2005
2005
|
public_only: "true",
|
|
2006
2006
|
selected_apis: implementationId
|
|
2007
2007
|
};
|
|
2008
|
-
const data = await api.get(
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2008
|
+
const data = await api.get(
|
|
2009
|
+
"/api/v4/implementations/",
|
|
2010
|
+
{
|
|
2011
|
+
searchParams,
|
|
2012
|
+
customErrorHandler: ({ status }) => {
|
|
2013
|
+
if (status === 401) {
|
|
2014
|
+
return new ZapierAuthenticationError(
|
|
2015
|
+
`Authentication failed. Your token may not have permission to access implementations or may be expired. (HTTP ${status})`,
|
|
2016
|
+
{ statusCode: status }
|
|
2017
|
+
);
|
|
2018
|
+
}
|
|
2019
|
+
if (status === 403) {
|
|
2020
|
+
return new ZapierAuthenticationError(
|
|
2021
|
+
`Access forbidden. Your token may not have the required scopes to list implementations. (HTTP ${status})`,
|
|
2022
|
+
{ statusCode: status }
|
|
2023
|
+
);
|
|
2024
|
+
}
|
|
2025
|
+
return void 0;
|
|
2022
2026
|
}
|
|
2023
|
-
return void 0;
|
|
2024
2027
|
}
|
|
2025
|
-
|
|
2028
|
+
);
|
|
2026
2029
|
let allActions = [];
|
|
2027
2030
|
for (const implementation of data.results || []) {
|
|
2028
2031
|
if (implementation.actions) {
|
|
@@ -2131,7 +2134,10 @@ async function executeAction(actionOptions) {
|
|
|
2131
2134
|
const runRequest = {
|
|
2132
2135
|
data: runRequestData
|
|
2133
2136
|
};
|
|
2134
|
-
const runData = await api.post(
|
|
2137
|
+
const runData = await api.post(
|
|
2138
|
+
"/api/actions/v1/runs",
|
|
2139
|
+
runRequest
|
|
2140
|
+
);
|
|
2135
2141
|
const runId = runData.data.id;
|
|
2136
2142
|
return await api.poll(`/api/actions/v1/runs/${runId}`, {
|
|
2137
2143
|
successStatus: 200,
|
|
@@ -6,7 +6,7 @@ interface AppFactoryOptions {
|
|
|
6
6
|
authenticationId: number;
|
|
7
7
|
}
|
|
8
8
|
interface BaseActionTypeProxy {
|
|
9
|
-
[action: string]: (options?: ActionExecutionOptions) =>
|
|
9
|
+
[action: string]: (options?: ActionExecutionOptions) => unknown;
|
|
10
10
|
}
|
|
11
11
|
interface FetchActionType {
|
|
12
12
|
fetch: (url: string | URL, init?: RequestInit & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/apps/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,UAAU,mBAAmB;IAC3B,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/apps/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,UAAU,mBAAmB;IAC3B,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,sBAAsB,KAAK,OAAO,CAAC;CACjE;AAGD,UAAU,eAAe;IACvB,KAAK,EAAE,CACL,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,IAAI,CAAC,EAAE,WAAW,GAAG;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,KACE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxB;AAGD,KAAK,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEtE,UAAU,QAAQ;IAChB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;CACjC;AAED,UAAU,UAAU;IAClB,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,CAAC;CACxC;AAGD,KAAK,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/listActions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/listActions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EAExB,MAAM,WAAW,CAAC;AAMnB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC;QACrD,IAAI,EAAE,UAAU,EAAE,CAAC;KACpB,CAAC,GACA,aAAa,CAAC;QAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QAC3D,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;KACpC,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,WAAW,EAAE,OAAO,iBAAiB,CAAC;aACvC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,UAAU,CAAC,oBAAoB,CAAC,EAAE,yBAAyB;AAC3D;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,0BAA0B;AAC9C,yBAAyB,CAkF1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/runAction/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,EACL,eAAe,EACf,KAAK,gBAAgB,EAEtB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,GACjE,aAAa,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QACpD,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;KAC7B,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,SAAS,EAAE;gBACT,WAAW,EAAE,OAAO,eAAe,CAAC;aACrC,CAAC;SACH,CAAC;KACH,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/runAction/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,EACL,eAAe,EACf,KAAK,gBAAgB,EAEtB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,GACjE,aAAa,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QACpD,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;KAC7B,CAAC;IACJ,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,SAAS,EAAE;gBACT,WAAW,EAAE,OAAO,eAAe,CAAC;aACrC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AA2ED,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,UAAU,CAAC,uBAAuB,GAAG,oBAAoB,CAAC,EAAE,uCAAuC;AACnG;IAAE,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,0BAA0B;AAC9C,uBAAuB,CAwExB,CAAC"}
|
package/dist/schemas/Auth.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare const AuthenticationItemSchema: z.ZodObject<Omit<{
|
|
|
34
34
|
is_invite_only: boolean;
|
|
35
35
|
is_private: boolean;
|
|
36
36
|
shared_with_all: boolean;
|
|
37
|
+
url?: string | undefined;
|
|
37
38
|
title?: string | null | undefined;
|
|
38
39
|
version?: string | undefined;
|
|
39
40
|
label?: string | null | undefined;
|
|
@@ -44,7 +45,6 @@ export declare const AuthenticationItemSchema: z.ZodObject<Omit<{
|
|
|
44
45
|
is_shared?: string | undefined;
|
|
45
46
|
marked_stale_at?: string | null | undefined;
|
|
46
47
|
identifier?: string | null | undefined;
|
|
47
|
-
url?: string | undefined;
|
|
48
48
|
groups?: string | undefined;
|
|
49
49
|
members?: string | undefined;
|
|
50
50
|
user_id?: number | undefined;
|
|
@@ -59,6 +59,7 @@ export declare const AuthenticationItemSchema: z.ZodObject<Omit<{
|
|
|
59
59
|
is_invite_only: boolean;
|
|
60
60
|
is_private: boolean;
|
|
61
61
|
shared_with_all: boolean;
|
|
62
|
+
url?: string | undefined;
|
|
62
63
|
title?: string | null | undefined;
|
|
63
64
|
version?: string | undefined;
|
|
64
65
|
label?: string | null | undefined;
|
|
@@ -69,7 +70,6 @@ export declare const AuthenticationItemSchema: z.ZodObject<Omit<{
|
|
|
69
70
|
is_shared?: string | undefined;
|
|
70
71
|
marked_stale_at?: string | null | undefined;
|
|
71
72
|
identifier?: string | null | undefined;
|
|
72
|
-
url?: string | undefined;
|
|
73
73
|
groups?: string | undefined;
|
|
74
74
|
members?: string | undefined;
|
|
75
75
|
user_id?: number | undefined;
|
|
@@ -113,6 +113,7 @@ export declare const AuthItemSchema: z.ZodObject<Omit<{
|
|
|
113
113
|
is_invite_only: boolean;
|
|
114
114
|
is_private: boolean;
|
|
115
115
|
shared_with_all: boolean;
|
|
116
|
+
url?: string | undefined;
|
|
116
117
|
title?: string | null | undefined;
|
|
117
118
|
version?: string | undefined;
|
|
118
119
|
label?: string | null | undefined;
|
|
@@ -123,7 +124,6 @@ export declare const AuthItemSchema: z.ZodObject<Omit<{
|
|
|
123
124
|
is_shared?: string | undefined;
|
|
124
125
|
marked_stale_at?: string | null | undefined;
|
|
125
126
|
identifier?: string | null | undefined;
|
|
126
|
-
url?: string | undefined;
|
|
127
127
|
groups?: string | undefined;
|
|
128
128
|
members?: string | undefined;
|
|
129
129
|
user_id?: number | undefined;
|
|
@@ -138,6 +138,7 @@ export declare const AuthItemSchema: z.ZodObject<Omit<{
|
|
|
138
138
|
is_invite_only: boolean;
|
|
139
139
|
is_private: boolean;
|
|
140
140
|
shared_with_all: boolean;
|
|
141
|
+
url?: string | undefined;
|
|
141
142
|
title?: string | null | undefined;
|
|
142
143
|
version?: string | undefined;
|
|
143
144
|
label?: string | null | undefined;
|
|
@@ -148,7 +149,6 @@ export declare const AuthItemSchema: z.ZodObject<Omit<{
|
|
|
148
149
|
is_shared?: string | undefined;
|
|
149
150
|
marked_stale_at?: string | null | undefined;
|
|
150
151
|
identifier?: string | null | undefined;
|
|
151
|
-
url?: string | undefined;
|
|
152
152
|
groups?: string | undefined;
|
|
153
153
|
members?: string | undefined;
|
|
154
154
|
user_id?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/schemas/Field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/schemas/Field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkHhC,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAGlE,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC"}
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ export interface ApiError {
|
|
|
6
6
|
code: string;
|
|
7
7
|
title: string;
|
|
8
8
|
detail: string;
|
|
9
|
-
source?:
|
|
10
|
-
meta?:
|
|
9
|
+
source?: unknown;
|
|
10
|
+
meta?: unknown;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Base options for all error constructors
|
|
@@ -16,7 +16,7 @@ export interface ErrorOptions {
|
|
|
16
16
|
statusCode?: number;
|
|
17
17
|
errors?: ApiError[];
|
|
18
18
|
cause?: unknown;
|
|
19
|
-
response?:
|
|
19
|
+
response?: unknown;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Base class for all Zapier SDK errors
|
|
@@ -27,7 +27,7 @@ export declare abstract class ZapierError extends Error {
|
|
|
27
27
|
statusCode?: number;
|
|
28
28
|
errors?: ApiError[];
|
|
29
29
|
cause?: unknown;
|
|
30
|
-
response?:
|
|
30
|
+
response?: unknown;
|
|
31
31
|
constructor(message: string, options?: ErrorOptions);
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
@@ -52,9 +52,9 @@ export declare class ZapierAppNotFoundError extends ZapierError {
|
|
|
52
52
|
*/
|
|
53
53
|
export declare class ZapierValidationError extends ZapierError {
|
|
54
54
|
readonly name = "ZapierValidationError";
|
|
55
|
-
details?:
|
|
55
|
+
details?: unknown;
|
|
56
56
|
constructor(message: string, options?: ErrorOptions & {
|
|
57
|
-
details?:
|
|
57
|
+
details?: unknown;
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/types/events.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IACxE,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,WAAW,CAAC;IACnD,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,eAAe,GAAG,aAAa,CAAC;IACtC,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC"}
|
|
@@ -36,7 +36,8 @@ describe("validation utilities", () => {
|
|
|
36
36
|
expect(error).toBeInstanceOf(ZapierValidationError);
|
|
37
37
|
expect(error.message).toContain("name:");
|
|
38
38
|
expect(error.message).toContain("age:");
|
|
39
|
-
expect(error.details
|
|
39
|
+
expect(error.details
|
|
40
|
+
?.zodErrors).toBeDefined();
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zapier/zapier-sdk",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Complete Zapier SDK - combines all Zapier SDK packages",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"tsup": "^8.5.0",
|
|
47
47
|
"typescript": "^5.8.3",
|
|
48
48
|
"vitest": "^3.2.3",
|
|
49
|
-
"@zapier/zapier-sdk-cli-login": "0.3.
|
|
49
|
+
"@zapier/zapier-sdk-cli-login": "0.3.2"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"build": "tsup",
|
package/src/api/client.ts
CHANGED
|
@@ -313,7 +313,7 @@ class ZapierApiClient implements ApiClient {
|
|
|
313
313
|
private async fetchJson<TOutput = unknown>(
|
|
314
314
|
method: string,
|
|
315
315
|
path: string,
|
|
316
|
-
data?:
|
|
316
|
+
data?: unknown,
|
|
317
317
|
options: RequestOptions = {},
|
|
318
318
|
): Promise<TOutput> {
|
|
319
319
|
const headers = { ...options.headers };
|
|
@@ -412,7 +412,7 @@ class ZapierApiClient implements ApiClient {
|
|
|
412
412
|
|
|
413
413
|
public post = async <TOutput = unknown>(
|
|
414
414
|
path: string,
|
|
415
|
-
data?:
|
|
415
|
+
data?: unknown,
|
|
416
416
|
options: RequestOptions = {},
|
|
417
417
|
): Promise<TOutput> => {
|
|
418
418
|
return this.fetchJson<TOutput>("POST", path, data, options);
|
|
@@ -420,7 +420,7 @@ class ZapierApiClient implements ApiClient {
|
|
|
420
420
|
|
|
421
421
|
public put = async <TOutput = unknown>(
|
|
422
422
|
path: string,
|
|
423
|
-
data?:
|
|
423
|
+
data?: unknown,
|
|
424
424
|
options: RequestOptions = {},
|
|
425
425
|
): Promise<TOutput> => {
|
|
426
426
|
return this.fetchJson<TOutput>("PUT", path, data, options);
|
package/src/api/index.ts
CHANGED
package/src/api/types.ts
CHANGED
|
@@ -49,11 +49,19 @@ export interface ApiClientOptions {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export interface ApiClient {
|
|
52
|
-
get: (path: string, options?: RequestOptions) => Promise<
|
|
53
|
-
post:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
get: <T = unknown>(path: string, options?: RequestOptions) => Promise<T>;
|
|
53
|
+
post: <T = unknown>(
|
|
54
|
+
path: string,
|
|
55
|
+
data?: unknown,
|
|
56
|
+
options?: RequestOptions,
|
|
57
|
+
) => Promise<T>;
|
|
58
|
+
put: <T = unknown>(
|
|
59
|
+
path: string,
|
|
60
|
+
data?: unknown,
|
|
61
|
+
options?: RequestOptions,
|
|
62
|
+
) => Promise<T>;
|
|
63
|
+
delete: <T = unknown>(path: string, options?: RequestOptions) => Promise<T>;
|
|
64
|
+
poll: <T = unknown>(path: string, options?: PollOptions) => Promise<T>;
|
|
57
65
|
fetch: (
|
|
58
66
|
path: string,
|
|
59
67
|
init?: RequestInit & {
|
|
@@ -70,7 +78,7 @@ export interface RequestOptions {
|
|
|
70
78
|
customErrorHandler?: (errorInfo: {
|
|
71
79
|
status: number;
|
|
72
80
|
statusText: string;
|
|
73
|
-
data:
|
|
81
|
+
data: unknown;
|
|
74
82
|
}) => Error | undefined;
|
|
75
83
|
}
|
|
76
84
|
|
|
@@ -80,7 +88,7 @@ export interface PollOptions extends RequestOptions {
|
|
|
80
88
|
maxDelay?: number;
|
|
81
89
|
successStatus?: number;
|
|
82
90
|
pendingStatus?: number;
|
|
83
|
-
resultExtractor?: (response:
|
|
91
|
+
resultExtractor?: (response: unknown) => unknown;
|
|
84
92
|
}
|
|
85
93
|
|
|
86
94
|
export interface DebugLogger {
|
|
@@ -10,7 +10,7 @@ interface AppFactoryOptions {
|
|
|
10
10
|
|
|
11
11
|
// Base action type proxy for regular actions
|
|
12
12
|
interface BaseActionTypeProxy {
|
|
13
|
-
[action: string]: (options?: ActionExecutionOptions) =>
|
|
13
|
+
[action: string]: (options?: ActionExecutionOptions) => unknown;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
// Special fetch function type
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Plugin, GetSdkType } from "../../types/plugin";
|
|
2
|
-
import type { ApiClient } from "../../api";
|
|
2
|
+
import type { ApiClient, Implementation } from "../../api";
|
|
3
3
|
import type { ActionItem } from "../../types/domain";
|
|
4
4
|
import { normalizeActionItem } from "../../utils/domain-utils";
|
|
5
5
|
import {
|
|
@@ -57,24 +57,27 @@ export const listActionsPlugin: Plugin<
|
|
|
57
57
|
selected_apis: implementationId,
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
const data = await api.get(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
60
|
+
const data = await api.get<{ results: Implementation[] }>(
|
|
61
|
+
"/api/v4/implementations/",
|
|
62
|
+
{
|
|
63
|
+
searchParams,
|
|
64
|
+
customErrorHandler: ({ status }) => {
|
|
65
|
+
if (status === 401) {
|
|
66
|
+
return new ZapierAuthenticationError(
|
|
67
|
+
`Authentication failed. Your token may not have permission to access implementations or may be expired. (HTTP ${status})`,
|
|
68
|
+
{ statusCode: status },
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
if (status === 403) {
|
|
72
|
+
return new ZapierAuthenticationError(
|
|
73
|
+
`Access forbidden. Your token may not have the required scopes to list implementations. (HTTP ${status})`,
|
|
74
|
+
{ statusCode: status },
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
},
|
|
76
79
|
},
|
|
77
|
-
|
|
80
|
+
);
|
|
78
81
|
|
|
79
82
|
let allActions: ActionItem[] = [];
|
|
80
83
|
|
|
@@ -87,14 +87,17 @@ async function executeAction(actionOptions: ExecuteActionOptions): Promise<{
|
|
|
87
87
|
data: runRequestData,
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
-
const runData = await api.post(
|
|
90
|
+
const runData = await api.post<{ data: { id: string } }>(
|
|
91
|
+
"/api/actions/v1/runs",
|
|
92
|
+
runRequest,
|
|
93
|
+
);
|
|
91
94
|
const runId = runData.data.id;
|
|
92
95
|
|
|
93
96
|
// Step 2: Poll GET /actions/v1/runs/{run_id} for results
|
|
94
97
|
return await api.poll(`/api/actions/v1/runs/${runId}`, {
|
|
95
98
|
successStatus: 200,
|
|
96
99
|
pendingStatus: 202,
|
|
97
|
-
resultExtractor: (result: { data: unknown })
|
|
100
|
+
resultExtractor: (result: unknown) => (result as { data: unknown }).data,
|
|
98
101
|
});
|
|
99
102
|
}
|
|
100
103
|
|
package/src/schemas/Field.ts
CHANGED
|
@@ -65,10 +65,13 @@ export const InputFieldItemSchema = withFormatter(
|
|
|
65
65
|
if (item.choices && item.choices.length > 0) {
|
|
66
66
|
const choiceText =
|
|
67
67
|
item.choices.length <= 3
|
|
68
|
-
? `Choices: ${item.choices.map((c:
|
|
68
|
+
? `Choices: ${item.choices.map((c: { label?: string; value: string | number }) => c.label || c.value).join(", ")}`
|
|
69
69
|
: `Choices: ${item.choices
|
|
70
70
|
.slice(0, 3)
|
|
71
|
-
.map(
|
|
71
|
+
.map(
|
|
72
|
+
(c: { label?: string; value: string | number }) =>
|
|
73
|
+
c.label || c.value,
|
|
74
|
+
)
|
|
72
75
|
.join(", ")} (+${item.choices.length - 3} more)`;
|
|
73
76
|
details.push({ text: choiceText, style: "accent" as const });
|
|
74
77
|
}
|
package/src/types/errors.ts
CHANGED
|
@@ -6,8 +6,8 @@ export interface ApiError {
|
|
|
6
6
|
code: string;
|
|
7
7
|
title: string;
|
|
8
8
|
detail: string;
|
|
9
|
-
source?:
|
|
10
|
-
meta?:
|
|
9
|
+
source?: unknown;
|
|
10
|
+
meta?: unknown;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -17,7 +17,7 @@ export interface ErrorOptions {
|
|
|
17
17
|
statusCode?: number;
|
|
18
18
|
errors?: ApiError[];
|
|
19
19
|
cause?: unknown;
|
|
20
|
-
response?:
|
|
20
|
+
response?: unknown;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -29,7 +29,7 @@ export abstract class ZapierError extends Error {
|
|
|
29
29
|
public statusCode?: number;
|
|
30
30
|
public errors?: ApiError[];
|
|
31
31
|
public cause?: unknown;
|
|
32
|
-
public response?:
|
|
32
|
+
public response?: unknown;
|
|
33
33
|
|
|
34
34
|
constructor(message: string, options: ErrorOptions = {}) {
|
|
35
35
|
super(message);
|
|
@@ -74,9 +74,12 @@ export class ZapierAppNotFoundError extends ZapierError {
|
|
|
74
74
|
*/
|
|
75
75
|
export class ZapierValidationError extends ZapierError {
|
|
76
76
|
readonly name = "ZapierValidationError";
|
|
77
|
-
public details?:
|
|
77
|
+
public details?: unknown;
|
|
78
78
|
|
|
79
|
-
constructor(
|
|
79
|
+
constructor(
|
|
80
|
+
message: string,
|
|
81
|
+
options: ErrorOptions & { details?: unknown } = {},
|
|
82
|
+
) {
|
|
80
83
|
super(message, options);
|
|
81
84
|
this.details = options.details;
|
|
82
85
|
}
|
package/src/types/events.ts
CHANGED
|
@@ -42,7 +42,8 @@ describe("validation utilities", () => {
|
|
|
42
42
|
expect((error as ZapierValidationError).message).toContain("name:");
|
|
43
43
|
expect((error as ZapierValidationError).message).toContain("age:");
|
|
44
44
|
expect(
|
|
45
|
-
(error as ZapierValidationError).details
|
|
45
|
+
((error as ZapierValidationError).details as { zodErrors: unknown })
|
|
46
|
+
?.zodErrors,
|
|
46
47
|
).toBeDefined();
|
|
47
48
|
}
|
|
48
49
|
});
|