@automate.ax/catalog 0.81.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 +75 -4
- package/dist/catalog.js +42 -2
- 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 +46 -2
- 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;
|
|
@@ -452,11 +488,11 @@ export declare const perplexityService: {
|
|
|
452
488
|
export declare const postgresService: {
|
|
453
489
|
readonly connectionMethods: readonly [{
|
|
454
490
|
readonly fields: readonly [{
|
|
455
|
-
readonly description: "
|
|
491
|
+
readonly description: "For Supabase, use its provided URL and append ?uselibpqcompat=true&sslmode=require only when you intend libpq's encrypted, non-verifying require behavior.";
|
|
456
492
|
readonly input: "password";
|
|
457
493
|
readonly label: "Connection string";
|
|
458
494
|
readonly name: "connectionString";
|
|
459
|
-
readonly placeholder: "postgresql://
|
|
495
|
+
readonly placeholder: "postgresql://postgres.project-ref:password@aws-0-region.pooler.supabase.com:5432/postgres?uselibpqcompat=true&sslmode=require";
|
|
460
496
|
readonly required: true;
|
|
461
497
|
}];
|
|
462
498
|
readonly id: "credentials";
|
|
@@ -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;
|
|
@@ -1054,11 +1125,11 @@ export declare const integrationCatalog: readonly [{
|
|
|
1054
1125
|
}, {
|
|
1055
1126
|
readonly connectionMethods: readonly [{
|
|
1056
1127
|
readonly fields: readonly [{
|
|
1057
|
-
readonly description: "
|
|
1128
|
+
readonly description: "For Supabase, use its provided URL and append ?uselibpqcompat=true&sslmode=require only when you intend libpq's encrypted, non-verifying require behavior.";
|
|
1058
1129
|
readonly input: "password";
|
|
1059
1130
|
readonly label: "Connection string";
|
|
1060
1131
|
readonly name: "connectionString";
|
|
1061
|
-
readonly placeholder: "postgresql://
|
|
1132
|
+
readonly placeholder: "postgresql://postgres.project-ref:password@aws-0-region.pooler.supabase.com:5432/postgres?uselibpqcompat=true&sslmode=require";
|
|
1062
1133
|
readonly required: true;
|
|
1063
1134
|
}];
|
|
1064
1135
|
readonly id: "credentials";
|
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",
|
|
@@ -240,11 +279,11 @@ export const postgresService = defineIntegrationService({
|
|
|
240
279
|
{
|
|
241
280
|
fields: [
|
|
242
281
|
{
|
|
243
|
-
description: "
|
|
282
|
+
description: "For Supabase, use its provided URL and append ?uselibpqcompat=true&sslmode=require only when you intend libpq's encrypted, non-verifying require behavior.",
|
|
244
283
|
input: "password",
|
|
245
284
|
label: "Connection string",
|
|
246
285
|
name: "connectionString",
|
|
247
|
-
placeholder: "postgresql://
|
|
286
|
+
placeholder: "postgresql://postgres.project-ref:password@aws-0-region.pooler.supabase.com:5432/postgres?uselibpqcompat=true&sslmode=require",
|
|
248
287
|
required: true,
|
|
249
288
|
},
|
|
250
289
|
],
|
|
@@ -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",
|
|
@@ -270,12 +312,13 @@ export const postgresService = defineIntegrationService({
|
|
|
270
312
|
{
|
|
271
313
|
fields: [
|
|
272
314
|
{
|
|
273
|
-
description:
|
|
315
|
+
description:
|
|
316
|
+
"For Supabase, use its provided URL and append ?uselibpqcompat=true&sslmode=require only when you intend libpq's encrypted, non-verifying require behavior.",
|
|
274
317
|
input: "password",
|
|
275
318
|
label: "Connection string",
|
|
276
319
|
name: "connectionString",
|
|
277
320
|
placeholder:
|
|
278
|
-
"postgresql://
|
|
321
|
+
"postgresql://postgres.project-ref:password@aws-0-region.pooler.supabase.com:5432/postgres?uselibpqcompat=true&sslmode=require",
|
|
279
322
|
required: true,
|
|
280
323
|
},
|
|
281
324
|
],
|
|
@@ -397,6 +440,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
397
440
|
cloudflareService,
|
|
398
441
|
codexService,
|
|
399
442
|
cohereService,
|
|
443
|
+
convexService,
|
|
400
444
|
deepinfraService,
|
|
401
445
|
deepseekService,
|
|
402
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,
|