refactor: unify shared utility normalization helpers

This commit is contained in:
Peter Steinberger
2026-03-07 20:10:54 +00:00
parent 30d091b2fb
commit 3ec81709d7
12 changed files with 115 additions and 53 deletions

View File

@@ -0,0 +1,14 @@
import { describe, expect, it } from "vitest";
import { SESSION_ID_RE, looksLikeSessionId } from "./session-id.js";
describe("session-id", () => {
it("matches canonical UUID session ids", () => {
expect(SESSION_ID_RE.test("123e4567-e89b-12d3-a456-426614174000")).toBe(true);
expect(looksLikeSessionId(" 123e4567-e89b-12d3-a456-426614174000 ")).toBe(true);
});
it("rejects non-session-id values", () => {
expect(SESSION_ID_RE.test("agent:main:main")).toBe(false);
expect(looksLikeSessionId("session-label")).toBe(false);
});
});

View File

@@ -0,0 +1,5 @@
export const SESSION_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
export function looksLikeSessionId(value: string): boolean {
return SESSION_ID_RE.test(value.trim());
}