chore: drop non-code junk (pi-mono-reference, runtime state, root duplicates)

Remove files that should never have been tracked:

- pi-mono-reference/: 688-file copy of an upstream monorepo, zero imports,
  used only as offline human reference
- build/electron-builder.runtime.json: environment-specific build artifact
  with hardcoded local paths
- state/cancel-signal-state.json: runtime state written by the app
- prompt.txt, logo.svg (root): exact duplicates of the canonical copies
  under .planning/archive/ and assets/

Add state/ to .gitignore so future runtime state stays out.
This commit is contained in:
ZacharyZhang-NY committed 2026-04-17 22:37:39 -04:00
1 parent 34ca5b77f1
commit 1f7230fe87
691 files changed
+3 -190434

No files matched your search

@@ -1,83 +0,0 @@
import { writeFileSync } from "node:fs";
import { stat } from "node:fs/promises";
import { tmpdir } from "node:os";
import { dirname, join } from "node:path";
import { afterEach, beforeAll, describe, expect, it, vi } from "vitest";
import type { SessionHeader } from "../src/core/session-manager.js";
import { SessionManager } from "../src/core/session-manager.js";
import { initTheme } from "../src/modes/interactive/theme/theme.js";
function createSessionFile(path: string): void {
const header: SessionHeader = {
type: "session",
id: "test-session",
version: 3,
timestamp: new Date(0).toISOString(),
cwd: "/tmp",
};
writeFileSync(path, `${JSON.stringify(header)}\n`, "utf8");
// SessionManager only persists once it has seen at least one assistant message.
// Add a minimal assistant entry so subsequent appends are persisted.
const mgr = SessionManager.open(path);
mgr.appendMessage({
role: "assistant",
content: [{ type: "text", text: "hi" }],
api: "openai-completions",
provider: "openai",
model: "test",
usage: {
input: 1,
output: 1,
cacheRead: 0,
cacheWrite: 0,
totalTokens: 2,
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
},
stopReason: "stop",
timestamp: Date.now(),
});
}
describe("SessionInfo.modified", () => {
beforeAll(() => initTheme("dark"));
afterEach(() => {
vi.restoreAllMocks();
});
it("uses last user/assistant message timestamp instead of file mtime", async () => {
const filePath = join(tmpdir(), `pi-session-${Date.now()}-modified.jsonl`);
createSessionFile(filePath);
const before = await stat(filePath);
// Ensure the file mtime can differ from our message timestamp even on coarse filesystems.
await new Promise((r) => setTimeout(r, 10));
const mgr = SessionManager.open(filePath);
const msgTime = Date.now();
mgr.appendMessage({
role: "assistant",
content: [{ type: "text", text: "later" }],
api: "openai-completions",
provider: "openai",
model: "test",
usage: {
input: 1,
output: 1,
cacheRead: 0,
cacheWrite: 0,
totalTokens: 2,
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
},
stopReason: "stop",
timestamp: msgTime,
});
const sessions = await SessionManager.list("/tmp", dirname(filePath));
const s = sessions.find((x) => x.path === filePath);
expect(s).toBeDefined();
expect(s!.modified.getTime()).toBe(msgTime);
expect(s!.modified.getTime()).not.toBe(before.mtime.getTime());
});
});