Files
feynman/src/config/paths.ts
Advait Paliwal 406d50b3ff Overhaul Feynman harness: streamline agents, prompts, and extensions
Remove legacy chains, skills, and config modules. Add citation agent,
SYSTEM.md, modular research-tools extension, and web-access layer.
Add ralph-wiggum to Pi package stack for long-running loops.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 14:59:30 -07:00

40 lines
1.0 KiB
TypeScript

import { mkdirSync } from "node:fs";
import { homedir } from "node:os";
import { resolve } from "node:path";
export function getFeynmanHome(): string {
return resolve(process.env.FEYNMAN_HOME ?? homedir(), ".feynman");
}
export function getFeynmanAgentDir(home = getFeynmanHome()): string {
return resolve(home, "agent");
}
export function getFeynmanMemoryDir(home = getFeynmanHome()): string {
return resolve(home, "memory");
}
export function getFeynmanStateDir(home = getFeynmanHome()): string {
return resolve(home, ".state");
}
export function getDefaultSessionDir(home = getFeynmanHome()): string {
return resolve(home, "sessions");
}
export function getBootstrapStatePath(home = getFeynmanHome()): string {
return resolve(getFeynmanStateDir(home), "bootstrap.json");
}
export function ensureFeynmanHome(home = getFeynmanHome()): void {
for (const dir of [
home,
getFeynmanAgentDir(home),
getFeynmanMemoryDir(home),
getFeynmanStateDir(home),
getDefaultSessionDir(home),
]) {
mkdirSync(dir, { recursive: true });
}
}