diff --git a/.changeset/pre.json b/.changeset/pre.json index 7c0d538dc0..7d404f5e8d 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -29,9 +29,12 @@ "cap-idempotency-key-length", "chat-agent-hardening", "chat-agent-on-boot-hook", + "chat-agent-preview-branch", "chat-agent-tools", "chat-agent", "chat-boot-cursor", + "chat-head-start-prepare-messages", + "chat-headstart-api-client", "chat-headstart-custom-backends", "chat-headstart-hydrate", "chat-headstart-reasoning", @@ -40,6 +43,7 @@ "chat-session-attributes", "chat-slim-wire-merge", "chat-start-session-action-typed-client-data", + "chat-start-session-api-client", "chat-system-prompt-caching", "chat-transport-recreate-missing-session", "cli-deploy-skip-rewrite-timestamp", @@ -49,14 +53,18 @@ "create-session-stop-continuation", "custom-agent-loop-fixes", "dequeue-latency-histogram", + "dev-branches", "duplicate-task-ids", "env-vars-tracing-forceflush-typecheck", "envvars-import-is-secret", + "errors-api-schemas", + "httpserver-skip-body-parsing", "large-trigger-payload-offload", "locals-key-dual-package-fix", "mcp-agent-chat-sessions", "mcp-list-runs-region", "mcp-trigger-task-no-default-wait", + "mint-token-command", "mock-chat-agent-test-harness", "mollifier-buffer-pipeline-list-entries", "mollifier-configurable-constants", @@ -69,6 +77,7 @@ "resource-catalog-runtime-registration", "retry-middleware-errors", "retry-sigsegv", + "runner-send-debug-logs-gate", "runs-list-region-filter", "s2-batch-transform-linger-fix", "sessions-primitive", diff --git a/.server-changes/cached-task-icon-svg.md b/.server-changes/cached-task-icon-svg.md deleted file mode 100644 index 7a675e01e1..0000000000 --- a/.server-changes/cached-task-icon-svg.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Refresh the task and cached-task span icons shown in the run trace view with new SVG artwork. diff --git a/.server-changes/dequeue-region-gate.md b/.server-changes/dequeue-region-gate.md deleted file mode 100644 index d4f9d6979c..0000000000 --- a/.server-changes/dequeue-region-gate.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -Add a `RUN_ENGINE_DEQUEUE_DISABLED_WORKER_QUEUES` setting that refuses worker dequeue requests for the listed worker queues (or base regions), so their runs stay queued instead of being handed to workers that can't run them. diff --git a/.server-changes/dev-branches.md b/.server-changes/dev-branches.md deleted file mode 100644 index 634d4af1f1..0000000000 --- a/.server-changes/dev-branches.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -Adds support for dev branches similar to the preview branches already supported. diff --git a/.server-changes/llm-spend-currency-label.md b/.server-changes/llm-spend-currency-label.md deleted file mode 100644 index 7084821f74..0000000000 --- a/.server-changes/llm-spend-currency-label.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Add a currency unit to the agent dashboard "LLM spend" chart label, so it now reads "LLM spend ($)". diff --git a/.server-changes/logs-search-memory-and-pagination.md b/.server-changes/logs-search-memory-and-pagination.md deleted file mode 100644 index 70d32b32bd..0000000000 --- a/.server-changes/logs-search-memory-and-pagination.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Keep logs search within bounded ClickHouse memory when browsing long time ranges, and fix pagination that could skip or duplicate entries sharing a timestamp. diff --git a/.server-changes/prisma-infrastructure-error-capture.md b/.server-changes/prisma-infrastructure-error-capture.md deleted file mode 100644 index 400cc9ddb6..0000000000 --- a/.server-changes/prisma-infrastructure-error-capture.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Log Prisma infrastructure errors (P1xxx) centrally and obfuscate their messages (which carry the DB hostname) on API responses that previously returned the raw message, without changing status codes or headers. diff --git a/.server-changes/rbac-permission-enforcement.md b/.server-changes/rbac-permission-enforcement.md deleted file mode 100644 index 1d72b0d7b3..0000000000 --- a/.server-changes/rbac-permission-enforcement.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -Enforce role-based permissions across the dashboard and API. New permission boundaries cover: runs (cancel, replay, bulk actions), deployments (rollback, promote, cancel), prompt versions, organization members (invite, resend, revoke), billing and seat purchases, integrations (GitHub and Vercel), and environment variables and API keys (restricted by environment tier). Roles without access can no longer read or change these, gated controls are disabled with a tooltip, and gated pages show a permission-denied panel instead of redirecting away. Behaviour is unchanged in the default configuration, where permissions stay permissive. diff --git a/.server-changes/remove-worker-create-endpoint.md b/.server-changes/remove-worker-create-endpoint.md deleted file mode 100644 index dd7c204187..0000000000 --- a/.server-changes/remove-worker-create-endpoint.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: breaking ---- - -Remove the unused worker group management API endpoints (GET and POST /api/v1/workers). diff --git a/.server-changes/route-taskrun-reads-through-run-store.md b/.server-changes/route-taskrun-reads-through-run-store.md deleted file mode 100644 index dad804e40b..0000000000 --- a/.server-changes/route-taskrun-reads-through-run-store.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Route Postgres task run reads through the run store so they can be retargeted to a different backing store without changing call sites. diff --git a/.server-changes/sessions-test-column.md b/.server-changes/sessions-test-column.md deleted file mode 100644 index 4e28034b2b..0000000000 --- a/.server-changes/sessions-test-column.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -Agent sessions started from the Test playground are now flagged with a real `Session.isTest` boolean instead of a `"playground"` tag, surfaced as a dedicated "Test" column (check icon) in the Sessions table on both the Sessions and Agent pages, plus a matching property on the session detail page. The legacy `"playground"` tag is hidden from the Tags display on pre-existing sessions. diff --git a/.server-changes/sso.md b/.server-changes/sso.md deleted file mode 100644 index 67880748cc..0000000000 --- a/.server-changes/sso.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -SAML/OIDC single sign-on: SSO login with optional per-domain enforcement, JIT provisioning, and periodic re-validation against the IdP. diff --git a/.server-changes/supervisor-pod-count-backpressure.md b/.server-changes/supervisor-pod-count-backpressure.md deleted file mode 100644 index f45411b04a..0000000000 --- a/.server-changes/supervisor-pod-count-backpressure.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: supervisor -type: feature ---- - -The supervisor can pause dequeuing when the Kubernetes cluster is saturated, based on the cluster's total pod count. Opt-in and off by default. diff --git a/.server-changes/swap-task-icons.md b/.server-changes/swap-task-icons.md deleted file mode 100644 index 13605675e3..0000000000 --- a/.server-changes/swap-task-icons.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Update the dashboard task icons with a new glyph design. diff --git a/.server-changes/task-run-plan-type-clickhouse.md b/.server-changes/task-run-plan-type-clickhouse.md deleted file mode 100644 index c795e4f7b3..0000000000 --- a/.server-changes/task-run-plan-type-clickhouse.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Store the run's plan type on the runs analytics table so reporting can group runs by plan. diff --git a/.server-changes/task-type-filter-segmented-control.md b/.server-changes/task-type-filter-segmented-control.md deleted file mode 100644 index a9f5d68c55..0000000000 --- a/.server-changes/task-type-filter-segmented-control.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Replace the Task type filter on the Tasks page with a segmented control: "All" plus icon-only Agent, Standard, and Scheduled segments (each with a tooltip showing its label and number-key shortcut). Filtering is now single-select (one task type at a time) instead of multi-select. Shortcut keys 0–3 select each segment. diff --git a/.server-changes/verify-deployment-image-before-finalize.md b/.server-changes/verify-deployment-image-before-finalize.md deleted file mode 100644 index f821da4944..0000000000 --- a/.server-changes/verify-deployment-image-before-finalize.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Verify a deployment's image exists in the registry before marking it deployed, so a deploy whose image wasn't pushed fails instead of silently breaking runs (can be turned off via `DEPLOY_IMAGE_VERIFICATION_ENABLED=0` for setups that push images out of band) diff --git a/.server-changes/worker-queue-length-always-reported.md b/.server-changes/worker-queue-length-always-reported.md deleted file mode 100644 index ccce193d9f..0000000000 --- a/.server-changes/worker-queue-length-always-reported.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Optionally report worker queue length metrics continuously (enabled per-service via the RUN_ENGINE_WORKER_QUEUE_OBSERVER_ENABLED env var) so a queue's depth keeps being emitted even when nothing is dequeuing from it. diff --git a/hosting/k8s/helm/Chart.yaml b/hosting/k8s/helm/Chart.yaml index 42383d2c65..481dbaff61 100644 --- a/hosting/k8s/helm/Chart.yaml +++ b/hosting/k8s/helm/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: trigger description: The official Trigger.dev Helm chart type: application -version: 4.5.0-rc.7 -appVersion: v4.5.0-rc.7 +version: 4.5.0-rc.8 +appVersion: v4.5.0-rc.8 home: https://trigger.dev sources: - https://github.com/triggerdotdev/trigger.dev diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md index 2e4aa60f03..856cf2df36 100644 --- a/packages/build/CHANGELOG.md +++ b/packages/build/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/build +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/build/package.json b/packages/build/package.json index 5c21745d4b..41c423e85a 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/build", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "trigger.dev build extensions", "license": "MIT", "publishConfig": { @@ -78,7 +78,7 @@ }, "dependencies": { "@prisma/config": "^6.10.0", - "@trigger.dev/core": "workspace:4.5.0-rc.7", + "@trigger.dev/core": "workspace:4.5.0-rc.8", "mlly": "^1.7.1", "pkg-types": "^1.1.3", "resolve": "^1.22.8", diff --git a/packages/cli-v3/CHANGELOG.md b/packages/cli-v3/CHANGELOG.md index 6cd084509d..ff95d4cec1 100644 --- a/packages/cli-v3/CHANGELOG.md +++ b/packages/cli-v3/CHANGELOG.md @@ -1,5 +1,22 @@ # trigger.dev +## 4.5.0-rc.8 + +### Patch Changes + +- Add support for dev branches to the webapp and CLI. This allows humans (and agents) to run multiple local dev servers simultaneously, with a separate dashboard for each one. ([#4023](https://github.com/triggerdotdev/trigger.dev/pull/4023)) +- Adds `trigger.dev mint-token`, which mints a short-lived delegated token from your stored personal access token. The token authenticates against the API as you, can be narrowed with `--cap` and given a lifetime with `--ttl`, and prints to stdout so it can be captured. ([#3997](https://github.com/triggerdotdev/trigger.dev/pull/3997)) + + ```bash + UAT=$(trigger.dev mint-token --ttl 3600 --cap read:runs) + ``` + +- Runner debug logs are now disabled by default. Set `SEND_RUN_DEBUG_LOGS=true` on the supervisor to re-enable them. ([#3992](https://github.com/triggerdotdev/trigger.dev/pull/3992)) +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + - `@trigger.dev/build@4.5.0-rc.8` + - `@trigger.dev/schema-to-json@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/cli-v3/package.json b/packages/cli-v3/package.json index a8dc8908f6..5b412b45fe 100644 --- a/packages/cli-v3/package.json +++ b/packages/cli-v3/package.json @@ -1,6 +1,6 @@ { "name": "trigger.dev", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "A Command-Line Interface for Trigger.dev projects", "type": "module", "license": "MIT", @@ -97,9 +97,9 @@ "@opentelemetry/sdk-trace-node": "2.7.1", "@opentelemetry/semantic-conventions": "1.41.1", "@s2-dev/streamstore": "^0.22.10", - "@trigger.dev/build": "workspace:4.5.0-rc.7", - "@trigger.dev/core": "workspace:4.5.0-rc.7", - "@trigger.dev/schema-to-json": "workspace:4.5.0-rc.7", + "@trigger.dev/build": "workspace:4.5.0-rc.8", + "@trigger.dev/core": "workspace:4.5.0-rc.8", + "@trigger.dev/schema-to-json": "workspace:4.5.0-rc.8", "ansi-escapes": "^7.0.0", "braces": "^3.0.3", "c12": "^1.11.1", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index ab55cbb873..8f1ef46659 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,13 @@ # internal-platform +## 4.5.0-rc.8 + +### Patch Changes + +- Add support for dev branches to the webapp and CLI. This allows humans (and agents) to run multiple local dev servers simultaneously, with a separate dashboard for each one. ([#4023](https://github.com/triggerdotdev/trigger.dev/pull/4023)) +- Add request and response schemas for the new Errors API (error groups). These back the env-scoped HTTP endpoints for listing error groups, retrieving a single group, and changing its state (resolve, ignore, unresolve), plus a `filter[error]` option on the runs list to fetch the runs behind a group. Exported from `@trigger.dev/core/v3` so the SDK can reuse them. ([#4005](https://github.com/triggerdotdev/trigger.dev/pull/4005)) +- Add an optional `skipBodyParsing` flag to the internal HTTP server route definition, letting a route respond without reading or parsing the request body. ([#4009](https://github.com/triggerdotdev/trigger.dev/pull/4009)) + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index a3d220c6ea..2a3572032b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/core", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "Core code used across the Trigger.dev SDK and platform", "license": "MIT", "publishConfig": { diff --git a/packages/plugins/CHANGELOG.md b/packages/plugins/CHANGELOG.md index ae387c569b..ec356378e4 100644 --- a/packages/plugins/CHANGELOG.md +++ b/packages/plugins/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/plugins +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/plugins/package.json b/packages/plugins/package.json index dd3e8e9a63..0962722539 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/plugins", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "Plugin contracts and interfaces for Trigger.dev", "license": "MIT", "private": true, diff --git a/packages/python/CHANGELOG.md b/packages/python/CHANGELOG.md index 656fae1b62..d677b4b9dc 100644 --- a/packages/python/CHANGELOG.md +++ b/packages/python/CHANGELOG.md @@ -1,5 +1,14 @@ # @trigger.dev/python +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/sdk@4.5.0-rc.8` + - `@trigger.dev/core@4.5.0-rc.8` + - `@trigger.dev/build@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/python/package.json b/packages/python/package.json index 0ed3e7270a..88ff5add3f 100644 --- a/packages/python/package.json +++ b/packages/python/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/python", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "Python runtime and build extension for Trigger.dev", "license": "MIT", "publishConfig": { @@ -45,7 +45,7 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:4.5.0-rc.7", + "@trigger.dev/core": "workspace:4.5.0-rc.8", "tinyexec": "^0.3.2" }, "devDependencies": { @@ -56,12 +56,12 @@ "tsx": "4.17.0", "esbuild": "^0.23.0", "@arethetypeswrong/cli": "^0.15.4", - "@trigger.dev/build": "workspace:4.5.0-rc.7", - "@trigger.dev/sdk": "workspace:4.5.0-rc.7" + "@trigger.dev/build": "workspace:4.5.0-rc.8", + "@trigger.dev/sdk": "workspace:4.5.0-rc.8" }, "peerDependencies": { - "@trigger.dev/sdk": "workspace:^4.5.0-rc.7", - "@trigger.dev/build": "workspace:^4.5.0-rc.7" + "@trigger.dev/sdk": "workspace:^4.5.0-rc.8", + "@trigger.dev/build": "workspace:^4.5.0-rc.8" }, "engines": { "node": ">=18.20.0" diff --git a/packages/react-hooks/CHANGELOG.md b/packages/react-hooks/CHANGELOG.md index ef31d170e6..2b001899f5 100644 --- a/packages/react-hooks/CHANGELOG.md +++ b/packages/react-hooks/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/react-hooks +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index 15964513a9..8478476a20 100644 --- a/packages/react-hooks/package.json +++ b/packages/react-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/react-hooks", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "trigger.dev react hooks", "license": "MIT", "publishConfig": { @@ -37,7 +37,7 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:^4.5.0-rc.7", + "@trigger.dev/core": "workspace:^4.5.0-rc.8", "swr": "^2.2.5" }, "devDependencies": { diff --git a/packages/redis-worker/CHANGELOG.md b/packages/redis-worker/CHANGELOG.md index e3fcc56aca..4a68c90be8 100644 --- a/packages/redis-worker/CHANGELOG.md +++ b/packages/redis-worker/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/redis-worker +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/redis-worker/package.json b/packages/redis-worker/package.json index 22b8a1b62d..0112303b36 100644 --- a/packages/redis-worker/package.json +++ b/packages/redis-worker/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/redis-worker", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "Redis worker for trigger.dev", "license": "MIT", "publishConfig": { @@ -23,7 +23,7 @@ "test": "vitest --sequence.concurrent=false --no-file-parallelism" }, "dependencies": { - "@trigger.dev/core": "workspace:4.5.0-rc.7", + "@trigger.dev/core": "workspace:4.5.0-rc.8", "lodash.omit": "^4.5.0", "nanoid": "^5.0.7", "p-limit": "^6.2.0", diff --git a/packages/rsc/CHANGELOG.md b/packages/rsc/CHANGELOG.md index b800119490..f7b251c91f 100644 --- a/packages/rsc/CHANGELOG.md +++ b/packages/rsc/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/rsc +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/rsc/package.json b/packages/rsc/package.json index 62379932af..7ab0043bd3 100644 --- a/packages/rsc/package.json +++ b/packages/rsc/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/rsc", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "trigger.dev rsc", "license": "MIT", "publishConfig": { @@ -37,14 +37,14 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:^4.5.0-rc.7", + "@trigger.dev/core": "workspace:^4.5.0-rc.8", "mlly": "^1.7.1", "react": "19.0.0-rc.1", "react-dom": "19.0.0-rc.1" }, "devDependencies": { "@arethetypeswrong/cli": "^0.15.4", - "@trigger.dev/build": "workspace:^4.5.0-rc.7", + "@trigger.dev/build": "workspace:^4.5.0-rc.8", "@types/node": "^20.14.14", "@types/react": "*", "@types/react-dom": "*", diff --git a/packages/schema-to-json/CHANGELOG.md b/packages/schema-to-json/CHANGELOG.md index 1fb14cc02b..f0ca1d7040 100644 --- a/packages/schema-to-json/CHANGELOG.md +++ b/packages/schema-to-json/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/schema-to-json +## 4.5.0-rc.8 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/schema-to-json/package.json b/packages/schema-to-json/package.json index b1be66594a..24f3cde378 100644 --- a/packages/schema-to-json/package.json +++ b/packages/schema-to-json/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/schema-to-json", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "Convert various schema validation libraries to JSON Schema", "license": "MIT", "publishConfig": { diff --git a/packages/trigger-sdk/CHANGELOG.md b/packages/trigger-sdk/CHANGELOG.md index 47dc203b12..9a0c52473c 100644 --- a/packages/trigger-sdk/CHANGELOG.md +++ b/packages/trigger-sdk/CHANGELOG.md @@ -1,5 +1,35 @@ # @trigger.dev/sdk +## 4.5.0-rc.8 + +### Patch Changes + +- Fix `chat.agent` / `AgentChat` when the agent is deployed to a Trigger.dev preview branch. The realtime message-append and stream-subscribe calls now send the `x-trigger-branch` header (sourced from the same resolver `sessions.start` uses), so messaging a preview-branch chat agent no longer fails with `x-trigger-branch header required for preview env`. ([#4018](https://github.com/triggerdotdev/trigger.dev/pull/4018)) +- Fix Head Start handovers breaking when a `chat.agent` also defines a `prepareMessages` hook. A handover hands the first turn's pending tool call to the agent as a tool-approval round whose trailing tool message must reach the model untouched. A `prepareMessages` hook that rewrites the last message (for example the recommended prompt-caching breakpoint) could disturb it, so the turn failed with "tool_use ids were found without tool_result". The agent now preserves that approval tail across `prepareMessages`, so caching and Head Start compose cleanly. ([#4018](https://github.com/triggerdotdev/trigger.dev/pull/4018)) +- `chat.headStart` now accepts an `apiClient` option (base URL + access token), so the head-start route can create the session and trigger the agent run against a different project/environment than the warm server's ambient Trigger config. Useful when your `chat.agent` lives in a separate project from the app serving the route. Mirrors the `apiClient` option on `chat.createStartSessionAction`; your LLM provider keys stay in the `run` callback and are unaffected. ([#4018](https://github.com/triggerdotdev/trigger.dev/pull/4018)) + + ```ts + export const POST = chat.headStart({ + agentId: "my-agent", + apiClient: { baseURL, accessToken }, + run: async ({ chat }) => + streamText({ ...chat.toStreamTextOptions({ tools }), model: anthropic("claude-sonnet-4-6") }), + }); + ``` + +- `chat.createStartSessionAction` now accepts an `apiClient` option, so you can scope a chat session start to a specific environment's API config (`baseURL` / `accessToken`) without setting a global `TRIGGER_SECRET_KEY`. Useful when one server starts chats across more than one environment. ([#4018](https://github.com/triggerdotdev/trigger.dev/pull/4018)) + + ```ts + const startSession = chat.createStartSessionAction("my-chat", { + apiClient: { baseURL, accessToken }, + }); + + await startSession({ chatId, clientData }); + ``` + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.8` + ## 4.5.0-rc.7 ### Patch Changes diff --git a/packages/trigger-sdk/package.json b/packages/trigger-sdk/package.json index 87591c5242..c839d28ee9 100644 --- a/packages/trigger-sdk/package.json +++ b/packages/trigger-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/sdk", - "version": "4.5.0-rc.7", + "version": "4.5.0-rc.8", "description": "trigger.dev Node.JS SDK", "license": "MIT", "publishConfig": { @@ -77,7 +77,7 @@ "dependencies": { "@opentelemetry/api": "1.9.1", "@opentelemetry/semantic-conventions": "1.41.1", - "@trigger.dev/core": "workspace:4.5.0-rc.7", + "@trigger.dev/core": "workspace:4.5.0-rc.8", "chalk": "^5.2.0", "cronstrue": "^2.21.0", "debug": "^4.3.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 156a5ee7ac..5d08f28007 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1608,7 +1608,7 @@ importers: specifier: ^6.10.0 version: 6.19.0(magicast@0.3.5) '@trigger.dev/core': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../core mlly: specifier: ^1.7.1 @@ -1684,13 +1684,13 @@ importers: specifier: ^0.22.10 version: 0.22.10(supports-color@10.0.0) '@trigger.dev/build': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../build '@trigger.dev/core': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../core '@trigger.dev/schema-to-json': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../schema-to-json ansi-escapes: specifier: ^7.0.0 @@ -2083,7 +2083,7 @@ importers: packages/python: dependencies: '@trigger.dev/core': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../core tinyexec: specifier: ^0.3.2 @@ -2093,10 +2093,10 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../build '@trigger.dev/sdk': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../trigger-sdk '@types/node': specifier: 20.14.14 @@ -2120,7 +2120,7 @@ importers: packages/react-hooks: dependencies: '@trigger.dev/core': - specifier: workspace:^4.5.0-rc.7 + specifier: workspace:^4.5.0-rc.8 version: link:../core react: specifier: 18.3.1 @@ -2154,7 +2154,7 @@ importers: packages/redis-worker: dependencies: '@trigger.dev/core': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../core cron-parser: specifier: ^4.9.0 @@ -2203,7 +2203,7 @@ importers: packages/rsc: dependencies: '@trigger.dev/core': - specifier: workspace:^4.5.0-rc.7 + specifier: workspace:^4.5.0-rc.8 version: link:../core mlly: specifier: ^1.7.1 @@ -2219,7 +2219,7 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:^4.5.0-rc.7 + specifier: workspace:^4.5.0-rc.8 version: link:../build '@types/node': specifier: 20.14.14 @@ -2298,7 +2298,7 @@ importers: specifier: 1.41.1 version: 1.41.1 '@trigger.dev/core': - specifier: workspace:4.5.0-rc.7 + specifier: workspace:4.5.0-rc.8 version: link:../core chalk: specifier: ^5.2.0