import type { CliAdapter } from './types.js'; /** Seed CLI is a fork of Claude Code: * identical flags, slash commands, and on-disk session layout * (per-project JSONL transcripts, `sessions/.json`, `tasks/` fd locks, * keybindings.json, settings.json hooks). It differs only in the binary name, * its auth, and its data root — which it isolates to a * `.claude-runtime` directory *inside its own install package* (rather than * `~/.claude`), respecting `CLAUDE_CONFIG_DIR` when set. * * So Seed reuses the entire Claude-family adapter; the only work here is * locating that `.claude-runtime` so botmux watches exactly where Seed writes. */ /** Derive Seed's `.claude-runtime` data root from the resolved binary. * * `which seed` returns an ephemeral fnm/nvm shim (e.g. * `/run/user/.../fnm_multishells/_.../bin/seed`); realpath follows the * symlink chain to the package's `dist/cli.js`, whose package root is two * levels up. `.claude-runtime` sits at that package root. Deriving from the * binary on every spawn means a node/fnm switch (which moves the binary) * auto-tracks to the matching runtime dir — and it equals the path a bare * `seed` uses by default, so botmux-spawned and hand-started Seed sessions * share one config (settings, history, cross-resume). * * Falls back to `~/.claude-runtime` only if realpath fails (unusual install * layout) — Seed still runs, but the JSONL bridge may target the wrong dir; * we log so it's diagnosable rather than silently degraded. */ export declare function deriveSeedDataDir(bin: string): string; export declare function createSeedAdapter(pathOverride?: string): CliAdapter; export declare const create: typeof createSeedAdapter; //# sourceMappingURL=seed.d.ts.map