feat: add multi-session desktop workspace
This commit is contained in:
@@ -1,16 +1,25 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { mkdir, mkdtemp } from "node:fs/promises";
|
||||
import { mkdir, mkdtemp, writeFile } from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import test from "node:test";
|
||||
import { createAgentRegistry } from "../src/bridge/agent-registry.js";
|
||||
import {
|
||||
createAgentRegistry,
|
||||
sessionDirectoryPath,
|
||||
} from "../src/bridge/agent-registry.js";
|
||||
|
||||
test("recovers an exited agent with its last Pi session reference", async () => {
|
||||
const root = await mkdtemp(join(tmpdir(), "pi-status-bridge-recovery-"));
|
||||
const home = join(root, "home");
|
||||
const sessionRoot = join(root, "sessions");
|
||||
await mkdir(home);
|
||||
const sessionFile = join(sessionRoot, "pi-session.jsonl");
|
||||
const sessionDir = sessionDirectoryPath(sessionRoot, home);
|
||||
await mkdir(sessionDir, { recursive: true });
|
||||
const sessionFile = join(sessionDir, "pi-session.jsonl");
|
||||
await writeFile(
|
||||
sessionFile,
|
||||
`${JSON.stringify({ type: "session", version: 3, id: "recovery", cwd: home })}\n`,
|
||||
);
|
||||
const calls = [];
|
||||
const registry = createAgentRegistry({
|
||||
homeWorktree: home,
|
||||
|
||||
Reference in New Issue
Block a user