Adds a config layer merged over the hardcoded built-ins (tasks 1.1-1.6): CODER_PROVIDERS_PATH env (default /data/coder-providers.json); provider-config.ts (Zod schema + never-throw loader — missing/invalid file falls back to built-ins only — + save); provider-config-registry.ts (ResolvedProviderDef + buildResolvedRegistry merge: override built-ins, add custom extends:'acp' entries, boocode always enabled + singleton); agent-probe now iterates the resolved registry, probes custom-ACP command[0] via execFile (no shell), skips disabled providers (keeps the row), reads enabled from memory only (no DB column). No snapshot/dispatch/route/UI changes (Phase 2+). 6 new unit tests; empty config provably yields exactly the built-ins. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
544 B
Plaintext
17 lines
544 B
Plaintext
NODE_ENV=production
|
|
PORT=9502
|
|
HOST=100.114.205.53
|
|
DATABASE_URL=postgres://boocode:devpass@127.0.0.1:5500/boochat
|
|
LLAMA_SWAP_URL=http://100.101.41.16:8401
|
|
PROJECT_ROOT_WHITELIST=/opt
|
|
BOOTSTRAP_ROOT=/opt/projects
|
|
DEFAULT_MODEL=qwen3.6-35b-a3b-mxfp4
|
|
LOG_LEVEL=info
|
|
SEARXNG_URL=http://100.114.205.53:8888
|
|
GITEA_BASE_URL=https://git.indifferentketchup.com
|
|
GITEA_USER=indifferentketchup
|
|
GITEA_SSH_HOST=100.114.205.53:2222
|
|
MCP_CONFIG_PATH=/data/mcp.json
|
|
SKILLS_ROOT=/opt/boocode/data/skills
|
|
CODER_PROVIDERS_PATH=/opt/boocode/data/coder-providers.json
|