Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/chat-agent-telemetry-default.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/hosted-webhook-channels.md

This file was deleted.

25 changes: 0 additions & 25 deletions .changeset/hosted-webhook-ingress.md

This file was deleted.

28 changes: 0 additions & 28 deletions .changeset/hosted-webhook-slack.md

This file was deleted.

23 changes: 0 additions & 23 deletions .changeset/linear-channel.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/realtime-stream-error-event.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/webhook-additional-signature-headers.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/webhook-secret-grace-option.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/webhooks-hookdeck-source.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/alerts-cadence.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/alerts-create-without-agent.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/alerts-creation-follow-ups.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/faster-traces-for-older-runs.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/legacy-slack-deleted-integration.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/masked-hidden-root-api-key.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/revoke-previous-root-api-key-immediately.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/route-keyless-deployments-at-trigger.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/supervisor-distrust-emudhra-roots.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/supervisor-reserved-source-ports.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/trigger-dashboard-url.md

This file was deleted.

6 changes: 0 additions & 6 deletions .server-changes/webhook-secret-rotation-grace.md

This file was deleted.

4 changes: 2 additions & 2 deletions hosting/k8s/helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: trigger
description: The official Trigger.dev Helm chart
type: application
version: 4.7.6
appVersion: v4.7.6
version: 4.8.0
appVersion: v4.8.0
home: https://trigger.dev
sources:
- https://github.com/triggerdotdev/trigger.dev
Expand Down
7 changes: 7 additions & 0 deletions packages/build/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @trigger.dev/build

## 4.8.0

### Patch Changes

- Updated dependencies:
- `@trigger.dev/core@4.8.0`

## 4.7.6

