@zapier/zapier-sdk 0.11.1 → 0.11.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 +6 -0
- package/README.md +149 -91
- package/dist/index.cjs +69 -25
- package/dist/index.d.mts +35 -2
- package/dist/index.mjs +69 -25
- 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/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/registry/index.ts +66 -34
- package/src/types/sdk.ts +3 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as zod from 'zod';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -1575,7 +1576,9 @@ type Sdk<TCurrentSdk = {}, TCurrentContext = {
|
|
|
1575
1576
|
};
|
|
1576
1577
|
|
|
1577
1578
|
interface RegistryPluginProvides {
|
|
1578
|
-
getRegistry: (
|
|
1579
|
+
getRegistry: (options?: {
|
|
1580
|
+
package?: string;
|
|
1581
|
+
}) => {
|
|
1579
1582
|
functions: FunctionRegistryEntry[];
|
|
1580
1583
|
categories: {
|
|
1581
1584
|
key: string;
|
|
@@ -1661,6 +1664,19 @@ interface FetchPluginProvides {
|
|
|
1661
1664
|
callbackUrl?: string;
|
|
1662
1665
|
authenticationTemplate?: string;
|
|
1663
1666
|
}) => Promise<Response>;
|
|
1667
|
+
context: {
|
|
1668
|
+
meta: {
|
|
1669
|
+
fetch: {
|
|
1670
|
+
packages: string[];
|
|
1671
|
+
categories: string[];
|
|
1672
|
+
returnType: string;
|
|
1673
|
+
inputParameters: Array<{
|
|
1674
|
+
name: string;
|
|
1675
|
+
schema: z.ZodSchema;
|
|
1676
|
+
}>;
|
|
1677
|
+
};
|
|
1678
|
+
};
|
|
1679
|
+
};
|
|
1664
1680
|
}
|
|
1665
1681
|
/**
|
|
1666
1682
|
* Direct plugin function - takes options + sdk + context in one object
|
|
@@ -2198,10 +2214,15 @@ interface FunctionRegistryEntry {
|
|
|
2198
2214
|
type?: "list" | "item";
|
|
2199
2215
|
itemType?: string;
|
|
2200
2216
|
returnType?: string;
|
|
2201
|
-
inputSchema
|
|
2217
|
+
inputSchema?: z.ZodSchema;
|
|
2218
|
+
inputParameters?: Array<{
|
|
2219
|
+
name: string;
|
|
2220
|
+
schema: z.ZodSchema;
|
|
2221
|
+
}>;
|
|
2202
2222
|
outputSchema?: z.ZodSchema;
|
|
2203
2223
|
categories: string[];
|
|
2204
2224
|
resolvers?: Record<string, any>;
|
|
2225
|
+
packages?: string[];
|
|
2205
2226
|
}
|
|
2206
2227
|
interface ZapierSdk extends GetSdkType<RegistryPluginProvides & FetchPluginProvides & AppsPluginProvides & ListAppsPluginProvides & ManifestPluginProvides & GetAppPluginProvides & ListActionsPluginProvides & GetActionPluginProvides & RunActionPluginProvides & ListAuthenticationsPluginProvides & GetAuthenticationPluginProvides & FindFirstAuthenticationPluginProvides & FindUniqueAuthenticationPluginProvides & ListInputFieldsPluginProvides & ListInputFieldChoicesPluginProvides & RequestPluginProvides & GetProfilePluginProvides> {
|
|
2207
2228
|
apps: ActionProxy & ZapierSdkApps;
|
|
@@ -3385,6 +3406,18 @@ declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOptions): Sdk
|
|
|
3385
3406
|
inputSchema: typeof RelayRequestSchema;
|
|
3386
3407
|
};
|
|
3387
3408
|
};
|
|
3409
|
+
} & {
|
|
3410
|
+
meta: {
|
|
3411
|
+
fetch: {
|
|
3412
|
+
packages: string[];
|
|
3413
|
+
categories: string[];
|
|
3414
|
+
returnType: string;
|
|
3415
|
+
inputParameters: Array<{
|
|
3416
|
+
name: string;
|
|
3417
|
+
schema: zod.ZodType;
|
|
3418
|
+
}>;
|
|
3419
|
+
};
|
|
3420
|
+
};
|
|
3388
3421
|
} & {
|
|
3389
3422
|
meta: {
|
|
3390
3423
|
getProfile: {
|
package/dist/index.mjs
CHANGED
|
@@ -296,6 +296,21 @@ var appsPlugin = ({ sdk }) => {
|
|
|
296
296
|
apps: createAppsProxy({ sdk })
|
|
297
297
|
};
|
|
298
298
|
};
|
|
299
|
+
var FetchUrlSchema = z.union([z.string(), z.instanceof(URL)]).describe("The URL to fetch");
|
|
300
|
+
var FetchInitSchema = z.object({
|
|
301
|
+
method: z.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"]).optional(),
|
|
302
|
+
headers: z.record(z.string()).optional(),
|
|
303
|
+
body: z.union([
|
|
304
|
+
z.string(),
|
|
305
|
+
z.instanceof(FormData),
|
|
306
|
+
z.instanceof(URLSearchParams)
|
|
307
|
+
]).optional(),
|
|
308
|
+
authenticationId: z.number().optional().describe("Zapier authentication ID to use for the request"),
|
|
309
|
+
callbackUrl: z.string().optional().describe("URL to send async response to (makes request async)"),
|
|
310
|
+
authenticationTemplate: z.string().optional().describe(
|
|
311
|
+
"Optional JSON string authentication template to bypass Notary lookup"
|
|
312
|
+
)
|
|
313
|
+
}).optional().describe("Fetch options including authentication");
|
|
299
314
|
|
|
300
315
|
// src/plugins/fetch/index.ts
|
|
301
316
|
var fetchPlugin = ({ sdk }) => {
|
|
@@ -316,6 +331,19 @@ var fetchPlugin = ({ sdk }) => {
|
|
|
316
331
|
callbackUrl,
|
|
317
332
|
authenticationTemplate
|
|
318
333
|
});
|
|
334
|
+
},
|
|
335
|
+
context: {
|
|
336
|
+
meta: {
|
|
337
|
+
fetch: {
|
|
338
|
+
packages: ["sdk"],
|
|
339
|
+
categories: ["http"],
|
|
340
|
+
returnType: "Response",
|
|
341
|
+
inputParameters: [
|
|
342
|
+
{ name: "url", schema: FetchUrlSchema },
|
|
343
|
+
{ name: "init", schema: FetchInitSchema }
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
}
|
|
319
347
|
}
|
|
320
348
|
};
|
|
321
349
|
};
|
|
@@ -3493,37 +3521,53 @@ var registryPlugin = ({ sdk, context }) => {
|
|
|
3493
3521
|
itemType: meta.itemType,
|
|
3494
3522
|
returnType: meta.returnType,
|
|
3495
3523
|
inputSchema: meta.inputSchema,
|
|
3524
|
+
inputParameters: meta.inputParameters,
|
|
3496
3525
|
outputSchema: meta.outputSchema,
|
|
3497
3526
|
categories: meta.categories || [],
|
|
3498
|
-
resolvers: meta.resolvers
|
|
3527
|
+
resolvers: meta.resolvers,
|
|
3528
|
+
packages: meta.packages
|
|
3499
3529
|
};
|
|
3500
3530
|
}).sort((a, b) => a.name.localeCompare(b.name));
|
|
3501
3531
|
const knownCategories = Object.keys(categoryDefinitions);
|
|
3502
|
-
const
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
const
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
const
|
|
3510
|
-
(f) =>
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3532
|
+
const registryCache = /* @__PURE__ */ new Map();
|
|
3533
|
+
function getRegistry(options) {
|
|
3534
|
+
const packageFilter = options?.package;
|
|
3535
|
+
const cacheKey = packageFilter || "__all__";
|
|
3536
|
+
if (registryCache.has(cacheKey)) {
|
|
3537
|
+
return registryCache.get(cacheKey);
|
|
3538
|
+
}
|
|
3539
|
+
const filteredFunctions = packageFilter ? functions.filter(
|
|
3540
|
+
(f) => (
|
|
3541
|
+
// Include if packages is undefined (belongs to all packages) or includes the specified package
|
|
3542
|
+
!f.packages || f.packages.includes(packageFilter)
|
|
3543
|
+
)
|
|
3544
|
+
) : functions;
|
|
3545
|
+
const filteredCategories = knownCategories.sort((a, b) => {
|
|
3546
|
+
if (a === "other") return 1;
|
|
3547
|
+
if (b === "other") return -1;
|
|
3548
|
+
const titleA = categoryDefinitions[a].title;
|
|
3549
|
+
const titleB = categoryDefinitions[b].title;
|
|
3550
|
+
return titleA.localeCompare(titleB);
|
|
3551
|
+
}).map((categoryKey) => {
|
|
3552
|
+
const categoryFunctions = filteredFunctions.filter(
|
|
3553
|
+
(f) => f.categories.includes(categoryKey) || // If the category is "other" and the function is not in any other category, include it
|
|
3554
|
+
categoryKey === "other" && !f.categories.some((c) => knownCategories.includes(c))
|
|
3555
|
+
).map((f) => f.name).sort();
|
|
3556
|
+
const definition = categoryDefinitions[categoryKey];
|
|
3557
|
+
const title = definition.title;
|
|
3558
|
+
return {
|
|
3559
|
+
key: categoryKey,
|
|
3560
|
+
title,
|
|
3561
|
+
titlePlural: definition.titlePlural ?? `${title}s`,
|
|
3562
|
+
functions: categoryFunctions
|
|
3563
|
+
};
|
|
3564
|
+
}).filter((category) => category.functions.length > 0);
|
|
3565
|
+
const result = {
|
|
3566
|
+
functions: filteredFunctions,
|
|
3567
|
+
categories: filteredCategories
|
|
3526
3568
|
};
|
|
3569
|
+
registryCache.set(cacheKey, result);
|
|
3570
|
+
return result;
|
|
3527
3571
|
}
|
|
3528
3572
|
return {
|
|
3529
3573
|
getRegistry
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import type { Plugin, GetSdkType } from "../../types/plugin";
|
|
2
2
|
import type { RequestPluginProvides } from "../request";
|
|
3
|
+
import type { z } from "zod";
|
|
3
4
|
export interface FetchPluginProvides {
|
|
4
5
|
fetch: (url: string | URL, init?: RequestInit & {
|
|
5
6
|
authenticationId?: number;
|
|
6
7
|
callbackUrl?: string;
|
|
7
8
|
authenticationTemplate?: string;
|
|
8
9
|
}) => Promise<Response>;
|
|
10
|
+
context: {
|
|
11
|
+
meta: {
|
|
12
|
+
fetch: {
|
|
13
|
+
packages: string[];
|
|
14
|
+
categories: string[];
|
|
15
|
+
returnType: string;
|
|
16
|
+
inputParameters: Array<{
|
|
17
|
+
name: string;
|
|
18
|
+
schema: z.ZodSchema;
|
|
19
|
+
}>;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
9
23
|
}
|
|
10
24
|
/**
|
|
11
25
|
* Direct plugin function - takes options + sdk + context in one object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/fetch/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/fetch/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,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;IACvB,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACnB,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrB,UAAU,EAAE,MAAM,CAAC;gBACnB,eAAe,EAAE,KAAK,CAAC;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAA;iBAAE,CAAC,CAAC;aAC/D,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,UAAU,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;AAC7D,EAAE,EAAE,yCAAyC;AAC7C,mBAAmB,CA2CpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FetchUrlSchema, FetchInitSchema } from "./schemas";
|
|
1
2
|
/**
|
|
2
3
|
* Direct plugin function - takes options + sdk + context in one object
|
|
3
4
|
*/
|
|
@@ -16,5 +17,18 @@ export const fetchPlugin = ({ sdk }) => {
|
|
|
16
17
|
authenticationTemplate,
|
|
17
18
|
});
|
|
18
19
|
},
|
|
20
|
+
context: {
|
|
21
|
+
meta: {
|
|
22
|
+
fetch: {
|
|
23
|
+
packages: ["sdk"],
|
|
24
|
+
categories: ["http"],
|
|
25
|
+
returnType: "Response",
|
|
26
|
+
inputParameters: [
|
|
27
|
+
{ name: "url", schema: FetchUrlSchema },
|
|
28
|
+
{ name: "init", schema: FetchInitSchema },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
19
33
|
};
|
|
20
34
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const FetchUrlSchema: z.ZodUnion<[z.ZodString, z.ZodType<URL, z.ZodTypeDef, URL>]>;
|
|
3
|
+
export declare const FetchInitSchema: z.ZodOptional<z.ZodObject<{
|
|
4
|
+
method: z.ZodOptional<z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"]>>;
|
|
5
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6
|
+
body: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodType<FormData, z.ZodTypeDef, FormData>, z.ZodType<URLSearchParams, z.ZodTypeDef, URLSearchParams>]>>;
|
|
7
|
+
authenticationId: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
callbackUrl: z.ZodOptional<z.ZodString>;
|
|
9
|
+
authenticationTemplate: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | undefined;
|
|
12
|
+
authenticationId?: number | undefined;
|
|
13
|
+
body?: string | URLSearchParams | FormData | undefined;
|
|
14
|
+
callbackUrl?: string | undefined;
|
|
15
|
+
authenticationTemplate?: string | undefined;
|
|
16
|
+
headers?: Record<string, string> | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | undefined;
|
|
19
|
+
authenticationId?: number | undefined;
|
|
20
|
+
body?: string | URLSearchParams | FormData | undefined;
|
|
21
|
+
callbackUrl?: string | undefined;
|
|
22
|
+
authenticationTemplate?: string | undefined;
|
|
23
|
+
headers?: Record<string, string> | undefined;
|
|
24
|
+
}>>;
|
|
25
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/plugins/fetch/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc,8DAEI,CAAC;AAEhC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;GA6ByB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Schemas for fetch function parameters
|
|
3
|
+
export const FetchUrlSchema = z
|
|
4
|
+
.union([z.string(), z.instanceof(URL)])
|
|
5
|
+
.describe("The URL to fetch");
|
|
6
|
+
export const FetchInitSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
method: z
|
|
9
|
+
.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"])
|
|
10
|
+
.optional(),
|
|
11
|
+
headers: z.record(z.string()).optional(),
|
|
12
|
+
body: z
|
|
13
|
+
.union([
|
|
14
|
+
z.string(),
|
|
15
|
+
z.instanceof(FormData),
|
|
16
|
+
z.instanceof(URLSearchParams),
|
|
17
|
+
])
|
|
18
|
+
.optional(),
|
|
19
|
+
authenticationId: z
|
|
20
|
+
.number()
|
|
21
|
+
.optional()
|
|
22
|
+
.describe("Zapier authentication ID to use for the request"),
|
|
23
|
+
callbackUrl: z
|
|
24
|
+
.string()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe("URL to send async response to (makes request async)"),
|
|
27
|
+
authenticationTemplate: z
|
|
28
|
+
.string()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Optional JSON string authentication template to bypass Notary lookup"),
|
|
31
|
+
})
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Fetch options including authentication");
|
|
@@ -3,7 +3,9 @@ import type { FunctionRegistryEntry } from "../../types/sdk";
|
|
|
3
3
|
export interface RegisterPluginFunctionOptions {
|
|
4
4
|
}
|
|
5
5
|
export interface RegistryPluginProvides {
|
|
6
|
-
getRegistry: (
|
|
6
|
+
getRegistry: (options?: {
|
|
7
|
+
package?: string;
|
|
8
|
+
}) => {
|
|
7
9
|
functions: FunctionRegistryEntry[];
|
|
8
10
|
categories: {
|
|
9
11
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,6BAA6B;CAAG;AAEjD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,6BAA6B;CAAG;AAEjD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QAC/C,SAAS,EAAE,qBAAqB,EAAE,CAAC;QACnC,UAAU,EAAE;YACV,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,EAAE,CAAC;SACrB,EAAE,CAAC;KACL,CAAC;CACH;AAGD,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,EAAE,EAAE,wBAAwB;AAC5B,EAAE,EAAE,sBAAsB;AAC1B,sBAAsB,CA+HvB,CAAC"}
|
|
@@ -36,48 +36,69 @@ export const registryPlugin = ({ sdk, context }) => {
|
|
|
36
36
|
itemType: meta.itemType,
|
|
37
37
|
returnType: meta.returnType,
|
|
38
38
|
inputSchema: meta.inputSchema,
|
|
39
|
+
inputParameters: meta.inputParameters,
|
|
39
40
|
outputSchema: meta.outputSchema,
|
|
40
41
|
categories: meta.categories || [],
|
|
41
42
|
resolvers: meta.resolvers,
|
|
43
|
+
packages: meta.packages,
|
|
42
44
|
};
|
|
43
45
|
})
|
|
44
46
|
.sort((a, b) => a.name.localeCompare(b.name));
|
|
45
47
|
const knownCategories = Object.keys(categoryDefinitions);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
title
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
48
|
+
// Cache the entire registry result for each package
|
|
49
|
+
const registryCache = new Map();
|
|
50
|
+
function getRegistry(options) {
|
|
51
|
+
const packageFilter = options?.package;
|
|
52
|
+
const cacheKey = packageFilter || "__all__";
|
|
53
|
+
// Return cached result if available
|
|
54
|
+
if (registryCache.has(cacheKey)) {
|
|
55
|
+
return registryCache.get(cacheKey);
|
|
56
|
+
}
|
|
57
|
+
// Filter functions by package if specified
|
|
58
|
+
const filteredFunctions = packageFilter
|
|
59
|
+
? functions.filter((f) =>
|
|
60
|
+
// Include if packages is undefined (belongs to all packages) or includes the specified package
|
|
61
|
+
!f.packages || f.packages.includes(packageFilter))
|
|
62
|
+
: functions;
|
|
63
|
+
// Build categories with filtered functions
|
|
64
|
+
const filteredCategories = knownCategories
|
|
65
|
+
.sort((a, b) => {
|
|
66
|
+
// Keep "other" category last
|
|
67
|
+
if (a === "other")
|
|
68
|
+
return 1;
|
|
69
|
+
if (b === "other")
|
|
70
|
+
return -1;
|
|
71
|
+
// Alphabetize by title, not key
|
|
72
|
+
const titleA = categoryDefinitions[a].title;
|
|
73
|
+
const titleB = categoryDefinitions[b].title;
|
|
74
|
+
return titleA.localeCompare(titleB);
|
|
75
|
+
})
|
|
76
|
+
.map((categoryKey) => {
|
|
77
|
+
// Find the functions that are in this category and match the package filter
|
|
78
|
+
const categoryFunctions = filteredFunctions
|
|
79
|
+
.filter((f) => f.categories.includes(categoryKey) ||
|
|
80
|
+
// If the category is "other" and the function is not in any other category, include it
|
|
81
|
+
(categoryKey === "other" &&
|
|
82
|
+
!f.categories.some((c) => knownCategories.includes(c))))
|
|
83
|
+
.map((f) => f.name)
|
|
84
|
+
.sort(); // Alphabetize functions within each category
|
|
85
|
+
const definition = categoryDefinitions[categoryKey];
|
|
86
|
+
const title = definition.title;
|
|
87
|
+
return {
|
|
88
|
+
key: categoryKey,
|
|
89
|
+
title,
|
|
90
|
+
titlePlural: definition.titlePlural ?? `${title}s`,
|
|
91
|
+
functions: categoryFunctions,
|
|
92
|
+
};
|
|
93
|
+
})
|
|
94
|
+
.filter((category) => category.functions.length > 0); // Only include categories with functions
|
|
95
|
+
const result = {
|
|
96
|
+
functions: filteredFunctions,
|
|
97
|
+
categories: filteredCategories,
|
|
80
98
|
};
|
|
99
|
+
// Cache the result
|
|
100
|
+
registryCache.set(cacheKey, result);
|
|
101
|
+
return result;
|
|
81
102
|
}
|
|
82
103
|
return {
|
|
83
104
|
getRegistry,
|
package/dist/sdk.d.ts
CHANGED
|
@@ -93,6 +93,18 @@ export declare function createZapierSdkWithoutRegistry(options?: ZapierSdkOption
|
|
|
93
93
|
inputSchema: typeof import(".").RelayRequestSchema;
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
|
+
} & {
|
|
97
|
+
meta: {
|
|
98
|
+
fetch: {
|
|
99
|
+
packages: string[];
|
|
100
|
+
categories: string[];
|
|
101
|
+
returnType: string;
|
|
102
|
+
inputParameters: Array<{
|
|
103
|
+
name: string;
|
|
104
|
+
schema: import("zod").ZodType;
|
|
105
|
+
}>;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
96
108
|
} & {
|
|
97
109
|
meta: {
|
|
98
110
|
getProfile: {
|
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;AAyBxB,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;;;;;;+GAf2B,CAAC
|
|
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;AAyBxB,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;;;;;;+GAf2B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuI/D;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAMzE"}
|
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");
|