summaryrefslogtreecommitdiffhomepage
path: root/packages/wire
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-28 15:31:49 +0900
committerAdam Malczewski <[email protected]>2026-06-28 15:31:49 +0900
commitb60586285863f8bb82242a9df49c4d47e1235755 (patch)
treedd38669dbd8092987bc50d16dcf523c68d43c460 /packages/wire
parentfb4a9217b55dd3ba11670104ac23536416d36940 (diff)
parent076edf7d1dfc4dc818f173f751dcb1e57b5baaeb (diff)
downloaddispatch-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.ts7
-rw-r--r--packages/wire/src/index.ts7
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. */