From 0e3e14ae82eab92582b5969dd2026a31d4771e38 Mon Sep 17 00:00:00 2001 From: Waishnav Date: Wed, 5 Aug 2026 01:33:24 +0530 Subject: [PATCH] perf(workspace): shorten workspace ids --- src/workspaces.test.ts | 1 + src/workspaces.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/workspaces.test.ts b/src/workspaces.test.ts index fac8fd81..8584c1b7 100644 --- a/src/workspaces.test.ts +++ b/src/workspaces.test.ts @@ -16,6 +16,7 @@ test("a checkout exposes initial and nested instruction context while filtering const context = await fixture(t); const opened = await context.registry.openWorkspace(context.root); + assert.match(opened.workspace.id, /^ws_[a-f0-9]{10}$/); assert.equal(opened.workspace.mode, "checkout"); assert.deepEqual( opened.agentsFiles.map((file) => file.content), diff --git a/src/workspaces.ts b/src/workspaces.ts index fa8374a0..05c8b9d2 100644 --- a/src/workspaces.ts +++ b/src/workspaces.ts @@ -1,4 +1,4 @@ -import { randomUUID } from "node:crypto"; +import { randomBytes } from "node:crypto"; import type { Stats } from "node:fs"; import type { WorkspaceConversationBinding, @@ -355,7 +355,7 @@ export class WorkspaceRegistry { worktree?: WorkspaceWorktree; }): Promise { const workspace: Workspace = { - id: `ws_${randomUUID()}`, + id: `ws_${randomBytes(5).toString("hex")}`, root: input.root, mode: input.mode, sourceRoot: input.sourceRoot,