Delete src/extract/ (pi-session normalize/extract/merge stubs), src/ledger.ts, src/schema.ts, src/derive.ts, src/queries/, src/cli.ts (npm run ingest/graph/ what-next), data/legacy-graph/, data/agent/ (pi agentDir vestige), and their config.ts/package.json references. The retroactive-bootstrap goal is dropped: the live chat store (AI SDK UIMessages) is the only session format now, and the old pi JSONLs in data/sessions/ stay on disk, inert. contracts.ts is the single schema.
28 lines
1009 B
TypeScript
28 lines
1009 B
TypeScript
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
/** Repository root (this file is at <root>/config.ts). */
|
|
export const ROOT = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
export const PATHS = {
|
|
root: ROOT,
|
|
/** Teacher system prompt — the agent's instructions (src/agent/). */
|
|
teacherPrompt: path.join(ROOT, "src", "agent", "system-prompt.md"),
|
|
data: path.join(ROOT, "data"),
|
|
/** Chat sessions (AI SDK UIMessage transcripts, one JSON file per chat). */
|
|
chats: path.join(ROOT, "data", "chats"),
|
|
graph: path.join(ROOT, "data", "graph"),
|
|
} as const;
|
|
|
|
/**
|
|
* The LIVE graph store (src/store/graph.ts) — owned by the app's emission
|
|
* pipeline. Line shapes: src/core/contracts.ts.
|
|
*/
|
|
export const LEDGER_FILES = {
|
|
nodes: path.join(PATHS.graph, "nodes.jsonl"),
|
|
edges: path.join(PATHS.graph, "edges.jsonl"),
|
|
events: path.join(PATHS.graph, "events.jsonl"),
|
|
mappings: path.join(PATHS.graph, "mappings.jsonl"),
|
|
sessions: path.join(PATHS.graph, "sessions.jsonl"),
|
|
} as const;
|