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>
40 lines
1.0 KiB
TypeScript
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 });
|
|
}
|
|
}
|