### Patch Changes
Expand Down
4 changes: 2 additions & 2 deletions packages/build/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/build",
"version": "4.7.6",
"version": "4.8.0",
"description": "trigger.dev build extensions",
"license": "MIT",
"publishConfig": {
Expand Down Expand Up @@ -82,7 +82,7 @@
},
"dependencies": {
"@prisma/config": "^6.10.0",
"@trigger.dev/core": "workspace:4.7.6",
"@trigger.dev/core": "workspace:4.8.0",
"mlly": "^1.7.1",
"pkg-types": "^1.1.3",
"tinyglobby": "^0.2.2",
Expand Down
39 changes: 39 additions & 0 deletions packages/cli-v3/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,44 @@
# trigger.dev

## 4.8.0

### Minor Changes

- Route verified webhooks into agent sessions with `chat.event({ endpoint, key })`, and connect external chat surfaces with `chat.channels.custom({ endpoint })`. Both subscribe to a shared webhook endpoint, so an agent and your other webhook tasks can use the same provider URL. Channels support reply delivery, session binding, conversation seeding, and lifecycle reactions, and a failed turn posts a short line instead of the error (`errorMessage` sets it, as a string or a function of the failure). Use `chat.createWatchToken()` to watch a session from another surface. ([`d6955ee9f`](https://github.com/triggerdotdev/trigger.dev/commit/d6955ee9f31b0b1a3af55bb8fbbc77ba68bcb3f7))

A connector can also stream replies natively (`stream()`), mirror the session's state into the surface (`lifecycle()`), show tool calls as they run (`progress()`), stop a running turn from the surface (`onControl()`), post approvals and tool controls and resume the run from a verified click, download files only the surface can read (`download()`), and acknowledge or fold in messages that arrive mid-turn (`received()`, `pendingMessages`).

- Add hosted webhooks: declare an endpoint once with `webhooks.endpoint.define({ id, source })` and Trigger.dev hosts its URL, verifies every request, and routes each event to the endpoint's subscribers. Subscribe tasks with `webhook({ endpoint, filter, onEvent })`, each with its own type-safe filter, and pause a run until a matching webhook arrives with `webhooks.waiter.create()` and `webhooks.waiter.wait()`. ([`d6955ee9f`](https://github.com/triggerdotdev/trigger.dev/commit/d6955ee9f31b0b1a3af55bb8fbbc77ba68bcb3f7))

```ts
export const stripe = webhooks.endpoint.define({
id: "stripe",
source: webhooks.stripe(),
});

export const fulfill = webhook({
id: "fulfill",
endpoint: stripe,
filter: "event.type == 'checkout.session.completed'",
onEvent: async ({ event }) => {},
});

const waiter = await webhooks.waiter.create(stripe, {
match: { "event.data.object.metadata.orderId": order.id },
});
const { event } = await webhooks.waiter.wait(waiter).unwrap();
```

Sources cover presets (`webhooks.stripe()`, `webhooks.github()`, `webhooks.svix()`, `webhooks.discord()`, and others), named providers (`webhooks.clerk()`, `webhooks.shopify()`, and more) and `webhooks.custom<T>(config)`, and most carry a setup prompt an AI coding agent can follow to register the endpoint. Retries are deduplicated on the provider's own event or delivery id where it sends one. Filters, keys and waiter `match` paths share the `event.`, `header.` and `webhook.` namespaces, and filters accept `== null` / `!= null` presence checks and `event any (...)` over a payload that is an array of events. `webhook()` takes `task()` options such as `queue`, `machine` and `retry`. The HTTP API lists endpoints and deliveries, replays deliveries, and creates and cancels waiters, and both it and the MCP server can read an endpoint's setup prompt and generate or store its signing secret.

### Patch Changes

- The `generate_webhook_secret` and `set_webhook_secret` MCP tools take an optional `previousSecretTtlSeconds` to keep accepting a webhook endpoint's old signing secret while the provider switches to the new one (up to 7 days), and report when the old secret stops working. ([`98adb6662`](https://github.com/triggerdotdev/trigger.dev/commit/98adb6662562dbfa99f7c026ddb544c4486e03f6))
- Updated dependencies:
- `@trigger.dev/core@4.8.0`
- `@trigger.dev/build@4.8.0`
- `@trigger.dev/schema-to-json@4.8.0`

## 4.7.6

### Patch Changes
Expand Down
8 changes: 4 additions & 4 deletions packages/cli-v3/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "trigger.dev",
"version": "4.7.6",
"version": "4.8.0",
"description": "A Command-Line Interface for Trigger.dev projects",
"type": "module",
"license": "MIT",
Expand Down Expand Up @@ -84,9 +84,9 @@
"@opentelemetry/api-logs": "0.219.0",
"@opentelemetry/instrumentation": "0.219.0",
"@s2-dev/streamstore": "^0.25.0",
"@trigger.dev/build": "workspace:4.7.6",
"@trigger.dev/core": "workspace:4.7.6",
"@trigger.dev/schema-to-json": "workspace:4.7.6",
"@trigger.dev/build": "workspace:4.8.0",
"@trigger.dev/core": "workspace:4.8.0",
"@trigger.dev/schema-to-json": "workspace:4.8.0",
"ansi-escapes": "^7.0.0",
"braces": "^3.0.3",
"c12": "^1.11.1",
Expand Down
34 changes: 34 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# internal-platform

## 4.8.0

### Minor Changes

- Add hosted webhooks: declare an endpoint once with `webhooks.endpoint.define({ id, source })` and Trigger.dev hosts its URL, verifies every request, and routes each event to the endpoint's subscribers. Subscribe tasks with `webhook({ endpoint, filter, onEvent })`, each with its own type-safe filter, and pause a run until a matching webhook arrives with `webhooks.waiter.create()` and `webhooks.waiter.wait()`. ([`d6955ee9f`](https://github.com/triggerdotdev/trigger.dev/commit/d6955ee9f31b0b1a3af55bb8fbbc77ba68bcb3f7))

```ts
export const stripe = webhooks.endpoint.define({
id: "stripe",
source: webhooks.stripe(),
});

export const fulfill = webhook({
id: "fulfill",
endpoint: stripe,
filter: "event.type == 'checkout.session.completed'",
onEvent: async ({ event }) => {},
});

const waiter = await webhooks.waiter.create(stripe, {
match: { "event.data.object.metadata.orderId": order.id },
});
const { event } = await webhooks.waiter.wait(waiter).unwrap();
```

Sources cover presets (`webhooks.stripe()`, `webhooks.github()`, `webhooks.svix()`, `webhooks.discord()`, and others), named providers (`webhooks.clerk()`, `webhooks.shopify()`, and more) and `webhooks.custom<T>(config)`, and most carry a setup prompt an AI coding agent can follow to register the endpoint. Retries are deduplicated on the provider's own event or delivery id where it sends one. Filters, keys and waiter `match` paths share the `event.`, `header.` and `webhook.` namespaces, and filters accept `== null` / `!= null` presence checks and `event any (...)` over a payload that is an array of events. `webhook()` takes `task()` options such as `queue`, `machine` and `retry`. The HTTP API lists endpoints and deliveries, replays deliveries, and creates and cancels waiters, and both it and the MCP server can read an endpoint's setup prompt and generate or store its signing secret.

### Patch Changes

- Realtime streams now reconnect and resume when the stream backend reports a failed read mid-stream, instead of ending early as if the stream had finished. This affects `runs.subscribeToRun` with streams, `useRealtimeRunWithStreams`, and chat streams. ([`23730b034`](https://github.com/triggerdotdev/trigger.dev/commit/23730b0344342a96731d52dbdc60626565519e26))
- HMAC webhook verifier configs accept `additionalSignatureHeaders`: more headers that can carry a signature, matched as alternatives to `signatureHeader`. Providers that send a second signature during a secret rotation (Hookdeck's `x-hookdeck-signature-2`) keep verifying through the rotation. ([`08d1ddbd3`](https://github.com/triggerdotdev/trigger.dev/commit/08d1ddbd3531d47ee4fb7f684f07987e2e59ec7e))
- The `generate_webhook_secret` and `set_webhook_secret` MCP tools take an optional `previousSecretTtlSeconds` to keep accepting a webhook endpoint's old signing secret while the provider switches to the new one (up to 7 days), and report when the old secret stops working. ([`98adb6662`](https://github.com/triggerdotdev/trigger.dev/commit/98adb6662562dbfa99f7c026ddb544c4486e03f6))
- Add `webhooks.hookdeck()`, a source for deliveries relayed through a Hookdeck connection. It verifies the `x-hookdeck-signature` header with the project's signing secret, keeps verifying while the secret is being rolled (Hookdeck sends the previous secret's signature in `x-hookdeck-signature-2`), and deduplicates retries on `x-hookdeck-eventid`. The event is the original provider's payload, so pass its type: `webhooks.hookdeck<Stripe.Event>()`. If the Hookdeck project's header prefix was changed, pass it as `webhooks.hookdeck({ headerPrefix })` so retries keep deduplicating. ([`51b39fbc6`](https://github.com/triggerdotdev/trigger.dev/commit/51b39fbc6ff0eeeda78fd292d974e7aaa747a086))

## 4.7.6

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@trigger.dev/core",
"version": "4.7.6",
"version": "4.8.0",
"description": "Core code used across the Trigger.dev SDK and platform",
"license": "MIT",
"publishConfig": {
Expand Down
Loading
Loading