@automate.ax/catalog 0.82.0 → 0.83.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 +71 -0
- package/dist/catalog.js +40 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/triggers/convex.d.ts +87 -0
- package/dist/triggers/convex.js +64 -0
- package/dist/triggers/index.d.ts +133 -0
- package/dist/triggers/index.js +2 -0
- package/package.json +8 -2
- package/src/catalog.ts +43 -0
- package/src/index.ts +1 -0
- package/src/triggers/convex.ts +82 -0
- package/src/triggers/index.ts +2 -0
package/dist/catalog.d.ts
CHANGED
|
@@ -175,6 +175,42 @@ export declare const cohereService: {
|
|
|
175
175
|
}];
|
|
176
176
|
readonly description: string;
|
|
177
177
|
};
|
|
178
|
+
export declare const convexService: {
|
|
179
|
+
readonly connectionMethods: readonly [{
|
|
180
|
+
readonly id: "oauth";
|
|
181
|
+
readonly name: "Project OAuth";
|
|
182
|
+
readonly type: "redirect";
|
|
183
|
+
}, {
|
|
184
|
+
readonly fields: readonly [{
|
|
185
|
+
readonly description: "Use the deployment's https://<name>.convex.cloud URL.";
|
|
186
|
+
readonly input: "url";
|
|
187
|
+
readonly label: "Deployment URL";
|
|
188
|
+
readonly name: "deploymentUrl";
|
|
189
|
+
readonly placeholder: "https://example.convex.cloud";
|
|
190
|
+
readonly required: true;
|
|
191
|
+
}, {
|
|
192
|
+
readonly input: "password";
|
|
193
|
+
readonly label: "Deploy key";
|
|
194
|
+
readonly name: "deployKey";
|
|
195
|
+
readonly placeholder: "Paste a Convex deploy key";
|
|
196
|
+
readonly required: true;
|
|
197
|
+
}, {
|
|
198
|
+
readonly description: "Set the same value as AUTOMATE_AX_WEBHOOK_SECRET in Convex to emit signed semantic events.";
|
|
199
|
+
readonly input: "password";
|
|
200
|
+
readonly label: "Webhook signing secret";
|
|
201
|
+
readonly name: "webhookSecret";
|
|
202
|
+
readonly placeholder: "At least 32 characters";
|
|
203
|
+
readonly required: true;
|
|
204
|
+
}];
|
|
205
|
+
readonly id: "deployment-key";
|
|
206
|
+
readonly name: "Deployment key";
|
|
207
|
+
readonly type: "form";
|
|
208
|
+
}];
|
|
209
|
+
readonly description: "Connect a Convex project for function calls and durable event triggers.";
|
|
210
|
+
readonly id: "convex";
|
|
211
|
+
readonly name: "Convex";
|
|
212
|
+
readonly preferredConnectionMethodId: "oauth";
|
|
213
|
+
};
|
|
178
214
|
export declare const deepinfraService: {
|
|
179
215
|
readonly id: "deepinfra";
|
|
180
216
|
readonly name: string;
|
|
@@ -793,6 +829,41 @@ export declare const integrationCatalog: readonly [{
|
|
|
793
829
|
readonly credentialUrl?: string | undefined;
|
|
794
830
|
}];
|
|
795
831
|
readonly description: string;
|
|
832
|
+
}, {
|
|
833
|
+
readonly connectionMethods: readonly [{
|
|
834
|
+
readonly id: "oauth";
|
|
835
|
+
readonly name: "Project OAuth";
|
|
836
|
+
readonly type: "redirect";
|
|
837
|
+
}, {
|
|
838
|
+
readonly fields: readonly [{
|
|
839
|
+
readonly description: "Use the deployment's https://<name>.convex.cloud URL.";
|
|
840
|
+
readonly input: "url";
|
|
841
|
+
readonly label: "Deployment URL";
|
|
842
|
+
readonly name: "deploymentUrl";
|
|
843
|
+
readonly placeholder: "https://example.convex.cloud";
|
|
844
|
+
readonly required: true;
|
|
845
|
+
}, {
|
|
846
|
+
readonly input: "password";
|
|
847
|
+
readonly label: "Deploy key";
|
|
848
|
+
readonly name: "deployKey";
|
|
849
|
+
readonly placeholder: "Paste a Convex deploy key";
|
|
850
|
+
readonly required: true;
|
|
851
|
+
}, {
|
|
852
|
+
readonly description: "Set the same value as AUTOMATE_AX_WEBHOOK_SECRET in Convex to emit signed semantic events.";
|
|
853
|
+
readonly input: "password";
|
|
854
|
+
readonly label: "Webhook signing secret";
|
|
855
|
+
readonly name: "webhookSecret";
|
|
856
|
+
readonly placeholder: "At least 32 characters";
|
|
857
|
+
readonly required: true;
|
|
858
|
+
}];
|
|
859
|
+
readonly id: "deployment-key";
|
|
860
|
+
readonly name: "Deployment key";
|
|
861
|
+
readonly type: "form";
|
|
862
|
+
}];
|
|
863
|
+
readonly description: "Connect a Convex project for function calls and durable event triggers.";
|
|
864
|
+
readonly id: "convex";
|
|
865
|
+
readonly name: "Convex";
|
|
866
|
+
readonly preferredConnectionMethodId: "oauth";
|
|
796
867
|
}, {
|
|
797
868
|
readonly id: "deepinfra";
|
|
798
869
|
readonly name: string;
|
package/dist/catalog.js
CHANGED
|
@@ -121,6 +121,45 @@ export const cohereService = defineApiKeyService({
|
|
|
121
121
|
id: "cohere",
|
|
122
122
|
name: "Cohere",
|
|
123
123
|
});
|
|
124
|
+
export const convexService = defineIntegrationService({
|
|
125
|
+
connectionMethods: [
|
|
126
|
+
{ id: "oauth", name: "Project OAuth", type: "redirect" },
|
|
127
|
+
{
|
|
128
|
+
fields: [
|
|
129
|
+
{
|
|
130
|
+
description: "Use the deployment's https://<name>.convex.cloud URL.",
|
|
131
|
+
input: "url",
|
|
132
|
+
label: "Deployment URL",
|
|
133
|
+
name: "deploymentUrl",
|
|
134
|
+
placeholder: "https://example.convex.cloud",
|
|
135
|
+
required: true,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
input: "password",
|
|
139
|
+
label: "Deploy key",
|
|
140
|
+
name: "deployKey",
|
|
141
|
+
placeholder: "Paste a Convex deploy key",
|
|
142
|
+
required: true,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
description: "Set the same value as AUTOMATE_AX_WEBHOOK_SECRET in Convex to emit signed semantic events.",
|
|
146
|
+
input: "password",
|
|
147
|
+
label: "Webhook signing secret",
|
|
148
|
+
name: "webhookSecret",
|
|
149
|
+
placeholder: "At least 32 characters",
|
|
150
|
+
required: true,
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
id: "deployment-key",
|
|
154
|
+
name: "Deployment key",
|
|
155
|
+
type: "form",
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
description: "Connect a Convex project for function calls and durable event triggers.",
|
|
159
|
+
id: "convex",
|
|
160
|
+
name: "Convex",
|
|
161
|
+
preferredConnectionMethodId: "oauth",
|
|
162
|
+
});
|
|
124
163
|
export const deepinfraService = defineApiKeyService({
|
|
125
164
|
description: "Connect a DeepInfra API key.",
|
|
126
165
|
id: "deepinfra",
|
|
@@ -355,6 +394,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
355
394
|
cloudflareService,
|
|
356
395
|
codexService,
|
|
357
396
|
cohereService,
|
|
397
|
+
convexService,
|
|
358
398
|
deepinfraService,
|
|
359
399
|
deepseekService,
|
|
360
400
|
firecrawlService,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { airtableService, anthropicService, apolloService, asanaService, brevoService, cerebrasService, chatgptService, cloudflareService, codexService, cohereService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, openaiService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, whatsappService, xaiService, type IntegrationServiceId, } from "./catalog.js";
|
|
1
|
+
export { airtableService, anthropicService, apolloService, asanaService, brevoService, cerebrasService, chatgptService, cloudflareService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, openaiService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, whatsappService, xaiService, type IntegrationServiceId, } from "./catalog.js";
|
|
2
2
|
export { defineIntegrationCatalog, defineIntegrationService, integrationScope, type IntegrationAccountConnectionOption, type IntegrationAccountRequirement, type IntegrationConnectionDefinition, type IntegrationConnectionNotice, type IntegrationFormField, type IntegrationScopeRequirement, type IntegrationServiceDefinition, type ScopeRequirementGroup, type TriggerDefinition, type TriggerPresentation, type TriggerPresentationContext, type TriggerPresentationDetail, type TriggerScopePresentation, type TriggerPresentationValue, } from "./types.js";
|
|
3
3
|
export { getDashboardRunEndpoint, getDashboardRunEndpointKey, getHttpTriggerEndpoint, getHttpTriggerEndpointKey, getMailhookAddress, getMailhookAddressKey, DASHBOARD_RUN_CONFIG_SCHEMA, getTriggerDefinition, getTriggerName, getTriggerPresentation, isTriggerVisible, PLATFORM_EMAIL_DOMAIN, triggerCatalog, triggerDefinitions, type DashboardRunConfig, type DashboardRunEndpointOptions, type DashboardRunField, type HttpTriggerEndpointOptions, type HttpTriggerScope, type MailhookAddressOptions, type MailhookScope, type TriggerType, } from "./triggers/index.js";
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { airtableService, anthropicService, apolloService, asanaService, brevoService, cerebrasService, chatgptService, cloudflareService, codexService, cohereService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, openaiService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, whatsappService, xaiService, } from "./catalog.js";
|
|
1
|
+
export { airtableService, anthropicService, apolloService, asanaService, brevoService, cerebrasService, chatgptService, cloudflareService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, openaiService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, whatsappService, xaiService, } from "./catalog.js";
|
|
2
2
|
export { defineIntegrationCatalog, defineIntegrationService, integrationScope, } from "./types.js";
|
|
3
3
|
export { getDashboardRunEndpoint, getDashboardRunEndpointKey, getHttpTriggerEndpoint, getHttpTriggerEndpointKey, getMailhookAddress, getMailhookAddressKey, DASHBOARD_RUN_CONFIG_SCHEMA, getTriggerDefinition, getTriggerName, getTriggerPresentation, isTriggerVisible, PLATFORM_EMAIL_DOMAIN, triggerCatalog, triggerDefinitions, } from "./triggers/index.js";
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export interface ConvexEventEndpointOptions {
|
|
2
|
+
appOrigin: string;
|
|
3
|
+
automationId: string;
|
|
4
|
+
hookSlot: number;
|
|
5
|
+
scopePath?: readonly number[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Returns the public endpoint for one signed Convex semantic-event trigger.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Public origin and trigger identity.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getConvexEventEndpoint(options: ConvexEventEndpointOptions): string;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the stable source key for one Convex semantic-event trigger.
|
|
15
|
+
*
|
|
16
|
+
* @param options - Trigger identity without the public origin.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getConvexEventEndpointKey(options: Omit<ConvexEventEndpointOptions, "appOrigin">): string;
|
|
19
|
+
export declare const convexTriggerDefinitions: {
|
|
20
|
+
readonly convexDocumentCreated: {
|
|
21
|
+
readonly account: {
|
|
22
|
+
readonly connectionOptions: readonly [{
|
|
23
|
+
readonly connectionMethodId: "oauth";
|
|
24
|
+
readonly requiredScopes: readonly [];
|
|
25
|
+
}, {
|
|
26
|
+
readonly connectionMethodId: "deployment-key";
|
|
27
|
+
readonly requiredScopes: readonly [];
|
|
28
|
+
}];
|
|
29
|
+
readonly serviceId: "convex";
|
|
30
|
+
};
|
|
31
|
+
readonly type: "convex.document.created";
|
|
32
|
+
};
|
|
33
|
+
readonly convexDocumentDeleted: {
|
|
34
|
+
readonly account: {
|
|
35
|
+
readonly connectionOptions: readonly [{
|
|
36
|
+
readonly connectionMethodId: "oauth";
|
|
37
|
+
readonly requiredScopes: readonly [];
|
|
38
|
+
}, {
|
|
39
|
+
readonly connectionMethodId: "deployment-key";
|
|
40
|
+
readonly requiredScopes: readonly [];
|
|
41
|
+
}];
|
|
42
|
+
readonly serviceId: "convex";
|
|
43
|
+
};
|
|
44
|
+
readonly type: "convex.document.deleted";
|
|
45
|
+
};
|
|
46
|
+
readonly convexDocumentEvent: {
|
|
47
|
+
readonly account: {
|
|
48
|
+
readonly connectionOptions: readonly [{
|
|
49
|
+
readonly connectionMethodId: "oauth";
|
|
50
|
+
readonly requiredScopes: readonly [];
|
|
51
|
+
}, {
|
|
52
|
+
readonly connectionMethodId: "deployment-key";
|
|
53
|
+
readonly requiredScopes: readonly [];
|
|
54
|
+
}];
|
|
55
|
+
readonly serviceId: "convex";
|
|
56
|
+
};
|
|
57
|
+
readonly type: "convex.document.event";
|
|
58
|
+
};
|
|
59
|
+
readonly convexDocumentUpdated: {
|
|
60
|
+
readonly account: {
|
|
61
|
+
readonly connectionOptions: readonly [{
|
|
62
|
+
readonly connectionMethodId: "oauth";
|
|
63
|
+
readonly requiredScopes: readonly [];
|
|
64
|
+
}, {
|
|
65
|
+
readonly connectionMethodId: "deployment-key";
|
|
66
|
+
readonly requiredScopes: readonly [];
|
|
67
|
+
}];
|
|
68
|
+
readonly serviceId: "convex";
|
|
69
|
+
};
|
|
70
|
+
readonly type: "convex.document.updated";
|
|
71
|
+
};
|
|
72
|
+
readonly convexEvent: {
|
|
73
|
+
readonly account: {
|
|
74
|
+
readonly connectionOptions: readonly [{
|
|
75
|
+
readonly connectionMethodId: "deployment-key";
|
|
76
|
+
readonly requiredScopes: readonly [];
|
|
77
|
+
}];
|
|
78
|
+
readonly serviceId: "convex";
|
|
79
|
+
};
|
|
80
|
+
readonly getPrimary: ({ appOrigin, automationId, hookSlot, scopePath }: import("..").TriggerPresentationContext) => {
|
|
81
|
+
copyable: true;
|
|
82
|
+
value: string;
|
|
83
|
+
};
|
|
84
|
+
readonly name: "Convex event";
|
|
85
|
+
readonly type: "convex.event.received";
|
|
86
|
+
};
|
|
87
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the public endpoint for one signed Convex semantic-event trigger.
|
|
3
|
+
*
|
|
4
|
+
* @param options - Public origin and trigger identity.
|
|
5
|
+
*/
|
|
6
|
+
export function getConvexEventEndpoint(options) {
|
|
7
|
+
return new URL(`/api/v1/events/convex/${encodeURIComponent(getConvexEventEndpointKey(options))}`, options.appOrigin).toString();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns the stable source key for one Convex semantic-event trigger.
|
|
11
|
+
*
|
|
12
|
+
* @param options - Trigger identity without the public origin.
|
|
13
|
+
*/
|
|
14
|
+
export function getConvexEventEndpointKey(options) {
|
|
15
|
+
return `${options.automationId}:${[
|
|
16
|
+
...(options.scopePath ?? []),
|
|
17
|
+
options.hookSlot,
|
|
18
|
+
].join(".")}`;
|
|
19
|
+
}
|
|
20
|
+
const CONVEX_ACCOUNT = {
|
|
21
|
+
connectionOptions: [
|
|
22
|
+
{ connectionMethodId: "oauth", requiredScopes: [] },
|
|
23
|
+
{ connectionMethodId: "deployment-key", requiredScopes: [] },
|
|
24
|
+
],
|
|
25
|
+
serviceId: "convex",
|
|
26
|
+
};
|
|
27
|
+
const CONVEX_DEPLOYMENT_KEY_ACCOUNT = {
|
|
28
|
+
connectionOptions: [
|
|
29
|
+
{ connectionMethodId: "deployment-key", requiredScopes: [] },
|
|
30
|
+
],
|
|
31
|
+
serviceId: "convex",
|
|
32
|
+
};
|
|
33
|
+
export const convexTriggerDefinitions = {
|
|
34
|
+
convexDocumentCreated: {
|
|
35
|
+
account: CONVEX_ACCOUNT,
|
|
36
|
+
type: "convex.document.created",
|
|
37
|
+
},
|
|
38
|
+
convexDocumentDeleted: {
|
|
39
|
+
account: CONVEX_ACCOUNT,
|
|
40
|
+
type: "convex.document.deleted",
|
|
41
|
+
},
|
|
42
|
+
convexDocumentEvent: {
|
|
43
|
+
account: CONVEX_ACCOUNT,
|
|
44
|
+
type: "convex.document.event",
|
|
45
|
+
},
|
|
46
|
+
convexDocumentUpdated: {
|
|
47
|
+
account: CONVEX_ACCOUNT,
|
|
48
|
+
type: "convex.document.updated",
|
|
49
|
+
},
|
|
50
|
+
convexEvent: {
|
|
51
|
+
account: CONVEX_DEPLOYMENT_KEY_ACCOUNT,
|
|
52
|
+
getPrimary: ({ appOrigin, automationId, hookSlot, scopePath }) => ({
|
|
53
|
+
copyable: true,
|
|
54
|
+
value: getConvexEventEndpoint({
|
|
55
|
+
appOrigin,
|
|
56
|
+
automationId,
|
|
57
|
+
hookSlot,
|
|
58
|
+
scopePath,
|
|
59
|
+
}),
|
|
60
|
+
}),
|
|
61
|
+
name: "Convex event",
|
|
62
|
+
type: "convex.event.received",
|
|
63
|
+
},
|
|
64
|
+
};
|
package/dist/triggers/index.d.ts
CHANGED
|
@@ -1236,6 +1236,73 @@ export declare const triggerDefinitions: {
|
|
|
1236
1236
|
readonly name: "Mailhook";
|
|
1237
1237
|
readonly type: "mailhook.email.received";
|
|
1238
1238
|
};
|
|
1239
|
+
readonly convexDocumentCreated: {
|
|
1240
|
+
readonly account: {
|
|
1241
|
+
readonly connectionOptions: readonly [{
|
|
1242
|
+
readonly connectionMethodId: "oauth";
|
|
1243
|
+
readonly requiredScopes: readonly [];
|
|
1244
|
+
}, {
|
|
1245
|
+
readonly connectionMethodId: "deployment-key";
|
|
1246
|
+
readonly requiredScopes: readonly [];
|
|
1247
|
+
}];
|
|
1248
|
+
readonly serviceId: "convex";
|
|
1249
|
+
};
|
|
1250
|
+
readonly type: "convex.document.created";
|
|
1251
|
+
};
|
|
1252
|
+
readonly convexDocumentDeleted: {
|
|
1253
|
+
readonly account: {
|
|
1254
|
+
readonly connectionOptions: readonly [{
|
|
1255
|
+
readonly connectionMethodId: "oauth";
|
|
1256
|
+
readonly requiredScopes: readonly [];
|
|
1257
|
+
}, {
|
|
1258
|
+
readonly connectionMethodId: "deployment-key";
|
|
1259
|
+
readonly requiredScopes: readonly [];
|
|
1260
|
+
}];
|
|
1261
|
+
readonly serviceId: "convex";
|
|
1262
|
+
};
|
|
1263
|
+
readonly type: "convex.document.deleted";
|
|
1264
|
+
};
|
|
1265
|
+
readonly convexDocumentEvent: {
|
|
1266
|
+
readonly account: {
|
|
1267
|
+
readonly connectionOptions: readonly [{
|
|
1268
|
+
readonly connectionMethodId: "oauth";
|
|
1269
|
+
readonly requiredScopes: readonly [];
|
|
1270
|
+
}, {
|
|
1271
|
+
readonly connectionMethodId: "deployment-key";
|
|
1272
|
+
readonly requiredScopes: readonly [];
|
|
1273
|
+
}];
|
|
1274
|
+
readonly serviceId: "convex";
|
|
1275
|
+
};
|
|
1276
|
+
readonly type: "convex.document.event";
|
|
1277
|
+
};
|
|
1278
|
+
readonly convexDocumentUpdated: {
|
|
1279
|
+
readonly account: {
|
|
1280
|
+
readonly connectionOptions: readonly [{
|
|
1281
|
+
readonly connectionMethodId: "oauth";
|
|
1282
|
+
readonly requiredScopes: readonly [];
|
|
1283
|
+
}, {
|
|
1284
|
+
readonly connectionMethodId: "deployment-key";
|
|
1285
|
+
readonly requiredScopes: readonly [];
|
|
1286
|
+
}];
|
|
1287
|
+
readonly serviceId: "convex";
|
|
1288
|
+
};
|
|
1289
|
+
readonly type: "convex.document.updated";
|
|
1290
|
+
};
|
|
1291
|
+
readonly convexEvent: {
|
|
1292
|
+
readonly account: {
|
|
1293
|
+
readonly connectionOptions: readonly [{
|
|
1294
|
+
readonly connectionMethodId: "deployment-key";
|
|
1295
|
+
readonly requiredScopes: readonly [];
|
|
1296
|
+
}];
|
|
1297
|
+
readonly serviceId: "convex";
|
|
1298
|
+
};
|
|
1299
|
+
readonly getPrimary: ({ appOrigin, automationId, hookSlot, scopePath }: TriggerPresentationContext) => {
|
|
1300
|
+
copyable: true;
|
|
1301
|
+
value: string;
|
|
1302
|
+
};
|
|
1303
|
+
readonly name: "Convex event";
|
|
1304
|
+
readonly type: "convex.event.received";
|
|
1305
|
+
};
|
|
1239
1306
|
readonly brevoTransactionalBlocked: {
|
|
1240
1307
|
readonly account: {
|
|
1241
1308
|
readonly connectionOptions: readonly [{
|
|
@@ -1692,6 +1759,72 @@ export declare const triggerCatalog: ({
|
|
|
1692
1759
|
readonly serviceId: "brevo";
|
|
1693
1760
|
};
|
|
1694
1761
|
type: "brevo.transactional.unsubscribed";
|
|
1762
|
+
} | {
|
|
1763
|
+
name: string;
|
|
1764
|
+
account: {
|
|
1765
|
+
readonly connectionOptions: readonly [{
|
|
1766
|
+
readonly connectionMethodId: "oauth";
|
|
1767
|
+
readonly requiredScopes: readonly [];
|
|
1768
|
+
}, {
|
|
1769
|
+
readonly connectionMethodId: "deployment-key";
|
|
1770
|
+
readonly requiredScopes: readonly [];
|
|
1771
|
+
}];
|
|
1772
|
+
readonly serviceId: "convex";
|
|
1773
|
+
};
|
|
1774
|
+
type: "convex.document.created";
|
|
1775
|
+
} | {
|
|
1776
|
+
name: string;
|
|
1777
|
+
account: {
|
|
1778
|
+
readonly connectionOptions: readonly [{
|
|
1779
|
+
readonly connectionMethodId: "oauth";
|
|
1780
|
+
readonly requiredScopes: readonly [];
|
|
1781
|
+
}, {
|
|
1782
|
+
readonly connectionMethodId: "deployment-key";
|
|
1783
|
+
readonly requiredScopes: readonly [];
|
|
1784
|
+
}];
|
|
1785
|
+
readonly serviceId: "convex";
|
|
1786
|
+
};
|
|
1787
|
+
type: "convex.document.deleted";
|
|
1788
|
+
} | {
|
|
1789
|
+
name: string;
|
|
1790
|
+
account: {
|
|
1791
|
+
readonly connectionOptions: readonly [{
|
|
1792
|
+
readonly connectionMethodId: "oauth";
|
|
1793
|
+
readonly requiredScopes: readonly [];
|
|
1794
|
+
}, {
|
|
1795
|
+
readonly connectionMethodId: "deployment-key";
|
|
1796
|
+
readonly requiredScopes: readonly [];
|
|
1797
|
+
}];
|
|
1798
|
+
readonly serviceId: "convex";
|
|
1799
|
+
};
|
|
1800
|
+
type: "convex.document.event";
|
|
1801
|
+
} | {
|
|
1802
|
+
name: string;
|
|
1803
|
+
account: {
|
|
1804
|
+
readonly connectionOptions: readonly [{
|
|
1805
|
+
readonly connectionMethodId: "oauth";
|
|
1806
|
+
readonly requiredScopes: readonly [];
|
|
1807
|
+
}, {
|
|
1808
|
+
readonly connectionMethodId: "deployment-key";
|
|
1809
|
+
readonly requiredScopes: readonly [];
|
|
1810
|
+
}];
|
|
1811
|
+
readonly serviceId: "convex";
|
|
1812
|
+
};
|
|
1813
|
+
type: "convex.document.updated";
|
|
1814
|
+
} | {
|
|
1815
|
+
name: string;
|
|
1816
|
+
account: {
|
|
1817
|
+
readonly connectionOptions: readonly [{
|
|
1818
|
+
readonly connectionMethodId: "deployment-key";
|
|
1819
|
+
readonly requiredScopes: readonly [];
|
|
1820
|
+
}];
|
|
1821
|
+
readonly serviceId: "convex";
|
|
1822
|
+
};
|
|
1823
|
+
getPrimary: ({ appOrigin, automationId, hookSlot, scopePath }: TriggerPresentationContext) => {
|
|
1824
|
+
copyable: true;
|
|
1825
|
+
value: string;
|
|
1826
|
+
};
|
|
1827
|
+
type: "convex.event.received";
|
|
1695
1828
|
} | {
|
|
1696
1829
|
name: string;
|
|
1697
1830
|
getDetails: ({ config }: TriggerPresentationContext) => {
|
package/dist/triggers/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { airtableTriggerDefinitions } from "./airtable.js";
|
|
2
2
|
import { asanaTriggerDefinitions } from "./asana.js";
|
|
3
3
|
import { brevoTriggerDefinitions } from "./brevo.js";
|
|
4
|
+
import { convexTriggerDefinitions } from "./convex.js";
|
|
4
5
|
import { coreTriggerDefinitions } from "./core.js";
|
|
5
6
|
import { githubTriggerDefinitions } from "./github.js";
|
|
6
7
|
import { googleTriggerDefinitions } from "./google.js";
|
|
@@ -19,6 +20,7 @@ export const triggerDefinitions = {
|
|
|
19
20
|
...airtableTriggerDefinitions,
|
|
20
21
|
...asanaTriggerDefinitions,
|
|
21
22
|
...brevoTriggerDefinitions,
|
|
23
|
+
...convexTriggerDefinitions,
|
|
22
24
|
...coreTriggerDefinitions,
|
|
23
25
|
...githubTriggerDefinitions,
|
|
24
26
|
...googleTriggerDefinitions,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automate.ax/catalog",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.83.0",
|
|
4
4
|
"description": "Shared integration service and trigger definitions for Automate.ax.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"./triggers/airtable": "./src/triggers/airtable.ts",
|
|
24
24
|
"./triggers/asana": "./src/triggers/asana.ts",
|
|
25
25
|
"./triggers/brevo": "./src/triggers/brevo.ts",
|
|
26
|
+
"./triggers/convex": "./src/triggers/convex.ts",
|
|
26
27
|
"./triggers/core-dashboard": "./src/triggers/core-dashboard.ts",
|
|
27
28
|
"./triggers/core-http": "./src/triggers/core-http.ts",
|
|
28
29
|
"./triggers/core-invocation": "./src/triggers/core-invocation.ts",
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
}
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
|
-
"@internal/config": "0.
|
|
49
|
+
"@internal/config": "0.1.0",
|
|
49
50
|
"@types/bun": "latest",
|
|
50
51
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
51
52
|
"@zachsents/oxlint-config": "^0.4.1",
|
|
@@ -101,6 +102,11 @@
|
|
|
101
102
|
"types": "./dist/triggers/brevo.d.ts",
|
|
102
103
|
"default": "./dist/triggers/brevo.js"
|
|
103
104
|
},
|
|
105
|
+
"./triggers/convex": {
|
|
106
|
+
"bun": "./src/triggers/convex.ts",
|
|
107
|
+
"types": "./dist/triggers/convex.d.ts",
|
|
108
|
+
"default": "./dist/triggers/convex.js"
|
|
109
|
+
},
|
|
104
110
|
"./triggers/core-dashboard": {
|
|
105
111
|
"bun": "./src/triggers/core-dashboard.ts",
|
|
106
112
|
"types": "./dist/triggers/core-dashboard.d.ts",
|
package/src/catalog.ts
CHANGED
|
@@ -134,6 +134,48 @@ export const cohereService = defineApiKeyService({
|
|
|
134
134
|
name: "Cohere",
|
|
135
135
|
})
|
|
136
136
|
|
|
137
|
+
export const convexService = defineIntegrationService({
|
|
138
|
+
connectionMethods: [
|
|
139
|
+
{ id: "oauth", name: "Project OAuth", type: "redirect" },
|
|
140
|
+
{
|
|
141
|
+
fields: [
|
|
142
|
+
{
|
|
143
|
+
description: "Use the deployment's https://<name>.convex.cloud URL.",
|
|
144
|
+
input: "url",
|
|
145
|
+
label: "Deployment URL",
|
|
146
|
+
name: "deploymentUrl",
|
|
147
|
+
placeholder: "https://example.convex.cloud",
|
|
148
|
+
required: true,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
input: "password",
|
|
152
|
+
label: "Deploy key",
|
|
153
|
+
name: "deployKey",
|
|
154
|
+
placeholder: "Paste a Convex deploy key",
|
|
155
|
+
required: true,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
description:
|
|
159
|
+
"Set the same value as AUTOMATE_AX_WEBHOOK_SECRET in Convex to emit signed semantic events.",
|
|
160
|
+
input: "password",
|
|
161
|
+
label: "Webhook signing secret",
|
|
162
|
+
name: "webhookSecret",
|
|
163
|
+
placeholder: "At least 32 characters",
|
|
164
|
+
required: true,
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
id: "deployment-key",
|
|
168
|
+
name: "Deployment key",
|
|
169
|
+
type: "form",
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
description:
|
|
173
|
+
"Connect a Convex project for function calls and durable event triggers.",
|
|
174
|
+
id: "convex",
|
|
175
|
+
name: "Convex",
|
|
176
|
+
preferredConnectionMethodId: "oauth",
|
|
177
|
+
})
|
|
178
|
+
|
|
137
179
|
export const deepinfraService = defineApiKeyService({
|
|
138
180
|
description: "Connect a DeepInfra API key.",
|
|
139
181
|
id: "deepinfra",
|
|
@@ -398,6 +440,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
398
440
|
cloudflareService,
|
|
399
441
|
codexService,
|
|
400
442
|
cohereService,
|
|
443
|
+
convexService,
|
|
401
444
|
deepinfraService,
|
|
402
445
|
deepseekService,
|
|
403
446
|
firecrawlService,
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
|
|
2
|
+
|
|
3
|
+
export interface ConvexEventEndpointOptions {
|
|
4
|
+
appOrigin: string
|
|
5
|
+
automationId: string
|
|
6
|
+
hookSlot: number
|
|
7
|
+
scopePath?: readonly number[]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns the public endpoint for one signed Convex semantic-event trigger.
|
|
12
|
+
*
|
|
13
|
+
* @param options - Public origin and trigger identity.
|
|
14
|
+
*/
|
|
15
|
+
export function getConvexEventEndpoint(options: ConvexEventEndpointOptions) {
|
|
16
|
+
return new URL(
|
|
17
|
+
`/api/v1/events/convex/${encodeURIComponent(getConvexEventEndpointKey(options))}`,
|
|
18
|
+
options.appOrigin,
|
|
19
|
+
).toString()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Returns the stable source key for one Convex semantic-event trigger.
|
|
24
|
+
*
|
|
25
|
+
* @param options - Trigger identity without the public origin.
|
|
26
|
+
*/
|
|
27
|
+
export function getConvexEventEndpointKey(
|
|
28
|
+
options: Omit<ConvexEventEndpointOptions, "appOrigin">,
|
|
29
|
+
) {
|
|
30
|
+
return `${options.automationId}:${[
|
|
31
|
+
...(options.scopePath ?? []),
|
|
32
|
+
options.hookSlot,
|
|
33
|
+
].join(".")}`
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const CONVEX_ACCOUNT = {
|
|
37
|
+
connectionOptions: [
|
|
38
|
+
{ connectionMethodId: "oauth", requiredScopes: [] },
|
|
39
|
+
{ connectionMethodId: "deployment-key", requiredScopes: [] },
|
|
40
|
+
],
|
|
41
|
+
serviceId: "convex",
|
|
42
|
+
} as const satisfies IntegrationAccountRequirement
|
|
43
|
+
|
|
44
|
+
const CONVEX_DEPLOYMENT_KEY_ACCOUNT = {
|
|
45
|
+
connectionOptions: [
|
|
46
|
+
{ connectionMethodId: "deployment-key", requiredScopes: [] },
|
|
47
|
+
],
|
|
48
|
+
serviceId: "convex",
|
|
49
|
+
} as const satisfies IntegrationAccountRequirement
|
|
50
|
+
|
|
51
|
+
export const convexTriggerDefinitions = {
|
|
52
|
+
convexDocumentCreated: {
|
|
53
|
+
account: CONVEX_ACCOUNT,
|
|
54
|
+
type: "convex.document.created",
|
|
55
|
+
},
|
|
56
|
+
convexDocumentDeleted: {
|
|
57
|
+
account: CONVEX_ACCOUNT,
|
|
58
|
+
type: "convex.document.deleted",
|
|
59
|
+
},
|
|
60
|
+
convexDocumentEvent: {
|
|
61
|
+
account: CONVEX_ACCOUNT,
|
|
62
|
+
type: "convex.document.event",
|
|
63
|
+
},
|
|
64
|
+
convexDocumentUpdated: {
|
|
65
|
+
account: CONVEX_ACCOUNT,
|
|
66
|
+
type: "convex.document.updated",
|
|
67
|
+
},
|
|
68
|
+
convexEvent: {
|
|
69
|
+
account: CONVEX_DEPLOYMENT_KEY_ACCOUNT,
|
|
70
|
+
getPrimary: ({ appOrigin, automationId, hookSlot, scopePath }) => ({
|
|
71
|
+
copyable: true,
|
|
72
|
+
value: getConvexEventEndpoint({
|
|
73
|
+
appOrigin,
|
|
74
|
+
automationId,
|
|
75
|
+
hookSlot,
|
|
76
|
+
scopePath,
|
|
77
|
+
}),
|
|
78
|
+
}),
|
|
79
|
+
name: "Convex event",
|
|
80
|
+
type: "convex.event.received",
|
|
81
|
+
},
|
|
82
|
+
} as const satisfies Record<string, TriggerDefinition>
|
package/src/triggers/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { airtableTriggerDefinitions } from "./airtable"
|
|
2
2
|
import { asanaTriggerDefinitions } from "./asana"
|
|
3
3
|
import { brevoTriggerDefinitions } from "./brevo"
|
|
4
|
+
import { convexTriggerDefinitions } from "./convex"
|
|
4
5
|
import { coreTriggerDefinitions } from "./core"
|
|
5
6
|
import { githubTriggerDefinitions } from "./github"
|
|
6
7
|
import { googleTriggerDefinitions } from "./google"
|
|
@@ -43,6 +44,7 @@ export const triggerDefinitions = {
|
|
|
43
44
|
...airtableTriggerDefinitions,
|
|
44
45
|
...asanaTriggerDefinitions,
|
|
45
46
|
...brevoTriggerDefinitions,
|
|
47
|
+
...convexTriggerDefinitions,
|
|
46
48
|
...coreTriggerDefinitions,
|
|
47
49
|
...githubTriggerDefinitions,
|
|
48
50
|
...googleTriggerDefinitions,
|