@automate.ax/catalog 0.76.0 → 0.77.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/dist/catalog.d.ts +142 -74
- package/dist/catalog.js +74 -13
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/triggers/google.d.ts +143 -0
- package/dist/triggers/google.js +88 -0
- package/dist/triggers/index.d.ts +327 -54
- package/dist/triggers/vercel.d.ts +27 -27
- package/dist/triggers/vercel.js +5 -5
- package/dist/types.d.ts +1 -1
- package/dist/types.js +3 -3
- package/package.json +1 -1
- package/src/catalog.ts +76 -13
- package/src/index.ts +2 -0
- package/src/triggers/google.ts +89 -0
- package/src/triggers/vercel.ts +5 -5
- package/src/types.ts +4 -4
|
@@ -2,7 +2,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
2
2
|
readonly vercelDeployment: {
|
|
3
3
|
readonly account: {
|
|
4
4
|
readonly connectionOptions: readonly [{
|
|
5
|
-
readonly
|
|
5
|
+
readonly connectionMethodId: "oauth";
|
|
6
6
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
7
7
|
}];
|
|
8
8
|
readonly serviceId: "vercel";
|
|
@@ -13,7 +13,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
13
13
|
readonly vercelDeploymentCanceled: {
|
|
14
14
|
readonly account: {
|
|
15
15
|
readonly connectionOptions: readonly [{
|
|
16
|
-
readonly
|
|
16
|
+
readonly connectionMethodId: "oauth";
|
|
17
17
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
18
18
|
}];
|
|
19
19
|
readonly serviceId: "vercel";
|
|
@@ -23,7 +23,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
23
23
|
readonly vercelDeploymentCreated: {
|
|
24
24
|
readonly account: {
|
|
25
25
|
readonly connectionOptions: readonly [{
|
|
26
|
-
readonly
|
|
26
|
+
readonly connectionMethodId: "oauth";
|
|
27
27
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
28
28
|
}];
|
|
29
29
|
readonly serviceId: "vercel";
|
|
@@ -33,7 +33,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
33
33
|
readonly vercelDeploymentFailed: {
|
|
34
34
|
readonly account: {
|
|
35
35
|
readonly connectionOptions: readonly [{
|
|
36
|
-
readonly
|
|
36
|
+
readonly connectionMethodId: "oauth";
|
|
37
37
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
38
38
|
}];
|
|
39
39
|
readonly serviceId: "vercel";
|
|
@@ -43,7 +43,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
43
43
|
readonly vercelDeploymentPromoted: {
|
|
44
44
|
readonly account: {
|
|
45
45
|
readonly connectionOptions: readonly [{
|
|
46
|
-
readonly
|
|
46
|
+
readonly connectionMethodId: "oauth";
|
|
47
47
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
48
48
|
}];
|
|
49
49
|
readonly serviceId: "vercel";
|
|
@@ -53,7 +53,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
53
53
|
readonly vercelDeploymentReady: {
|
|
54
54
|
readonly account: {
|
|
55
55
|
readonly connectionOptions: readonly [{
|
|
56
|
-
readonly
|
|
56
|
+
readonly connectionMethodId: "oauth";
|
|
57
57
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
58
58
|
}];
|
|
59
59
|
readonly serviceId: "vercel";
|
|
@@ -63,7 +63,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
63
63
|
readonly vercelDeploymentSucceeded: {
|
|
64
64
|
readonly account: {
|
|
65
65
|
readonly connectionOptions: readonly [{
|
|
66
|
-
readonly
|
|
66
|
+
readonly connectionMethodId: "oauth";
|
|
67
67
|
readonly requiredScopes: readonly ["deployment:read"];
|
|
68
68
|
}];
|
|
69
69
|
readonly serviceId: "vercel";
|
|
@@ -73,7 +73,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
73
73
|
readonly vercelIntegrationConfiguration: {
|
|
74
74
|
readonly account: {
|
|
75
75
|
readonly connectionOptions: readonly [{
|
|
76
|
-
readonly
|
|
76
|
+
readonly connectionMethodId: "oauth";
|
|
77
77
|
readonly requiredScopes: readonly [];
|
|
78
78
|
}];
|
|
79
79
|
readonly serviceId: "vercel";
|
|
@@ -84,7 +84,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
84
84
|
readonly vercelIntegrationConfigurationPermissionUpgraded: {
|
|
85
85
|
readonly account: {
|
|
86
86
|
readonly connectionOptions: readonly [{
|
|
87
|
-
readonly
|
|
87
|
+
readonly connectionMethodId: "oauth";
|
|
88
88
|
readonly requiredScopes: readonly [];
|
|
89
89
|
}];
|
|
90
90
|
readonly serviceId: "vercel";
|
|
@@ -95,7 +95,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
95
95
|
readonly vercelIntegrationConfigurationRemoved: {
|
|
96
96
|
readonly account: {
|
|
97
97
|
readonly connectionOptions: readonly [{
|
|
98
|
-
readonly
|
|
98
|
+
readonly connectionMethodId: "oauth";
|
|
99
99
|
readonly requiredScopes: readonly [];
|
|
100
100
|
}];
|
|
101
101
|
readonly serviceId: "vercel";
|
|
@@ -105,7 +105,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
105
105
|
readonly vercelIntegrationConfigurationScopeChangeConfirmed: {
|
|
106
106
|
readonly account: {
|
|
107
107
|
readonly connectionOptions: readonly [{
|
|
108
|
-
readonly
|
|
108
|
+
readonly connectionMethodId: "oauth";
|
|
109
109
|
readonly requiredScopes: readonly [];
|
|
110
110
|
}];
|
|
111
111
|
readonly serviceId: "vercel";
|
|
@@ -116,7 +116,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
116
116
|
readonly vercelIntegrationConfigurationTransferred: {
|
|
117
117
|
readonly account: {
|
|
118
118
|
readonly connectionOptions: readonly [{
|
|
119
|
-
readonly
|
|
119
|
+
readonly connectionMethodId: "oauth";
|
|
120
120
|
readonly requiredScopes: readonly [];
|
|
121
121
|
}];
|
|
122
122
|
readonly serviceId: "vercel";
|
|
@@ -126,7 +126,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
126
126
|
readonly vercelProject: {
|
|
127
127
|
readonly account: {
|
|
128
128
|
readonly connectionOptions: readonly [{
|
|
129
|
-
readonly
|
|
129
|
+
readonly connectionMethodId: "oauth";
|
|
130
130
|
readonly requiredScopes: readonly ["project:read"];
|
|
131
131
|
}];
|
|
132
132
|
readonly serviceId: "vercel";
|
|
@@ -137,7 +137,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
137
137
|
readonly vercelProjectCreated: {
|
|
138
138
|
readonly account: {
|
|
139
139
|
readonly connectionOptions: readonly [{
|
|
140
|
-
readonly
|
|
140
|
+
readonly connectionMethodId: "oauth";
|
|
141
141
|
readonly requiredScopes: readonly ["project:read"];
|
|
142
142
|
}];
|
|
143
143
|
readonly serviceId: "vercel";
|
|
@@ -147,7 +147,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
147
147
|
readonly vercelProjectDomain: {
|
|
148
148
|
readonly account: {
|
|
149
149
|
readonly connectionOptions: readonly [{
|
|
150
|
-
readonly
|
|
150
|
+
readonly connectionMethodId: "oauth";
|
|
151
151
|
readonly requiredScopes: readonly ["domain:read"];
|
|
152
152
|
}];
|
|
153
153
|
readonly serviceId: "vercel";
|
|
@@ -158,7 +158,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
158
158
|
readonly vercelProjectDomainCreated: {
|
|
159
159
|
readonly account: {
|
|
160
160
|
readonly connectionOptions: readonly [{
|
|
161
|
-
readonly
|
|
161
|
+
readonly connectionMethodId: "oauth";
|
|
162
162
|
readonly requiredScopes: readonly ["domain:read"];
|
|
163
163
|
}];
|
|
164
164
|
readonly serviceId: "vercel";
|
|
@@ -168,7 +168,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
168
168
|
readonly vercelProjectDomainDeleted: {
|
|
169
169
|
readonly account: {
|
|
170
170
|
readonly connectionOptions: readonly [{
|
|
171
|
-
readonly
|
|
171
|
+
readonly connectionMethodId: "oauth";
|
|
172
172
|
readonly requiredScopes: readonly ["domain:read"];
|
|
173
173
|
}];
|
|
174
174
|
readonly serviceId: "vercel";
|
|
@@ -178,7 +178,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
178
178
|
readonly vercelProjectDomainMoved: {
|
|
179
179
|
readonly account: {
|
|
180
180
|
readonly connectionOptions: readonly [{
|
|
181
|
-
readonly
|
|
181
|
+
readonly connectionMethodId: "oauth";
|
|
182
182
|
readonly requiredScopes: readonly ["domain:read"];
|
|
183
183
|
}];
|
|
184
184
|
readonly serviceId: "vercel";
|
|
@@ -188,7 +188,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
188
188
|
readonly vercelProjectDomainUnverified: {
|
|
189
189
|
readonly account: {
|
|
190
190
|
readonly connectionOptions: readonly [{
|
|
191
|
-
readonly
|
|
191
|
+
readonly connectionMethodId: "oauth";
|
|
192
192
|
readonly requiredScopes: readonly ["domain:read"];
|
|
193
193
|
}];
|
|
194
194
|
readonly serviceId: "vercel";
|
|
@@ -198,7 +198,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
198
198
|
readonly vercelProjectDomainUpdated: {
|
|
199
199
|
readonly account: {
|
|
200
200
|
readonly connectionOptions: readonly [{
|
|
201
|
-
readonly
|
|
201
|
+
readonly connectionMethodId: "oauth";
|
|
202
202
|
readonly requiredScopes: readonly ["domain:read"];
|
|
203
203
|
}];
|
|
204
204
|
readonly serviceId: "vercel";
|
|
@@ -208,7 +208,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
208
208
|
readonly vercelProjectDomainVerified: {
|
|
209
209
|
readonly account: {
|
|
210
210
|
readonly connectionOptions: readonly [{
|
|
211
|
-
readonly
|
|
211
|
+
readonly connectionMethodId: "oauth";
|
|
212
212
|
readonly requiredScopes: readonly ["domain:read"];
|
|
213
213
|
}];
|
|
214
214
|
readonly serviceId: "vercel";
|
|
@@ -218,7 +218,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
218
218
|
readonly vercelProjectEnvironmentVariable: {
|
|
219
219
|
readonly account: {
|
|
220
220
|
readonly connectionOptions: readonly [{
|
|
221
|
-
readonly
|
|
221
|
+
readonly connectionMethodId: "oauth";
|
|
222
222
|
readonly requiredScopes: readonly ["global-project-env-vars:read"];
|
|
223
223
|
}];
|
|
224
224
|
readonly serviceId: "vercel";
|
|
@@ -229,7 +229,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
229
229
|
readonly vercelProjectEnvironmentVariableCreated: {
|
|
230
230
|
readonly account: {
|
|
231
231
|
readonly connectionOptions: readonly [{
|
|
232
|
-
readonly
|
|
232
|
+
readonly connectionMethodId: "oauth";
|
|
233
233
|
readonly requiredScopes: readonly ["global-project-env-vars:read"];
|
|
234
234
|
}];
|
|
235
235
|
readonly serviceId: "vercel";
|
|
@@ -239,7 +239,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
239
239
|
readonly vercelProjectEnvironmentVariableDeleted: {
|
|
240
240
|
readonly account: {
|
|
241
241
|
readonly connectionOptions: readonly [{
|
|
242
|
-
readonly
|
|
242
|
+
readonly connectionMethodId: "oauth";
|
|
243
243
|
readonly requiredScopes: readonly ["global-project-env-vars:read"];
|
|
244
244
|
}];
|
|
245
245
|
readonly serviceId: "vercel";
|
|
@@ -249,7 +249,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
249
249
|
readonly vercelProjectEnvironmentVariableUpdated: {
|
|
250
250
|
readonly account: {
|
|
251
251
|
readonly connectionOptions: readonly [{
|
|
252
|
-
readonly
|
|
252
|
+
readonly connectionMethodId: "oauth";
|
|
253
253
|
readonly requiredScopes: readonly ["global-project-env-vars:read"];
|
|
254
254
|
}];
|
|
255
255
|
readonly serviceId: "vercel";
|
|
@@ -259,7 +259,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
259
259
|
readonly vercelProjectRemoved: {
|
|
260
260
|
readonly account: {
|
|
261
261
|
readonly connectionOptions: readonly [{
|
|
262
|
-
readonly
|
|
262
|
+
readonly connectionMethodId: "oauth";
|
|
263
263
|
readonly requiredScopes: readonly ["project:read"];
|
|
264
264
|
}];
|
|
265
265
|
readonly serviceId: "vercel";
|
|
@@ -269,7 +269,7 @@ export declare const vercelTriggerDefinitions: {
|
|
|
269
269
|
readonly vercelProjectRenamed: {
|
|
270
270
|
readonly account: {
|
|
271
271
|
readonly connectionOptions: readonly [{
|
|
272
|
-
readonly
|
|
272
|
+
readonly connectionMethodId: "oauth";
|
|
273
273
|
readonly requiredScopes: readonly ["project:read"];
|
|
274
274
|
}];
|
|
275
275
|
readonly serviceId: "vercel";
|
package/dist/triggers/vercel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const VERCEL_DEPLOYMENT_ACCOUNT = {
|
|
2
2
|
connectionOptions: [
|
|
3
3
|
{
|
|
4
|
-
|
|
4
|
+
connectionMethodId: "oauth",
|
|
5
5
|
requiredScopes: ["deployment:read"],
|
|
6
6
|
},
|
|
7
7
|
],
|
|
@@ -10,7 +10,7 @@ const VERCEL_DEPLOYMENT_ACCOUNT = {
|
|
|
10
10
|
const VERCEL_INTEGRATION_CONFIGURATION_ACCOUNT = {
|
|
11
11
|
connectionOptions: [
|
|
12
12
|
{
|
|
13
|
-
|
|
13
|
+
connectionMethodId: "oauth",
|
|
14
14
|
requiredScopes: [],
|
|
15
15
|
},
|
|
16
16
|
],
|
|
@@ -19,7 +19,7 @@ const VERCEL_INTEGRATION_CONFIGURATION_ACCOUNT = {
|
|
|
19
19
|
const VERCEL_PROJECT_ACCOUNT = {
|
|
20
20
|
connectionOptions: [
|
|
21
21
|
{
|
|
22
|
-
|
|
22
|
+
connectionMethodId: "oauth",
|
|
23
23
|
requiredScopes: ["project:read"],
|
|
24
24
|
},
|
|
25
25
|
],
|
|
@@ -28,7 +28,7 @@ const VERCEL_PROJECT_ACCOUNT = {
|
|
|
28
28
|
const VERCEL_PROJECT_DOMAIN_ACCOUNT = {
|
|
29
29
|
connectionOptions: [
|
|
30
30
|
{
|
|
31
|
-
|
|
31
|
+
connectionMethodId: "oauth",
|
|
32
32
|
requiredScopes: ["domain:read"],
|
|
33
33
|
},
|
|
34
34
|
],
|
|
@@ -37,7 +37,7 @@ const VERCEL_PROJECT_DOMAIN_ACCOUNT = {
|
|
|
37
37
|
const VERCEL_PROJECT_ENVIRONMENT_VARIABLE_ACCOUNT = {
|
|
38
38
|
connectionOptions: [
|
|
39
39
|
{
|
|
40
|
-
|
|
40
|
+
connectionMethodId: "oauth",
|
|
41
41
|
requiredScopes: ["global-project-env-vars:read"],
|
|
42
42
|
},
|
|
43
43
|
],
|
package/dist/types.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ export declare const integrationScope: {
|
|
|
78
78
|
};
|
|
79
79
|
/** One connection method accepted by an integration account requirement. */
|
|
80
80
|
export interface IntegrationAccountConnectionOption {
|
|
81
|
-
|
|
81
|
+
connectionMethodId?: string;
|
|
82
82
|
requiredScopes: readonly IntegrationScopeRequirement[];
|
|
83
83
|
}
|
|
84
84
|
/** One normalized integration account requirement. */
|
package/dist/types.js
CHANGED
|
@@ -33,10 +33,10 @@ export function defineIntegrationService(service) {
|
|
|
33
33
|
if (emptyFormConnection) {
|
|
34
34
|
throw new Error(`Integration service ${service.id} has no fields for form connection: ${emptyFormConnection.id}`);
|
|
35
35
|
}
|
|
36
|
-
const
|
|
36
|
+
const duplicateConnectionMethodId = service.connectionMethods.find((connection, index) => service.connectionMethods.findIndex(({ id }) => id === connection.id) !==
|
|
37
37
|
index)?.id;
|
|
38
|
-
if (
|
|
39
|
-
throw new Error(`Integration service ${service.id} has duplicate connection ID: ${
|
|
38
|
+
if (duplicateConnectionMethodId) {
|
|
39
|
+
throw new Error(`Integration service ${service.id} has duplicate connection method ID: ${duplicateConnectionMethodId}`);
|
|
40
40
|
}
|
|
41
41
|
if (service.preferredConnectionMethodId &&
|
|
42
42
|
!service.connectionMethods.some(({ id }) => id === service.preferredConnectionMethodId)) {
|
package/package.json
CHANGED
package/src/catalog.ts
CHANGED
|
@@ -9,7 +9,7 @@ const API_KEY_FIELD = {
|
|
|
9
9
|
} as const
|
|
10
10
|
|
|
11
11
|
export const airtableService = defineIntegrationService({
|
|
12
|
-
connectionMethods: [{ id: "
|
|
12
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
13
13
|
description: "Connect an Airtable account.",
|
|
14
14
|
id: "airtable",
|
|
15
15
|
name: "Airtable",
|
|
@@ -39,7 +39,7 @@ export const apolloService = defineIntegrationService({
|
|
|
39
39
|
})
|
|
40
40
|
|
|
41
41
|
export const asanaService = defineIntegrationService({
|
|
42
|
-
connectionMethods: [{ id: "
|
|
42
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
43
43
|
description: "Connect an Asana account.",
|
|
44
44
|
id: "asana",
|
|
45
45
|
name: "Asana",
|
|
@@ -82,6 +82,52 @@ export const cloudflareService = defineIntegrationService({
|
|
|
82
82
|
preferredConnectionMethodId: "oauth",
|
|
83
83
|
})
|
|
84
84
|
|
|
85
|
+
export const chatgptService = defineIntegrationService({
|
|
86
|
+
connectionMethods: [
|
|
87
|
+
{
|
|
88
|
+
fields: [
|
|
89
|
+
{
|
|
90
|
+
input: "password",
|
|
91
|
+
label: "Workspace Agent access token",
|
|
92
|
+
name: "apiKey",
|
|
93
|
+
placeholder: "Paste your ChatGPT access token",
|
|
94
|
+
required: true,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
id: "access-token",
|
|
98
|
+
name: "Access token",
|
|
99
|
+
type: "form",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
description: "Connect a Workspace Agent access token.",
|
|
103
|
+
icon: "openai",
|
|
104
|
+
id: "chatgpt",
|
|
105
|
+
name: "ChatGPT",
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
export const codexService = defineIntegrationService({
|
|
109
|
+
connectionMethods: [
|
|
110
|
+
{
|
|
111
|
+
fields: [
|
|
112
|
+
{
|
|
113
|
+
input: "password",
|
|
114
|
+
label: "Codex access token",
|
|
115
|
+
name: "apiKey",
|
|
116
|
+
placeholder: "Paste your Codex access token",
|
|
117
|
+
required: true,
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
id: "access-token",
|
|
121
|
+
name: "Access token",
|
|
122
|
+
type: "form",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
description: "Connect a Codex workspace access token.",
|
|
126
|
+
icon: "openai",
|
|
127
|
+
id: "codex",
|
|
128
|
+
name: "Codex",
|
|
129
|
+
})
|
|
130
|
+
|
|
85
131
|
export const cohereService = defineApiKeyService({
|
|
86
132
|
description: "Connect a Cohere API key.",
|
|
87
133
|
id: "cohere",
|
|
@@ -114,14 +160,16 @@ export const fireworksService = defineApiKeyService({
|
|
|
114
160
|
})
|
|
115
161
|
|
|
116
162
|
export const githubService = defineIntegrationService({
|
|
117
|
-
connectionMethods: [
|
|
163
|
+
connectionMethods: [
|
|
164
|
+
{ id: "github-app", name: "GitHub App", type: "redirect" },
|
|
165
|
+
],
|
|
118
166
|
description: "Install Automate.ax on a GitHub account or organization.",
|
|
119
167
|
id: "github",
|
|
120
168
|
name: "GitHub",
|
|
121
169
|
})
|
|
122
170
|
|
|
123
171
|
export const googleService = defineIntegrationService({
|
|
124
|
-
connectionMethods: [{ id: "
|
|
172
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
125
173
|
connectionNotice: {
|
|
126
174
|
action: {
|
|
127
175
|
href: "mailto:hello@automate.ax?subject=Google%20integration%20access",
|
|
@@ -149,22 +197,35 @@ export const groqService = defineApiKeyService({
|
|
|
149
197
|
name: "Groq",
|
|
150
198
|
})
|
|
151
199
|
|
|
152
|
-
export const huggingfaceService =
|
|
200
|
+
export const huggingfaceService = defineIntegrationService({
|
|
201
|
+
connectionMethods: [
|
|
202
|
+
{
|
|
203
|
+
fields: [
|
|
204
|
+
{
|
|
205
|
+
...API_KEY_FIELD,
|
|
206
|
+
label: "Access token",
|
|
207
|
+
placeholder: "hf_...",
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
id: "access-token",
|
|
211
|
+
name: "Access token",
|
|
212
|
+
type: "form",
|
|
213
|
+
},
|
|
214
|
+
],
|
|
153
215
|
description: "Connect a Hugging Face access token.",
|
|
154
216
|
id: "huggingface",
|
|
155
217
|
name: "Hugging Face",
|
|
156
|
-
placeholder: "hf_...",
|
|
157
218
|
})
|
|
158
219
|
|
|
159
220
|
export const linearService = defineIntegrationService({
|
|
160
|
-
connectionMethods: [{ id: "
|
|
221
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
161
222
|
description: "Connect a Linear workspace.",
|
|
162
223
|
id: "linear",
|
|
163
224
|
name: "Linear",
|
|
164
225
|
})
|
|
165
226
|
|
|
166
227
|
export const microsoftService = defineIntegrationService({
|
|
167
|
-
connectionMethods: [{ id: "
|
|
228
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
168
229
|
description: "Connect a Microsoft account.",
|
|
169
230
|
id: "microsoft",
|
|
170
231
|
name: "Microsoft",
|
|
@@ -217,7 +278,7 @@ export const postgresService = defineIntegrationService({
|
|
|
217
278
|
required: true,
|
|
218
279
|
},
|
|
219
280
|
],
|
|
220
|
-
id: "
|
|
281
|
+
id: "credentials",
|
|
221
282
|
name: "Credentials",
|
|
222
283
|
type: "form",
|
|
223
284
|
},
|
|
@@ -251,14 +312,14 @@ export const scrapflyService = defineApiKeyService({
|
|
|
251
312
|
})
|
|
252
313
|
|
|
253
314
|
export const slackService = defineIntegrationService({
|
|
254
|
-
connectionMethods: [{ id: "
|
|
315
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
255
316
|
description: "Install the Automate.ax bot in a Slack workspace.",
|
|
256
317
|
id: "slack",
|
|
257
318
|
name: "Slack",
|
|
258
319
|
})
|
|
259
320
|
|
|
260
321
|
export const tidycalService = defineIntegrationService({
|
|
261
|
-
connectionMethods: [{ id: "
|
|
322
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
262
323
|
description: "Connect a TidyCal account.",
|
|
263
324
|
id: "tidycal",
|
|
264
325
|
name: "TidyCal",
|
|
@@ -271,7 +332,7 @@ export const togetheraiService = defineApiKeyService({
|
|
|
271
332
|
})
|
|
272
333
|
|
|
273
334
|
export const trelloService = defineIntegrationService({
|
|
274
|
-
connectionMethods: [{ id: "
|
|
335
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
275
336
|
description: "Connect a Trello account.",
|
|
276
337
|
id: "trello",
|
|
277
338
|
name: "Trello",
|
|
@@ -331,7 +392,9 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
331
392
|
asanaService,
|
|
332
393
|
brevoService,
|
|
333
394
|
cerebrasService,
|
|
395
|
+
chatgptService,
|
|
334
396
|
cloudflareService,
|
|
397
|
+
codexService,
|
|
335
398
|
cohereService,
|
|
336
399
|
deepinfraService,
|
|
337
400
|
deepseekService,
|
|
@@ -399,7 +462,7 @@ function defineApiKeyService<const TId extends string>(
|
|
|
399
462
|
placeholder: service.placeholder ?? "API key",
|
|
400
463
|
},
|
|
401
464
|
],
|
|
402
|
-
id: "
|
|
465
|
+
id: "api-key",
|
|
403
466
|
name: "API key",
|
|
404
467
|
type: "form",
|
|
405
468
|
},
|
package/src/index.ts
CHANGED
package/src/triggers/google.ts
CHANGED
|
@@ -101,6 +101,17 @@ const GOOGLE_FORM_RESPONSES_ACCOUNT = {
|
|
|
101
101
|
serviceId: "google",
|
|
102
102
|
} as const satisfies IntegrationAccountRequirement
|
|
103
103
|
|
|
104
|
+
const GOOGLE_MEET_ACCOUNT = {
|
|
105
|
+
connectionOptions: [
|
|
106
|
+
{
|
|
107
|
+
requiredScopes: [
|
|
108
|
+
"https://www.googleapis.com/auth/meetings.space.readonly",
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
serviceId: "google",
|
|
113
|
+
} as const satisfies IntegrationAccountRequirement
|
|
114
|
+
|
|
104
115
|
export const googleTriggerDefinitions = {
|
|
105
116
|
gmailLabelAdded: {
|
|
106
117
|
account: GMAIL_ACCOUNT,
|
|
@@ -154,4 +165,82 @@ export const googleTriggerDefinitions = {
|
|
|
154
165
|
name: "Google Form response submitted",
|
|
155
166
|
type: "googleForms.response.submitted",
|
|
156
167
|
},
|
|
168
|
+
googleMeetConferenceEnded: {
|
|
169
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
170
|
+
icon: "google-meet",
|
|
171
|
+
name: "Google Meet conference ended",
|
|
172
|
+
type: "googleMeet.conference.ended",
|
|
173
|
+
},
|
|
174
|
+
googleMeetConferenceStarted: {
|
|
175
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
176
|
+
icon: "google-meet",
|
|
177
|
+
name: "Google Meet conference started",
|
|
178
|
+
type: "googleMeet.conference.started",
|
|
179
|
+
},
|
|
180
|
+
googleMeetParticipantJoined: {
|
|
181
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
182
|
+
icon: "google-meet",
|
|
183
|
+
name: "Google Meet participant joined",
|
|
184
|
+
type: "googleMeet.participant.joined",
|
|
185
|
+
},
|
|
186
|
+
googleMeetParticipantLeft: {
|
|
187
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
188
|
+
icon: "google-meet",
|
|
189
|
+
name: "Google Meet participant left",
|
|
190
|
+
type: "googleMeet.participant.left",
|
|
191
|
+
},
|
|
192
|
+
googleMeetRecordingEnded: {
|
|
193
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
194
|
+
icon: "google-meet",
|
|
195
|
+
name: "Google Meet recording ended",
|
|
196
|
+
type: "googleMeet.recording.ended",
|
|
197
|
+
},
|
|
198
|
+
googleMeetRecordingFileGenerated: {
|
|
199
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
200
|
+
icon: "google-meet",
|
|
201
|
+
name: "Google Meet recording generated",
|
|
202
|
+
type: "googleMeet.recording.fileGenerated",
|
|
203
|
+
},
|
|
204
|
+
googleMeetRecordingStarted: {
|
|
205
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
206
|
+
icon: "google-meet",
|
|
207
|
+
name: "Google Meet recording started",
|
|
208
|
+
type: "googleMeet.recording.started",
|
|
209
|
+
},
|
|
210
|
+
googleMeetSmartNoteEnded: {
|
|
211
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
212
|
+
icon: "google-meet",
|
|
213
|
+
name: "Google Meet smart note ended",
|
|
214
|
+
type: "googleMeet.smartNote.ended",
|
|
215
|
+
},
|
|
216
|
+
googleMeetSmartNoteFileGenerated: {
|
|
217
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
218
|
+
icon: "google-meet",
|
|
219
|
+
name: "Google Meet smart note generated",
|
|
220
|
+
type: "googleMeet.smartNote.fileGenerated",
|
|
221
|
+
},
|
|
222
|
+
googleMeetSmartNoteStarted: {
|
|
223
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
224
|
+
icon: "google-meet",
|
|
225
|
+
name: "Google Meet smart note started",
|
|
226
|
+
type: "googleMeet.smartNote.started",
|
|
227
|
+
},
|
|
228
|
+
googleMeetTranscriptEnded: {
|
|
229
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
230
|
+
icon: "google-meet",
|
|
231
|
+
name: "Google Meet transcript ended",
|
|
232
|
+
type: "googleMeet.transcript.ended",
|
|
233
|
+
},
|
|
234
|
+
googleMeetTranscriptFileGenerated: {
|
|
235
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
236
|
+
icon: "google-meet",
|
|
237
|
+
name: "Google Meet transcript generated",
|
|
238
|
+
type: "googleMeet.transcript.fileGenerated",
|
|
239
|
+
},
|
|
240
|
+
googleMeetTranscriptStarted: {
|
|
241
|
+
account: GOOGLE_MEET_ACCOUNT,
|
|
242
|
+
icon: "google-meet",
|
|
243
|
+
name: "Google Meet transcript started",
|
|
244
|
+
type: "googleMeet.transcript.started",
|
|
245
|
+
},
|
|
157
246
|
} as const satisfies Record<string, TriggerDefinition>
|
package/src/triggers/vercel.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
|
|
|
3
3
|
const VERCEL_DEPLOYMENT_ACCOUNT = {
|
|
4
4
|
connectionOptions: [
|
|
5
5
|
{
|
|
6
|
-
|
|
6
|
+
connectionMethodId: "oauth",
|
|
7
7
|
requiredScopes: ["deployment:read"],
|
|
8
8
|
},
|
|
9
9
|
],
|
|
@@ -13,7 +13,7 @@ const VERCEL_DEPLOYMENT_ACCOUNT = {
|
|
|
13
13
|
const VERCEL_INTEGRATION_CONFIGURATION_ACCOUNT = {
|
|
14
14
|
connectionOptions: [
|
|
15
15
|
{
|
|
16
|
-
|
|
16
|
+
connectionMethodId: "oauth",
|
|
17
17
|
requiredScopes: [],
|
|
18
18
|
},
|
|
19
19
|
],
|
|
@@ -23,7 +23,7 @@ const VERCEL_INTEGRATION_CONFIGURATION_ACCOUNT = {
|
|
|
23
23
|
const VERCEL_PROJECT_ACCOUNT = {
|
|
24
24
|
connectionOptions: [
|
|
25
25
|
{
|
|
26
|
-
|
|
26
|
+
connectionMethodId: "oauth",
|
|
27
27
|
requiredScopes: ["project:read"],
|
|
28
28
|
},
|
|
29
29
|
],
|
|
@@ -33,7 +33,7 @@ const VERCEL_PROJECT_ACCOUNT = {
|
|
|
33
33
|
const VERCEL_PROJECT_DOMAIN_ACCOUNT = {
|
|
34
34
|
connectionOptions: [
|
|
35
35
|
{
|
|
36
|
-
|
|
36
|
+
connectionMethodId: "oauth",
|
|
37
37
|
requiredScopes: ["domain:read"],
|
|
38
38
|
},
|
|
39
39
|
],
|
|
@@ -43,7 +43,7 @@ const VERCEL_PROJECT_DOMAIN_ACCOUNT = {
|
|
|
43
43
|
const VERCEL_PROJECT_ENVIRONMENT_VARIABLE_ACCOUNT = {
|
|
44
44
|
connectionOptions: [
|
|
45
45
|
{
|
|
46
|
-
|
|
46
|
+
connectionMethodId: "oauth",
|
|
47
47
|
requiredScopes: ["global-project-env-vars:read"],
|
|
48
48
|
},
|
|
49
49
|
],
|
package/src/types.ts
CHANGED
|
@@ -99,7 +99,7 @@ export const integrationScope = {
|
|
|
99
99
|
|
|
100
100
|
/** One connection method accepted by an integration account requirement. */
|
|
101
101
|
export interface IntegrationAccountConnectionOption {
|
|
102
|
-
|
|
102
|
+
connectionMethodId?: string
|
|
103
103
|
requiredScopes: readonly IntegrationScopeRequirement[]
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -201,14 +201,14 @@ export function defineIntegrationService<
|
|
|
201
201
|
`Integration service ${service.id} has no fields for form connection: ${emptyFormConnection.id}`,
|
|
202
202
|
)
|
|
203
203
|
}
|
|
204
|
-
const
|
|
204
|
+
const duplicateConnectionMethodId = service.connectionMethods.find(
|
|
205
205
|
(connection, index) =>
|
|
206
206
|
service.connectionMethods.findIndex(({ id }) => id === connection.id) !==
|
|
207
207
|
index,
|
|
208
208
|
)?.id
|
|
209
|
-
if (
|
|
209
|
+
if (duplicateConnectionMethodId) {
|
|
210
210
|
throw new Error(
|
|
211
|
-
`Integration service ${service.id} has duplicate connection ID: ${
|
|
211
|
+
`Integration service ${service.id} has duplicate connection method ID: ${duplicateConnectionMethodId}`,
|
|
212
212
|
)
|
|
213
213
|
}
|
|
214
214
|
if (
|