@zapier/zapier-sdk 0.11.1 → 0.12.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 +217 -103
- package/dist/index.cjs +72 -26
- package/dist/index.d.mts +36 -3
- package/dist/index.mjs +72 -26
- package/dist/plugins/fetch/index.d.ts +14 -0
- package/dist/plugins/fetch/index.d.ts.map +1 -1
- package/dist/plugins/fetch/index.js +14 -0
- package/dist/plugins/fetch/schemas.d.ts +25 -0
- package/dist/plugins/fetch/schemas.d.ts.map +1 -0
- package/dist/plugins/fetch/schemas.js +33 -0
- package/dist/plugins/listAuthentications/schemas.d.ts +1 -1
- package/dist/plugins/listAuthentications/schemas.d.ts.map +1 -1
- package/dist/plugins/listAuthentications/schemas.js +4 -1
- package/dist/plugins/registry/index.d.ts +3 -1
- package/dist/plugins/registry/index.d.ts.map +1 -1
- package/dist/plugins/registry/index.js +55 -34
- package/dist/sdk.d.ts +12 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/types/sdk.d.ts +6 -1
- package/dist/types/sdk.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/plugins/fetch/index.ts +25 -0
- package/src/plugins/fetch/schemas.ts +37 -0
- package/src/plugins/listAuthentications/schemas.ts +6 -1
- package/src/plugins/registry/index.ts +66 -34
- package/src/types/sdk.ts +3 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/types/sdk.d.ts
CHANGED
|
@@ -49,10 +49,15 @@ export interface FunctionRegistryEntry {
|
|
|
49
49
|
type?: "list" | "item";
|
|
50
50
|
itemType?: string;
|
|
51
51
|
returnType?: string;
|
|
52
|
-
inputSchema
|
|
52
|
+
inputSchema?: z.ZodSchema;
|
|
53
|
+
inputParameters?: Array<{
|
|
54
|
+
name: string;
|
|
55
|
+
schema: z.ZodSchema;
|
|
56
|
+
}>;
|
|
53
57
|
outputSchema?: z.ZodSchema;
|
|
54
58
|
categories: string[];
|
|
55
59
|
resolvers?: Record<string, any>;
|
|
60
|
+
packages?: string[];
|
|
56
61
|
}
|
|
57
62
|
export interface ZapierSdkFunctions extends ListInputFieldsSdkFunction, GetAuthenticationSdkFunction, FindFirstAuthenticationSdkFunction, FindUniqueAuthenticationSdkFunction, RelayRequestSdkFunction {
|
|
58
63
|
}
|
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,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE;YACJ,CAAC,MAAM,EAAE,MAAM,GAAG;gBAChB,kBAAkB,EAAE,MAAM,CAAC;gBAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAGD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AACrG,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAClG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAMlE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { RelayRequestOptions } from "../request/schemas";
|
|
2
2
|
import type { Plugin, GetSdkType } from "../../types/plugin";
|
|
3
3
|
import type { RequestPluginProvides } from "../request";
|
|
4
|
+
import { FetchUrlSchema, FetchInitSchema } from "./schemas";
|
|
5
|
+
import type { z } from "zod";
|
|
4
6
|
|
|
5
7
|
export interface FetchPluginProvides {
|
|
6
8
|
fetch: (
|
|
@@ -11,6 +13,16 @@ export interface FetchPluginProvides {
|
|
|
11
13
|
authenticationTemplate?: string;
|
|
12
14
|
},
|
|
13
15
|
) => Promise<Response>;
|
|
16
|
+
context: {
|
|
17
|
+
meta: {
|
|
18
|
+
fetch: {
|
|
19
|
+
packages: string[];
|
|
20
|
+
categories: string[];
|
|
21
|
+
returnType: string;
|
|
22
|
+
inputParameters: Array<{ name: string; schema: z.ZodSchema }>;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
14
26
|
}
|
|
15
27
|
|
|
16
28
|
/**
|
|
@@ -48,6 +60,19 @@ export const fetchPlugin: Plugin<
|
|
|
48
60
|
authenticationTemplate,
|
|
49
61
|
});
|
|
50
62
|
},
|
|
63
|
+
context: {
|
|
64
|
+
meta: {
|
|
65
|
+
fetch: {
|
|
66
|
+
packages: ["sdk"],
|
|
67
|
+
categories: ["http"],
|
|
68
|
+
returnType: "Response",
|
|
69
|
+
inputParameters: [
|
|
70
|
+
{ name: "url", schema: FetchUrlSchema },
|
|
71
|
+
{ name: "init", schema: FetchInitSchema },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
51
76
|
};
|
|
52
77
|
};
|
|
53
78
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
// Schemas for fetch function parameters
|
|
4
|
+
export const FetchUrlSchema = z
|
|
5
|
+
.union([z.string(), z.instanceof(URL)])
|
|
6
|
+
.describe("The URL to fetch");
|
|
7
|
+
|
|
8
|
+
export const FetchInitSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
method: z
|
|
11
|
+
.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
|
12
|
+
.optional(),
|
|
13
|
+
headers: z.record(z.string()).optional(),
|
|
14
|
+
body: z
|
|
15
|
+
.union([
|
|
16
|
+
z.string(),
|
|
17
|
+
z.instanceof(FormData),
|
|
18
|
+
z.instanceof(URLSearchParams),
|
|
19
|
+
])
|
|
20
|
+
.optional(),
|
|
21
|
+
authenticationId: z
|
|
22
|
+
.number()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Zapier authentication ID to use for the request"),
|
|
25
|
+
callbackUrl: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("URL to send async response to (makes request async)"),
|
|
29
|
+
authenticationTemplate: z
|
|
30
|
+
.string()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe(
|
|
33
|
+
"Optional JSON string authentication template to bypass Notary lookup",
|
|
34
|
+
),
|
|
35
|
+
})
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Fetch options including authentication");
|
|
@@ -29,7 +29,12 @@ export const ListAuthenticationsSchema = z
|
|
|
29
29
|
.optional()
|
|
30
30
|
.describe("Filter authentications by exact title match"),
|
|
31
31
|
accountId: z.string().optional().describe("Filter by account ID"),
|
|
32
|
-
owner: z
|
|
32
|
+
owner: z
|
|
33
|
+
.union([z.string(), z.literal("me")])
|
|
34
|
+
.optional()
|
|
35
|
+
.describe(
|
|
36
|
+
"Filter by owner, 'me' for your own authentications or a specific user ID",
|
|
37
|
+
),
|
|
33
38
|
pageSize: z
|
|
34
39
|
.number()
|
|
35
40
|
.min(1)
|
|
@@ -4,7 +4,7 @@ import type { FunctionRegistryEntry } from "../../types/sdk";
|
|
|
4
4
|
export interface RegisterPluginFunctionOptions {}
|
|
5
5
|
|
|
6
6
|
export interface RegistryPluginProvides {
|
|
7
|
-
getRegistry: () => {
|
|
7
|
+
getRegistry: (options?: { package?: string }) => {
|
|
8
8
|
functions: FunctionRegistryEntry[];
|
|
9
9
|
categories: {
|
|
10
10
|
key: string;
|
|
@@ -62,53 +62,85 @@ export const registryPlugin: Plugin<
|
|
|
62
62
|
itemType: meta.itemType,
|
|
63
63
|
returnType: meta.returnType,
|
|
64
64
|
inputSchema: meta.inputSchema,
|
|
65
|
+
inputParameters: meta.inputParameters,
|
|
65
66
|
outputSchema: meta.outputSchema,
|
|
66
67
|
categories: meta.categories || [],
|
|
67
68
|
resolvers: meta.resolvers,
|
|
69
|
+
packages: meta.packages,
|
|
68
70
|
};
|
|
69
71
|
})
|
|
70
72
|
.sort((a, b) => a.name.localeCompare(b.name));
|
|
71
73
|
|
|
72
74
|
const knownCategories = Object.keys(categoryDefinitions);
|
|
73
75
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
76
|
+
// Cache the entire registry result for each package
|
|
77
|
+
const registryCache = new Map<
|
|
78
|
+
string,
|
|
79
|
+
{ functions: FunctionRegistryEntry[]; categories: any[] }
|
|
80
|
+
>();
|
|
81
|
+
|
|
82
|
+
function getRegistry(options?: { package?: string }) {
|
|
83
|
+
const packageFilter = options?.package;
|
|
84
|
+
const cacheKey = packageFilter || "__all__";
|
|
85
|
+
|
|
86
|
+
// Return cached result if available
|
|
87
|
+
if (registryCache.has(cacheKey)) {
|
|
88
|
+
return registryCache.get(cacheKey)!;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Filter functions by package if specified
|
|
92
|
+
const filteredFunctions = packageFilter
|
|
93
|
+
? functions.filter(
|
|
88
94
|
(f) =>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
(categoryKey === "other" &&
|
|
92
|
-
!f.categories.some((c) => knownCategories.includes(c))),
|
|
95
|
+
// Include if packages is undefined (belongs to all packages) or includes the specified package
|
|
96
|
+
!f.packages || f.packages.includes(packageFilter),
|
|
93
97
|
)
|
|
94
|
-
|
|
95
|
-
.sort(); // Alphabetize functions within each category
|
|
98
|
+
: functions;
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
// Build categories with filtered functions
|
|
101
|
+
const filteredCategories = knownCategories
|
|
102
|
+
.sort((a, b) => {
|
|
103
|
+
// Keep "other" category last
|
|
104
|
+
if (a === "other") return 1;
|
|
105
|
+
if (b === "other") return -1;
|
|
106
|
+
// Alphabetize by title, not key
|
|
107
|
+
const titleA = categoryDefinitions[a].title;
|
|
108
|
+
const titleB = categoryDefinitions[b].title;
|
|
109
|
+
return titleA.localeCompare(titleB);
|
|
110
|
+
})
|
|
111
|
+
.map((categoryKey) => {
|
|
112
|
+
// Find the functions that are in this category and match the package filter
|
|
113
|
+
const categoryFunctions = filteredFunctions
|
|
114
|
+
.filter(
|
|
115
|
+
(f) =>
|
|
116
|
+
f.categories.includes(categoryKey) ||
|
|
117
|
+
// If the category is "other" and the function is not in any other category, include it
|
|
118
|
+
(categoryKey === "other" &&
|
|
119
|
+
!f.categories.some((c) => knownCategories.includes(c))),
|
|
120
|
+
)
|
|
121
|
+
.map((f) => f.name)
|
|
122
|
+
.sort(); // Alphabetize functions within each category
|
|
123
|
+
|
|
124
|
+
const definition = categoryDefinitions[categoryKey];
|
|
125
|
+
const title = definition.title;
|
|
126
|
+
return {
|
|
127
|
+
key: categoryKey,
|
|
128
|
+
title,
|
|
129
|
+
titlePlural: definition.titlePlural ?? `${title}s`,
|
|
130
|
+
functions: categoryFunctions,
|
|
131
|
+
};
|
|
132
|
+
})
|
|
133
|
+
.filter((category) => category.functions.length > 0); // Only include categories with functions
|
|
106
134
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
categories,
|
|
135
|
+
const result = {
|
|
136
|
+
functions: filteredFunctions,
|
|
137
|
+
categories: filteredCategories,
|
|
111
138
|
};
|
|
139
|
+
|
|
140
|
+
// Cache the result
|
|
141
|
+
registryCache.set(cacheKey, result);
|
|
142
|
+
|
|
143
|
+
return result;
|
|
112
144
|
}
|
|
113
145
|
|
|
114
146
|
return {
|
package/src/types/sdk.ts
CHANGED
|
@@ -60,10 +60,12 @@ export interface FunctionRegistryEntry {
|
|
|
60
60
|
type?: "list" | "item";
|
|
61
61
|
itemType?: string;
|
|
62
62
|
returnType?: string;
|
|
63
|
-
inputSchema
|
|
63
|
+
inputSchema?: z.ZodSchema;
|
|
64
|
+
inputParameters?: Array<{ name: string; schema: z.ZodSchema }>;
|
|
64
65
|
outputSchema?: z.ZodSchema;
|
|
65
66
|
categories: string[];
|
|
66
67
|
resolvers?: Record<string, any>;
|
|
68
|
+
packages?: string[];
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
// Compose SDK functions from individual function interfaces
|