Skip to content

Commit 08ee567

Browse files
committed
merge: propagate changeset consolidation and note restoration from feat/query-safety-tri-11165
2 parents c93380e + ed2c5c2 commit 08ee567

12 files changed

Lines changed: 27 additions & 31 deletions
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
"@trigger.dev/core": patch
33
"@trigger.dev/sdk": patch
4+
"trigger.dev": patch
45
---
56

6-
Chat in the browser now reconnects when the connection drops mid-turn, instead of leaving the reply stuck as if it were still generating.
7+
Chat in the browser now reconnects when the connection drops mid-turn, instead of leaving the reply stuck as if it were still generating. Reports can be fetched as structured data with the `json` format, and the shortest report period is now one minute (`30m`, `1h`, `7d`). The `mint-token` command's help is clearer too: a token minted without `--cap` is read-only, and `--ttl` shows the correct maximum lifetime of 7 days.

.changeset/chat-truncated-turn-error.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.changeset/mint-token-cap-help.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/report-json-and-period-units.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/uat-ttl-help-text.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/watch-mode-keepalive.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,4 @@
22
"@trigger.dev/sdk": patch
33
---
44

5-
Watch-mode chat subscriptions now stay connected across quiet periods.
6-
7-
Read-only chat subscriptions no longer stop a turn when they disconnect.
5+
Watch-mode chat streams now survive quiet windows and keep delivering later turns, and a reply cut off by a lost connection now shows an error instead of appearing finished.

.server-changes/dashboard-agent.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ area: webapp
33
type: feature
44
---
55

6-
Meet the dashboard agent: a chat in every environment that answers questions about your runs, queues, errors and health with real data and links, replacing Ask AI everywhere it used to appear. Investigate a failed run, an error, a backed-up queue or a run that hasn't started to get a worked-through answer — what happened, why, and how to fix it, with every claim linked to the runs, errors and deploys behind it. It reads your data read-only, works on preview and dev branches with that branch's own data, and reads the same everywhere — dashboard, terminal, editor.
6+
Meet the dashboard agent: a chat in every environment that answers questions about your runs, queues, errors and health with real data and links, replacing Ask AI everywhere it used to appear. Investigate a failed run, an error, a backed-up queue or a run that hasn't started to get a worked-through answer — what happened, why, and how to fix it, with every claim linked to the runs, errors and deploys behind it. It reads your data read-only, works on preview and dev branches with that branch's own data, and reads the same everywhere — dashboard, terminal, editor. A very long chat keeps working: the agent summarises the earlier part and carries on.
77

88
**Watch…** on a run, queue, error or the health report tells you when things change: a run finishes, a queue clears or grows past a number you pick, an error comes back, an environment recovers. The answer arrives in the chat and, if you want, by email, Slack or webhook — and the agent can look into bad news on its own. A watch reaches you on any browser you sign in from, without opening the chat first.
9+
10+
A sample of conversations is scored automatically so the agent keeps getting better; only the score and a one-line summary are kept, never your messages, data or code, and we can switch it off for your organization on request. The Docs button is gone from page headers — ask the agent instead, or open Documentation from Help & Feedback. Separately, a queue's wait times, peak depth, throughput and throttling can now be read from the API.

apps/webapp/test/contextlessPatRoutes.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ vi.mock("~/env.server", () => ({ env: mocks.env }));
3333
vi.mock("~/models/organization.server", () => ({ createOrganization: mocks.createOrganization }));
3434
vi.mock("~/services/personalAccessToken.server", () => ({
3535
updateLastAccessedAtIfStale: vi.fn(),
36+
// The plugin already verified the claims; test tokens carry no source PAT, so the
37+
// liveness recheck is a no-op that hands the claims straight back.
38+
resolveAndRecheckUserActorClaims: async (claims: unknown) => claims,
3639
}));
3740
vi.mock("~/services/authTelemetry.server", () => ({ authenticateBearerWithTelemetry: vi.fn() }));
3841
vi.mock("~/services/logger.server", () => ({

apps/webapp/test/projectEnvironmentsBranchScope.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ vi.mock("~/models/project.server", () => ({
7575
}));
7676
vi.mock("~/services/personalAccessToken.server", () => ({
7777
updateLastAccessedAtIfStale: vi.fn(),
78+
// The plugin already verified the claims; test tokens carry no source PAT, so the
79+
// liveness recheck is a no-op that hands the claims straight back.
80+
resolveAndRecheckUserActorClaims: async (claims: unknown) => claims,
7881
}));
7982
vi.mock("~/services/authTelemetry.server", () => ({ authenticateBearerWithTelemetry: vi.fn() }));
8083
vi.mock("~/services/logger.server", () => ({

apps/webapp/test/runCommitAuthorization.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ vi.mock("~/services/rbac.server", () => ({
3838
vi.mock("~/services/personalAccessToken.server", () => ({
3939
authenticateApiRequestWithPersonalAccessToken: vi.fn(),
4040
isPersonalAccessToken: () => false,
41+
// Test tokens carry no source PAT, so the liveness recheck always passes.
42+
assertSourcePatActive: async () => true,
4143
}));
4244
vi.mock("~/services/organizationAccessToken.server", () => ({
4345
authenticateApiRequestWithOrganizationAccessToken: vi.fn(),

0 commit comments

Comments
 (0)