@automate.ax/catalog 0.83.2 → 0.84.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.
@@ -0,0 +1,262 @@
1
+ export declare const stripeTriggerDefinitions: {
2
+ readonly stripeChargeDisputeClosed: {
3
+ readonly account: {
4
+ readonly connectionOptions: readonly [{
5
+ readonly connectionMethodId: "api-key";
6
+ readonly requiredScopes: readonly [];
7
+ }];
8
+ readonly serviceId: "stripe";
9
+ };
10
+ readonly type: "stripe.charge.dispute.closed";
11
+ };
12
+ readonly stripeChargeDisputeCreated: {
13
+ readonly account: {
14
+ readonly connectionOptions: readonly [{
15
+ readonly connectionMethodId: "api-key";
16
+ readonly requiredScopes: readonly [];
17
+ }];
18
+ readonly serviceId: "stripe";
19
+ };
20
+ readonly type: "stripe.charge.dispute.created";
21
+ };
22
+ readonly stripeCheckoutSessionCompleted: {
23
+ readonly account: {
24
+ readonly connectionOptions: readonly [{
25
+ readonly connectionMethodId: "api-key";
26
+ readonly requiredScopes: readonly [];
27
+ }];
28
+ readonly serviceId: "stripe";
29
+ };
30
+ readonly type: "stripe.checkout.session.completed";
31
+ };
32
+ readonly stripeCheckoutSessionAsyncPaymentFailed: {
33
+ readonly account: {
34
+ readonly connectionOptions: readonly [{
35
+ readonly connectionMethodId: "api-key";
36
+ readonly requiredScopes: readonly [];
37
+ }];
38
+ readonly serviceId: "stripe";
39
+ };
40
+ readonly type: "stripe.checkout.session.asyncPaymentFailed";
41
+ };
42
+ readonly stripeCheckoutSessionAsyncPaymentSucceeded: {
43
+ readonly account: {
44
+ readonly connectionOptions: readonly [{
45
+ readonly connectionMethodId: "api-key";
46
+ readonly requiredScopes: readonly [];
47
+ }];
48
+ readonly serviceId: "stripe";
49
+ };
50
+ readonly type: "stripe.checkout.session.asyncPaymentSucceeded";
51
+ };
52
+ readonly stripeCheckoutSessionExpired: {
53
+ readonly account: {
54
+ readonly connectionOptions: readonly [{
55
+ readonly connectionMethodId: "api-key";
56
+ readonly requiredScopes: readonly [];
57
+ }];
58
+ readonly serviceId: "stripe";
59
+ };
60
+ readonly type: "stripe.checkout.session.expired";
61
+ };
62
+ readonly stripeCustomerCreated: {
63
+ readonly account: {
64
+ readonly connectionOptions: readonly [{
65
+ readonly connectionMethodId: "api-key";
66
+ readonly requiredScopes: readonly [];
67
+ }];
68
+ readonly serviceId: "stripe";
69
+ };
70
+ readonly type: "stripe.customer.created";
71
+ };
72
+ readonly stripeCustomerDeleted: {
73
+ readonly account: {
74
+ readonly connectionOptions: readonly [{
75
+ readonly connectionMethodId: "api-key";
76
+ readonly requiredScopes: readonly [];
77
+ }];
78
+ readonly serviceId: "stripe";
79
+ };
80
+ readonly type: "stripe.customer.deleted";
81
+ };
82
+ readonly stripeCustomerSubscriptionCreated: {
83
+ readonly account: {
84
+ readonly connectionOptions: readonly [{
85
+ readonly connectionMethodId: "api-key";
86
+ readonly requiredScopes: readonly [];
87
+ }];
88
+ readonly serviceId: "stripe";
89
+ };
90
+ readonly type: "stripe.customer.subscription.created";
91
+ };
92
+ readonly stripeCustomerSubscriptionDeleted: {
93
+ readonly account: {
94
+ readonly connectionOptions: readonly [{
95
+ readonly connectionMethodId: "api-key";
96
+ readonly requiredScopes: readonly [];
97
+ }];
98
+ readonly serviceId: "stripe";
99
+ };
100
+ readonly type: "stripe.customer.subscription.deleted";
101
+ };
102
+ readonly stripeCustomerSubscriptionTrialWillEnd: {
103
+ readonly account: {
104
+ readonly connectionOptions: readonly [{
105
+ readonly connectionMethodId: "api-key";
106
+ readonly requiredScopes: readonly [];
107
+ }];
108
+ readonly serviceId: "stripe";
109
+ };
110
+ readonly type: "stripe.customer.subscription.trialWillEnd";
111
+ };
112
+ readonly stripeCustomerSubscriptionUpdated: {
113
+ readonly account: {
114
+ readonly connectionOptions: readonly [{
115
+ readonly connectionMethodId: "api-key";
116
+ readonly requiredScopes: readonly [];
117
+ }];
118
+ readonly serviceId: "stripe";
119
+ };
120
+ readonly type: "stripe.customer.subscription.updated";
121
+ };
122
+ readonly stripeCustomerUpdated: {
123
+ readonly account: {
124
+ readonly connectionOptions: readonly [{
125
+ readonly connectionMethodId: "api-key";
126
+ readonly requiredScopes: readonly [];
127
+ }];
128
+ readonly serviceId: "stripe";
129
+ };
130
+ readonly type: "stripe.customer.updated";
131
+ };
132
+ readonly stripeEvent: {
133
+ readonly account: {
134
+ readonly connectionOptions: readonly [{
135
+ readonly connectionMethodId: "api-key";
136
+ readonly requiredScopes: readonly [];
137
+ }];
138
+ readonly serviceId: "stripe";
139
+ };
140
+ readonly type: "stripe.event";
141
+ };
142
+ readonly stripeInvoiceFinalized: {
143
+ readonly account: {
144
+ readonly connectionOptions: readonly [{
145
+ readonly connectionMethodId: "api-key";
146
+ readonly requiredScopes: readonly [];
147
+ }];
148
+ readonly serviceId: "stripe";
149
+ };
150
+ readonly type: "stripe.invoice.finalized";
151
+ };
152
+ readonly stripeInvoiceOverdue: {
153
+ readonly account: {
154
+ readonly connectionOptions: readonly [{
155
+ readonly connectionMethodId: "api-key";
156
+ readonly requiredScopes: readonly [];
157
+ }];
158
+ readonly serviceId: "stripe";
159
+ };
160
+ readonly type: "stripe.invoice.overdue";
161
+ };
162
+ readonly stripeInvoicePaid: {
163
+ readonly account: {
164
+ readonly connectionOptions: readonly [{
165
+ readonly connectionMethodId: "api-key";
166
+ readonly requiredScopes: readonly [];
167
+ }];
168
+ readonly serviceId: "stripe";
169
+ };
170
+ readonly type: "stripe.invoice.paid";
171
+ };
172
+ readonly stripeInvoicePaymentFailed: {
173
+ readonly account: {
174
+ readonly connectionOptions: readonly [{
175
+ readonly connectionMethodId: "api-key";
176
+ readonly requiredScopes: readonly [];
177
+ }];
178
+ readonly serviceId: "stripe";
179
+ };
180
+ readonly type: "stripe.invoice.paymentFailed";
181
+ };
182
+ readonly stripeInvoiceVoided: {
183
+ readonly account: {
184
+ readonly connectionOptions: readonly [{
185
+ readonly connectionMethodId: "api-key";
186
+ readonly requiredScopes: readonly [];
187
+ }];
188
+ readonly serviceId: "stripe";
189
+ };
190
+ readonly type: "stripe.invoice.voided";
191
+ };
192
+ readonly stripePaymentIntentCanceled: {
193
+ readonly account: {
194
+ readonly connectionOptions: readonly [{
195
+ readonly connectionMethodId: "api-key";
196
+ readonly requiredScopes: readonly [];
197
+ }];
198
+ readonly serviceId: "stripe";
199
+ };
200
+ readonly type: "stripe.paymentIntent.canceled";
201
+ };
202
+ readonly stripePaymentIntentPaymentFailed: {
203
+ readonly account: {
204
+ readonly connectionOptions: readonly [{
205
+ readonly connectionMethodId: "api-key";
206
+ readonly requiredScopes: readonly [];
207
+ }];
208
+ readonly serviceId: "stripe";
209
+ };
210
+ readonly type: "stripe.paymentIntent.paymentFailed";
211
+ };
212
+ readonly stripePaymentIntentSucceeded: {
213
+ readonly account: {
214
+ readonly connectionOptions: readonly [{
215
+ readonly connectionMethodId: "api-key";
216
+ readonly requiredScopes: readonly [];
217
+ }];
218
+ readonly serviceId: "stripe";
219
+ };
220
+ readonly type: "stripe.paymentIntent.succeeded";
221
+ };
222
+ readonly stripePayoutFailed: {
223
+ readonly account: {
224
+ readonly connectionOptions: readonly [{
225
+ readonly connectionMethodId: "api-key";
226
+ readonly requiredScopes: readonly [];
227
+ }];
228
+ readonly serviceId: "stripe";
229
+ };
230
+ readonly type: "stripe.payout.failed";
231
+ };
232
+ readonly stripePayoutPaid: {
233
+ readonly account: {
234
+ readonly connectionOptions: readonly [{
235
+ readonly connectionMethodId: "api-key";
236
+ readonly requiredScopes: readonly [];
237
+ }];
238
+ readonly serviceId: "stripe";
239
+ };
240
+ readonly type: "stripe.payout.paid";
241
+ };
242
+ readonly stripeRefundCreated: {
243
+ readonly account: {
244
+ readonly connectionOptions: readonly [{
245
+ readonly connectionMethodId: "api-key";
246
+ readonly requiredScopes: readonly [];
247
+ }];
248
+ readonly serviceId: "stripe";
249
+ };
250
+ readonly type: "stripe.refund.created";
251
+ };
252
+ readonly stripeRefundFailed: {
253
+ readonly account: {
254
+ readonly connectionOptions: readonly [{
255
+ readonly connectionMethodId: "api-key";
256
+ readonly requiredScopes: readonly [];
257
+ }];
258
+ readonly serviceId: "stripe";
259
+ };
260
+ readonly type: "stripe.refund.failed";
261
+ };
262
+ };
@@ -0,0 +1,107 @@
1
+ const STRIPE_ACCOUNT = {
2
+ connectionOptions: [{ connectionMethodId: "api-key", requiredScopes: [] }],
3
+ serviceId: "stripe",
4
+ };
5
+ export const stripeTriggerDefinitions = {
6
+ stripeChargeDisputeClosed: {
7
+ account: STRIPE_ACCOUNT,
8
+ type: "stripe.charge.dispute.closed",
9
+ },
10
+ stripeChargeDisputeCreated: {
11
+ account: STRIPE_ACCOUNT,
12
+ type: "stripe.charge.dispute.created",
13
+ },
14
+ stripeCheckoutSessionCompleted: {
15
+ account: STRIPE_ACCOUNT,
16
+ type: "stripe.checkout.session.completed",
17
+ },
18
+ stripeCheckoutSessionAsyncPaymentFailed: {
19
+ account: STRIPE_ACCOUNT,
20
+ type: "stripe.checkout.session.asyncPaymentFailed",
21
+ },
22
+ stripeCheckoutSessionAsyncPaymentSucceeded: {
23
+ account: STRIPE_ACCOUNT,
24
+ type: "stripe.checkout.session.asyncPaymentSucceeded",
25
+ },
26
+ stripeCheckoutSessionExpired: {
27
+ account: STRIPE_ACCOUNT,
28
+ type: "stripe.checkout.session.expired",
29
+ },
30
+ stripeCustomerCreated: {
31
+ account: STRIPE_ACCOUNT,
32
+ type: "stripe.customer.created",
33
+ },
34
+ stripeCustomerDeleted: {
35
+ account: STRIPE_ACCOUNT,
36
+ type: "stripe.customer.deleted",
37
+ },
38
+ stripeCustomerSubscriptionCreated: {
39
+ account: STRIPE_ACCOUNT,
40
+ type: "stripe.customer.subscription.created",
41
+ },
42
+ stripeCustomerSubscriptionDeleted: {
43
+ account: STRIPE_ACCOUNT,
44
+ type: "stripe.customer.subscription.deleted",
45
+ },
46
+ stripeCustomerSubscriptionTrialWillEnd: {
47
+ account: STRIPE_ACCOUNT,
48
+ type: "stripe.customer.subscription.trialWillEnd",
49
+ },
50
+ stripeCustomerSubscriptionUpdated: {
51
+ account: STRIPE_ACCOUNT,
52
+ type: "stripe.customer.subscription.updated",
53
+ },
54
+ stripeCustomerUpdated: {
55
+ account: STRIPE_ACCOUNT,
56
+ type: "stripe.customer.updated",
57
+ },
58
+ stripeEvent: { account: STRIPE_ACCOUNT, type: "stripe.event" },
59
+ stripeInvoiceFinalized: {
60
+ account: STRIPE_ACCOUNT,
61
+ type: "stripe.invoice.finalized",
62
+ },
63
+ stripeInvoiceOverdue: {
64
+ account: STRIPE_ACCOUNT,
65
+ type: "stripe.invoice.overdue",
66
+ },
67
+ stripeInvoicePaid: {
68
+ account: STRIPE_ACCOUNT,
69
+ type: "stripe.invoice.paid",
70
+ },
71
+ stripeInvoicePaymentFailed: {
72
+ account: STRIPE_ACCOUNT,
73
+ type: "stripe.invoice.paymentFailed",
74
+ },
75
+ stripeInvoiceVoided: {
76
+ account: STRIPE_ACCOUNT,
77
+ type: "stripe.invoice.voided",
78
+ },
79
+ stripePaymentIntentCanceled: {
80
+ account: STRIPE_ACCOUNT,
81
+ type: "stripe.paymentIntent.canceled",
82
+ },
83
+ stripePaymentIntentPaymentFailed: {
84
+ account: STRIPE_ACCOUNT,
85
+ type: "stripe.paymentIntent.paymentFailed",
86
+ },
87
+ stripePaymentIntentSucceeded: {
88
+ account: STRIPE_ACCOUNT,
89
+ type: "stripe.paymentIntent.succeeded",
90
+ },
91
+ stripePayoutFailed: {
92
+ account: STRIPE_ACCOUNT,
93
+ type: "stripe.payout.failed",
94
+ },
95
+ stripePayoutPaid: {
96
+ account: STRIPE_ACCOUNT,
97
+ type: "stripe.payout.paid",
98
+ },
99
+ stripeRefundCreated: {
100
+ account: STRIPE_ACCOUNT,
101
+ type: "stripe.refund.created",
102
+ },
103
+ stripeRefundFailed: {
104
+ account: STRIPE_ACCOUNT,
105
+ type: "stripe.refund.failed",
106
+ },
107
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/catalog",
3
- "version": "0.83.2",
3
+ "version": "0.84.0",
4
4
  "description": "Shared integration service and trigger definitions for Automate.ax.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -36,6 +36,7 @@
36
36
  "./triggers/name": "./src/triggers/name.ts",
37
37
  "./triggers/resend": "./src/triggers/resend.ts",
38
38
  "./triggers/slack": "./src/triggers/slack.ts",
39
+ "./triggers/stripe": "./src/triggers/stripe.ts",
39
40
  "./triggers/trello": "./src/triggers/trello.ts",
40
41
  "./triggers/vercel": "./src/triggers/vercel.ts",
41
42
  "./triggers/whatsapp": "./src/triggers/whatsapp.ts"
@@ -167,6 +168,11 @@
167
168
  "types": "./dist/triggers/slack.d.ts",
168
169
  "default": "./dist/triggers/slack.js"
169
170
  },
