From a1d67cf85596eadba7121dd29b90649fc7819c14 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Jun 2026 07:29:44 +0000 Subject: [PATCH] chore: release (rc) --- .changeset/pre.json | 8 +++ .../fix-queue-search-performance.md | 6 -- .../harden-realtime-change-publishing.md | 6 -- .server-changes/hide-self-serve-billing-ui.md | 6 -- .../llm-cost-cached-token-double-charge.md | 6 -- .../locked-version-trigger-stale-replica.md | 6 -- .server-changes/models-page-usage-tabs.md | 6 -- .../plan-aware-compute-migration.md | 6 -- .server-changes/playground-history-tab.md | 6 -- .../prevent-db-seed-script-hang.md | 6 -- .server-changes/quiet-expected-error-logs.md | 6 -- .server-changes/search-input-rerender.md | 6 -- .../standard-task-sidebar-properties.md | 6 -- .../task-meta-cache-resolution-metrics.md | 6 -- .../vercel-sync-reserved-env-vars.md | 6 -- .../warm-start-delivery-verification.md | 6 -- .../workload-create-duration-metric.md | 6 -- hosting/k8s/helm/Chart.yaml | 4 +- packages/build/CHANGELOG.md | 7 ++ packages/build/package.json | 4 +- packages/cli-v3/CHANGELOG.md | 12 ++++ packages/cli-v3/package.json | 8 +-- packages/core/CHANGELOG.md | 6 ++ packages/core/package.json | 2 +- packages/plugins/CHANGELOG.md | 7 ++ packages/plugins/package.json | 2 +- packages/python/CHANGELOG.md | 9 +++ packages/python/package.json | 12 ++-- packages/react-hooks/CHANGELOG.md | 7 ++ packages/react-hooks/package.json | 4 +- packages/redis-worker/CHANGELOG.md | 7 ++ packages/redis-worker/package.json | 4 +- packages/rsc/CHANGELOG.md | 7 ++ packages/rsc/package.json | 6 +- packages/schema-to-json/CHANGELOG.md | 7 ++ packages/schema-to-json/package.json | 2 +- packages/trigger-sdk/CHANGELOG.md | 72 +++++++++++++++++++ packages/trigger-sdk/package.json | 4 +- pnpm-lock.yaml | 24 +++---- 39 files changed, 187 insertions(+), 134 deletions(-) delete mode 100644 .server-changes/fix-queue-search-performance.md delete mode 100644 .server-changes/harden-realtime-change-publishing.md delete mode 100644 .server-changes/hide-self-serve-billing-ui.md delete mode 100644 .server-changes/llm-cost-cached-token-double-charge.md delete mode 100644 .server-changes/locked-version-trigger-stale-replica.md delete mode 100644 .server-changes/models-page-usage-tabs.md delete mode 100644 .server-changes/plan-aware-compute-migration.md delete mode 100644 .server-changes/playground-history-tab.md delete mode 100644 .server-changes/prevent-db-seed-script-hang.md delete mode 100644 .server-changes/quiet-expected-error-logs.md delete mode 100644 .server-changes/search-input-rerender.md delete mode 100644 .server-changes/standard-task-sidebar-properties.md delete mode 100644 .server-changes/task-meta-cache-resolution-metrics.md delete mode 100644 .server-changes/vercel-sync-reserved-env-vars.md delete mode 100644 .server-changes/warm-start-delivery-verification.md delete mode 100644 .server-changes/workload-create-duration-metric.md diff --git a/.changeset/pre.json b/.changeset/pre.json index 5ef1d58fbac..7c0d538dc0c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -19,6 +19,7 @@ "@trigger.dev/sdk": "4.4.6" }, "changesets": [ + "agent-skills-bundled-in-sdk", "agent-skills", "ai-prompts", "ai-sdk-7-support", @@ -31,17 +32,22 @@ "chat-agent-tools", "chat-agent", "chat-boot-cursor", + "chat-headstart-custom-backends", "chat-headstart-hydrate", "chat-headstart-reasoning", + "chat-headstart-trigger-config", "chat-history-read-primitives", "chat-session-attributes", "chat-slim-wire-merge", "chat-start-session-action-typed-client-data", + "chat-system-prompt-caching", "chat-transport-recreate-missing-session", "cli-deploy-skip-rewrite-timestamp", + "cli-dev-without-project", "cli-init-ai-tooling", "coerce-concurrency-key-to-string", "create-session-stop-continuation", + "custom-agent-loop-fixes", "dequeue-latency-histogram", "duplicate-task-ids", "env-vars-tracing-forceflush-typecheck", @@ -66,7 +72,9 @@ "runs-list-region-filter", "s2-batch-transform-linger-fix", "sessions-primitive", + "span-api-cached-cost", "trigger-client", + "trigger-skill-namespace-and-docs", "trigger-skills-installer", "unflatten-attributes-conflict", "warm-start-external-trace-context-leak" diff --git a/.server-changes/fix-queue-search-performance.md b/.server-changes/fix-queue-search-performance.md deleted file mode 100644 index 70ff184f1f0..00000000000 --- a/.server-changes/fix-queue-search-performance.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Speed up queue search by skipping count on filtered queries and using hasMore pagination diff --git a/.server-changes/harden-realtime-change-publishing.md b/.server-changes/harden-realtime-change-publishing.md deleted file mode 100644 index 0dff1e1ea04..00000000000 --- a/.server-changes/harden-realtime-change-publishing.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Harden the native realtime backend's run-change publishing so a publish can never throw into a run lifecycle operation and never buffers commands in memory during a pub/sub Redis outage. diff --git a/.server-changes/hide-self-serve-billing-ui.md b/.server-changes/hide-self-serve-billing-ui.md deleted file mode 100644 index 1aef06007e7..00000000000 --- a/.server-changes/hide-self-serve-billing-ui.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Hide self-serve billing and upgrade options for directly-billed organizations; show Contact us instead. diff --git a/.server-changes/llm-cost-cached-token-double-charge.md b/.server-changes/llm-cost-cached-token-double-charge.md deleted file mode 100644 index c34b52de7a4..00000000000 --- a/.server-changes/llm-cost-cached-token-double-charge.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -LLM cost no longer double-counts cached input tokens. Prompt-cache reads and writes are now billed once at their cache rate instead of also being charged at the full input price, so cost and cache hit-rate figures on the AI metrics dashboard and Models page are accurate. diff --git a/.server-changes/locked-version-trigger-stale-replica.md b/.server-changes/locked-version-trigger-stale-replica.md deleted file mode 100644 index 921006f264a..00000000000 --- a/.server-changes/locked-version-trigger-stale-replica.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Fix locked-version triggers such as triggerAndWait occasionally failing with "task not found on locked version" for a task that is actually registered, by confirming against the primary database when the read replica returns no row. diff --git a/.server-changes/models-page-usage-tabs.md b/.server-changes/models-page-usage-tabs.md deleted file mode 100644 index 6b37b45dd20..00000000000 --- a/.server-changes/models-page-usage-tabs.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -The Models page now has a Your models tab showing your project's model usage (cost, calls, latency, prompt-cache savings, and trend sparklines over a selectable time range) alongside the full model library, ordered by provider relevance and release date. The AI metrics dashboard also gains a caching section with cache hit rate, cached tokens, and estimated savings. diff --git a/.server-changes/plan-aware-compute-migration.md b/.server-changes/plan-aware-compute-migration.md deleted file mode 100644 index bc42ccc6473..00000000000 --- a/.server-changes/plan-aware-compute-migration.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: feature ---- - -Gradually roll out a new run execution backend to a configurable percentage of organizations. diff --git a/.server-changes/playground-history-tab.md b/.server-changes/playground-history-tab.md deleted file mode 100644 index b3ba2d84fa1..00000000000 --- a/.server-changes/playground-history-tab.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Move the agent playground "Recent" conversations popover into a dedicated "History" tab in the sidebar, with the currently active conversation highlighted. diff --git a/.server-changes/prevent-db-seed-script-hang.md b/.server-changes/prevent-db-seed-script-hang.md deleted file mode 100644 index 03aa82533ca..00000000000 --- a/.server-changes/prevent-db-seed-script-hang.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Exit db:seed script on success to prevent hanging. diff --git a/.server-changes/quiet-expected-error-logs.md b/.server-changes/quiet-expected-error-logs.md deleted file mode 100644 index 2a51406adf5..00000000000 --- a/.server-changes/quiet-expected-error-logs.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Log expected auth-code and checkpoint-restore conditions at `warn` instead of `error`. diff --git a/.server-changes/search-input-rerender.md b/.server-changes/search-input-rerender.md deleted file mode 100644 index aea6f07c98b..00000000000 --- a/.server-changes/search-input-rerender.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Fix the task page search bar clearing or resetting while typing, caused by a re-render race between the input sync effect and the activity charts. diff --git a/.server-changes/standard-task-sidebar-properties.md b/.server-changes/standard-task-sidebar-properties.md deleted file mode 100644 index fe9c39fe49b..00000000000 --- a/.server-changes/standard-task-sidebar-properties.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Expand the standard task landing page sidebar to surface more task metadata: description, export name, worker version, queue (with concurrency + paused state), machine, max duration, TTL, retry config, and payload schema presence. diff --git a/.server-changes/task-meta-cache-resolution-metrics.md b/.server-changes/task-meta-cache-resolution-metrics.md deleted file mode 100644 index 07b47adcb6f..00000000000 --- a/.server-changes/task-meta-cache-resolution-metrics.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: improvement ---- - -Emit metrics for task metadata cache resolution on the trigger path, surfacing the cache hit rate and how often a read replica returned empty for a row the primary had. diff --git a/.server-changes/vercel-sync-reserved-env-vars.md b/.server-changes/vercel-sync-reserved-env-vars.md deleted file mode 100644 index 554a5ace0af..00000000000 --- a/.server-changes/vercel-sync-reserved-env-vars.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: webapp -type: fix ---- - -Fix Vercel env var sync and onboarding preview leaking reserved `TRIGGER_*` keys. diff --git a/.server-changes/warm-start-delivery-verification.md b/.server-changes/warm-start-delivery-verification.md deleted file mode 100644 index f7eef4bb1a9..00000000000 --- a/.server-changes/warm-start-delivery-verification.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: supervisor -type: feature ---- - -Verify warm-start dispatches were acted on and cold-start the run within seconds when a dispatch is silently lost (opt-in via TRIGGER_WARM_START_VERIFY_ENABLED). diff --git a/.server-changes/workload-create-duration-metric.md b/.server-changes/workload-create-duration-metric.md deleted file mode 100644 index 643448cfcdc..00000000000 --- a/.server-changes/workload-create-duration-metric.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -area: supervisor -type: improvement ---- - -Add a `workload_create_duration_seconds` Prometheus histogram recording the duration and outcome (success/error) of workload manager create calls, labeled by backend (kubernetes/compute/docker). Previously failed creates were only visible as error logs. diff --git a/hosting/k8s/helm/Chart.yaml b/hosting/k8s/helm/Chart.yaml index fb3f3dc7861..42383d2c65c 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.6 -appVersion: v4.5.0-rc.6 +version: 4.5.0-rc.7 +appVersion: v4.5.0-rc.7 home: https://trigger.dev sources: - https://github.com/triggerdotdev/trigger.dev diff --git a/packages/build/CHANGELOG.md b/packages/build/CHANGELOG.md index 31e45e72696..2e4aa60f036 100644 --- a/packages/build/CHANGELOG.md +++ b/packages/build/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/build +## 4.5.0-rc.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/build/package.json b/packages/build/package.json index 83e928b90ed..5c21745d4b6 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/build", - "version": "4.5.0-rc.6", + "version": "4.5.0-rc.7", "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.6", + "@trigger.dev/core": "workspace:4.5.0-rc.7", "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 d9a23931c00..6cd084509d6 100644 --- a/packages/cli-v3/CHANGELOG.md +++ b/packages/cli-v3/CHANGELOG.md @@ -1,5 +1,17 @@ # trigger.dev +## 4.5.0-rc.7 + +### Patch Changes + +- `@trigger.dev/sdk` now bundles the Trigger.dev agent skills and a curated snapshot of the docs those skills reference. The skills that `trigger skills` installs into your coding agent read this content from node_modules, so the guidance your AI assistant follows is pinned to the SDK version installed in your project and stays current across upgrades instead of going stale until the next reinstall. ([#3937](https://github.com/triggerdotdev/trigger.dev/pull/3937)) +- Running a CLI command like `dev`, `deploy`, `preview`, or `update` before initializing a project no longer crashes with a raw `Cannot find matching package.json` stack trace. The CLI now detects the missing project and points you to `npx trigger.dev@latest init` instead. ([#3929](https://github.com/triggerdotdev/trigger.dev/pull/3929)) +- The agent skills installed by `trigger skills` are now namespaced with a `trigger-` prefix (e.g. `trigger-authoring-tasks`, `trigger-getting-started`) so they don't collide with unrelated skills in your coding agent's skills directory. Adds a `trigger-cost-savings` skill for auditing and reducing compute spend (right-sizing machines, `maxDuration`, batching, debounce), and `@trigger.dev/sdk` now bundles the full Trigger.dev documentation so your agent can read the complete, version-pinned reference directly from node_modules. ([#3970](https://github.com/triggerdotdev/trigger.dev/pull/3970)) +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + - `@trigger.dev/build@4.5.0-rc.7` + - `@trigger.dev/schema-to-json@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/cli-v3/package.json b/packages/cli-v3/package.json index cc2e059f207..a8dc8908f60 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.6", + "version": "4.5.0-rc.7", "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.6", - "@trigger.dev/core": "workspace:4.5.0-rc.6", - "@trigger.dev/schema-to-json": "workspace:4.5.0-rc.6", + "@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", "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 91070c88d4d..ab55cbb8736 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,11 @@ # internal-platform +## 4.5.0-rc.7 + +### Patch Changes + +- The run span API response now includes `cachedCost` and `cacheCreationCost` on the `ai` object, alongside the existing `inputCost` / `outputCost` / `totalCost`. `inputCost` reflects only the non-cached input, so these fields let you reconstruct the full cost breakdown for prompt-cached calls. ([#3958](https://github.com/triggerdotdev/trigger.dev/pull/3958)) + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 0ddde87ce86..a3d220c6eac 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/core", - "version": "4.5.0-rc.6", + "version": "4.5.0-rc.7", "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 b2cf6b87f3b..ae387c569b8 100644 --- a/packages/plugins/CHANGELOG.md +++ b/packages/plugins/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/plugins +## 4.5.0-rc.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/plugins/package.json b/packages/plugins/package.json index ac10e74544f..dd3e8e9a639 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/plugins", - "version": "4.5.0-rc.6", + "version": "4.5.0-rc.7", "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 bad8b45f52d..656fae1b620 100644 --- a/packages/python/CHANGELOG.md +++ b/packages/python/CHANGELOG.md @@ -1,5 +1,14 @@ # @trigger.dev/python +## 4.5.0-rc.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/sdk@4.5.0-rc.7` + - `@trigger.dev/core@4.5.0-rc.7` + - `@trigger.dev/build@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/python/package.json b/packages/python/package.json index 4ba0d5643d1..0ed3e7270a8 100644 --- a/packages/python/package.json +++ b/packages/python/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/python", - "version": "4.5.0-rc.6", + "version": "4.5.0-rc.7", "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.6", + "@trigger.dev/core": "workspace:4.5.0-rc.7", "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.6", - "@trigger.dev/sdk": "workspace:4.5.0-rc.6" + "@trigger.dev/build": "workspace:4.5.0-rc.7", + "@trigger.dev/sdk": "workspace:4.5.0-rc.7" }, "peerDependencies": { - "@trigger.dev/sdk": "workspace:^4.5.0-rc.6", - "@trigger.dev/build": "workspace:^4.5.0-rc.6" + "@trigger.dev/sdk": "workspace:^4.5.0-rc.7", + "@trigger.dev/build": "workspace:^4.5.0-rc.7" }, "engines": { "node": ">=18.20.0" diff --git a/packages/react-hooks/CHANGELOG.md b/packages/react-hooks/CHANGELOG.md index 787030a18a5..ef31d170e6f 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.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/react-hooks/package.json b/packages/react-hooks/package.json index 5714714cf05..15964513a98 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.6", + "version": "4.5.0-rc.7", "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.6", + "@trigger.dev/core": "workspace:^4.5.0-rc.7", "swr": "^2.2.5" }, "devDependencies": { diff --git a/packages/redis-worker/CHANGELOG.md b/packages/redis-worker/CHANGELOG.md index cc13c6a78b0..e3fcc56aca5 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.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/redis-worker/package.json b/packages/redis-worker/package.json index daf76ed755f..22b8a1b62d8 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.6", + "version": "4.5.0-rc.7", "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.6", + "@trigger.dev/core": "workspace:4.5.0-rc.7", "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 9de077e12e6..b800119490b 100644 --- a/packages/rsc/CHANGELOG.md +++ b/packages/rsc/CHANGELOG.md @@ -1,5 +1,12 @@ # @trigger.dev/rsc +## 4.5.0-rc.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/rsc/package.json b/packages/rsc/package.json index a67d1a2e9b7..62379932afa 100644 --- a/packages/rsc/package.json +++ b/packages/rsc/package.json @@ -1,6 +1,6 @@ { "name": "@trigger.dev/rsc", - "version": "4.5.0-rc.6", + "version": "4.5.0-rc.7", "description": "trigger.dev rsc", "license": "MIT", "publishConfig": { @@ -37,14 +37,14 @@ "check-exports": "attw --pack ." }, "dependencies": { - "@trigger.dev/core": "workspace:^4.5.0-rc.6", + "@trigger.dev/core": "workspace:^4.5.0-rc.7", "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.6", + "@trigger.dev/build": "workspace:^4.5.0-rc.7", "@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 549e68f83ef..1fb14cc02b2 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.7 + +### Patch Changes + +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/schema-to-json/package.json b/packages/schema-to-json/package.json index 9c85b5e840a..b1be66594a5 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.6", + "version": "4.5.0-rc.7", "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 359a796a872..47dc203b12c 100644 --- a/packages/trigger-sdk/CHANGELOG.md +++ b/packages/trigger-sdk/CHANGELOG.md @@ -1,5 +1,77 @@ # @trigger.dev/sdk +## 4.5.0-rc.7 + +### Patch Changes + +- `@trigger.dev/sdk` now bundles the Trigger.dev agent skills and a curated snapshot of the docs those skills reference. The skills that `trigger skills` installs into your coding agent read this content from node_modules, so the guidance your AI assistant follows is pinned to the SDK version installed in your project and stays current across upgrades instead of going stale until the next reinstall. ([#3937](https://github.com/triggerdotdev/trigger.dev/pull/3937)) +- `chat.headStart` now works with the `chat.customAgent` and `chat.createSession` backends, not only `chat.agent`. The warm step-1 response hands over to your loop the same way it does for a managed agent. ([#3963](https://github.com/triggerdotdev/trigger.dev/pull/3963)) + + In a `chat.customAgent` loop, consume the handover on turn 0: + + ```ts + const conversation = new chat.MessageAccumulator(); + const { isFinal, skipped } = await conversation.consumeHandover({ payload }); + if (skipped) return; // warm handler aborted, so exit without a turn + if (isFinal) { + await chat.writeTurnComplete(); // step 1 is the response, no streamText + } else { + const result = streamText({ model, messages: conversation.modelMessages, tools }); + // Pass originalMessages so the handed-over tool round merges into the + // step-1 assistant instead of starting a new message. + const response = await chat.pipeAndCapture(result, { + originalMessages: conversation.uiMessages, + }); + if (response) await conversation.addResponse(response); + } + ``` + + With `chat.createSession`, the iterator surfaces it as `turn.handover`; call `turn.complete()` with no argument on a final handover. The lower-level `chat.waitForHandover()` and `accumulator.applyHandover()` are also exported for hand-rolled loops. + +- Add `triggerConfig` support to `chat.headStart()` and `chat.openSession()`, so the auto-triggered handover-prepare run inherits tags, queue, machine, and other session trigger options the same way `chat.createStartSessionAction()` does. The `chat:{chatId}` tag is prepended automatically. ([#3963](https://github.com/triggerdotdev/trigger.dev/pull/3963)) + + ```ts + export const POST = chat.headStart({ + agentId: "my-agent", + triggerConfig: { tags: ["org:acme"], queue: "chat" }, + run: async ({ chat }) => streamText({ ...chat.toStreamTextOptions(), model }), + }); + ``` + + Because the session is created once on the first head-start turn and is idempotent on the chat id, this is the only place to set those options for a head-start chat's lifetime. `chat.createStartSessionAction()` now also forwards `maxDuration`, `region`, and `lockToVersion` so both session entry points stay consistent. + +- Cache your chat agent's system prompt with Anthropic prompt caching. `chat.toStreamTextOptions()` now emits the system prompt as a cacheable message when you opt in, so a large, stable system block is billed at cache-read rates on every turn instead of full price. ([#3952](https://github.com/triggerdotdev/trigger.dev/pull/3952)) + + ```ts + // at the streamText call site (Anthropic sugar) + streamText({ + ...chat.toStreamTextOptions({ cacheControl: { type: "ephemeral" } }), + messages, + }); + + // provider-agnostic equivalent + chat.toStreamTextOptions({ + systemProviderOptions: { anthropic: { cacheControl: { type: "ephemeral" } } }, + }); + + // or where the prompt is defined + chat.prompt.set(SYSTEM_PROMPT, { + providerOptions: { anthropic: { cacheControl: { type: "ephemeral" } } }, + }); + ``` + + Without an option, `system` stays a plain string. Pairs with a `prepareMessages` cache breakpoint to cache the conversation prefix across turns too. + +- Three fixes for custom agent loops (`chat.customAgent`, `chat.createSession`, and hand-rolled `MessageAccumulator` loops): ([#3936](https://github.com/triggerdotdev/trigger.dev/pull/3936)) + + - Continuation runs no longer replay already-answered user messages into the first turn. The `.in` resume cursor is now seeded before any listener attaches (the same boot logic `chat.agent` uses), so a chat that continues after a cancel, crash, or upgrade only sees genuinely new messages. + - Steering a hand-rolled loop mid-stream no longer wipes the in-flight assistant response. `chat.pipeAndCapture` now stamps a server-generated message id on the stream, so a `prepareStep` injection keeps the partial text instead of replacing the message. + - Task-backed tools (`ai.toolExecute`) now work from custom agent loops: the parent's session is threaded to the child run, so child tasks can stream progress into the chat with `chat.stream.writer({ target: "root" })` instead of failing with "session handle is not initialized". + +- The agent skills installed by `trigger skills` are now namespaced with a `trigger-` prefix (e.g. `trigger-authoring-tasks`, `trigger-getting-started`) so they don't collide with unrelated skills in your coding agent's skills directory. Adds a `trigger-cost-savings` skill for auditing and reducing compute spend (right-sizing machines, `maxDuration`, batching, debounce), and `@trigger.dev/sdk` now bundles the full Trigger.dev documentation so your agent can read the complete, version-pinned reference directly from node_modules. ([#3970](https://github.com/triggerdotdev/trigger.dev/pull/3970)) +- Updated dependencies: + - `@trigger.dev/core@4.5.0-rc.7` + ## 4.5.0-rc.6 ### Patch Changes diff --git a/packages/trigger-sdk/package.json b/packages/trigger-sdk/package.json index 2bbd1519de2..87591c52420 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.6", + "version": "4.5.0-rc.7", "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.6", + "@trigger.dev/core": "workspace:4.5.0-rc.7", "chalk": "^5.2.0", "cronstrue": "^2.21.0", "debug": "^4.3.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f78f48bfb8b..8327a809fef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1501,7 +1501,7 @@ importers: specifier: ^6.10.0 version: 6.19.0(magicast@0.3.5) '@trigger.dev/core': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../core mlly: specifier: ^1.7.1 @@ -1577,13 +1577,13 @@ importers: specifier: ^0.22.10 version: 0.22.10(supports-color@10.0.0) '@trigger.dev/build': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../build '@trigger.dev/core': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../core '@trigger.dev/schema-to-json': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../schema-to-json ansi-escapes: specifier: ^7.0.0 @@ -1976,7 +1976,7 @@ importers: packages/python: dependencies: '@trigger.dev/core': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../core tinyexec: specifier: ^0.3.2 @@ -1986,10 +1986,10 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../build '@trigger.dev/sdk': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../trigger-sdk '@types/node': specifier: 20.14.14 @@ -2013,7 +2013,7 @@ importers: packages/react-hooks: dependencies: '@trigger.dev/core': - specifier: workspace:^4.5.0-rc.6 + specifier: workspace:^4.5.0-rc.7 version: link:../core react: specifier: ^18.0 || ^19.0 || ^19.0.0-rc @@ -2047,7 +2047,7 @@ importers: packages/redis-worker: dependencies: '@trigger.dev/core': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../core cron-parser: specifier: ^4.9.0 @@ -2096,7 +2096,7 @@ importers: packages/rsc: dependencies: '@trigger.dev/core': - specifier: workspace:^4.5.0-rc.6 + specifier: workspace:^4.5.0-rc.7 version: link:../core mlly: specifier: ^1.7.1 @@ -2112,7 +2112,7 @@ importers: specifier: ^0.15.4 version: 0.15.4 '@trigger.dev/build': - specifier: workspace:^4.5.0-rc.6 + specifier: workspace:^4.5.0-rc.7 version: link:../build '@types/node': specifier: 20.14.14 @@ -2191,7 +2191,7 @@ importers: specifier: 1.41.1 version: 1.41.1 '@trigger.dev/core': - specifier: workspace:4.5.0-rc.6 + specifier: workspace:4.5.0-rc.7 version: link:../core chalk: specifier: ^5.2.0