Merge remote-tracking branch 'origin/main' into features/billing

This commit is contained in:
Matt Aitken
2023-12-04 16:51:20 +00:00
85 changed files with 1496 additions and 253 deletions
+12
View File
@@ -1,5 +1,17 @@
# proxy
## 0.0.5
### Patch Changes
- @trigger.dev/core@2.2.11
## 0.0.4
### Patch Changes
- @trigger.dev/core@2.2.10
## 0.0.3
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "proxy",
"version": "0.0.3",
"version": "0.0.5",
"private": true,
"scripts": {
"deploy": "wrangler deploy",
@@ -834,6 +834,7 @@ export class PerformRunExecutionV3Service {
],
},
forceYieldImmediately: false,
status: "WAITING_TO_EXECUTE",
},
select: {
executionCount: true,
@@ -1005,6 +1006,7 @@ export class PerformRunExecutionV3Service {
},
},
forceYieldImmediately: false,
status: "WAITING_TO_EXECUTE",
},
});
@@ -214,8 +214,8 @@ export class PerformTaskOperationService {
const abortController = new AbortController();
// calculate the actual timeout. If timeoutInMs is undefined, we use the default of 120s
// Also make sure the timeout is at least 1s, but not bigger than 120s
const actualTimeoutInMs = Math.min(Math.max(timeout?.durationInMs ?? 120000, 1000), 120000);
// Also make sure the timeout is at least 1s, but not bigger than 300s
const actualTimeoutInMs = Math.min(Math.max(timeout?.durationInMs ?? 120000, 1000), 300000);
const timeoutId = setTimeout(() => {
abortController.abort();
+11 -11
View File
@@ -4,18 +4,17 @@ description: "Jobs and code examples you can use to get started."
---
<CardGroup>
<Card title="API catalog with code samples" icon="code" href="https://trigger.dev/apis">
Find code examples for the API you need that you can copy and paste into your projects.
</Card>
<Card
title="Browse our Jobs Showcase"
title="Browse our Project Showcase"
icon="rocket-launch"
href="https://trigger.dev/showcase"
color="#EC4899"
>
The showcase is our library of Jobs. Use them as they are, right out of the box, or customize
them to suit your needs.
</Card>
<Card title="API catalog with code samples" icon="code" href="https://trigger.dev/apis">
Find code examples for the API you need that you can copy and paste into your
projects.
Our library of full-stack projects. A great place to learn more and find inspiration for your
next project.
</Card>
</CardGroup>
@@ -27,9 +26,10 @@ To run them, simply follow the instructions in the README files linked below.
| Project Name | Description | Integrations | Author | Status |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ------ |
| [OpenAI text summarizer](https://github.com/triggerdotdev/examples/tree/main/openai-text-summarizer) | An app which uses OpenAI to summarize an article and then post the result to Slack. | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) [Slack](https://trigger.dev/docs/integrations/apis/slack) | Trigger.dev | ✅ |
| [Supabase onboarding emails](https://github.com/triggerdotdev/examples/tree/main/supabase-onboarding-emails) | When a user signs up and confirms their email address, they will receive 3 "onboarding" emails over 2 days using Resend.com and Trigger.dev | [Supabase](https://trigger.dev/docs/integrations/apis/supabase) [Resend](https://trigger.dev/docs/integrations/apis/resend) | Trigger.dev | ✅ |
| [OpenAI text summarizer](https://trigger.dev/showcase/projects/openai-text-summarizer) | An app which uses OpenAI to summarize an article and then post the result to Slack. | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) [Slack](https://trigger.dev/docs/integrations/apis/slack) | Trigger.dev | ✅ |
| [Supabase onboarding emails](https://trigger.dev/showcase/projects/supabase-onboarding-emails) | When a user signs up and confirms their email address, they will receive 3 "onboarding" emails over 2 days using Resend.com and Trigger.dev | [Supabase](https://trigger.dev/docs/integrations/apis/supabase) [Resend](https://trigger.dev/docs/integrations/apis/resend) | Trigger.dev | ✅ |
| [Generate presentation titles using OpenAI](https://github.com/triggerdotdev/examples/tree/main/express-vanilla) | Generate presentation titles using OpenAI background jobs with Node.js, Express and Trigger.dev | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) | [lirantal](https://github.com/lirantal) | ✅ |
| [Send a basic email with Resend](https://github.com/triggerdotdev/examples/tree/main/resend-email-form) | Send a basic email from a form with Resend | [Resend](https://trigger.dev/docs/integrations/apis/resend) | Trigger.dev | ✅ |
| [Send a basic email with Resend](https://trigger.dev/showcase/projects/resend-email-form) | Send a basic email from a form with Resend | [Resend](https://trigger.dev/docs/integrations/apis/resend) | Trigger.dev | ✅ |
| [AI changelog generator](https://autochangelog.dev/) | Generates a changelog from your GitHub commits using OpenAI | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) [GitHub](https://trigger.dev/docs/integrations/apis/github) | Trigger.dev | ✅ |
| [AI avatar generator](https://trigger.dev/showcase/projects/avatar-generator) | Turn yourself into a superhero using AI | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) | Trigger.dev | ✅ |
| AI landing page copy generator | Copies your site and generates new copy using OpenAI | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) | Trigger.dev | 🛠️ |
| AI changelog generator | Generates a changelog from your GitHub commits using OpenAI | [OpenAI](https://trigger.dev/docs/integrations/apis/openai) [GitHub](https://trigger.dev/docs/integrations/apis/github) | Trigger.dev | 🛠️ |
@@ -161,3 +161,4 @@ client.defineJob({
},
});
```
+8 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Our Airtable integration allows you to easily connect to the Airtable API and perform tasks such as creating / updating / deleting single or multiple records in your tables.
<Card
title="Jobs Showcase - Airtable"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=airtable"
>
Check out pre-built Airtable jobs in our showcase.
</Card>
## Installation
To get started with our Airtable integration, you need to install the `@trigger.dev/airtable` packages. You can do this using `npm`, `pnpm`, or `yarn`:
@@ -70,6 +62,14 @@ const airtable = new Airtable({
Once you have set up a Airtable client, you can use it to create tasks.
{" "}
<Card title="Tasks" icon="sparkles" href="/integrations/apis/airtable-tasks">
Perform tasks such as creating / updating / deleting single or multiple records in table.
</Card>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/airtable">
Check out pre-built jobs using Airtable in our API section.
</Card>
+6 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Our GitHub integration allows you to create triggers and tasks that interact with GitHub. Trigger jobs when events happen, like when a new issue is added to a repo, or when a pull request is opened, etc. You can also perform tasks like creating issues, getting information about a repo, adding comments, and much more.
<Card
title="Jobs Showcase - GitHub"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=github"
>
Check out pre-built GitHub jobs in our showcase.
</Card>
## Installing the GitHub packages
To get started with our GitHub integration, you need to install the `@trigger.dev/github` packages. You can do this using `npm`, `pnpm`, or `yarn`:
@@ -80,3 +72,9 @@ Once you have set up a GitHub client, you can use it to create triggers and task
Perform tasks such as creating a new issue or a new comment.
</Card>
</CardGroup>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/github">
Check out pre-built jobs using GitHub in our API section.
</Card>
+6
View File
@@ -463,3 +463,9 @@ client.defineJob({
| `createProjectMilestone` | Creates a project milestone. |
| `issuePriorityValues` | Gets issue priority values and labels. |
| `viewer` | Gets the currently authenticated user. |
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/linear">
Check out pre-built jobs using Linear in our API section.
</Card>
+6 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Our OpenAI integration allows you to easily perform AI-powered tasks, such as summarizing text, answering questions, generating images, fine tuning and much more.
<Card
title="Jobs Showcase - OpenAI"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=openai"
>
Check out pre-built OpenAI jobs in our showcase.
</Card>
## Installing the OpenAI packages
<CodeGroup>
@@ -173,3 +165,9 @@ client.defineJob({
And you'll get the same experience in the Run Dashboard when viewing the logs:
![Perplexity.ai logs](/images/perplexity.png)
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/openai">
Check out pre-built jobs using OpenAI in our API section.
</Card>
+6 -8
View File
@@ -8,14 +8,6 @@ sidebarTitle: Overview & authentication
Plain is the customer support tool for technical teams and products.
It aims to bring engineering and customer service teams together by creating a modern opinionated platform that's fantastic to build with.
<Card
title="Jobs Showcase - Plain"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=plain"
>
Check out pre-built Plain jobs in our showcase.
</Card>
## Installing the Plain packages
<CodeGroup>
@@ -56,3 +48,9 @@ Once you have set up a Plain client, you can use it to create tasks.
Perform tasks such as creating/updating customers and adding timeline entries.
</Card>
</CardGroup>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/plain">
Check out pre-built jobs using Plain in our API section.
</Card>
+6
View File
@@ -168,3 +168,9 @@ client.defineJob({
| `paginate` | Pagination helper that returns an async generator. |
| `request` | Sends authenticated requests to the Replicate API. |
| `run` | Creates and waits for a prediction. |
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/replicate">
Check out pre-built jobs using Replicate in our API section.
</Card>
+6 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Resend is the email API for developers. With our Resend integration you can send email campaigns, transactional emails, and automated emails (drip campaigns) from your app.
<Card
title="Jobs Showcase - Resend"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=resend"
>
Check out pre-built Resend jobs in our showcase.
</Card>
## Installing the Resend packages
To get started with our Resend integration, you need to install the `@trigger.dev/resend` packages. You can do this using `npm`, `pnpm`, or `yarn`:
@@ -55,3 +47,9 @@ Once you have set up a Resend client, you can use it to create tasks.
<Card title="Tasks" icon="sparkles" href="/integrations/apis/resend-tasks">
Send emails with Resend.
</Card>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/resend">
Check out pre-built jobs using Resend in our API section.
</Card>
+6 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers. With our SendGrid integration you can send email campaigns, transactional emails, and automated emails (drip campaigns) from your app.
<Card
title="Jobs Showcase - SendGrid"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=sendgrid"
>
Check out pre-built SendGrid jobs in our showcase.
</Card>
## Installing the SendGrid packages
To get started with our SendGrid integration, you need to install the `@trigger.dev/sendgrid` packages. You can do this using `npm`, `pnpm`, or `yarn`:
@@ -57,3 +49,9 @@ Once you have set up a SendGrid client, you can use it to create tasks.
<Card title="Tasks" icon="sparkles" href="/integrations/apis/sendgrid-tasks">
Send emails with SendGrid.
</Card>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/sendgrid">
Check out pre-built jobs using SendGrid in our API section.
</Card>
+9 -11
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Our Shopify integration allows you to create triggers and tasks that interact with Shopify. Trigger jobs when events happen, like when a new product is added to a shop, or when an order is paid for, etc. You can also perform tasks like creating products, editing variants, getting information about an order, and a lot more.
{/* <Card
title="Jobs Showcase - Shopify"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=shopify"
>
Check out pre-built Shopify jobs in our showcase.
</Card> */}
## Installing the Shopify packages
To get started with our Shopify integration, you need to install the `@trigger.dev/shopify` packages. You can do this using `npm`, `pnpm`, or `yarn`:
@@ -43,13 +35,13 @@ It's **required** to import the correct Runtime Adapter for your platform. All e
```ts
// Import the Node.js adapter
import '@shopify/shopify-api/adapters/node';
import "@shopify/shopify-api/adapters/node";
// Import the CloudFlare Worker adapter
import '@shopify/shopify-api/adapters/cf-worker';
import "@shopify/shopify-api/adapters/cf-worker";
// Import the generic Web API adapter
import '@shopify/shopify-api/adapters/web-api';
import "@shopify/shopify-api/adapters/web-api";
```
You can then import and use `@trigger.dev/shopify` like any other integration:
@@ -102,3 +94,9 @@ Once you have set up a Shopify client, you can use it to create triggers and tas
Perform Tasks such as creating new variants, or editing orders, and more.
</Card>
</CardGroup>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/shopify">
Check out pre-built jobs using Shopify in our API section.
</Card>
-2
View File
@@ -67,8 +67,6 @@ client.defineJob({
Use their [Block kit builder](https://api.slack.com/block-kit), and then use the `blocks` property to send the message.
To see this in action, check out our 'Daily Slack alert for Linear issues' [example job](https://trigger.dev/showcase/jobs/linearIssuesDailySlackAlert).
```ts linearIssuesDailySlackAlert.ts
...
await io.slack.postMessage("post message", {
+6 -8
View File
@@ -7,14 +7,6 @@ sidebarTitle: Overview & authentication
Our Slack integration allows you to connect to the Slack API and post messages to Slack.
<Card
title="Jobs Showcase - Slack"
icon="rocket"
href="https://trigger.dev/showcase?tags=&apis=slack"
>
Check out pre-built Slack jobs in our showcase.
</Card>
## Installation
<CodeGroup>
@@ -58,3 +50,9 @@ Once you have set up a Slack client, you can use it to create tasks.
<Card title="Tasks" icon="sparkles" href="/integrations/apis/slack-tasks">
Perform tasks such as posting messages to a channel.
</Card>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/slack">
Check out pre-built jobs using Slack in our API section.
</Card>
+76 -55
View File
@@ -85,61 +85,76 @@ client.defineJob({
Available triggers are listed below:
| Function Name | Payload Object | Events | Aggregate Version |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `onCharge` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.succeeded`, `charge.failed`, `charge.captured`, `charge.refunded`, `charge.updated` | ✔️ |
| `onChargeSucceeded` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.succeeded` | `onCharge` |
| `onChargeFailed` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.failed` | `onCharge` |
| `onChargeCaptured` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.captured` | `onCharge` |
| `onChargeRefunded` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.refunded` | `onCharge` |
| `onChargeUpdated` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.updated` | `onCharge` |
| `onProduct` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.created`, `product.updated`, `product.deleted` | ✔️ |
| `onProductCreated` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.created` | `onProduct` |
| `onProductUpdated` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.updated` | `onProduct` |
| `onProductDeleted` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.deleted` | `onProduct` |
| `onPrice` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.created`, `price.updated`, `price.deleted` | ✔️ |
| `onPriceCreated` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.created` | `onPrice` |
| `onPriceUpdated` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.updated` | `onPrice` |
| `onPriceDeleted` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.deleted` | `onPrice` |
| `onCheckoutSession` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.completed`, `checkout.session.async_payment_succeeded`, `checkout.session.async_payment_failed`, `checkout.session.expired` | ✔️ |
| `onCheckoutSessionCompleted` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.completed` | `onCheckoutSession` |
| `onCheckoutSessionExpired` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.expired` | `onCheckoutSession` |
| `onCustomerSubscription` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.created`, `customer.subscription.updated`, `customer.subscription.deleted`, `customer.subscription.paused`, `customer.subscription.pending_updated_applied`, `customer.subscription.pending_update_expired`, `customer.subscription.resumed` | ✔️ |
| `onCustomerSubscriptionCreated` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.created` | `onCustomerSubscription` |
| `onCustomerSubscriptionUpdated` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.updated` | `onCustomerSubscription` |
| `onCustomerSubscriptionDeleted` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.deleted` | `onCustomerSubscription` |
| `onCustomerSubscriptionPaused` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.paused` | `onCustomerSubscription` |
| `onCustomerSubscriptionPending` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.pending_updated_applied`, `customer.subscription.pending_update_expired` | `onCustomerSubscription` |
| `onCustomerSubscriptionResumed` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.resumed` | `onCustomerSubscription` |
| `onCustomer` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.created`, `customer.updated`, `customer.deleted` | ✔️ |
| `onCustomerCreated` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.created` | `onCustomer` |
| `onCustomerUpdated` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.updated` | `onCustomer` |
| `onCustomerDeleted` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.deleted` | `onCustomer` |
| `onExternalAccount` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.created`, `account.external_account.updated`, `account.external_account.deleted` | ✔️ |
| `onExternalAccountCreated` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.created` | `onExternalAccount` |
| `onExternalAccountUpdated` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.updated` | `onExternalAccount` |
| `onExternalAccountDeleted` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.deleted` | `onExternalAccount` |
| `onPerson` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.created`, `account.person.updated`, `account.person.deleted` | ✔️ |
| `onPersonCreated` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.created` | `onPerson` |
| `onPersonUpdated` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.updated` | `onPerson` |
| `onPersonDeleted` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.deleted` | `onPerson` |
| `onAccountUpdated` | [Account](https://stripe.com/docs/api/events/types#account_object) | `account.updated` | N/A |
| `onPaymentIntent` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.created`, `payment_intent.succeeded`, `payment_intent.payment_failed`, `payment_intent.canceled`, `payment_intent.processing`, `payment_intent.amount_capturable_updated`, `payment_intent.requires_action`, `payment_intent.partially_funded` | ✔️ |
| `onPaymentIntentCreated` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.created` | `onPaymentIntent` |
| `onPaymentIntentSucceeded` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.succeeded` | `onPaymentIntent` |
| `onPaymentIntentPaymentFailed` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.payment_failed` | `onPaymentIntent` |
| `onPaymentIntentCanceled` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.canceled` | `onPaymentIntent` |
| `onPaymentIntentProcessing` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.processing` | `onPaymentIntent` |
| `onPaymentIntentRequiresAction` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.requires_action` | `onPaymentIntent` |
| `onPaymentIntentAmountCapturableUpdated` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.amount_capturable_updated` | `onPaymentIntent` |
| `onPaymentIntentPartiallyFunded` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.partially_funded` | `onPaymentIntent` |
| `onPayout` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.created`, `payout.updated`, `payout.canceled`, `payout.paid`, `payout.failed`, `payout.reconciliation_completed` | ✔️ |
| `onPayoutCreated` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.created` | `onPayout` |
| `onPayoutUpdated` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.updated` | `onPayout` |
| `onPayoutCanceled` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.canceled` | `onPayout` |
| `onPayoutPaid` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.paid` | `onPayout` |
| `onPayoutFailed` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.failed` | `onPayout` |
| `onPayoutReconciliationCompleted` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.reconciliation_completed` | `onPayout` |
| Function Name | Payload Object | Events | Aggregate Version |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `onCharge` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.succeeded`, `charge.failed`, `charge.captured`, `charge.refunded`, `charge.updated` | ✔️ |
| `onChargeSucceeded` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.succeeded` | `onCharge` |
| `onChargeFailed` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.failed` | `onCharge` |
| `onChargeCaptured` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.captured` | `onCharge` |
| `onChargeRefunded` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.refunded` | `onCharge` |
| `onChargeUpdated` | [Charge](https://stripe.com/docs/api/events/types#charge_object) | `charge.updated` | `onCharge` |
| `onProduct` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.created`, `product.updated`, `product.deleted` | ✔️ |
| `onProductCreated` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.created` | `onProduct` |
| `onProductUpdated` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.updated` | `onProduct` |
| `onProductDeleted` | [Product](https://stripe.com/docs/api/events/types#product_object) | `product.deleted` | `onProduct` |
| `onPrice` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.created`, `price.updated`, `price.deleted` | ✔️ |
| `onPriceCreated` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.created` | `onPrice` |
| `onPriceUpdated` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.updated` | `onPrice` |
| `onPriceDeleted` | [Price](https://stripe.com/docs/api/events/types#price_object) | `price.deleted` | `onPrice` |
| `onCheckoutSession` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.completed`, `checkout.session.async_payment_succeeded`, `checkout.session.async_payment_failed`, `checkout.session.expired` | ✔️ |
| `onCheckoutSessionCompleted` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.completed` | `onCheckoutSession` |
| `onCheckoutSessionExpired` | [CheckoutSession](https://stripe.com/docs/api/events/types#checkout_session_object) | `checkout.session.expired` | `onCheckoutSession` |
| `onCustomerSubscription` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.created`, `customer.subscription.updated`, `customer.subscription.deleted`, `customer.subscription.paused`, `customer.subscription.pending_updated_applied`, `customer.subscription.pending_update_expired`, `customer.subscription.resumed` | ✔️ |
| `onCustomerSubscriptionCreated` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.created` | `onCustomerSubscription` |
| `onCustomerSubscriptionUpdated` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.updated` | `onCustomerSubscription` |
| `onCustomerSubscriptionDeleted` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.deleted` | `onCustomerSubscription` |
| `onCustomerSubscriptionPaused` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.paused` | `onCustomerSubscription` |
| `onCustomerSubscriptionPending` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.pending_updated_applied`, `customer.subscription.pending_update_expired` | `onCustomerSubscription` |
| `onCustomerSubscriptionResumed` | [Subscription](https://stripe.com/docs/api/events/types#subscription_object) | `customer.subscription.resumed` | `onCustomerSubscription` |
| `onCustomer` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.created`, `customer.updated`, `customer.deleted` | ✔️ |
| `onCustomerCreated` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.created` | `onCustomer` |
| `onCustomerUpdated` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.updated` | `onCustomer` |
| `onCustomerDeleted` | [Customer](https://stripe.com/docs/api/events/types#customer_object) | `customer.deleted` | `onCustomer` |
| `onExternalAccount` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.created`, `account.external_account.updated`, `account.external_account.deleted` | ✔️ |
| `onExternalAccountCreated` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.created` | `onExternalAccount` |
| `onExternalAccountUpdated` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.updated` | `onExternalAccount` |
| `onExternalAccountDeleted` | [Card](https://stripe.com/docs/api/events/types#account_card_object) or [Bank Account](https://stripe.com/docs/api/events/types#account_bank_account_object) | `account.external_account.deleted` | `onExternalAccount` |
| `onPerson` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.created`, `account.person.updated`, `account.person.deleted` | ✔️ |
| `onPersonCreated` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.created` | `onPerson` |
| `onPersonUpdated` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.updated` | `onPerson` |
| `onPersonDeleted` | [Person](https://stripe.com/docs/api/events/types#person_object) | `account.person.deleted` | `onPerson` |
| `onAccountUpdated` | [Account](https://stripe.com/docs/api/events/types#account_object) | `account.updated` | N/A |
| `onPaymentIntent` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.created`, `payment_intent.succeeded`, `payment_intent.payment_failed`, `payment_intent.canceled`, `payment_intent.processing`, `payment_intent.amount_capturable_updated`, `payment_intent.requires_action`, `payment_intent.partially_funded` | ✔️ |
| `onPaymentIntentCreated` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.created` | `onPaymentIntent` |
| `onPaymentIntentSucceeded` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.succeeded` | `onPaymentIntent` |
| `onPaymentIntentPaymentFailed` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.payment_failed` | `onPaymentIntent` |
| `onPaymentIntentCanceled` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.canceled` | `onPaymentIntent` |
| `onPaymentIntentProcessing` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.processing` | `onPaymentIntent` |
| `onPaymentIntentRequiresAction` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.requires_action` | `onPaymentIntent` |
| `onPaymentIntentAmountCapturableUpdated` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.amount_capturable_updated` | `onPaymentIntent` |
| `onPaymentIntentPartiallyFunded` | [PaymentIntent](https://stripe.com/docs/api/events/types#payment_intent_object) | `payment_intent.partially_funded` | `onPaymentIntent` |
| `onPayout` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.created`, `payout.updated`, `payout.canceled`, `payout.paid`, `payout.failed`, `payout.reconciliation_completed` | ✔️ |
| `onPayoutCreated` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.created` | `onPayout` |
| `onPayoutUpdated` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.updated` | `onPayout` |
| `onPayoutCanceled` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.canceled` | `onPayout` |
| `onPayoutPaid` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.paid` | `onPayout` |
| `onPayoutFailed` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.failed` | `onPayout` |
| `onPayoutReconciliationCompleted` | [Payout](https://stripe.com/docs/api/events/types#payout_object) | `payout.reconciliation_completed` | `onPayout` |
| `onInvoice` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.created`, `invoice.finalized`, `invoice.finalization_failed`, `invoice.deleted`, `invoice.marked_uncollectible`, `invoice.paid`, `invoice.payment_action_required`, `invoice.payment_failed`, `invoice.payment_succeeded`, `invoice.sent`, `invoice.upcoming`, `invoice.voided`, `invoiceitem.created`, `invoiceitem.deleted` | ✔️ |
| `onInvoiceCreated` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.created` | `onInvoice` |
| `onInvoiceFinalized` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.finalized` | `onInvoice` |
| `onInvoiceFinalizationFailed` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.finalization_failed` | `onInvoice` |
| `onInvoiceDeleted` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.deleted` | `onInvoice` |
| `onInvoiceMarkedUncollectible` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.marked_uncollectible` | `onInvoice` |
| `onInvoicePaid` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.paid` | `onInvoice` |
| `onInvoicePaymentActionRequired` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.payment_action_required` | `onInvoice` |
| `onInvoicePaymentFailed` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.payment_failed` | `onInvoice` |
| `onInvoicePaymentSucceeded` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.payment_succeeded` | `onInvoice` |
| `onInvoiceSent` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.sent` | `onInvoice` |
| `onInvoiceUpcoming` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.upcoming` | `onInvoice` |
| `onInvoiceVoided` | [Invoice](https://stripe.com/docs/api/invoices/object) | `invoice.voided` | `onInvoice` |
| `onInvoiceItemCreated` | [InvoiceItem](https://stripe.com/docs/api/invoiceitems/object) | `invoiceitem.created` | N/A |
| `onInvoiceItemDeleted` | [InvoiceItem](https://stripe.com/docs/api/invoiceitems/object) | `invoiceitem.deleted` | N/A |
If there are any triggers missing that you'd like to see added, please [open a new GitHub Issue](https://github.com/triggerdotdev/trigger.dev/issues/new)
@@ -260,3 +275,9 @@ client.defineJob({
```
Make sure to pass the `idempotencyKey` to the underlying client to ensure that the API call is only executed once. This is only needed for mutating API calls.
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/stripe">
Check out pre-built jobs using Stripe in our API section.
</Card>
@@ -73,3 +73,9 @@ Our Supabase package supports two different integrations: One for the Supabase M
[service_role](https://supabase.com/docs/guides/api/api-keys#the-servicerole-key) key.
</Card>
</CardGroup>
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/supabase">
Check out pre-built jobs using Supabase in our API section.
</Card>
+6
View File
@@ -165,3 +165,9 @@ client.defineJob({
},
});
```
## Example jobs
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/typeform">
Check out pre-built jobs using Typeform in our API section.
</Card>
+16
View File
@@ -1,5 +1,21 @@
# @trigger.dev/airtable
## 2.2.11
### Patch Changes
- de652c1d: Fix Shopify task types and KV `get()` return types
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/airtable",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for airtable",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"airtable": "^0.12.1",
"zod": "3.22.3"
},
+8
View File
@@ -315,6 +315,10 @@ export function createWebhookSource(
delete: async ({ io, ctx }) => {
const webhookId = await io.store.job.get<string>("get-webhook-id", "webhook-id");
if (!webhookId) {
throw new Error("Missing webhook ID for delete operation.");
}
await io.integration.webhooks().delete("delete-webhook", {
baseId: ctx.params?.baseId,
webhookId,
@@ -327,6 +331,10 @@ export function createWebhookSource(
`${registerJobNamespace(ctx.key)}:webhook-secret-base64`
);
if (!secretBase64) {
throw new Error("Missing secret for verification.");
}
return await verifyRequestSignature({
request,
headerName: "x-airtable-content-mac",
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/github
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/github",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official GitHub integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -29,8 +29,8 @@
"@octokit/request": "^6.2.5",
"@octokit/request-error": "^4.0.1",
"@octokit/webhooks": "^10.4.0",
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"octokit": "^2.0.14",
"zod": "3.22.3"
},
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/linear
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/linear",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for @linear/sdk",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@linear/sdk": "^8.0.0",
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"zod": "3.22.3"
},
"engines": {
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/slack
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/openai",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official OpenAI integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -31,8 +31,8 @@
},
"dependencies": {
"openai": "^4.16.1",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11",
"@trigger.dev/integration-kit": "workspace:^2.2.11"
},
"engines": {
"node": ">=18.0.0"
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/plain
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/plain",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official Plain.com integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -24,8 +24,8 @@
"build:tsup": "tsup"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@team-plain/typescript-sdk": "^2.7.0"
},
"engines": {
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/replicate
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/replicate",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for replicate",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"replicate": "^0.18.1",
"zod": "3.22.3"
},
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/resend
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/resend",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official Resend.com integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -24,8 +24,8 @@
"build:tsup": "tsup"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"resend": "^2.0.0"
},
"engines": {
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/sendgrid
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sendgrid",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for @sendgrid/mail",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@sendgrid/mail": "^7.7.0",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11",
"@trigger.dev/integration-kit": "workspace:^2.2.11"
},
"engines": {
"node": ">=16.8.0"
+16
View File
@@ -1,5 +1,21 @@
# @trigger.dev/shopify
## 2.2.11
### Patch Changes
- de652c1d: Fix Shopify task types and KV `get()` return types
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/shopify",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for @shopify/shopify-api",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@shopify/shopify-api": "^8.0.2",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"zod": "3.22.3"
},
"engines": {
+36 -7
View File
@@ -9,8 +9,23 @@ import {
ShopifyInputType,
} from "./types";
type AllReturnType<TResource extends ShopifyRestResources[ResourcesWithStandardMethods]> = Promise<{
data: RecursiveShopifySerializer<Awaited<ReturnType<TResource["all"]>>["data"]>;
type ResourceArrayWithIndexSignature<T extends any[]> = T extends Array<infer U>
? Array<U & { [key: string]: any }>
: never;
type RecursiveSomeNonNullable<T, TSome> = T extends object
? T extends Array<infer U>
? Array<RecursiveSomeNonNullable<U, TSome extends keyof U ? TSome : never>>
: SomeNonNullable<T, TSome extends keyof T ? TSome : never>
: T;
type AllReturnType<
TResource extends ShopifyRestResources[ResourcesWithStandardMethods],
TSerializedData extends Record<any, any>[] = RecursiveShopifySerializer<
Awaited<ReturnType<TResource["all"]>>["data"]
>,
> = Promise<{
data: ResourceArrayWithIndexSignature<RecursiveSomeNonNullable<TSerializedData, "id">>;
pageInfo?: PageInfo;
}>;
@@ -18,13 +33,23 @@ type CountReturnType = Promise<{ count: number }>;
type DeleteReturnType = Promise<void>;
type FindReturnType<
TResource extends ShopifyRestResources[ResourcesWithStandardMethods],
TSerialized extends Record<any, any> = RecursiveShopifySerializer<InstanceType<TResource>>,
> = Promise<
| (SomeNonNullable<TSerialized, "id"> & {
[key: string]: any;
})
| null
>;
type SaveReturnType<
TResource extends ShopifyRestResources[ResourcesWithStandardMethods],
TUpdate extends boolean,
TFromData extends any,
> = Promise<
TUpdate extends true
? SomeNonNullable<RecursiveShopifySerializer<TResource["prototype"], false>, "id">
? SomeNonNullable<RecursiveShopifySerializer<TResource["prototype"]>, "id">
: TFromData
>;
@@ -58,14 +83,18 @@ export class Resource<
/**
* Fetch a single resource by its ID.
*/
async find(key: string, params: Optional<Parameters<TResource["find"]>[0], "session">) {
async find(
key: string,
params: Optional<Parameters<TResource["find"]>[0], "session">
): FindReturnType<TResource> {
return this.runTask(
key,
async (client, task, io) => {
const abc = this.#withSession(params ?? {});
const resource = await client.rest[this.resourceType].find(this.#withSession(params));
const resource = (await client.rest[this.resourceType].find(
this.#withSession(params)
)) as Awaited<ReturnType<TResource["find"]>>;
return serializeShopifyResource(resource);
return JSON.parse(JSON.stringify(resource));
},
{
name: `Find ${this.resourceType}`,
+5 -8
View File
@@ -1,5 +1,4 @@
import {
ObjectNonNullable,
OmitFunctions,
OmitIndexSignature,
OmitValues,
@@ -7,16 +6,14 @@ import {
} from "@trigger.dev/integration-kit";
import { ShopifyRestResources } from "./index";
type OmitNonSerializable<T> = Omit<OmitFunctions<OmitIndexSignature<T>>, "session">;
type OmitNonSerializable<T> = OmitFunctions<OmitIndexSignature<T>>;
export type SerializedShopifyResource<T, TNonNullable extends boolean = true> = Prettify<
TNonNullable extends true ? ObjectNonNullable<OmitNonSerializable<T>> : OmitNonSerializable<T>
>;
export type SerializedShopifyResource<T> = Prettify<Omit<OmitNonSerializable<T>, "session">>;
export type RecursiveShopifySerializer<T, TNonNullable extends boolean = true> = T extends object
export type RecursiveShopifySerializer<T> = T extends object
? T extends Array<infer U>
? Array<RecursiveShopifySerializer<U>>
: SerializedShopifyResource<T, TNonNullable>
: SerializedShopifyResource<T>
: T;
export type ShopifyReturnType<
@@ -42,7 +39,7 @@ export type ShopifyWebhookPayload = {
export type ShopifyInputType = {
[K in keyof OmitIndexSignature<ShopifyRestResources>]: Prettify<
Partial<SerializedShopifyResource<ShopifyResource<K>, false>>
Partial<SerializedShopifyResource<ShopifyResource<K>>>
> & { id?: number };
};
+8
View File
@@ -105,6 +105,10 @@ export function createWebhookEventSource(integration: Shopify) {
delete: async ({ io, ctx }) => {
const webhookId = await io.store.job.get<number>("get-webhook-id", "webhook-id");
if (!webhookId) {
throw new Error("Missing webhook ID for delete operation.");
}
await io.integration.rest.Webhook.delete("delete-webhook", {
id: webhookId,
});
@@ -130,6 +134,10 @@ export function createWebhookEventSource(integration: Shopify) {
`${registerJobNamespace(ctx.key)}:webhook-secret`
);
if (!clientSecret) {
throw new Error("Missing secret for verification.");
}
return await verifyRequestSignature({
request,
headerName: "x-shopify-hmac-sha256",
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/slack
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/slack",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official Slack integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,7 +25,7 @@
},
"dependencies": {
"@slack/web-api": "^6.8.1",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"zod": "3.22.3"
},
"engines": {
+16
View File
@@ -1,5 +1,21 @@
# @trigger.dev/stripe
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- 7e3a82ef: Added invoice and invoice item webhook triggers
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/stripe",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for stripe",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -26,8 +26,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"stripe": "^12.14.0",
"zod": "3.22.3"
},
+659
View File
@@ -25,6 +25,8 @@ import {
OnCustomerEvent,
OnCustomerSubscription,
OnExternalAccountEvent,
OnInvoiceEvent,
OnInvoiceItemEvent,
OnPaymentIntentEvent,
OnPayoutEvent,
OnPersonEvent,
@@ -932,3 +934,660 @@ export const onPayoutUpdated: EventSpecification<OnPayoutEvent> = {
{ label: "Amount", text: `${payload.amount} ${payload.currency}` },
],
};
export const onInvoice: EventSpecification<OnInvoiceEvent> = {
name: [
"invoice.created",
"invoice.finalized",
"invoice.finalization_failed",
"invoice.deleted",
"invoice.marked_uncollectible",
"invoice.paid",
"invoice.payment_action_required",
"invoice.payment_failed",
"invoice.payment_succeeded",
"invoice.sent",
"invoice.upcoming",
"invoice.voided",
],
title: "On Invoice Event",
source: "stripe.com",
icon: "stripe",
examples: [],
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceCreated: EventSpecification<OnInvoiceEvent> = {
name: "invoice.created",
title: "On Invoice Created",
source: "stripe.com",
icon: "stripe",
examples: [
{
id: "invoice.created",
name: "Invoice Created",
icon: "stripe",
payload: {
id: "in_1OIBngI0XSgju2urLPfyF8yN",
object: "invoice",
account_country: "GB",
account_name: "Trigger.dev",
account_tax_ids: null,
amount_due: 2000,
amount_paid: 0,
amount_remaining: 2000,
amount_shipping: 0,
application: null,
application_fee_amount: null,
attempt_count: 0,
attempted: false,
auto_advance: false,
automatic_tax: {
enabled: false,
status: null,
},
billing_reason: "manual",
charge: null,
collection_method: "charge_automatically",
created: 1701356712,
currency: "usd",
custom_fields: null,
customer: "cus_P6Oaqh5b0bx59U",
customer_address: null,
customer_email: null,
customer_name: null,
customer_phone: null,
customer_shipping: null,
customer_tax_exempt: "none",
customer_tax_ids: [],
default_payment_method: null,
default_source: null,
default_tax_rates: [],
description: "(created by Stripe CLI)",
discount: null,
discounts: [],
due_date: null,
effective_at: null,
ending_balance: null,
footer: null,
from_invoice: null,
hosted_invoice_url: null,
invoice_pdf: null,
last_finalization_error: null,
latest_revision: null,
lines: {
object: "list",
data: [
{
id: "il_1OIBngI0XSgju2urOIBrJ3GK",
object: "line_item",
amount: 2000,
amount_excluding_tax: 2000,
currency: "usd",
description: "(created by Stripe CLI)",
discount_amounts: [],
discountable: true,
discounts: [],
invoice_item: "ii_1OIBngI0XSgju2urw3wl9FUf",
livemode: false,
metadata: {},
period: {
end: 1701356712,
start: 1701356712,
},
plan: null,
price: {
id: "price_1OIBngI0XSgju2urxiG1M9fT",
object: "price",
active: false,
billing_scheme: "per_unit",
created: 1701356712,
currency: "usd",
custom_unit_amount: null,
livemode: false,
lookup_key: null,
metadata: {},
nickname: null,
product: "prod_P6Oatqn6T5L2Ey",
recurring: null,
tax_behavior: "unspecified",
tiers_mode: null,
transform_quantity: null,
type: "one_time",
unit_amount: 2000,
unit_amount_decimal: "2000",
},
proration: false,
proration_details: {
credited_items: null,
},
quantity: 1,
subscription: null,
tax_amounts: [],
tax_rates: [],
type: "invoiceitem",
unit_amount_excluding_tax: "2000",
},
],
has_more: false,
total_count: 1,
url: "/v1/invoices/in_1OIBngI0XSgju2urLPfyF8yN/lines",
},
livemode: false,
metadata: {},
next_payment_attempt: null,
number: null,
on_behalf_of: null,
paid: false,
paid_out_of_band: false,
payment_intent: null,
payment_settings: {
default_mandate: null,
payment_method_options: null,
payment_method_types: null,
},
period_end: 1701356712,
period_start: 1701356712,
post_payment_credit_notes_amount: 0,
pre_payment_credit_notes_amount: 0,
quote: null,
receipt_number: null,
rendering: {
amount_tax_display: null,
pdf: {
page_size: "auto",
},
},
rendering_options: null,
shipping_cost: null,
shipping_details: null,
starting_balance: 0,
statement_descriptor: null,
status: "draft",
status_transitions: {
finalized_at: null,
marked_uncollectible_at: null,
paid_at: null,
voided_at: null,
},
subscription: null,
subscription_details: {
metadata: null,
},
subtotal: 2000,
subtotal_excluding_tax: 2000,
tax: null,
test_clock: null,
total: 2000,
total_discount_amounts: [],
total_excluding_tax: 2000,
total_tax_amounts: [],
transfer_data: null,
webhooks_delivered_at: null,
},
},
],
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceFinalized: EventSpecification<OnInvoiceEvent> = {
name: "invoice.finalized",
title: "On Invoice Finalized",
source: "stripe.com",
icon: "stripe",
examples: [
{
id: "invoice.finalized",
name: "Invoice Finalized",
icon: "stripe",
payload: {
id: "in_1OIBqbI0XSgju2urMmXEFbj3",
object: "invoice",
account_country: "GB",
account_name: "Trigger.dev",
account_tax_ids: null,
amount_due: 2000,
amount_paid: 0,
amount_remaining: 2000,
amount_shipping: 0,
application: null,
application_fee_amount: null,
attempt_count: 0,
attempted: false,
auto_advance: false,
automatic_tax: {
enabled: false,
status: null,
},
billing_reason: "manual",
charge: null,
collection_method: "charge_automatically",
created: 1701356892,
currency: "usd",
custom_fields: null,
customer: "cus_P6Od2vu85eNeMI",
customer_address: null,
customer_email: null,
customer_name: null,
customer_phone: null,
customer_shipping: null,
customer_tax_exempt: "none",
customer_tax_ids: [],
default_payment_method: null,
default_source: null,
default_tax_rates: [],
description: "(created by Stripe CLI)",
discount: null,
discounts: [],
due_date: null,
effective_at: 1701356893,
ending_balance: 0,
footer: null,
from_invoice: null,
hosted_invoice_url:
"https://invoice.stripe.com/i/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9kYmlDaVZyek53UXRJbUhEdmNxa1pPSUtKbmdPLDkxODk3Njk00200Ibh1G5H7?s=ap",
invoice_pdf:
"https://pay.stripe.com/invoice/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9kYmlDaVZyek53UXRJbUhEdmNxa1pPSUtKbmdPLDkxODk3Njk00200Ibh1G5H7/pdf?s=ap",
last_finalization_error: null,
latest_revision: null,
lines: {
object: "list",
data: [
{
id: "il_1OIBqaI0XSgju2urWRv5yH9h",
object: "line_item",
amount: 2000,
amount_excluding_tax: 2000,
currency: "usd",
description: "(created by Stripe CLI)",
discount_amounts: [],
discountable: true,
discounts: [],
invoice_item: "ii_1OIBqaI0XSgju2urik7fdYlI",
livemode: false,
metadata: {},
period: {
end: 1701356892,
start: 1701356892,
},
plan: null,
price: {
id: "price_1OIBngI0XSgju2urxiG1M9fT",
object: "price",
active: false,
billing_scheme: "per_unit",
created: 1701356712,
currency: "usd",
custom_unit_amount: null,
livemode: false,
lookup_key: null,
metadata: {},
nickname: null,
product: "prod_P6Oatqn6T5L2Ey",
recurring: null,
tax_behavior: "unspecified",
tiers_mode: null,
transform_quantity: null,
type: "one_time",
unit_amount: 2000,
unit_amount_decimal: "2000",
},
proration: false,
proration_details: {
credited_items: null,
},
quantity: 1,
subscription: null,
tax_amounts: [],
tax_rates: [],
type: "invoiceitem",
unit_amount_excluding_tax: "2000",
},
],
has_more: false,
total_count: 1,
url: "/v1/invoices/in_1OIBqbI0XSgju2urMmXEFbj3/lines",
},
livemode: false,
metadata: {},
next_payment_attempt: null,
number: "FD943C29-0111",
on_behalf_of: null,
paid: false,
paid_out_of_band: false,
payment_intent: "pi_3OIBqbI0XSgju2ur0BelVhdO",
payment_settings: {
default_mandate: null,
payment_method_options: null,
payment_method_types: null,
},
period_end: 1701356892,
period_start: 1701356892,
post_payment_credit_notes_amount: 0,
pre_payment_credit_notes_amount: 0,
quote: null,
receipt_number: null,
rendering: {
amount_tax_display: null,
pdf: {
page_size: "letter",
},
},
rendering_options: null,
shipping_cost: null,
shipping_details: null,
starting_balance: 0,
statement_descriptor: null,
status: "open",
status_transitions: {
finalized_at: 1701356893,
marked_uncollectible_at: null,
paid_at: null,
voided_at: null,
},
subscription: null,
subscription_details: {
metadata: null,
},
subtotal: 2000,
subtotal_excluding_tax: 2000,
tax: null,
test_clock: null,
total: 2000,
total_discount_amounts: [],
total_excluding_tax: 2000,
total_tax_amounts: [],
transfer_data: null,
webhooks_delivered_at: 1701356893,
},
},
],
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceFinalizationFailed: EventSpecification<OnInvoiceEvent> = {
name: "invoice.finalization_failed",
title: "On Invoice Finalization failed",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceDeleted: EventSpecification<OnInvoiceEvent> = {
name: "invoice.deleted",
title: "On Invoice Deleted",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceMarkedUncollectible: EventSpecification<OnInvoiceEvent> = {
name: "invoice.marked_uncollectible",
title: "On Invoice Deleted",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoicePaid: EventSpecification<OnInvoiceEvent> = {
name: "invoice.paid",
title: "On Invoice Paid",
source: "stripe.com",
icon: "stripe",
examples: [
{
id: "invoice.paid",
name: "Invoice Paid",
icon: "stripe",
payload: {
id: "in_1OIBuTI0XSgju2urKkqZFraX",
object: "invoice",
account_country: "GB",
account_name: "Trigger.dev",
account_tax_ids: null,
amount_due: 2000,
amount_paid: 2000,
amount_remaining: 0,
amount_shipping: 0,
application: null,
application_fee_amount: null,
attempt_count: 1,
attempted: true,
auto_advance: false,
automatic_tax: {
enabled: false,
status: null,
},
billing_reason: "manual",
charge: "ch_3OIBuUI0XSgju2ur1ibTvTmE",
collection_method: "charge_automatically",
created: 1701357133,
currency: "usd",
custom_fields: null,
customer: "cus_P6OhphiNsxG9aM",
customer_address: null,
customer_email: null,
customer_name: null,
customer_phone: null,
customer_shipping: null,
customer_tax_exempt: "none",
customer_tax_ids: [],
default_payment_method: null,
default_source: null,
default_tax_rates: [],
description: "(created by Stripe CLI)",
discount: null,
discounts: [],
due_date: null,
effective_at: 1701357134,
ending_balance: 0,
footer: null,
from_invoice: null,
hosted_invoice_url:
"https://invoice.stripe.com/i/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9oeUJwdXpYVUtrb0hVQmJHYUFDclZhbmVha2w5LDkxODk3OTM20200JlMCKvkD?s=ap",
invoice_pdf:
"https://pay.stripe.com/invoice/acct_1MRmG4I0XSgju2ur/test_YWNjdF8xTVJtRzRJMFhTZ2p1MnVyLF9QNk9oeUJwdXpYVUtrb0hVQmJHYUFDclZhbmVha2w5LDkxODk3OTM20200JlMCKvkD/pdf?s=ap",
last_finalization_error: null,
latest_revision: null,
lines: {
object: "list",
data: [
{
id: "il_1OIBuTI0XSgju2urpRdDk5DO",
object: "line_item",
amount: 2000,
amount_excluding_tax: 2000,
currency: "usd",
description: "(created by Stripe CLI)",
discount_amounts: [],
discountable: true,
discounts: [],
invoice_item: "ii_1OIBuTI0XSgju2urRDAJz6ec",
livemode: false,
metadata: {},
period: {
end: 1701357133,
start: 1701357133,
},
plan: null,
price: {
id: "price_1OIBngI0XSgju2urxiG1M9fT",
object: "price",
active: false,
billing_scheme: "per_unit",
created: 1701356712,
currency: "usd",
custom_unit_amount: null,
livemode: false,
lookup_key: null,
metadata: {},
nickname: null,
product: "prod_P6Oatqn6T5L2Ey",
recurring: null,
tax_behavior: "unspecified",
tiers_mode: null,
transform_quantity: null,
type: "one_time",
unit_amount: 2000,
unit_amount_decimal: "2000",
},
proration: false,
proration_details: {
credited_items: null,
},
quantity: 1,
subscription: null,
tax_amounts: [],
tax_rates: [],
type: "invoiceitem",
unit_amount_excluding_tax: "2000",
},
],
has_more: false,
total_count: 1,
url: "/v1/invoices/in_1OIBuTI0XSgju2urKkqZFraX/lines",
},
livemode: false,
metadata: {},
next_payment_attempt: null,
number: "FD943C29-0112",
on_behalf_of: null,
paid: true,
paid_out_of_band: false,
payment_intent: "pi_3OIBuUI0XSgju2ur15gtauR9",
payment_settings: {
default_mandate: null,
payment_method_options: null,
payment_method_types: null,
},
period_end: 1701357133,
period_start: 1701357133,
post_payment_credit_notes_amount: 0,
pre_payment_credit_notes_amount: 0,
quote: null,
receipt_number: null,
rendering: {
amount_tax_display: null,
pdf: {
page_size: "letter",
},
},
rendering_options: null,
shipping_cost: null,
shipping_details: null,
starting_balance: 0,
statement_descriptor: null,
status: "paid",
status_transitions: {
finalized_at: 1701357134,
marked_uncollectible_at: null,
paid_at: 1701357134,
voided_at: null,
},
subscription: null,
subscription_details: {
metadata: null,
},
subtotal: 2000,
subtotal_excluding_tax: 2000,
tax: null,
test_clock: null,
total: 2000,
total_discount_amounts: [],
total_excluding_tax: 2000,
total_tax_amounts: [],
transfer_data: null,
webhooks_delivered_at: 1701357134,
},
},
],
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoicePaymentActionRequired: EventSpecification<OnInvoiceEvent> = {
name: "invoice.payment_action_required",
title: "On Invoice Payment Action Required",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoicePaymentFailed: EventSpecification<OnInvoiceEvent> = {
name: "invoice.payment_failed",
title: "On Invoice Payment Failed",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoicePaymentSucceeded: EventSpecification<OnInvoiceEvent> = {
name: "invoice.payment_succeeded",
title: "On Invoice Payment Succeeded",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceSent: EventSpecification<OnInvoiceEvent> = {
name: "invoice.sent",
title: "On Invoice Sent",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceUpcoming: EventSpecification<OnInvoiceEvent> = {
name: "invoice.upcoming",
title: "On Invoice Upcoming",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceUpdated: EventSpecification<OnInvoiceEvent> = {
name: "invoice.updated",
title: "On Invoice Updated",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceVoided: EventSpecification<OnInvoiceEvent> = {
name: "invoice.voided",
title: "On Invoice Voided",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceEvent,
runProperties: (payload) => [{ label: "Invoice ID", text: payload.id }],
};
export const onInvoiceItemCreated: EventSpecification<OnInvoiceItemEvent> = {
name: "invoiceitem.created",
title: "On Invoice Item Created",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceItemEvent,
runProperties: (payload) => [{ label: "Invoice Item ID", text: payload.id }],
};
export const onInvoiceItemDeleted: EventSpecification<OnInvoiceItemEvent> = {
name: "invoiceitem.deleted",
title: "On Invoice Item Deleted",
source: "stripe.com",
icon: "stripe",
parsePayload: (payload) => payload as OnInvoiceItemEvent,
runProperties: (payload) => [{ label: "Invoice Item ID", text: payload.id }],
};
+119
View File
@@ -32,6 +32,8 @@ import {
CustomerSubscriptionEventNamesSchema,
ExternalAccountEventNames,
ExternalAccountEventNamesSchema,
InvoiceEventNames,
InvoiceEventNamesSchema,
PaymentIntentEventNames,
PaymentIntentEventNamesSchema,
PayoutEventNames,
@@ -901,6 +903,123 @@ export class Stripe implements TriggerIntegration {
params ?? { connect: false }
);
}
/**
* Occurs on any invoice.* event. Accepts an optional array of events to filter on. By default it will listen to all invoice.* events.
*
* @example
* ```ts
* stripe.onInvoice({ events: ["invoice.created", "invoice.paid"] })
* ```
*
* You can detect the event name in your job by using the `ctx.event.name` property:
*
* ```ts
* client.defineJob({
* id: "stripe-example",
* name: "Stripe Example",
* version: "0.1.0",
* trigger: stripe.onInvoice({ events: ["invoice.created", "invoice.paid"] }),
* run: async (payload, io, ctx) => {
* console.log(ctx.event.name); // "invoice.created" or "invoice.paid"
* },
* });
* ```
*/
onInvoice(params?: TriggerParams & { events?: InvoiceEventNames }) {
const parsedEvents = InvoiceEventNamesSchema.optional().parse(params?.events);
const event = {
...events.onInvoice,
name: parsedEvents ?? events.onPayout.name,
};
return createTrigger(this.source, event, params ?? { connect: false });
}
/**
* Occurs whenever an invoice is created.
*/
onInvoiceCreated(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceCreated, params ?? { connect: false });
}
/**
* Occurs whenever an invoice is finalized.
*/
onInvoiceFinalized(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceFinalized, params ?? { connect: false });
}
/**
* The invoice couldnt be finalized.
*/
onInvoiceFinalizationFailed(params?: TriggerParams) {
return createTrigger(
this.source,
events.onInvoiceFinalizationFailed,
params ?? { connect: false }
);
}
/**
* Occurs whenever an invoice is marked uncollectible.
*/
onInvoiceMarkedUncollectible(params?: TriggerParams) {
return createTrigger(
this.source,
events.onInvoiceMarkedUncollectible,
params ?? { connect: false }
);
}
onInvoicePaid(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoicePaid, params ?? { connect: false });
}
onInvoicePaymentActionRequired(params?: TriggerParams) {
return createTrigger(
this.source,
events.onInvoicePaymentActionRequired,
params ?? { connect: false }
);
}
onInvoicePaymentFailed(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoicePaymentFailed, params ?? { connect: false });
}
onInvoicePaymentSucceeded(params?: TriggerParams) {
return createTrigger(
this.source,
events.onInvoicePaymentSucceeded,
params ?? { connect: false }
);
}
onInvoiceSent(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceSent, params ?? { connect: false });
}
onInvoiceUpcoming(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceUpcoming, params ?? { connect: false });
}
onInvoiceUpdated(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceUpdated, params ?? { connect: false });
}
onInvoiceVoided(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceVoided, params ?? { connect: false });
}
onInvoiceItemCreated(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceItemCreated, params ?? { connect: false });
}
onInvoiceItemDeleted(params?: TriggerParams) {
return createTrigger(this.source, events.onInvoiceItemDeleted, params ?? { connect: false });
}
}
export type TriggerParams = {
+23 -3
View File
@@ -1,6 +1,8 @@
import { z } from "zod"
import { z } from "zod";
export const PriceEventNamesSchema = z.array(z.enum(["price.created", "price.updated", "price.deleted"]));
export const PriceEventNamesSchema = z.array(
z.enum(["price.created", "price.updated", "price.deleted"])
);
export type PriceEventNames = z.infer<typeof PriceEventNamesSchema>;
export const ProductEventNamesSchema = z.array(
@@ -87,4 +89,22 @@ export const PayoutEventNamesSchema = z.array(
"payout.updated",
])
);
export type PayoutEventNames = z.infer<typeof PayoutEventNamesSchema>;
export type PayoutEventNames = z.infer<typeof PayoutEventNamesSchema>;
export const InvoiceEventNamesSchema = z.array(
z.enum([
"invoice.created",
"invoice.finalized",
"invoice.finalization_failed",
"invoice.deleted",
"invoice.marked_uncollectible",
"invoice.paid",
"invoice.payment_action_required",
"invoice.payment_failed",
"invoice.payment_succeeded",
"invoice.sent",
"invoice.upcoming",
"invoice.voided",
])
);
export type InvoiceEventNames = z.infer<typeof InvoiceEventNamesSchema>;
+4
View File
@@ -86,3 +86,7 @@ export type OnPaymentIntentEvent =
ExtractWebhookPayload<Stripe.DiscriminatedEvent.PaymentIntentEvent>;
export type OnPayoutEvent = ExtractWebhookPayload<Stripe.DiscriminatedEvent.PayoutEvent>;
export type OnInvoiceEvent = ExtractWebhookPayload<Stripe.DiscriminatedEvent.InvoiceEvent>;
export type OnInvoiceItemEvent = ExtractWebhookPayload<Stripe.DiscriminatedEvent.InvoiceitemEvent>;
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/supabase
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/supabase",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev integration for @supabase/supabase-js",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@supabase/supabase-js": "^2.26.0",
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"supabase-management-js": "^0.1.4",
"zod": "3.22.3"
},
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/typeform
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/integration-kit@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/integration-kit@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/typeform",
"version": "2.2.9",
"version": "2.2.11",
"description": "The official Typeform integration for Trigger.dev",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -25,8 +25,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/integration-kit": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/integration-kit": "workspace:^2.2.11",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@typeform/api-client": "^1.8.0",
"zod": "3.22.3"
},
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/astro
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@trigger.dev/astro",
"description": "An Astro-native integration for Trigger.dev background jobs platform",
"version": "2.2.9",
"version": "2.2.11",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": [
@@ -20,7 +20,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11"
},
"devDependencies": {
"astro": "^3.0.12",
+12
View File
@@ -1,5 +1,17 @@
# create-trigger
## 2.2.11
### Patch Changes
- @trigger.dev/core@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/core@2.2.10
## 2.2.9
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/cli",
"version": "2.2.9",
"version": "2.2.11",
"description": "The Trigger.dev CLI",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
+4
View File
@@ -1,5 +1,9 @@
# @trigger.dev/core-backend
## 2.2.11
## 2.2.10
## 2.2.9
## 2.2.8
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/core-backend",
"version": "2.2.9",
"version": "2.2.11",
"description": "Core code used across `@trigger.dev/sdk` and Trigger.dev server",
"license": "MIT",
"main": "./dist/index.js",
+4
View File
@@ -1,5 +1,9 @@
# internal-platform
## 2.2.11
## 2.2.10
## 2.2.9
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/core",
"version": "2.2.9",
"version": "2.2.11",
"description": "Core code used across the Trigger.dev SDK and platform",
"license": "MIT",
"main": "./dist/index.js",
+4
View File
@@ -1,5 +1,9 @@
# @trigger.dev/eslint-plugin
## 2.2.11
## 2.2.10
## 2.2.9
## 2.2.8
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/eslint-plugin",
"version": "2.2.9",
"version": "2.2.11",
"description": "ESLint plugin with trigger.dev best practices",
"keywords": [
"eslint",
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/express
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/express",
"version": "2.2.9",
"version": "2.2.11",
"description": "Official Express adapter for Trigger.dev",
"license": "MIT",
"main": "./dist/index.js",
@@ -19,7 +19,7 @@
"./package.json": "./package.json"
},
"devDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@trigger.dev/tsconfig": "workspace:*",
"@types/debug": "^4.1.7",
"@types/express": "^4.17.13",
@@ -33,7 +33,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11"
},
"dependencies": {
"debug": "^4.3.4",
+12
View File
@@ -1,5 +1,17 @@
# @trigger.dev/integration-kit
## 2.2.11
### Patch Changes
- @trigger.dev/core@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/core@2.2.10
## 2.2.9
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/integration-kit",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev Integration Kit has helpers to make creating integrations easier",
"license": "MIT",
"main": "./dist/index.js",
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/nestjs
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/nestjs",
"version": "2.2.9",
"version": "2.2.11",
"description": "Official NestJS adapter for Trigger.dev",
"license": "MIT",
"main": "./dist/index.js",
@@ -19,7 +19,7 @@
"./package.json": "./package.json"
},
"devDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@trigger.dev/tsconfig": "workspace:*",
"@types/debug": "^4.1.7",
"@types/express": "^4.17.13",
@@ -35,7 +35,7 @@
},
"peerDependencies": {
"@nestjs/common": ">=10.0.0",
"@trigger.dev/sdk": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11"
},
"dependencies": {
"@nestjs/common": "^10.2.4",
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/nextjs
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/nextjs",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev Next.js integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -36,7 +36,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"next": ">=12.0.0"
},
"dependencies": {
+12
View File
@@ -1,5 +1,17 @@
# @trigger.dev/react
## 2.2.11
### Patch Changes
- @trigger.dev/core@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/core@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/react",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev React SDK",
"license": "MIT",
"types": "dist/index.d.ts",
@@ -27,7 +27,7 @@
},
"dependencies": {
"@tanstack/react-query": "5.0.0-beta.2",
"@trigger.dev/core": "workspace:^2.2.9",
"@trigger.dev/core": "workspace:^2.2.11",
"debug": "^4.3.4",
"zod": "3.22.3"
},
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/remix
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/remix",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev Remix integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -34,7 +34,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9",
"@trigger.dev/sdk": "workspace:^2.2.11",
"@remix-run/server-runtime": ">1.19.0"
},
"dependencies": {
+13
View File
@@ -1,5 +1,18 @@
# @trigger.dev/sveltekit
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sveltekit",
"version": "2.2.9",
"version": "2.2.11",
"description": "Trigger.dev svelteKit integration",
"license": "MIT",
"main": "./dist/index.js",
@@ -33,7 +33,7 @@
"build:tsup": "tsup"
},
"peerDependencies": {
"@trigger.dev/sdk": "workspace:^2.2.9"
"@trigger.dev/sdk": "workspace:^2.2.11"
},
"dependencies": {
"debug": "^4.3.4"
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/testing
## 2.2.11
### Patch Changes
- Updated dependencies [de652c1d]
- @trigger.dev/sdk@2.2.11
- @trigger.dev/core@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/core@2.2.10
- @trigger.dev/sdk@2.2.10
## 2.2.9
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@trigger.dev/testing",
"description": "A collection of useful tools to write tests for Trigger.dev.",
"version": "2.2.9",
"version": "2.2.11",
"license": "MIT",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
+15
View File
@@ -1,5 +1,20 @@
# @trigger.dev/sdk
## 2.2.11
### Patch Changes
- de652c1d: Fix Shopify task types and KV `get()` return types
- @trigger.dev/core@2.2.11
- @trigger.dev/core-backend@2.2.11
## 2.2.10
### Patch Changes
- @trigger.dev/core@2.2.10
- @trigger.dev/core-backend@2.2.10
## 2.2.9
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/sdk",
"version": "2.2.9",
"version": "2.2.11",
"description": "trigger.dev Node.JS SDK",
"license": "MIT",
"main": "./dist/index.js",
@@ -25,8 +25,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@trigger.dev/core": "workspace:^2.2.9",
"@trigger.dev/core-backend": "workspace:^2.2.9",
"@trigger.dev/core": "workspace:^2.2.11",
"@trigger.dev/core-backend": "workspace:^2.2.11",
"chalk": "^5.2.0",
"colorette": "^2.0.20",
"cronstrue": "^2.21.0",
@@ -74,9 +74,12 @@ export class KeyValueStore {
);
}
async get<T extends Json<T> = any>(cacheKey: string | any[], key: string): Promise<T>;
async get<T extends Json<T> = any>(key: string): Promise<T>;
async get<T extends Json<T> = any>(param1: string | any[], param2?: string): Promise<T> {
async get<T extends Json<T> = any>(cacheKey: string | any[], key: string): Promise<T | undefined>;
async get<T extends Json<T> = any>(key: string): Promise<T | undefined>;
async get<T extends Json<T> = any>(
param1: string | any[],
param2?: string
): Promise<T | undefined> {
const runStore = runLocalStorage.getStore();
if (!runStore) {
@@ -47,7 +47,7 @@ export class KeyValueStoreClient implements AsyncMap {
return result.deleted;
}
async get<T extends Json<T>>(key: string): Promise<T> {
async get<T extends Json<T>>(key: string): Promise<T | undefined> {
const result = await this.queryStore("GET", {
key: this.#namespacedKey(key),
});
+30 -30
View File
@@ -421,8 +421,8 @@ importers:
integrations/airtable:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 16.x
airtable: ^0.12.1
@@ -449,8 +449,8 @@ importers:
'@octokit/types': ^9.2.3
'@octokit/webhooks': ^10.4.0
'@octokit/webhooks-types': ^6.10.0
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': '18'
octokit: ^2.0.14
@@ -476,8 +476,8 @@ importers:
integrations/linear:
specifiers:
'@linear/sdk': ^8.0.0
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 16.x
rimraf: ^3.0.2
@@ -498,8 +498,8 @@ importers:
integrations/openai:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/jest': ^29.5.3
'@types/node': '18'
@@ -526,8 +526,8 @@ importers:
integrations/plain:
specifiers:
'@team-plain/typescript-sdk': ^2.7.0
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': '18'
rimraf: ^3.0.2
@@ -544,8 +544,8 @@ importers:
integrations/replicate:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 16.x
replicate: ^0.18.1
@@ -567,8 +567,8 @@ importers:
integrations/resend:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': '18'
resend: ^2.0.0
@@ -587,8 +587,8 @@ importers:
integrations/sendgrid:
specifiers:
'@sendgrid/mail': ^7.7.0
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 16.x
rimraf: ^3.0.2
@@ -608,8 +608,8 @@ importers:
integrations/shopify:
specifiers:
'@shopify/shopify-api': ^8.0.2
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 16.x
rimraf: ^3.0.2
@@ -631,7 +631,7 @@ importers:
integrations/slack:
specifiers:
'@slack/web-api': ^6.8.1
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': '18'
rimraf: ^3.0.2
@@ -649,8 +649,8 @@ importers:
integrations/stripe:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@types/node': 16.x
rimraf: ^3.0.2
stripe: ^12.14.0
@@ -673,8 +673,8 @@ importers:
integrations/supabase:
specifiers:
'@supabase/supabase-js': ^2.26.0
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/node': 18.x
rimraf: ^3.0.2
@@ -697,8 +697,8 @@ importers:
integrations/typeform:
specifiers:
'@trigger.dev/integration-kit': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/integration-kit': workspace:^2.2.11
'@trigger.dev/sdk': workspace:^2.2.11
'@typeform/api-client': ^1.8.0
'@types/node': 16.x
rimraf: ^3.0.2
@@ -952,7 +952,7 @@ importers:
packages/express:
specifiers:
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/debug': ^4.1.7
'@types/express': ^4.17.13
@@ -1000,7 +1000,7 @@ importers:
specifiers:
'@nestjs/common': ^10.2.4
'@remix-run/web-fetch': ^4.3.5
'@trigger.dev/sdk': workspace:^2.2.9
'@trigger.dev/sdk': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/debug': ^4.1.7
'@types/express': ^4.17.13
@@ -1053,7 +1053,7 @@ importers:
packages/react:
specifiers:
'@tanstack/react-query': 5.0.0-beta.2
'@trigger.dev/core': workspace:^2.2.9
'@trigger.dev/core': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/debug': ^4.1.7
'@types/react': 18.2.17
@@ -1148,8 +1148,8 @@ importers:
packages/trigger-sdk:
specifiers:
'@trigger.dev/core': workspace:^2.2.9
'@trigger.dev/core-backend': workspace:^2.2.9
'@trigger.dev/core': workspace:^2.2.11
'@trigger.dev/core-backend': workspace:^2.2.11
'@trigger.dev/tsconfig': workspace:*
'@types/debug': ^4.1.7
'@types/node': '18'