From 5e5e4e697250d1e817ee40536e5c0a7383369dae Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:54:44 +0100 Subject: [PATCH 1/8] Added MCP to the intro --- .../{intro-frameworks.jpg => intro-mcp.jpg} | Bin docs/introduction.mdx | 98 ++++++++++++++---- 2 files changed, 75 insertions(+), 23 deletions(-) rename docs/images/{intro-frameworks.jpg => intro-mcp.jpg} (100%) diff --git a/docs/images/intro-frameworks.jpg b/docs/images/intro-mcp.jpg similarity index 100% rename from docs/images/intro-frameworks.jpg rename to docs/images/intro-mcp.jpg diff --git a/docs/introduction.mdx b/docs/introduction.mdx index 0180bf1ef5..72ba239051 100644 --- a/docs/introduction.mdx +++ b/docs/introduction.mdx @@ -7,17 +7,17 @@ mode: "center" - Get started with Trigger.dev in 3 minutes - - - Explore dozens of examples tasks to use in your own projects + Get started with Trigger.dev and run your first task in 3 minutes - Learn how to use Trigger.dev with your favorite frameworks + Browse our wide range of guides, frameworks and example projects + + + Learn how to install and configure the Trigger.dev MCP Server Watch an end-to-end demo of Trigger.dev in 10 minutes @@ -79,21 +79,73 @@ We provide everything you need to build and manage background tasks: a CLI and S ## Explore by example - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + ## Explore by build extension From 11ae2da455699acee41fba6aa7e94e2507d772ab Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:02:39 +0100 Subject: [PATCH 2/8] Added human-in-the-loop and new build extensions --- docs/introduction.mdx | 45 ++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/docs/introduction.mdx b/docs/introduction.mdx index 72ba239051..67c9d397bb 100644 --- a/docs/introduction.mdx +++ b/docs/introduction.mdx @@ -74,8 +74,37 @@ We provide everything you need to build and manage background tasks: a CLI and S Configure what you want to happen when there is more than one run at a time. + + Pause runs until a token is completed via an approval workflow. + + + Customize the build process or the resulting bundle and container image. + +## Explore by build extension + +| Extension | What it does | Docs | +| :-------------------- | :----------------------------------------------------------- | :----------------------------------------------------- | +| prismaExtension | Use Prisma with Trigger.dev | [Learn more](/config/extensions/prismaExtension) | +| pythonExtension | Execute Python scripts in Trigger.dev | [Learn more](/config/extensions/pythonExtension) | +| playwright | Use Playwright with Trigger.dev | [Learn more](/config/extensions/playwright) | +| puppeteer | Use Puppeteer with Trigger.dev | [Learn more](/config/extensions/puppeteer) | +| lightpanda | Use Lightpanda with Trigger.dev | [Learn more](/config/extensions/lightpanda) | +| ffmpeg | Use FFmpeg with Trigger.dev | [Learn more](/config/extensions/ffmpeg) | +| aptGet | Install system packages with aptGet | [Learn more](/config/extensions/aptGet) | +| additionalFiles | Copy additional files to the build directory | [Learn more](/config/extensions/additionalFiles) | +| additionalPackages | Include additional packages in the build | [Learn more](/config/extensions/additionalPackages) | +| syncEnvVars | Automatically sync environment variables to Trigger.dev | [Learn more](/config/extensions/syncEnvVars) | +| esbuildPlugin | Add existing or custom esbuild plugins to your build process | [Learn more](/config/extensions/esbuildPlugin) | +| emitDecoratorMetadata | Support for the emitDecoratorMetadata TypeScript compiler | [Learn more](/config/extensions/emitDecoratorMetadata) | +| audioWaveform | Support for Audio Waveform in your project | [Learn more](/config/extensions/audioWaveform) | + ## Explore by example @@ -148,22 +177,6 @@ We provide everything you need to build and manage background tasks: a CLI and S -## Explore by build extension - -| Extension | What it does | Docs | -| :-------------------- | :----------------------------------------------------------- | :----------------------------------------------------- | -| prismaExtension | Use Prisma with Trigger.dev | [Learn more](/config/extensions/prismaExtension) | -| pythonExtension | Execute Python scripts in Trigger.dev | [Learn more](/config/extensions/pythonExtension) | -| puppeteer | Use Puppeteer with Trigger.dev | [Learn more](/config/extensions/puppeteer) | -| ffmpeg | Use FFmpeg with Trigger.dev | [Learn more](/config/extensions/ffmpeg) | -| aptGet | Install system packages with aptGet | [Learn more](/config/extensions/aptGet) | -| additionalFiles | Copy additional files to the build directory | [Learn more](/config/extensions/additionalFiles) | -| additionalPackages | Include additional packages in the build | [Learn more](/config/extensions/additionalPackages) | -| syncEnvVars | Automatically sync environment variables to Trigger.dev | [Learn more](/config/extensions/syncEnvVars) | -| esbuildPlugin | Add existing or custom esbuild plugins to your build process | [Learn more](/config/extensions/esbuildPlugin) | -| emitDecoratorMetadata | Support for the emitDecoratorMetadata TypeScript compiler | [Learn more](/config/extensions/emitDecoratorMetadata) | -| audioWaveform | Support for Audio Waveform in your project | [Learn more](/config/extensions/audioWaveform) | - ## Getting help We'd love to hear from you or give you a hand getting started. Here are some ways to get in touch with us. From 8cf1e97d6fb9ea74899040bc0ee2a25c862b48bd Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:47:24 +0100 Subject: [PATCH 3/8] Waitpoint notes --- docs/wait-for-token.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/wait-for-token.mdx b/docs/wait-for-token.mdx index f2c71ca016..4f5a8faedd 100644 --- a/docs/wait-for-token.mdx +++ b/docs/wait-for-token.mdx @@ -1,6 +1,6 @@ --- title: "Wait for token" -description: "Wait until a token is completed." +description: "Wait until a token is completed using waitpoint tokens." --- Waitpoint tokens pause task runs until you complete the token. They're commonly used for approval workflows and other scenarios where you need to wait for external confirmation, such as human-in-the-loop processes. @@ -50,7 +50,7 @@ await wait.completeToken(tokenId, { }); ``` -Or you can make an HTTP POST request to the `url` it returns: +Or you can make an HTTP POST request to the `url` it returns. This is an HTTP callback: ```ts import { wait } from "@trigger.dev/sdk"; @@ -502,4 +502,4 @@ const token = await wait.createToken({ idempotencyKey: "my-idempotency-key", idempotencyKeyTTL: "1h", }); -``` \ No newline at end of file +``` From 084e8f0023d3a4da6176d84149c8c3efbd130de9 Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:50:43 +0100 Subject: [PATCH 4/8] Moved openai guardrails example to Python --- docs/docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs.json b/docs/docs.json index 5cd39f727e..5755a7b4dd 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -341,7 +341,6 @@ "guides/example-projects/human-in-the-loop-workflow", "guides/example-projects/mastra-agents-with-memory", "guides/example-projects/meme-generator-human-in-the-loop", - "guides/example-projects/openai-agent-sdk-guardrails", "guides/example-projects/openai-agents-sdk-typescript-playground", "guides/example-projects/realtime-csv-importer", "guides/example-projects/realtime-fal-ai", @@ -353,6 +352,7 @@ { "group": "Python guides", "pages": [ + "guides/example-projects/openai-agent-sdk-guardrails", "guides/python/python-image-processing", "guides/python/python-doc-to-markdown", "guides/python/python-crawl4ai", From affe7212bee0f71e07bc1f860ac3ca641fec96b1 Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 15:36:50 +0100 Subject: [PATCH 5/8] Added a connection limit note --- docs/config/extensions/prismaExtension.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/config/extensions/prismaExtension.mdx b/docs/config/extensions/prismaExtension.mdx index 2d057cc264..decfd646ce 100644 --- a/docs/config/extensions/prismaExtension.mdx +++ b/docs/config/extensions/prismaExtension.mdx @@ -137,6 +137,8 @@ export default defineConfig({ These environment variables are only used during the build process and are not embedded in the final container image. +If you're experiencing database connection issues during deployment, you may need to add `?connection_limit=1` to your `DATABASE_URL` to limit the number of concurrent connections during the build process. + ### Multiple schemas From 7033a6187529aefc9c059bd28d68a5f58594176e Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 15:46:51 +0100 Subject: [PATCH 6/8] Added Supabase + Prisma note to supabase auth --- .../frameworks/supabase-authentication.mdx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/guides/frameworks/supabase-authentication.mdx b/docs/guides/frameworks/supabase-authentication.mdx index 2efa572e57..a2d15f680e 100644 --- a/docs/guides/frameworks/supabase-authentication.mdx +++ b/docs/guides/frameworks/supabase-authentication.mdx @@ -72,4 +72,27 @@ const supabase = createClient( // Your task ``` +## Using Prisma with Supabase PgBouncer + +When using Prisma with Supabase's PgBouncer connection pooler, you need separate pooled and direct connection URLs to avoid prepared statement conflicts. + +```ts +// In trigger.config.ts +prismaExtension({ + schema: "prisma/schema.prisma", + directUrlEnvVarName: "DATABASE_URL_UNPOOLED", +}), +``` + +```bash +# Environment variables +DATABASE_URL=postgresql://postgres.creds@aws-0-region.pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1 +DATABASE_URL_UNPOOLED=postgresql://postgres.creds@aws-0-region.pooler.supabase.com:5432/postgres +``` + + + The pooled connection (port 6543) is used for regular queries, while the direct connection (port + 5432) is used for migrations and schema operations that don't work with connection pooling. + + From 5d8878db03e573cfa49d67fc03b703765b85b3e4 Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:23:49 +0100 Subject: [PATCH 7/8] Updates based on what the rabbit said --- docs/guides/frameworks/supabase-authentication.mdx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/guides/frameworks/supabase-authentication.mdx b/docs/guides/frameworks/supabase-authentication.mdx index a2d15f680e..8e1b85d697 100644 --- a/docs/guides/frameworks/supabase-authentication.mdx +++ b/docs/guides/frameworks/supabase-authentication.mdx @@ -72,9 +72,9 @@ const supabase = createClient( // Your task ``` -## Using Prisma with Supabase PgBouncer +## Using Prisma with Supabase Supavisor (connection pooler) -When using Prisma with Supabase's PgBouncer connection pooler, you need separate pooled and direct connection URLs to avoid prepared statement conflicts. +When using Prisma with Supabase's Supavisor pooler, use a pooled URL for Prisma Client and a session/direct URL for schema operations to avoid prepared statement conflicts. As of Feb 28, 2025, port 6543 runs Transaction Mode only; use port 5432 for Session Mode. ```ts // In trigger.config.ts @@ -86,13 +86,15 @@ prismaExtension({ ```bash # Environment variables -DATABASE_URL=postgresql://postgres.creds@aws-0-region.pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1 -DATABASE_URL_UNPOOLED=postgresql://postgres.creds@aws-0-region.pooler.supabase.com:5432/postgres +# Pooled (Transaction Mode, port 6543) +DATABASE_URL="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1" +# Session/Direct (used by Prisma schema engine, port 5432) +DATABASE_URL_UNPOOLED="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:5432/postgres" ``` - The pooled connection (port 6543) is used for regular queries, while the direct connection (port - 5432) is used for migrations and schema operations that don't work with connection pooling. + Use the pooled connection (port 6543, Transaction Mode) for regular Prisma Client queries. Use the + session/direct connection (port 5432, Session Mode) for migrations and other schema operations. From 29c9c88ce9d03a061a3e61fbd190f5fba84ad80f Mon Sep 17 00:00:00 2001 From: D-K-P <8297864+D-K-P@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:27:03 +0100 Subject: [PATCH 8/8] Moved the supavisor section to the prismaExtension docs --- docs/config/extensions/prismaExtension.mdx | 24 ++++++++++++++++++ .../frameworks/supabase-authentication.mdx | 25 ------------------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/docs/config/extensions/prismaExtension.mdx b/docs/config/extensions/prismaExtension.mdx index decfd646ce..c4219e854b 100644 --- a/docs/config/extensions/prismaExtension.mdx +++ b/docs/config/extensions/prismaExtension.mdx @@ -141,6 +141,30 @@ If you're experiencing database connection issues during deployment, you may nee +### Using with Supabase Supavisor + +When using Prisma with Supabase's Supavisor pooler, use a pooled URL for Prisma Client and a session/direct URL for schema operations to avoid prepared statement conflicts. As of Feb 28, 2025, port 6543 runs Transaction Mode only; use port 5432 for Session Mode. + +```ts +prismaExtension({ + schema: "prisma/schema.prisma", + directUrlEnvVarName: "DATABASE_URL_UNPOOLED", +}), +``` + +```bash +# Environment variables +# Pooled (Transaction Mode, port 6543) +DATABASE_URL="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1" +# Session/Direct (used by Prisma schema engine, port 5432) +DATABASE_URL_UNPOOLED="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:5432/postgres" +``` + + + Use the pooled connection (port 6543, Transaction Mode) for regular Prisma Client queries. Use the + session/direct connection (port 5432, Session Mode) for migrations and other schema operations. + + ### Multiple schemas If you have multiple separate schemas in the same project you can add the extension multiple times: diff --git a/docs/guides/frameworks/supabase-authentication.mdx b/docs/guides/frameworks/supabase-authentication.mdx index 8e1b85d697..2efa572e57 100644 --- a/docs/guides/frameworks/supabase-authentication.mdx +++ b/docs/guides/frameworks/supabase-authentication.mdx @@ -72,29 +72,4 @@ const supabase = createClient( // Your task ``` -## Using Prisma with Supabase Supavisor (connection pooler) - -When using Prisma with Supabase's Supavisor pooler, use a pooled URL for Prisma Client and a session/direct URL for schema operations to avoid prepared statement conflicts. As of Feb 28, 2025, port 6543 runs Transaction Mode only; use port 5432 for Session Mode. - -```ts -// In trigger.config.ts -prismaExtension({ - schema: "prisma/schema.prisma", - directUrlEnvVarName: "DATABASE_URL_UNPOOLED", -}), -``` - -```bash -# Environment variables -# Pooled (Transaction Mode, port 6543) -DATABASE_URL="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:6543/postgres?pgbouncer=true&connection_limit=1" -# Session/Direct (used by Prisma schema engine, port 5432) -DATABASE_URL_UNPOOLED="postgresql://postgres.[PROJECT_REF]:@aws-0-[REGION].pooler.supabase.com:5432/postgres" -``` - - - Use the pooled connection (port 6543, Transaction Mode) for regular Prisma Client queries. Use the - session/direct connection (port 5432, Session Mode) for migrations and other schema operations. - -