171
+ "./triggers/stripe": {
172
+ "bun": "./src/triggers/stripe.ts",
173
+ "types": "./dist/triggers/stripe.d.ts",
174
+ "default": "./dist/triggers/stripe.js"
175
+ },
170
176
  "./triggers/trello": {
171
177
  "bun": "./src/triggers/trello.ts",
172
178
  "types": "./dist/triggers/trello.d.ts",
package/src/catalog.ts CHANGED
@@ -123,7 +123,6 @@ export const codexService = defineIntegrationService({
123
123
  },
124
124
  ],
125
125
  description: "Connect a Codex workspace access token.",
126
- icon: "openai",
127
126
  id: "codex",
128
127
  name: "Codex",
129
128
  })
@@ -362,6 +361,23 @@ export const slackService = defineIntegrationService({
362
361
  name: "Slack",
363
362
  })
364
363
 
364
+ export const stripeService = defineApiKeyService({
365
+ connectionNotice: {
366
+ action: {
367
+ href: "https://docs.stripe.com/keys#limit-access",
368
+ label: "Review permissions",
369
+ },
370
+ description:
371
+ "Restricted keys need read access to Account for connection checks. Managed triggers also need write access to Webhook Endpoints.",
372
+ title: "Stripe restricted-key permissions",
373
+ },
374
+ credentialUrl: "https://dashboard.stripe.com/apikeys",
375
+ description: "Connect a Stripe account with a secret or restricted API key.",
376
+ id: "stripe",
377
+ name: "Stripe",
378
+ placeholder: "sk_test_... or rk_test_...",
379
+ })
380
+
365
381
  export const tidycalService = defineIntegrationService({
366
382
  connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
367
383
  description: "Connect a TidyCal account.",
@@ -461,6 +477,7 @@ export const integrationCatalog = defineIntegrationCatalog([
461
477
  resendService,
462
478
  scrapflyService,
463
479
  slackService,
480
+ stripeService,
464
481
  tidycalService,
465
482
  togetheraiService,
466
483
  trelloService,
@@ -483,7 +500,8 @@ export function getIntegrationService(
483
500
  return integrationCatalog.find((service) => service.id === id)
484
501
  }
485
502
 
486
- interface ApiKeyServiceDefinition {
503
+ interface ApiKeyServiceDefinition
504
+ extends Pick<IntegrationServiceDefinition, "connectionNotice"> {
487
505
  credentialUrl?: string
488
506
  description: string
489
507
  icon?: string
@@ -516,6 +534,9 @@ function defineApiKeyService<const TId extends string>(
516
534
  type: "form",
517
535
  },
518
536
  ],
537
+ ...(service.connectionNotice
538
+ ? { connectionNotice: service.connectionNotice }
539
+ : {}),
519
540
  description: service.description,
520
541
  ...(service.icon ? { icon: service.icon } : {}),
521
542
  id: service.id,
package/src/index.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  resendService,
33
33
  scrapflyService,
34
34
  slackService,
35
+ stripeService,
35
36
  tidycalService,
36
37
  togetheraiService,
37
38
  trelloService,
@@ -9,6 +9,7 @@ import { linearTriggerDefinitions } from "./linear"
9
9
  import { microsoftTriggerDefinitions } from "./microsoft"
10
10
  import { resendTriggerDefinitions } from "./resend"
11
11
  import { slackTriggerDefinitions } from "./slack"
12
+ import { stripeTriggerDefinitions } from "./stripe"
12
13
  import { trelloTriggerDefinitions } from "./trello"
13
14
  import { vercelTriggerDefinitions } from "./vercel"
14
15
  import { whatsappTriggerDefinitions } from "./whatsapp"
@@ -52,6 +53,7 @@ export const triggerDefinitions = {
52
53
  ...microsoftTriggerDefinitions,
53
54
  ...resendTriggerDefinitions,
54
55
  ...slackTriggerDefinitions,
56
+ ...stripeTriggerDefinitions,
55
57
  ...trelloTriggerDefinitions,
56
58
  ...vercelTriggerDefinitions,
57
59
  ...whatsappTriggerDefinitions,
@@ -0,0 +1,110 @@
1
+ import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
2
+
3
+ const STRIPE_ACCOUNT = {
4
+ connectionOptions: [{ connectionMethodId: "api-key", requiredScopes: [] }],
5
+ serviceId: "stripe",
6
+ } as const satisfies IntegrationAccountRequirement
7
+
8
+ export const stripeTriggerDefinitions = {
9
+ stripeChargeDisputeClosed: {
10
+ account: STRIPE_ACCOUNT,
11
+ type: "stripe.charge.dispute.closed",
12
+ },
13
+ stripeChargeDisputeCreated: {
14
+ account: STRIPE_ACCOUNT,
15
+ type: "stripe.charge.dispute.created",
16
+ },
17
+ stripeCheckoutSessionCompleted: {
18
+ account: STRIPE_ACCOUNT,
19
+ type: "stripe.checkout.session.completed",
20
+ },
21
+ stripeCheckoutSessionAsyncPaymentFailed: {
22
+ account: STRIPE_ACCOUNT,
23
+ type: "stripe.checkout.session.asyncPaymentFailed",
24
+ },
25
+ stripeCheckoutSessionAsyncPaymentSucceeded: {
26
+ account: STRIPE_ACCOUNT,
27
+ type: "stripe.checkout.session.asyncPaymentSucceeded",
28
+ },
29
+ stripeCheckoutSessionExpired: {
30
+ account: STRIPE_ACCOUNT,
31
+ type: "stripe.checkout.session.expired",
32
+ },
33
+ stripeCustomerCreated: {
34
+ account: STRIPE_ACCOUNT,
35
+ type: "stripe.customer.created",
36
+ },
37
+ stripeCustomerDeleted: {
38
+ account: STRIPE_ACCOUNT,
39
+ type: "stripe.customer.deleted",
40
+ },
41
+ stripeCustomerSubscriptionCreated: {
42
+ account: STRIPE_ACCOUNT,
43
+ type: "stripe.customer.subscription.created",
44
+ },
45
+ stripeCustomerSubscriptionDeleted: {
46
+ account: STRIPE_ACCOUNT,
47
+ type: "stripe.customer.subscription.deleted",
48
+ },
49
+ stripeCustomerSubscriptionTrialWillEnd: {
50
+ account: STRIPE_ACCOUNT,
51
+ type: "stripe.customer.subscription.trialWillEnd",
52
+ },
53
+ stripeCustomerSubscriptionUpdated: {
54
+ account: STRIPE_ACCOUNT,
55
+ type: "stripe.customer.subscription.updated",
56
+ },
57
+ stripeCustomerUpdated: {
58
+ account: STRIPE_ACCOUNT,
59
+ type: "stripe.customer.updated",
60
+ },
61
+ stripeEvent: { account: STRIPE_ACCOUNT, type: "stripe.event" },
62
+ stripeInvoiceFinalized: {
63
+ account: STRIPE_ACCOUNT,
64
+ type: "stripe.invoice.finalized",
65
+ },
66
+ stripeInvoiceOverdue: {
67
+ account: STRIPE_ACCOUNT,
68
+ type: "stripe.invoice.overdue",
69
+ },
70
+ stripeInvoicePaid: {
71
+ account: STRIPE_ACCOUNT,
72
+ type: "stripe.invoice.paid",
73
+ },
74
+ stripeInvoicePaymentFailed: {
75
+ account: STRIPE_ACCOUNT,
76
+ type: "stripe.invoice.paymentFailed",
77
+ },
78
+ stripeInvoiceVoided: {
79
+ account: STRIPE_ACCOUNT,
80
+ type: "stripe.invoice.voided",
81
+ },
82
+ stripePaymentIntentCanceled: {
83
+ account: STRIPE_ACCOUNT,
84
+ type: "stripe.paymentIntent.canceled",
85
+ },
86
+ stripePaymentIntentPaymentFailed: {
87
+ account: STRIPE_ACCOUNT,
88
+ type: "stripe.paymentIntent.paymentFailed",
89
+ },
90
+ stripePaymentIntentSucceeded: {
91
+ account: STRIPE_ACCOUNT,
92
+ type: "stripe.paymentIntent.succeeded",
93
+ },
94
+ stripePayoutFailed: {
95
+ account: STRIPE_ACCOUNT,
96
+ type: "stripe.payout.failed",
97
+ },
98
+ stripePayoutPaid: {
99
+ account: STRIPE_ACCOUNT,
100
+ type: "stripe.payout.paid",
101
+ },
102
+ stripeRefundCreated: {
103
+ account: STRIPE_ACCOUNT,
104
+ type: "stripe.refund.created",
105
+ },
106
+ stripeRefundFailed: {
107
+ account: STRIPE_ACCOUNT,
108
+ type: "stripe.refund.failed",
109
+ },
110
+ } as const satisfies Record<string, TriggerDefinition>