@project-ajax/sdk 0.0.68 → 0.0.69
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/dist/capabilities/automation.d.ts +8 -28
- package/dist/capabilities/automation.d.ts.map +1 -1
- package/dist/capabilities/automation.js +3 -2
- package/dist/capabilities/oauth.d.ts +6 -31
- package/dist/capabilities/oauth.d.ts.map +1 -1
- package/dist/capabilities/oauth.js +4 -2
- package/dist/capabilities/sync.d.ts +4 -2
- package/dist/capabilities/sync.d.ts.map +1 -1
- package/dist/capabilities/sync.js +3 -2
- package/dist/capabilities/tool.d.ts +5 -25
- package/dist/capabilities/tool.d.ts.map +1 -1
- package/dist/capabilities/tool.js +3 -2
- package/dist/index.d.ts +5 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -9
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/worker.d.ts +175 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +218 -0
- package/package.json +1 -5
- package/src/capabilities/automation.test.ts +17 -23
- package/src/capabilities/automation.ts +14 -30
- package/src/capabilities/oauth.test.ts +16 -15
- package/src/capabilities/oauth.ts +7 -31
- package/src/capabilities/sync.ts +6 -3
- package/src/capabilities/tool.test.ts +105 -89
- package/src/capabilities/tool.ts +12 -31
- package/src/index.ts +5 -4
- package/src/types.ts +11 -0
- package/src/worker.ts +278 -0
|
@@ -66,37 +66,17 @@ export interface AutomationHandlerResult {
|
|
|
66
66
|
title: string;
|
|
67
67
|
description: string;
|
|
68
68
|
}
|
|
69
|
+
export type AutomationCapability = ReturnType<typeof createAutomationCapability>;
|
|
69
70
|
/**
|
|
70
|
-
* Creates
|
|
71
|
-
* from database automations in Notion.
|
|
71
|
+
* Creates an automation capability from configuration.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* automation({
|
|
77
|
-
* title: "Send Welcome Email",
|
|
78
|
-
* description: "Sends a welcome email when a new user is added",
|
|
79
|
-
* execute: async (context) => {
|
|
80
|
-
* const { pageId, pageData } = context;
|
|
81
|
-
*
|
|
82
|
-
* // Access page properties from the Public API format
|
|
83
|
-
* if (pageData) {
|
|
84
|
-
* const name = pageData.properties.Name; // Access any property
|
|
85
|
-
* const status = pageData.properties.Status;
|
|
86
|
-
* console.log(`Processing: ${name}`);
|
|
87
|
-
* }
|
|
88
|
-
*
|
|
89
|
-
* // Your automation logic here
|
|
90
|
-
* await sendEmail(pageId);
|
|
91
|
-
* },
|
|
92
|
-
* })
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* @param config - The configuration for the automation.
|
|
96
|
-
* @returns A capability definition for the automation.
|
|
73
|
+
* @param key - The unique name for this capability.
|
|
74
|
+
* @param config - The automation configuration.
|
|
75
|
+
* @returns The capability object.
|
|
97
76
|
*/
|
|
98
|
-
export declare function
|
|
99
|
-
_tag:
|
|
77
|
+
export declare function createAutomationCapability(key: string, config: AutomationConfiguration): {
|
|
78
|
+
_tag: "automation";
|
|
79
|
+
key: string;
|
|
100
80
|
config: {
|
|
101
81
|
title: string;
|
|
102
82
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/capabilities/automation.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/capabilities/automation.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC5C,OAAO,0BAA0B,CACjC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB;;;;;;;qBASP,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;EAezD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ExecutionError } from "../error.js";
|
|
2
|
-
function
|
|
2
|
+
function createAutomationCapability(key, config) {
|
|
3
3
|
return {
|
|
4
4
|
_tag: "automation",
|
|
5
|
+
key,
|
|
5
6
|
config: {
|
|
6
7
|
title: config.title,
|
|
7
8
|
description: config.description
|
|
@@ -27,5 +28,5 @@ function automation(config) {
|
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
export {
|
|
30
|
-
|
|
31
|
+
createAutomationCapability
|
|
31
32
|
};
|
|
@@ -73,42 +73,16 @@ export interface UserManagedOAuthConfiguration {
|
|
|
73
73
|
* Union type representing either Notion-managed or user-managed OAuth configuration.
|
|
74
74
|
*/
|
|
75
75
|
export type OAuthConfiguration = NotionManagedOAuthConfiguration | UserManagedOAuthConfiguration;
|
|
76
|
+
export type OAuthCapability = ReturnType<typeof createOAuthCapability>;
|
|
76
77
|
/**
|
|
77
78
|
* Creates an OAuth provider configuration for authenticating with third-party services.
|
|
78
79
|
*
|
|
79
|
-
* There are two ways to configure OAuth:
|
|
80
|
-
*
|
|
81
|
-
* 1. Notion-managed providers:
|
|
82
|
-
* ```ts
|
|
83
|
-
* oauth({
|
|
84
|
-
* type: "notion_managed",
|
|
85
|
-
* name: "my-google-auth",
|
|
86
|
-
* provider: "google"
|
|
87
|
-
* })
|
|
88
|
-
* ```
|
|
89
|
-
*
|
|
90
|
-
* 2. User-managed OAuth configuration:
|
|
91
|
-
* ```ts
|
|
92
|
-
* oauth({
|
|
93
|
-
* type: "user_managed",
|
|
94
|
-
* name: "my-custom-oauth",
|
|
95
|
-
* authorizationEndpoint: "https://provider.com/oauth/authorize",
|
|
96
|
-
* tokenEndpoint: "https://provider.com/oauth/token",
|
|
97
|
-
* scope: "read write",
|
|
98
|
-
* clientId: process.env.CLIENT_ID,
|
|
99
|
-
* clientSecret: process.env.CLIENT_SECRET,
|
|
100
|
-
* authorizationParams: {
|
|
101
|
-
* access_type: "offline",
|
|
102
|
-
* prompt: "consent"
|
|
103
|
-
* }
|
|
104
|
-
* })
|
|
105
|
-
* ```
|
|
106
|
-
*
|
|
107
80
|
* @param config - The OAuth configuration (Notion-managed or user-managed).
|
|
108
81
|
* @returns An OAuth provider definition.
|
|
109
82
|
*/
|
|
110
|
-
export declare function
|
|
111
|
-
_tag:
|
|
83
|
+
export declare function createOAuthCapability(key: string, config: OAuthConfiguration): {
|
|
84
|
+
_tag: "oauth";
|
|
85
|
+
key: string;
|
|
112
86
|
envKey: string;
|
|
113
87
|
accessToken(): Promise<string>;
|
|
114
88
|
config: {
|
|
@@ -125,7 +99,8 @@ export declare function oauth(config: OAuthConfiguration): {
|
|
|
125
99
|
callbackUrl?: never;
|
|
126
100
|
};
|
|
127
101
|
} | {
|
|
128
|
-
_tag:
|
|
102
|
+
_tag: "oauth";
|
|
103
|
+
key: string;
|
|
129
104
|
envKey: string;
|
|
130
105
|
accessToken(): Promise<string>;
|
|
131
106
|
config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/capabilities/oauth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC7C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC3B,+BAA+B,GAC/B,6BAA6B,CAAC;AAEjC
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/capabilities/oauth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC7C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC3B,+BAA+B,GAC/B,6BAA6B,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;;;;mBAQrD,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;mBAgBhB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;EAgBrC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
function
|
|
1
|
+
function createOAuthCapability(key, config) {
|
|
2
2
|
const envKey = oauthNameToEnvKey(config.name);
|
|
3
3
|
if ("provider" in config) {
|
|
4
4
|
return {
|
|
5
5
|
_tag: "oauth",
|
|
6
|
+
key,
|
|
6
7
|
envKey,
|
|
7
8
|
async accessToken() {
|
|
8
9
|
return readRequiredEnvVar(envKey, { name: config.name });
|
|
@@ -17,6 +18,7 @@ function oauth(config) {
|
|
|
17
18
|
}
|
|
18
19
|
return {
|
|
19
20
|
_tag: "oauth",
|
|
21
|
+
key,
|
|
20
22
|
envKey,
|
|
21
23
|
async accessToken() {
|
|
22
24
|
return readRequiredEnvVar(envKey, { name: config.name });
|
|
@@ -49,5 +51,5 @@ function readRequiredEnvVar(key, context) {
|
|
|
49
51
|
);
|
|
50
52
|
}
|
|
51
53
|
export {
|
|
52
|
-
|
|
54
|
+
createOAuthCapability
|
|
53
55
|
};
|
|
@@ -108,6 +108,7 @@ export type SyncHandlerResult<PK extends string, Context = unknown> = {
|
|
|
108
108
|
nextContext?: Context;
|
|
109
109
|
deleteUnreturnedPages?: boolean;
|
|
110
110
|
};
|
|
111
|
+
export type SyncCapability = ReturnType<typeof createSyncCapability>;
|
|
111
112
|
/**
|
|
112
113
|
* Creates a special handler for syncing third-party data to a collection.
|
|
113
114
|
*
|
|
@@ -115,8 +116,9 @@ export type SyncHandlerResult<PK extends string, Context = unknown> = {
|
|
|
115
116
|
* @returns A handler function that executes the sync function, and passes data
|
|
116
117
|
* needed to complete the sync back to the platform.
|
|
117
118
|
*/
|
|
118
|
-
export declare function
|
|
119
|
-
_tag:
|
|
119
|
+
export declare function createSyncCapability<PK extends string, S extends Schema<PK>, Context = unknown>(key: string, syncConfiguration: SyncConfiguration<PK, S, Context>): {
|
|
120
|
+
_tag: "sync";
|
|
121
|
+
key: string;
|
|
120
122
|
config: {
|
|
121
123
|
primaryKeyProperty: PK;
|
|
122
124
|
schema: S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/capabilities/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EAET,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CAAC,SAAS;IACnE,IAAI,EAAE,QAAQ,CAAC;CACf,GACE,WAAW,GACX,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B,UAAU,GACV,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,CAAC,EAAE,CAAC,IAAI;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE;SACV,QAAQ,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACrD,CAAC;IACF;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI;IACvE;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAEhD;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,EAAE,SAAS,MAAM,EACjB,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,EACpB,OAAO,GAAG,OAAO,IACd;IACH;;;;OAIG;IACH,kBAAkB,EAAE,EAAE,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI;IACrE,kBAAkB,EAAE,EAAE,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/capabilities/sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EAET,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,SAAS,qBAAqB,IAAI,CAAC,SAAS;IACnE,IAAI,EAAE,QAAQ,CAAC;CACf,GACE,WAAW,GACX,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B,UAAU,GACV,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,SAAS,cAAc,CAAC,EAAE,CAAC,IAAI;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE;SACV,QAAQ,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACrD,CAAC;IACF;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI;IACvE;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAEhD;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,EAAE,SAAS,MAAM,EACjB,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,EACpB,OAAO,GAAG,OAAO,IACd;IACH;;;;OAIG;IACH,kBAAkB,EAAE,EAAE,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI;IACrE,kBAAkB,EAAE,EAAE,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,EAAE,SAAS,MAAM,EACjB,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,EACpB,OAAO,GAAG,OAAO,EAChB,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC;;;;;;;;;sBAUzC,OAAO;;;;;EAkBhC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ExecutionError, unreachable } from "../error.js";
|
|
2
|
-
function
|
|
2
|
+
function createSyncCapability(key, syncConfiguration) {
|
|
3
3
|
return {
|
|
4
4
|
_tag: "sync",
|
|
5
|
+
key,
|
|
5
6
|
config: {
|
|
6
7
|
primaryKeyProperty: syncConfiguration.primaryKeyProperty,
|
|
7
8
|
schema: syncConfiguration.schema,
|
|
@@ -68,5 +69,5 @@ function parseSchedule(schedule) {
|
|
|
68
69
|
return { type: "interval", intervalMs };
|
|
69
70
|
}
|
|
70
71
|
export {
|
|
71
|
-
|
|
72
|
+
createSyncCapability
|
|
72
73
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { type JSONSchemaType } from "ajv";
|
|
2
|
-
type JSONValue
|
|
3
|
-
[key: string]: JSONValue;
|
|
4
|
-
};
|
|
2
|
+
import type { JSONValue } from "../types.js";
|
|
5
3
|
export interface ToolConfiguration<I extends JSONValue, O extends JSONValue = JSONValue> {
|
|
6
4
|
title: string;
|
|
7
5
|
description: string;
|
|
@@ -39,33 +37,16 @@ export declare class ToolExecutionError extends Error {
|
|
|
39
37
|
message: string;
|
|
40
38
|
};
|
|
41
39
|
}
|
|
40
|
+
export type ToolCapability<I extends JSONValue, O extends JSONValue = JSONValue> = ReturnType<typeof createToolCapability<I, O>>;
|
|
42
41
|
/**
|
|
43
42
|
* Creates a capability definition for a tool to be used by an agent.
|
|
44
43
|
*
|
|
45
|
-
* Example:
|
|
46
|
-
*
|
|
47
|
-
* ```ts
|
|
48
|
-
* tool<{ name: string }>({
|
|
49
|
-
* title: "Say Hello",
|
|
50
|
-
* description: "Say hello to the user",
|
|
51
|
-
* schema: {
|
|
52
|
-
* type: "object",
|
|
53
|
-
* properties: {
|
|
54
|
-
* name: { type: "string" },
|
|
55
|
-
* },
|
|
56
|
-
* required: ["name"],
|
|
57
|
-
* },
|
|
58
|
-
* execute: ({ name }) => {
|
|
59
|
-
* return `Hello, ${name}!`;
|
|
60
|
-
* },
|
|
61
|
-
* })
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
44
|
* @param config - The configuration for the tool.
|
|
65
45
|
* @returns A capability definition for the tool.
|
|
66
46
|
*/
|
|
67
|
-
export declare function
|
|
68
|
-
_tag:
|
|
47
|
+
export declare function createToolCapability<I extends JSONValue, O extends JSONValue = JSONValue>(key: string, config: ToolConfiguration<I, O>): {
|
|
48
|
+
_tag: "tool";
|
|
49
|
+
key: string;
|
|
69
50
|
config: {
|
|
70
51
|
title: string;
|
|
71
52
|
description: string;
|
|
@@ -80,5 +61,4 @@ export declare function tool<I extends JSONValue, O extends JSONValue = JSONValu
|
|
|
80
61
|
error: InvalidToolInputError | InvalidToolOutputError | ToolExecutionError;
|
|
81
62
|
}>;
|
|
82
63
|
};
|
|
83
|
-
export {};
|
|
84
64
|
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/capabilities/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,iBAAiB,CACjC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS;IAE/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;IAK3B,MAAM;;;;CAMN;AAED,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS,IAC5B,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CACnC,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,SAAS,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;mBAgBvB,SAAS,GAAG,OAAO,CACrC;QACA,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC;KACR,GACD;QACA,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EACF,qBAAqB,GACrB,sBAAsB,GACtB,kBAAkB,CAAC;KACrB,CACH;EA0DF"}
|
|
@@ -35,12 +35,13 @@ class ToolExecutionError extends Error {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function createToolCapability(key, config) {
|
|
39
39
|
const ajv = new Ajv();
|
|
40
40
|
const validateInput = ajv.compile(config.schema);
|
|
41
41
|
const validateOutput = config.outputSchema ? ajv.compile(config.outputSchema) : null;
|
|
42
42
|
return {
|
|
43
43
|
_tag: "tool",
|
|
44
|
+
key,
|
|
44
45
|
config: {
|
|
45
46
|
title: config.title,
|
|
46
47
|
description: config.description,
|
|
@@ -107,5 +108,5 @@ export {
|
|
|
107
108
|
InvalidToolInputError,
|
|
108
109
|
InvalidToolOutputError,
|
|
109
110
|
ToolExecutionError,
|
|
110
|
-
|
|
111
|
+
createToolCapability
|
|
111
112
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
export { emojiIcon, imageIcon, notionIcon, place } from "./builder.js";
|
|
2
|
-
export type { AutomationConfiguration, AutomationContext, PageObjectResponse, } from "./capabilities/automation.js";
|
|
3
|
-
export {
|
|
4
|
-
export type {
|
|
5
|
-
export {
|
|
6
|
-
export type { SyncConfiguration, SyncExecutionResult, SyncedObject, } from "./capabilities/sync.js";
|
|
7
|
-
export { sync } from "./capabilities/sync.js";
|
|
8
|
-
export { tool } from "./capabilities/tool.js";
|
|
2
|
+
export type { AutomationCapability, AutomationConfiguration, AutomationContext, PageObjectResponse, } from "./capabilities/automation.js";
|
|
3
|
+
export type { NotionManagedOAuthConfiguration, OAuthCapability, OAuthConfiguration, UserManagedOAuthConfiguration, } from "./capabilities/oauth.js";
|
|
4
|
+
export type { SyncCapability, SyncConfiguration, SyncExecutionResult, SyncedObject, } from "./capabilities/sync.js";
|
|
5
|
+
export type { ToolCapability, ToolConfiguration } from "./capabilities/tool.js";
|
|
9
6
|
export type { Icon, ImageIcon, NoticonColor, NoticonName, PlaceValue, Schedule, } from "./types.js";
|
|
7
|
+
export { Worker } from "./worker.js";
|
|
10
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EACX,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,8BAA8B,CAAC;AACtC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACZ,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACX,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { emojiIcon, imageIcon, notionIcon, place } from "./builder.js";
|
|
2
|
-
import {
|
|
3
|
-
import { oauth } from "./capabilities/oauth.js";
|
|
4
|
-
import { sync } from "./capabilities/sync.js";
|
|
5
|
-
import { tool } from "./capabilities/tool.js";
|
|
2
|
+
import { Worker } from "./worker.js";
|
|
6
3
|
export {
|
|
7
|
-
|
|
4
|
+
Worker,
|
|
8
5
|
emojiIcon,
|
|
9
6
|
imageIcon,
|
|
10
7
|
notionIcon,
|
|
11
|
-
|
|
12
|
-
place,
|
|
13
|
-
sync,
|
|
14
|
-
tool
|
|
8
|
+
place
|
|
15
9
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A JSON value is a string, number, boolean, null, array, or object.
|
|
3
|
+
*/
|
|
4
|
+
export type JSONValue = string | number | boolean | null | JSONValue[] | {
|
|
5
|
+
[key: string]: JSONValue;
|
|
6
|
+
};
|
|
1
7
|
/**
|
|
2
8
|
* A text token is a tuple where the first element is the text content
|
|
3
9
|
* and optional subsequent elements are formatting annotations.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import type { AutomationCapability, AutomationConfiguration, AutomationContext } from "./capabilities/automation.js";
|
|
2
|
+
import type { NotionManagedOAuthConfiguration, OAuthCapability, OAuthConfiguration, UserManagedOAuthConfiguration } from "./capabilities/oauth.js";
|
|
3
|
+
import type { SyncCapability, SyncConfiguration } from "./capabilities/sync.js";
|
|
4
|
+
import type { ToolCapability, ToolConfiguration } from "./capabilities/tool.js";
|
|
5
|
+
import type { Schema } from "./schema.js";
|
|
6
|
+
import type { JSONValue } from "./types.js";
|
|
7
|
+
export type { AutomationConfiguration, AutomationContext, OAuthConfiguration, NotionManagedOAuthConfiguration, UserManagedOAuthConfiguration, SyncConfiguration, ToolConfiguration, };
|
|
8
|
+
type Capability = SyncCapability | ToolCapability<any, any> | AutomationCapability | OAuthCapability;
|
|
9
|
+
export declare class Worker {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Register a sync capability.
|
|
13
|
+
*
|
|
14
|
+
* Example:
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { Worker } from "@project-ajax/sdk";
|
|
18
|
+
* import * as Builder from "@project-ajax/sdk/builder";
|
|
19
|
+
* import * as Schema from "@project-ajax/sdk/schema";
|
|
20
|
+
*
|
|
21
|
+
* const worker = new Worker();
|
|
22
|
+
* export default worker;
|
|
23
|
+
*
|
|
24
|
+
* worker.sync("tasksSync", {
|
|
25
|
+
* primaryKeyProperty: "Task ID",
|
|
26
|
+
* schema: {
|
|
27
|
+
* defaultName: "Tasks",
|
|
28
|
+
* properties: {
|
|
29
|
+
* "Task Name": Schema.title(),
|
|
30
|
+
* "Task ID": Schema.richText(),
|
|
31
|
+
* Status: Schema.select([
|
|
32
|
+
* { name: "Open", color: "default" },
|
|
33
|
+
* { name: "Done", color: "green" },
|
|
34
|
+
* ]),
|
|
35
|
+
* },
|
|
36
|
+
* },
|
|
37
|
+
* execute: async () => {
|
|
38
|
+
* const objects = [
|
|
39
|
+
* {
|
|
40
|
+
* key: "task-1",
|
|
41
|
+
* properties: {
|
|
42
|
+
* "Task Name": Builder.title("Write docs"),
|
|
43
|
+
* "Task ID": Builder.richText("task-1"),
|
|
44
|
+
* Status: Builder.select("Open"),
|
|
45
|
+
* },
|
|
46
|
+
* },
|
|
47
|
+
* ];
|
|
48
|
+
*
|
|
49
|
+
* return { objects, done: true };
|
|
50
|
+
* },
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @param key - The unique key for this capability.
|
|
55
|
+
* @param config - The sync configuration.
|
|
56
|
+
* @returns The capability object.
|
|
57
|
+
*/
|
|
58
|
+
sync<PK extends string, S extends Schema<PK>, Context = unknown>(key: string, config: SyncConfiguration<PK, S, Context>): SyncCapability;
|
|
59
|
+
/**
|
|
60
|
+
* Register a tool capability.
|
|
61
|
+
*
|
|
62
|
+
* Example:
|
|
63
|
+
*
|
|
64
|
+
* ```ts
|
|
65
|
+
* worker.tool<{ name: string }, string>("sayHello", {
|
|
66
|
+
* title: "Say Hello",
|
|
67
|
+
* description: "Say hello to the user",
|
|
68
|
+
* schema: {
|
|
69
|
+
* type: "object",
|
|
70
|
+
* properties: {
|
|
71
|
+
* name: { type: "string" },
|
|
72
|
+
* },
|
|
73
|
+
* required: ["name"],
|
|
74
|
+
* },
|
|
75
|
+
* execute: ({ name }) => {
|
|
76
|
+
* return `Hello, ${name}!`;
|
|
77
|
+
* },
|
|
78
|
+
* })
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
*
|
|
82
|
+
* @param key - The unique key for this capability.
|
|
83
|
+
* @param config - The tool configuration.
|
|
84
|
+
* @returns The capability object.
|
|
85
|
+
*/
|
|
86
|
+
tool<I extends JSONValue, O extends JSONValue = JSONValue>(key: string, config: ToolConfiguration<I, O>): ToolCapability<I, O>;
|
|
87
|
+
/**
|
|
88
|
+
* Register an automation capability.
|
|
89
|
+
*
|
|
90
|
+
* Example:
|
|
91
|
+
*
|
|
92
|
+
* ```ts
|
|
93
|
+
* const worker = new Worker();
|
|
94
|
+
* export default worker;
|
|
95
|
+
*
|
|
96
|
+
* worker.automation("sendWelcomeEmail", {
|
|
97
|
+
* title: "Send Welcome Email",
|
|
98
|
+
* description: "Sends a welcome email when a new user is added",
|
|
99
|
+
* execute: async (context) => {
|
|
100
|
+
* const { pageId, pageData } = context;
|
|
101
|
+
*
|
|
102
|
+
* // Access page properties from the Public API format
|
|
103
|
+
* if (pageData) {
|
|
104
|
+
* const name = pageData.properties.Name; // Access any property
|
|
105
|
+
* const status = pageData.properties.Status;
|
|
106
|
+
* console.log(`Processing: ${name}`);
|
|
107
|
+
* }
|
|
108
|
+
*
|
|
109
|
+
* // Your automation logic here
|
|
110
|
+
* await sendEmail(pageId);
|
|
111
|
+
* },
|
|
112
|
+
* })
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @param key - The unique key for this capability.
|
|
116
|
+
* @param config - The automation configuration.
|
|
117
|
+
* @returns The capability object.
|
|
118
|
+
*/
|
|
119
|
+
automation(key: string, config: AutomationConfiguration): AutomationCapability;
|
|
120
|
+
/**
|
|
121
|
+
* Register an OAuth capability.
|
|
122
|
+
*
|
|
123
|
+
* There are two ways to configure OAuth:
|
|
124
|
+
*
|
|
125
|
+
* 1. Notion-managed providers:
|
|
126
|
+
* ```ts
|
|
127
|
+
* const worker = new Worker();
|
|
128
|
+
* export default worker;
|
|
129
|
+
*
|
|
130
|
+
* worker.oauth("googleAuth", {
|
|
131
|
+
* type: "notion_managed",
|
|
132
|
+
* name: "my-google-auth",
|
|
133
|
+
* provider: "google"
|
|
134
|
+
* })
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* 2. User-managed OAuth configuration:
|
|
138
|
+
* ```ts
|
|
139
|
+
* const worker = new Worker();
|
|
140
|
+
* export default worker;
|
|
141
|
+
*
|
|
142
|
+
* worker.oauth("myCustomAuth", {
|
|
143
|
+
* type: "user_managed",
|
|
144
|
+
* name: "my-custom-oauth",
|
|
145
|
+
* authorizationEndpoint: "https://provider.com/oauth/authorize",
|
|
146
|
+
* tokenEndpoint: "https://provider.com/oauth/token",
|
|
147
|
+
* scope: "read write",
|
|
148
|
+
* clientId: process.env.CLIENT_ID,
|
|
149
|
+
* clientSecret: process.env.CLIENT_SECRET,
|
|
150
|
+
* authorizationParams: {
|
|
151
|
+
* access_type: "offline",
|
|
152
|
+
* prompt: "consent"
|
|
153
|
+
* }
|
|
154
|
+
* })
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @param key - The unique key used to register this OAuth capability.
|
|
158
|
+
* @param config - The OAuth configuration (Notion-managed or user-managed) for this capability.
|
|
159
|
+
* @returns The registered OAuth capability.
|
|
160
|
+
*/
|
|
161
|
+
oauth(key: string, config: OAuthConfiguration): OAuthCapability;
|
|
162
|
+
/**
|
|
163
|
+
* Get all registered capabilities (for discovery) without their handlers.
|
|
164
|
+
*/
|
|
165
|
+
get capabilities(): Pick<Capability, "_tag" | "key" | "config">[];
|
|
166
|
+
/**
|
|
167
|
+
* Execute a capability by key.
|
|
168
|
+
*
|
|
169
|
+
* @param key - The key of the capability to execute.
|
|
170
|
+
* @param context - The context to pass to the capability.
|
|
171
|
+
* @returns The result of the capability execution.
|
|
172
|
+
*/
|
|
173
|
+
run(key: string, context: unknown): Promise<unknown>;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACX,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,YAAY,EACX,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,GACjB,CAAC;AAMF,KAAK,UAAU,GACZ,cAAc,GAEd,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GACxB,oBAAoB,GACpB,eAAe,CAAC;AAMnB,qBAAa,MAAM;;IAGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,EAC9D,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,GACvC,cAAc;IAOjB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAQvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,UAAU,CACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,uBAAuB,GAC7B,oBAAoB;IAOvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAO/D;;OAEG;IACH,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE,CAMhE;IAED;;;;;;OAMG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAyB1D"}
|