fix: add agent field to readMetadata return mapping

readMetadata() was not returning the `agent` field even though
writeMetadata() persisted it. This meant typed consumers got
undefined for session.agent while raw readers worked fine.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
suraj-markup 2026-02-24 03:54:52 +05:30
parent 46b0d1a541
commit 89fc3369d5
2 changed files with 11 additions and 0 deletions

View File

@ -303,6 +303,16 @@ describe("spawn", () => {
expect(meta).not.toBeNull();
expect(meta!["agent"]).toBe("mock-agent");
});
it("readMetadata returns agent field (typed SessionMetadata)", async () => {
const sm = createSessionManager({ config, registry: registryWithMultipleAgents });
await sm.spawn({ projectId: "my-app", agent: "codex" });
const meta = readMetadata(sessionsDir, "app-1");
expect(meta).not.toBeNull();
expect(meta!.agent).toBe("codex");
});
});
it("validates issue exists when issueId provided", async () => {

View File

@ -97,6 +97,7 @@ export function readMetadata(dataDir: string, sessionId: SessionId): SessionMeta
pr: raw["pr"],
summary: raw["summary"],
project: raw["project"],
agent: raw["agent"],
createdAt: raw["createdAt"],
runtimeHandle: raw["runtimeHandle"],
dashboardPort: raw["dashboardPort"] ? Number(raw["dashboardPort"]) : undefined,