@automate.ax/catalog 0.125.0 → 0.127.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 +70 -0
- package/dist/catalog.js +38 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/triggers/axiom.d.ts +32 -0
- package/dist/triggers/axiom.js +18 -0
- package/dist/triggers/index.d.ts +129 -0
- package/dist/triggers/index.js +4 -0
- package/dist/triggers/reddit.d.ts +42 -0
- package/dist/triggers/reddit.js +41 -0
- package/package.json +13 -1
- package/src/catalog.ts +42 -0
- package/src/index.ts +2 -0
- package/src/triggers/axiom.ts +21 -0
- package/src/triggers/index.ts +4 -0
- package/src/triggers/reddit.ts +67 -0
package/dist/catalog.d.ts
CHANGED
|
@@ -110,6 +110,24 @@ export declare const automateService: {
|
|
|
110
110
|
readonly id: "automate";
|
|
111
111
|
readonly name: "Automate.ax";
|
|
112
112
|
};
|
|
113
|
+
export declare const axiomService: {
|
|
114
|
+
readonly connectionMethods: readonly [{
|
|
115
|
+
readonly credentialUrl: "https://app.axiom.co/settings/api-tokens";
|
|
116
|
+
readonly fields: readonly [{
|
|
117
|
+
readonly input: "password";
|
|
118
|
+
readonly label: "API token";
|
|
119
|
+
readonly name: "apiKey";
|
|
120
|
+
readonly placeholder: "xaat-...";
|
|
121
|
+
readonly required: true;
|
|
122
|
+
}];
|
|
123
|
+
readonly id: "api-token";
|
|
124
|
+
readonly name: "API token";
|
|
125
|
+
readonly type: "form";
|
|
126
|
+
}];
|
|
127
|
+
readonly description: "Connect an Axiom API token for data, monitors, notifiers, and dashboards.";
|
|
128
|
+
readonly id: "axiom";
|
|
129
|
+
readonly name: "Axiom";
|
|
130
|
+
};
|
|
113
131
|
export declare const brevoService: {
|
|
114
132
|
readonly id: "brevo";
|
|
115
133
|
readonly name: string;
|
|
@@ -750,6 +768,24 @@ export declare const resendService: {
|
|
|
750
768
|
readonly name: "Resend";
|
|
751
769
|
readonly preferredConnectionMethodId: "oauth";
|
|
752
770
|
};
|
|
771
|
+
export declare const redditService: {
|
|
772
|
+
readonly connectionMethods: readonly [{
|
|
773
|
+
readonly id: "oauth";
|
|
774
|
+
readonly name: "OAuth";
|
|
775
|
+
readonly type: "redirect";
|
|
776
|
+
}];
|
|
777
|
+
readonly connectionNotice: {
|
|
778
|
+
readonly action: {
|
|
779
|
+
readonly href: "https://support.reddithelp.com/hc/en-us/articles/14945211791892-Reddit-Data-API-Wiki";
|
|
780
|
+
readonly label: "Review Reddit API access";
|
|
781
|
+
};
|
|
782
|
+
readonly description: "Reddit requires approval for commercial Data API access. Connect only an approved Reddit application.";
|
|
783
|
+
readonly title: "Reddit approval required";
|
|
784
|
+
};
|
|
785
|
+
readonly description: "Connect a Reddit account with OAuth.";
|
|
786
|
+
readonly id: "reddit";
|
|
787
|
+
readonly name: "Reddit";
|
|
788
|
+
};
|
|
753
789
|
export declare const scrapflyService: {
|
|
754
790
|
readonly id: "scrapfly";
|
|
755
791
|
readonly name: string;
|
|
@@ -1056,6 +1092,23 @@ export declare const integrationCatalog: readonly [{
|
|
|
1056
1092
|
readonly description: "Connect an Automate.ax organization for management actions and lifecycle triggers.";
|
|
1057
1093
|
readonly id: "automate";
|
|
1058
1094
|
readonly name: "Automate.ax";
|
|
1095
|
+
}, {
|
|
1096
|
+
readonly connectionMethods: readonly [{
|
|
1097
|
+
readonly credentialUrl: "https://app.axiom.co/settings/api-tokens";
|
|
1098
|
+
readonly fields: readonly [{
|
|
1099
|
+
readonly input: "password";
|
|
1100
|
+
readonly label: "API token";
|
|
1101
|
+
readonly name: "apiKey";
|
|
1102
|
+
readonly placeholder: "xaat-...";
|
|
1103
|
+
readonly required: true;
|
|
1104
|
+
}];
|
|
1105
|
+
readonly id: "api-token";
|
|
1106
|
+
readonly name: "API token";
|
|
1107
|
+
readonly type: "form";
|
|
1108
|
+
}];
|
|
1109
|
+
readonly description: "Connect an Axiom API token for data, monitors, notifiers, and dashboards.";
|
|
1110
|
+
readonly id: "axiom";
|
|
1111
|
+
readonly name: "Axiom";
|
|
1059
1112
|
}, {
|
|
1060
1113
|
readonly id: "brevo";
|
|
1061
1114
|
readonly name: string;
|
|
@@ -1644,6 +1697,23 @@ export declare const integrationCatalog: readonly [{
|
|
|
1644
1697
|
readonly description: "Connect a PostgreSQL database with a least-privilege role.";
|
|
1645
1698
|
readonly id: "postgres";
|
|
1646
1699
|
readonly name: "PostgreSQL";
|
|
1700
|
+
}, {
|
|
1701
|
+
readonly connectionMethods: readonly [{
|
|
1702
|
+
readonly id: "oauth";
|
|
1703
|
+
readonly name: "OAuth";
|
|
1704
|
+
readonly type: "redirect";
|
|
1705
|
+
}];
|
|
1706
|
+
readonly connectionNotice: {
|
|
1707
|
+
readonly action: {
|
|
1708
|
+
readonly href: "https://support.reddithelp.com/hc/en-us/articles/14945211791892-Reddit-Data-API-Wiki";
|
|
1709
|
+
readonly label: "Review Reddit API access";
|
|
1710
|
+
};
|
|
1711
|
+
readonly description: "Reddit requires approval for commercial Data API access. Connect only an approved Reddit application.";
|
|
1712
|
+
readonly title: "Reddit approval required";
|
|
1713
|
+
};
|
|
1714
|
+
readonly description: "Connect a Reddit account with OAuth.";
|
|
1715
|
+
readonly id: "reddit";
|
|
1716
|
+
readonly name: "Reddit";
|
|
1647
1717
|
}, {
|
|
1648
1718
|
readonly connectionMethods: readonly [{
|
|
1649
1719
|
readonly id: "oauth";
|
package/dist/catalog.js
CHANGED
|
@@ -100,6 +100,28 @@ export const automateService = defineIntegrationService({
|
|
|
100
100
|
id: "automate",
|
|
101
101
|
name: "Automate.ax",
|
|
102
102
|
});
|
|
103
|
+
export const axiomService = defineIntegrationService({
|
|
104
|
+
connectionMethods: [
|
|
105
|
+
{
|
|
106
|
+
credentialUrl: "https://app.axiom.co/settings/api-tokens",
|
|
107
|
+
fields: [
|
|
108
|
+
{
|
|
109
|
+
input: "password",
|
|
110
|
+
label: "API token",
|
|
111
|
+
name: "apiKey",
|
|
112
|
+
placeholder: "xaat-...",
|
|
113
|
+
required: true,
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
id: "api-token",
|
|
117
|
+
name: "API token",
|
|
118
|
+
type: "form",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
description: "Connect an Axiom API token for data, monitors, notifiers, and dashboards.",
|
|
122
|
+
id: "axiom",
|
|
123
|
+
name: "Axiom",
|
|
124
|
+
});
|
|
103
125
|
export const brevoService = defineApiKeyService({
|
|
104
126
|
credentialUrl: "https://app.brevo.com/settings/keys/api",
|
|
105
127
|
description: "Connect a Brevo API key for messaging, contacts, campaigns, and managed events.",
|
|
@@ -510,6 +532,20 @@ export const resendService = defineIntegrationService({
|
|
|
510
532
|
name: "Resend",
|
|
511
533
|
preferredConnectionMethodId: "oauth",
|
|
512
534
|
});
|
|
535
|
+
export const redditService = defineIntegrationService({
|
|
536
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
537
|
+
connectionNotice: {
|
|
538
|
+
action: {
|
|
539
|
+
href: "https://support.reddithelp.com/hc/en-us/articles/14945211791892-Reddit-Data-API-Wiki",
|
|
540
|
+
label: "Review Reddit API access",
|
|
541
|
+
},
|
|
542
|
+
description: "Reddit requires approval for commercial Data API access. Connect only an approved Reddit application.",
|
|
543
|
+
title: "Reddit approval required",
|
|
544
|
+
},
|
|
545
|
+
description: "Connect a Reddit account with OAuth.",
|
|
546
|
+
id: "reddit",
|
|
547
|
+
name: "Reddit",
|
|
548
|
+
});
|
|
513
549
|
export const scrapflyService = defineApiKeyService({
|
|
514
550
|
credentialUrl: "https://scrapfly.io/dashboard/project",
|
|
515
551
|
description: "Connect a Scrapfly API key.",
|
|
@@ -645,6 +681,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
645
681
|
apifyService,
|
|
646
682
|
asanaService,
|
|
647
683
|
automateService,
|
|
684
|
+
axiomService,
|
|
648
685
|
brevoService,
|
|
649
686
|
browserbaseService,
|
|
650
687
|
cerebrasService,
|
|
@@ -675,6 +712,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
675
712
|
openrouterService,
|
|
676
713
|
perplexityService,
|
|
677
714
|
postgresService,
|
|
715
|
+
redditService,
|
|
678
716
|
resendService,
|
|
679
717
|
scrapflyService,
|
|
680
718
|
slackService,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { airtableService, anthropicService, apolloService, apifyService, asanaService, automateService, brevoService, browserbaseService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, type IntegrationServiceId, } from "./catalog.js";
|
|
1
|
+
export { airtableService, anthropicService, apolloService, apifyService, asanaService, automateService, axiomService, brevoService, browserbaseService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, redditService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, 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 TriggerAccountRequirement, 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, apifyService, asanaService, automateService, brevoService, browserbaseService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, } from "./catalog.js";
|
|
1
|
+
export { airtableService, anthropicService, apolloService, apifyService, asanaService, automateService, axiomService, brevoService, browserbaseService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, redditService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, 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,32 @@
|
|
|
1
|
+
export declare const axiomTriggerDefinitions: {
|
|
2
|
+
readonly axiomMonitorNotification: {
|
|
3
|
+
readonly account: {
|
|
4
|
+
readonly connectionOptions: readonly [{
|
|
5
|
+
readonly connectionMethodId: "api-token";
|
|
6
|
+
readonly requiredScopes: readonly [];
|
|
7
|
+
}];
|
|
8
|
+
readonly serviceId: "axiom";
|
|
9
|
+
};
|
|
10
|
+
readonly type: "axiom.monitorNotification";
|
|
11
|
+
};
|
|
12
|
+
readonly axiomMonitorOpened: {
|
|
13
|
+
readonly account: {
|
|
14
|
+
readonly connectionOptions: readonly [{
|
|
15
|
+
readonly connectionMethodId: "api-token";
|
|
16
|
+
readonly requiredScopes: readonly [];
|
|
17
|
+
}];
|
|
18
|
+
readonly serviceId: "axiom";
|
|
19
|
+
};
|
|
20
|
+
readonly type: "axiom.monitorOpened";
|
|
21
|
+
};
|
|
22
|
+
readonly axiomMonitorClosed: {
|
|
23
|
+
readonly account: {
|
|
24
|
+
readonly connectionOptions: readonly [{
|
|
25
|
+
readonly connectionMethodId: "api-token";
|
|
26
|
+
readonly requiredScopes: readonly [];
|
|
27
|
+
}];
|
|
28
|
+
readonly serviceId: "axiom";
|
|
29
|
+
};
|
|
30
|
+
readonly type: "axiom.monitorClosed";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const AXIOM_ACCOUNT = {
|
|
2
|
+
connectionOptions: [{ connectionMethodId: "api-token", requiredScopes: [] }],
|
|
3
|
+
serviceId: "axiom",
|
|
4
|
+
};
|
|
5
|
+
export const axiomTriggerDefinitions = {
|
|
6
|
+
axiomMonitorNotification: {
|
|
7
|
+
account: AXIOM_ACCOUNT,
|
|
8
|
+
type: "axiom.monitorNotification",
|
|
9
|
+
},
|
|
10
|
+
axiomMonitorOpened: {
|
|
11
|
+
account: AXIOM_ACCOUNT,
|
|
12
|
+
type: "axiom.monitorOpened",
|
|
13
|
+
},
|
|
14
|
+
axiomMonitorClosed: {
|
|
15
|
+
account: AXIOM_ACCOUNT,
|
|
16
|
+
type: "axiom.monitorClosed",
|
|
17
|
+
},
|
|
18
|
+
};
|
package/dist/triggers/index.d.ts
CHANGED
|
@@ -1836,6 +1836,43 @@ export declare const triggerDefinitions: {
|
|
|
1836
1836
|
};
|
|
1837
1837
|
readonly type: "resend.suppression.removed";
|
|
1838
1838
|
};
|
|
1839
|
+
readonly redditSubredditEvent: {
|
|
1840
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
1841
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
1842
|
+
value: string;
|
|
1843
|
+
};
|
|
1844
|
+
name: string;
|
|
1845
|
+
type: "reddit.subreddit.event";
|
|
1846
|
+
};
|
|
1847
|
+
readonly redditNewPost: {
|
|
1848
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
1849
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
1850
|
+
value: string;
|
|
1851
|
+
};
|
|
1852
|
+
name: string;
|
|
1853
|
+
type: "reddit.subreddit.post.created";
|
|
1854
|
+
};
|
|
1855
|
+
readonly redditNewComment: {
|
|
1856
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
1857
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
1858
|
+
value: string;
|
|
1859
|
+
};
|
|
1860
|
+
name: string;
|
|
1861
|
+
type: "reddit.subreddit.comment.created";
|
|
1862
|
+
};
|
|
1863
|
+
readonly redditNewInboxItem: {
|
|
1864
|
+
readonly account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
1865
|
+
readonly name: "New Reddit inbox item";
|
|
1866
|
+
readonly type: "reddit.inbox.item.received";
|
|
1867
|
+
};
|
|
1868
|
+
readonly redditNewModQueueItem: {
|
|
1869
|
+
readonly account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
1870
|
+
readonly getPrimary: (context: TriggerPresentationContext) => {
|
|
1871
|
+
value: string;
|
|
1872
|
+
};
|
|
1873
|
+
readonly name: "New Reddit mod queue item";
|
|
1874
|
+
readonly type: "reddit.modQueue.item.received";
|
|
1875
|
+
};
|
|
1839
1876
|
readonly notionCommentCreated: {
|
|
1840
1877
|
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
1841
1878
|
type: "notion.comment.created";
|
|
@@ -7105,6 +7142,36 @@ export declare const triggerDefinitions: {
|
|
|
7105
7142
|
}[];
|
|
7106
7143
|
readonly type: "automate.execution.settled";
|
|
7107
7144
|
};
|
|
7145
|
+
readonly axiomMonitorNotification: {
|
|
7146
|
+
readonly account: {
|
|
7147
|
+
readonly connectionOptions: readonly [{
|
|
7148
|
+
readonly connectionMethodId: "api-token";
|
|
7149
|
+
readonly requiredScopes: readonly [];
|
|
7150
|
+
}];
|
|
7151
|
+
readonly serviceId: "axiom";
|
|
7152
|
+
};
|
|
7153
|
+
readonly type: "axiom.monitorNotification";
|
|
7154
|
+
};
|
|
7155
|
+
readonly axiomMonitorOpened: {
|
|
7156
|
+
readonly account: {
|
|
7157
|
+
readonly connectionOptions: readonly [{
|
|
7158
|
+
readonly connectionMethodId: "api-token";
|
|
7159
|
+
readonly requiredScopes: readonly [];
|
|
7160
|
+
}];
|
|
7161
|
+
readonly serviceId: "axiom";
|
|
7162
|
+
};
|
|
7163
|
+
readonly type: "axiom.monitorOpened";
|
|
7164
|
+
};
|
|
7165
|
+
readonly axiomMonitorClosed: {
|
|
7166
|
+
readonly account: {
|
|
7167
|
+
readonly connectionOptions: readonly [{
|
|
7168
|
+
readonly connectionMethodId: "api-token";
|
|
7169
|
+
readonly requiredScopes: readonly [];
|
|
7170
|
+
}];
|
|
7171
|
+
readonly serviceId: "axiom";
|
|
7172
|
+
};
|
|
7173
|
+
readonly type: "axiom.monitorClosed";
|
|
7174
|
+
};
|
|
7108
7175
|
readonly airtableBaseEvent: {
|
|
7109
7176
|
readonly account: import("..").IntegrationAccountRequirement<"airtable">;
|
|
7110
7177
|
readonly type: "airtable.base.event";
|
|
@@ -7463,6 +7530,36 @@ export declare const triggerCatalog: ({
|
|
|
7463
7530
|
readonly serviceId: "apify";
|
|
7464
7531
|
};
|
|
7465
7532
|
type: "apify.actorRun.timedOut";
|
|
7533
|
+
} | {
|
|
7534
|
+
name: string;
|
|
7535
|
+
account: {
|
|
7536
|
+
readonly connectionOptions: readonly [{
|
|
7537
|
+
readonly connectionMethodId: "api-token";
|
|
7538
|
+
readonly requiredScopes: readonly [];
|
|
7539
|
+
}];
|
|
7540
|
+
readonly serviceId: "axiom";
|
|
7541
|
+
};
|
|
7542
|
+
type: "axiom.monitorNotification";
|
|
7543
|
+
} | {
|
|
7544
|
+
name: string;
|
|
7545
|
+
account: {
|
|
7546
|
+
readonly connectionOptions: readonly [{
|
|
7547
|
+
readonly connectionMethodId: "api-token";
|
|
7548
|
+
readonly requiredScopes: readonly [];
|
|
7549
|
+
}];
|
|
7550
|
+
readonly serviceId: "axiom";
|
|
7551
|
+
};
|
|
7552
|
+
type: "axiom.monitorOpened";
|
|
7553
|
+
} | {
|
|
7554
|
+
name: string;
|
|
7555
|
+
account: {
|
|
7556
|
+
readonly connectionOptions: readonly [{
|
|
7557
|
+
readonly connectionMethodId: "api-token";
|
|
7558
|
+
readonly requiredScopes: readonly [];
|
|
7559
|
+
}];
|
|
7560
|
+
readonly serviceId: "axiom";
|
|
7561
|
+
};
|
|
7562
|
+
type: "axiom.monitorClosed";
|
|
7466
7563
|
} | {
|
|
7467
7564
|
name: string;
|
|
7468
7565
|
account: {
|
|
@@ -12626,6 +12723,38 @@ export declare const triggerCatalog: ({
|
|
|
12626
12723
|
name: string;
|
|
12627
12724
|
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
12628
12725
|
type: "notion.view.updated";
|
|
12726
|
+
} | {
|
|
12727
|
+
name: string;
|
|
12728
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
12729
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
12730
|
+
value: string;
|
|
12731
|
+
};
|
|
12732
|
+
type: "reddit.subreddit.event";
|
|
12733
|
+
} | {
|
|
12734
|
+
name: string;
|
|
12735
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
12736
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
12737
|
+
value: string;
|
|
12738
|
+
};
|
|
12739
|
+
type: "reddit.subreddit.post.created";
|
|
12740
|
+
} | {
|
|
12741
|
+
name: string;
|
|
12742
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
12743
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
12744
|
+
value: string;
|
|
12745
|
+
};
|
|
12746
|
+
type: "reddit.subreddit.comment.created";
|
|
12747
|
+
} | {
|
|
12748
|
+
name: string;
|
|
12749
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
12750
|
+
type: "reddit.inbox.item.received";
|
|
12751
|
+
} | {
|
|
12752
|
+
name: string;
|
|
12753
|
+
account: import("..").IntegrationAccountRequirement<"reddit">;
|
|
12754
|
+
getPrimary: (context: TriggerPresentationContext) => {
|
|
12755
|
+
value: string;
|
|
12756
|
+
};
|
|
12757
|
+
type: "reddit.modQueue.item.received";
|
|
12629
12758
|
} | {
|
|
12630
12759
|
name: string;
|
|
12631
12760
|
account: {
|
package/dist/triggers/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { airtableTriggerDefinitions } from "./airtable.js";
|
|
2
2
|
import { apifyTriggerDefinitions } from "./apify.js";
|
|
3
|
+
import { axiomTriggerDefinitions } from "./axiom.js";
|
|
3
4
|
import { automateTriggerDefinitions } from "./automate.js";
|
|
4
5
|
import { asanaTriggerDefinitions } from "./asana.js";
|
|
5
6
|
import { brevoTriggerDefinitions } from "./brevo.js";
|
|
@@ -14,6 +15,7 @@ import { linearTriggerDefinitions } from "./linear.js";
|
|
|
14
15
|
import { millionVerifierTriggerDefinitions } from "./millionverifier.js";
|
|
15
16
|
import { microsoftTriggerDefinitions } from "./microsoft.js";
|
|
16
17
|
import { notionTriggerDefinitions } from "./notion.js";
|
|
18
|
+
import { redditTriggerDefinitions } from "./reddit.js";
|
|
17
19
|
import { resendTriggerDefinitions } from "./resend.js";
|
|
18
20
|
import { slackTriggerDefinitions } from "./slack.js";
|
|
19
21
|
import { stripeTriggerDefinitions } from "./stripe.js";
|
|
@@ -28,6 +30,7 @@ export { getDashboardRunEndpoint, getDashboardRunEndpointKey, getHttpTriggerEndp
|
|
|
28
30
|
export const triggerDefinitions = {
|
|
29
31
|
...apifyTriggerDefinitions,
|
|
30
32
|
...airtableTriggerDefinitions,
|
|
33
|
+
...axiomTriggerDefinitions,
|
|
31
34
|
...automateTriggerDefinitions,
|
|
32
35
|
...asanaTriggerDefinitions,
|
|
33
36
|
...brevoTriggerDefinitions,
|
|
@@ -42,6 +45,7 @@ export const triggerDefinitions = {
|
|
|
42
45
|
...millionVerifierTriggerDefinitions,
|
|
43
46
|
...microsoftTriggerDefinitions,
|
|
44
47
|
...notionTriggerDefinitions,
|
|
48
|
+
...redditTriggerDefinitions,
|
|
45
49
|
...resendTriggerDefinitions,
|
|
46
50
|
...slackTriggerDefinitions,
|
|
47
51
|
...stripeTriggerDefinitions,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { IntegrationAccountRequirement, TriggerPresentationContext } from "../types.js";
|
|
2
|
+
export declare const redditTriggerDefinitions: {
|
|
3
|
+
readonly redditSubredditEvent: {
|
|
4
|
+
account: IntegrationAccountRequirement<"reddit">;
|
|
5
|
+
getPrimary: typeof subredditPrimary;
|
|
6
|
+
name: string;
|
|
7
|
+
type: "reddit.subreddit.event";
|
|
8
|
+
};
|
|
9
|
+
readonly redditNewPost: {
|
|
10
|
+
account: IntegrationAccountRequirement<"reddit">;
|
|
11
|
+
getPrimary: typeof subredditPrimary;
|
|
12
|
+
name: string;
|
|
13
|
+
type: "reddit.subreddit.post.created";
|
|
14
|
+
};
|
|
15
|
+
readonly redditNewComment: {
|
|
16
|
+
account: IntegrationAccountRequirement<"reddit">;
|
|
17
|
+
getPrimary: typeof subredditPrimary;
|
|
18
|
+
name: string;
|
|
19
|
+
type: "reddit.subreddit.comment.created";
|
|
20
|
+
};
|
|
21
|
+
readonly redditNewInboxItem: {
|
|
22
|
+
readonly account: IntegrationAccountRequirement<"reddit">;
|
|
23
|
+
readonly name: "New Reddit inbox item";
|
|
24
|
+
readonly type: "reddit.inbox.item.received";
|
|
25
|
+
};
|
|
26
|
+
readonly redditNewModQueueItem: {
|
|
27
|
+
readonly account: IntegrationAccountRequirement<"reddit">;
|
|
28
|
+
readonly getPrimary: typeof subredditPrimary;
|
|
29
|
+
readonly name: "New Reddit mod queue item";
|
|
30
|
+
readonly type: "reddit.modQueue.item.received";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Reads a trigger's configured subreddit for presentation.
|
|
35
|
+
*
|
|
36
|
+
* @param context - Resolved trigger presentation context.
|
|
37
|
+
* @throws When canonical trigger configuration is missing its subreddit.
|
|
38
|
+
*/
|
|
39
|
+
declare function subredditPrimary(context: TriggerPresentationContext): {
|
|
40
|
+
value: string;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const redditAccount = (scope) => ({
|
|
2
|
+
connectionOptions: [{ connectionMethodId: "oauth", requiredScopes: [scope] }],
|
|
3
|
+
serviceId: "reddit",
|
|
4
|
+
});
|
|
5
|
+
const SUBREDDIT_ACCOUNT = redditAccount("read");
|
|
6
|
+
const subredditTrigger = (type, name) => ({
|
|
7
|
+
account: SUBREDDIT_ACCOUNT,
|
|
8
|
+
getPrimary: subredditPrimary,
|
|
9
|
+
name,
|
|
10
|
+
type,
|
|
11
|
+
});
|
|
12
|
+
export const redditTriggerDefinitions = {
|
|
13
|
+
redditSubredditEvent: subredditTrigger("reddit.subreddit.event", "Reddit subreddit event"),
|
|
14
|
+
redditNewPost: subredditTrigger("reddit.subreddit.post.created", "New Reddit post"),
|
|
15
|
+
redditNewComment: subredditTrigger("reddit.subreddit.comment.created", "New Reddit comment"),
|
|
16
|
+
redditNewInboxItem: {
|
|
17
|
+
account: redditAccount("privatemessages"),
|
|
18
|
+
name: "New Reddit inbox item",
|
|
19
|
+
type: "reddit.inbox.item.received",
|
|
20
|
+
},
|
|
21
|
+
redditNewModQueueItem: {
|
|
22
|
+
account: redditAccount("read"),
|
|
23
|
+
getPrimary: subredditPrimary,
|
|
24
|
+
name: "New Reddit mod queue item",
|
|
25
|
+
type: "reddit.modQueue.item.received",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Reads a trigger's configured subreddit for presentation.
|
|
30
|
+
*
|
|
31
|
+
* @param context - Resolved trigger presentation context.
|
|
32
|
+
* @throws When canonical trigger configuration is missing its subreddit.
|
|
33
|
+
*/
|
|
34
|
+
function subredditPrimary(context) {
|
|
35
|
+
if (typeof context.config !== "object" ||
|
|
36
|
+
context.config === null ||
|
|
37
|
+
!("subreddit" in context.config) ||
|
|
38
|
+
typeof context.config.subreddit !== "string")
|
|
39
|
+
throw new TypeError("Reddit trigger configuration requires a subreddit.");
|
|
40
|
+
return { value: `r/${context.config.subreddit}` };
|
|
41
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automate.ax/catalog",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.127.0",
|
|
4
4
|
"description": "Shared integration service and trigger definitions for Automate.ax.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"./authoring": "./src/authoring.ts",
|
|
23
23
|
"./triggers/apify": "./src/triggers/apify.ts",
|
|
24
24
|
"./triggers/airtable": "./src/triggers/airtable.ts",
|
|
25
|
+
"./triggers/axiom": "./src/triggers/axiom.ts",
|
|
25
26
|
"./triggers/automate": "./src/triggers/automate.ts",
|
|
26
27
|
"./triggers/asana": "./src/triggers/asana.ts",
|
|
27
28
|
"./triggers/brevo": "./src/triggers/brevo.ts",
|
|
@@ -40,6 +41,7 @@
|
|
|
40
41
|
"./triggers/millionverifier": "./src/triggers/millionverifier.ts",
|
|
41
42
|
"./triggers/microsoft": "./src/triggers/microsoft.ts",
|
|
42
43
|
"./triggers/notion": "./src/triggers/notion.ts",
|
|
44
|
+
"./triggers/reddit": "./src/triggers/reddit.ts",
|
|
43
45
|
"./triggers/name": "./src/triggers/name.ts",
|
|
44
46
|
"./triggers/resend": "./src/triggers/resend.ts",
|
|
45
47
|
"./triggers/slack": "./src/triggers/slack.ts",
|
|
@@ -106,6 +108,11 @@
|
|
|
106
108
|
"types": "./dist/triggers/airtable.d.ts",
|
|
107
109
|
"default": "./dist/triggers/airtable.js"
|
|
108
110
|
},
|
|
111
|
+
"./triggers/axiom": {
|
|
112
|
+
"bun": "./src/triggers/axiom.ts",
|
|
113
|
+
"types": "./dist/triggers/axiom.d.ts",
|
|
114
|
+
"default": "./dist/triggers/axiom.js"
|
|
115
|
+
},
|
|
109
116
|
"./triggers/automate": {
|
|
110
117
|
"bun": "./src/triggers/automate.ts",
|
|
111
118
|
"types": "./dist/triggers/automate.d.ts",
|
|
@@ -196,6 +203,11 @@
|
|
|
196
203
|
"types": "./dist/triggers/notion.d.ts",
|
|
197
204
|
"default": "./dist/triggers/notion.js"
|
|
198
205
|
},
|
|
206
|
+
"./triggers/reddit": {
|
|
207
|
+
"bun": "./src/triggers/reddit.ts",
|
|
208
|
+
"types": "./dist/triggers/reddit.d.ts",
|
|
209
|
+
"default": "./dist/triggers/reddit.js"
|
|
210
|
+
},
|
|
199
211
|
"./triggers/name": {
|
|
200
212
|
"bun": "./src/triggers/name.ts",
|
|
201
213
|
"types": "./dist/triggers/name.d.ts",
|
package/src/catalog.ts
CHANGED
|
@@ -111,6 +111,30 @@ export const automateService = defineIntegrationService({
|
|
|
111
111
|
name: "Automate.ax",
|
|
112
112
|
})
|
|
113
113
|
|
|
114
|
+
export const axiomService = defineIntegrationService({
|
|
115
|
+
connectionMethods: [
|
|
116
|
+
{
|
|
117
|
+
credentialUrl: "https://app.axiom.co/settings/api-tokens",
|
|
118
|
+
fields: [
|
|
119
|
+
{
|
|
120
|
+
input: "password",
|
|
121
|
+
label: "API token",
|
|
122
|
+
name: "apiKey",
|
|
123
|
+
placeholder: "xaat-...",
|
|
124
|
+
required: true,
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
id: "api-token",
|
|
128
|
+
name: "API token",
|
|
129
|
+
type: "form",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
description:
|
|
133
|
+
"Connect an Axiom API token for data, monitors, notifiers, and dashboards.",
|
|
134
|
+
id: "axiom",
|
|
135
|
+
name: "Axiom",
|
|
136
|
+
})
|
|
137
|
+
|
|
114
138
|
export const brevoService = defineApiKeyService({
|
|
115
139
|
credentialUrl: "https://app.brevo.com/settings/keys/api",
|
|
116
140
|
description:
|
|
@@ -563,6 +587,22 @@ export const resendService = defineIntegrationService({
|
|
|
563
587
|
preferredConnectionMethodId: "oauth",
|
|
564
588
|
})
|
|
565
589
|
|
|
590
|
+
export const redditService = defineIntegrationService({
|
|
591
|
+
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
592
|
+
connectionNotice: {
|
|
593
|
+
action: {
|
|
594
|
+
href: "https://support.reddithelp.com/hc/en-us/articles/14945211791892-Reddit-Data-API-Wiki",
|
|
595
|
+
label: "Review Reddit API access",
|
|
596
|
+
},
|
|
597
|
+
description:
|
|
598
|
+
"Reddit requires approval for commercial Data API access. Connect only an approved Reddit application.",
|
|
599
|
+
title: "Reddit approval required",
|
|
600
|
+
},
|
|
601
|
+
description: "Connect a Reddit account with OAuth.",
|
|
602
|
+
id: "reddit",
|
|
603
|
+
name: "Reddit",
|
|
604
|
+
})
|
|
605
|
+
|
|
566
606
|
export const scrapflyService = defineApiKeyService({
|
|
567
607
|
credentialUrl: "https://scrapfly.io/dashboard/project",
|
|
568
608
|
description: "Connect a Scrapfly API key.",
|
|
@@ -712,6 +752,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
712
752
|
apifyService,
|
|
713
753
|
asanaService,
|
|
714
754
|
automateService,
|
|
755
|
+
axiomService,
|
|
715
756
|
brevoService,
|
|
716
757
|
browserbaseService,
|
|
717
758
|
cerebrasService,
|
|
@@ -742,6 +783,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
742
783
|
openrouterService,
|
|
743
784
|
perplexityService,
|
|
744
785
|
postgresService,
|
|
786
|
+
redditService,
|
|
745
787
|
resendService,
|
|
746
788
|
scrapflyService,
|
|
747
789
|
slackService,
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ export {
|
|
|
5
5
|
apifyService,
|
|
6
6
|
asanaService,
|
|
7
7
|
automateService,
|
|
8
|
+
axiomService,
|
|
8
9
|
brevoService,
|
|
9
10
|
browserbaseService,
|
|
10
11
|
cerebrasService,
|
|
@@ -37,6 +38,7 @@ export {
|
|
|
37
38
|
openrouterService,
|
|
38
39
|
perplexityService,
|
|
39
40
|
postgresService,
|
|
41
|
+
redditService,
|
|
40
42
|
resendService,
|
|
41
43
|
scrapflyService,
|
|
42
44
|
slackService,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
|
|
2
|
+
|
|
3
|
+
const AXIOM_ACCOUNT = {
|
|
4
|
+
connectionOptions: [{ connectionMethodId: "api-token", requiredScopes: [] }],
|
|
5
|
+
serviceId: "axiom",
|
|
6
|
+
} as const satisfies IntegrationAccountRequirement
|
|
7
|
+
|
|
8
|
+
export const axiomTriggerDefinitions = {
|
|
9
|
+
axiomMonitorNotification: {
|
|
10
|
+
account: AXIOM_ACCOUNT,
|
|
11
|
+
type: "axiom.monitorNotification",
|
|
12
|
+
},
|
|
13
|
+
axiomMonitorOpened: {
|
|
14
|
+
account: AXIOM_ACCOUNT,
|
|
15
|
+
type: "axiom.monitorOpened",
|
|
16
|
+
},
|
|
17
|
+
axiomMonitorClosed: {
|
|
18
|
+
account: AXIOM_ACCOUNT,
|
|
19
|
+
type: "axiom.monitorClosed",
|
|
20
|
+
},
|
|
21
|
+
} as const satisfies Record<string, TriggerDefinition>
|
package/src/triggers/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { airtableTriggerDefinitions } from "./airtable"
|
|
2
2
|
import { apifyTriggerDefinitions } from "./apify"
|
|
3
|
+
import { axiomTriggerDefinitions } from "./axiom"
|
|
3
4
|
import { automateTriggerDefinitions } from "./automate"
|
|
4
5
|
import { asanaTriggerDefinitions } from "./asana"
|
|
5
6
|
import { brevoTriggerDefinitions } from "./brevo"
|
|
@@ -14,6 +15,7 @@ import { linearTriggerDefinitions } from "./linear"
|
|
|
14
15
|
import { millionVerifierTriggerDefinitions } from "./millionverifier"
|
|
15
16
|
import { microsoftTriggerDefinitions } from "./microsoft"
|
|
16
17
|
import { notionTriggerDefinitions } from "./notion"
|
|
18
|
+
import { redditTriggerDefinitions } from "./reddit"
|
|
17
19
|
import { resendTriggerDefinitions } from "./resend"
|
|
18
20
|
import { slackTriggerDefinitions } from "./slack"
|
|
19
21
|
import { stripeTriggerDefinitions } from "./stripe"
|
|
@@ -52,6 +54,7 @@ export {
|
|
|
52
54
|
export const triggerDefinitions = {
|
|
53
55
|
...apifyTriggerDefinitions,
|
|
54
56
|
...airtableTriggerDefinitions,
|
|
57
|
+
...axiomTriggerDefinitions,
|
|
55
58
|
...automateTriggerDefinitions,
|
|
56
59
|
...asanaTriggerDefinitions,
|
|
57
60
|
...brevoTriggerDefinitions,
|
|
@@ -66,6 +69,7 @@ export const triggerDefinitions = {
|
|
|
66
69
|
...millionVerifierTriggerDefinitions,
|
|
67
70
|
...microsoftTriggerDefinitions,
|
|
68
71
|
...notionTriggerDefinitions,
|
|
72
|
+
...redditTriggerDefinitions,
|
|
69
73
|
...resendTriggerDefinitions,
|
|
70
74
|
...slackTriggerDefinitions,
|
|
71
75
|
...stripeTriggerDefinitions,
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
IntegrationAccountRequirement,
|
|
3
|
+
TriggerDefinition,
|
|
4
|
+
TriggerPresentationContext,
|
|
5
|
+
} from "../types"
|
|
6
|
+
|
|
7
|
+
const redditAccount = (
|
|
8
|
+
scope: "privatemessages" | "read",
|
|
9
|
+
): IntegrationAccountRequirement<"reddit"> => ({
|
|
10
|
+
connectionOptions: [{ connectionMethodId: "oauth", requiredScopes: [scope] }],
|
|
11
|
+
serviceId: "reddit",
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
const SUBREDDIT_ACCOUNT = redditAccount("read")
|
|
15
|
+
|
|
16
|
+
const subredditTrigger = <const TType extends string>(
|
|
17
|
+
type: TType,
|
|
18
|
+
name: string,
|
|
19
|
+
) => ({
|
|
20
|
+
account: SUBREDDIT_ACCOUNT,
|
|
21
|
+
getPrimary: subredditPrimary,
|
|
22
|
+
name,
|
|
23
|
+
type,
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
export const redditTriggerDefinitions = {
|
|
27
|
+
redditSubredditEvent: subredditTrigger(
|
|
28
|
+
"reddit.subreddit.event",
|
|
29
|
+
"Reddit subreddit event",
|
|
30
|
+
),
|
|
31
|
+
redditNewPost: subredditTrigger(
|
|
32
|
+
"reddit.subreddit.post.created",
|
|
33
|
+
"New Reddit post",
|
|
34
|
+
),
|
|
35
|
+
redditNewComment: subredditTrigger(
|
|
36
|
+
"reddit.subreddit.comment.created",
|
|
37
|
+
"New Reddit comment",
|
|
38
|
+
),
|
|
39
|
+
redditNewInboxItem: {
|
|
40
|
+
account: redditAccount("privatemessages"),
|
|
41
|
+
name: "New Reddit inbox item",
|
|
42
|
+
type: "reddit.inbox.item.received",
|
|
43
|
+
},
|
|
44
|
+
redditNewModQueueItem: {
|
|
45
|
+
account: redditAccount("read"),
|
|
46
|
+
getPrimary: subredditPrimary,
|
|
47
|
+
name: "New Reddit mod queue item",
|
|
48
|
+
type: "reddit.modQueue.item.received",
|
|
49
|
+
},
|
|
50
|
+
} as const satisfies Record<string, TriggerDefinition>
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Reads a trigger's configured subreddit for presentation.
|
|
54
|
+
*
|
|
55
|
+
* @param context - Resolved trigger presentation context.
|
|
56
|
+
* @throws When canonical trigger configuration is missing its subreddit.
|
|
57
|
+
*/
|
|
58
|
+
function subredditPrimary(context: TriggerPresentationContext) {
|
|
59
|
+
if (
|
|
60
|
+
typeof context.config !== "object" ||
|
|
61
|
+
context.config === null ||
|
|
62
|
+
!("subreddit" in context.config) ||
|
|
63
|
+
typeof context.config.subreddit !== "string"
|
|
64
|
+
)
|
|
65
|
+
throw new TypeError("Reddit trigger configuration requires a subreddit.")
|
|
66
|
+
return { value: `r/${context.config.subreddit}` }
|
|
67
|
+
}
|