diff options
| author | Adam Malczewski <[email protected]> | 2026-06-28 15:31:49 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-28 15:31:49 +0900 |
| commit | b60586285863f8bb82242a9df49c4d47e1235755 (patch) | |
| tree | dd38669dbd8092987bc50d16dcf523c68d43c460 /packages/wire | |
| parent | fb4a9217b55dd3ba11670104ac23536416d36940 (diff) | |
| parent | 076edf7d1dfc4dc818f173f751dcb1e57b5baaeb (diff) | |
| download | dispatch-b60586285863f8bb82242a9df49c4d47e1235755.tar.gz dispatch-b60586285863f8bb82242a9df49c4d47e1235755.zip | |
Merge branch 'feature/workspace-star' into predev
# Conflicts:
# packages/provider-concurrency/src/concurrency-manager.ts
# packages/provider-concurrency/src/extension.ts
Diffstat (limited to 'packages/wire')
| -rw-r--r-- | packages/wire/src/index.test.ts | 7 | ||||
| -rw-r--r-- | packages/wire/src/index.ts | 7 |
2 files changed, 13 insertions, 1 deletions
diff --git a/packages/wire/src/index.test.ts b/packages/wire/src/index.test.ts index 81d10c1..2886ccb 100644 --- a/packages/wire/src/index.test.ts +++ b/packages/wire/src/index.test.ts @@ -42,19 +42,24 @@ describe("@dispatch/wire — Computer / Workspace shapes", () => { expect(entry.usageCount).toBe(3); }); - it("a Workspace carries defaultComputerId (null = local)", () => { + it("a Workspace carries defaultComputerId (null = local) and starred", () => { const remote: Workspace = { id: "default", title: "Default", defaultCwd: null, defaultComputerId: "myserver", + starred: false, createdAt: 0, lastActivityAt: 0, }; expect(remote.defaultComputerId).toBe("myserver"); + expect(remote.starred).toBe(false); const local: Workspace = { ...remote, defaultComputerId: null }; expect(local.defaultComputerId).toBeNull(); + + const starred: Workspace = { ...remote, starred: true }; + expect(starred.starred).toBe(true); }); }); diff --git a/packages/wire/src/index.ts b/packages/wire/src/index.ts index 113f684..aa5b6a8 100644 --- a/packages/wire/src/index.ts +++ b/packages/wire/src/index.ts @@ -651,6 +651,13 @@ export interface Workspace { * (per-conv `computerId` → this → `null`/local). */ readonly defaultComputerId: string | null; + /** + * Whether the workspace is starred by the user. Starred workspaces receive + * PRIORITY in the concurrency limiter queue — their agents jump ahead of + * agents from non-starred workspaces (oldest-agent-first within each group). + * Defaults to `false` on creation. + */ + readonly starred: boolean; /** Epoch-ms when the workspace was first created. */ readonly createdAt: number; /** Epoch-ms of the most recent conversation activity in this workspace. */ |
