# Bundled default config. The runtime still requires an explicit
# $DSH_CORDIS_CONFIG or argv path; the SDK injects this path for bundled
# zero-config launches. SDK-set session-root and cwd variables have manual-run fallbacks.

# Stdio JSON-RPC serving surface; without it the agent has no SDK client.
- id: jsonrpc
  name: '@deepseek-ai/dsh-jsonrpc'

# Agent spine; the SDK server creates agents per sessionId.
- id: agent-core
  name: '@deepseek-ai/dsh-agent-spine-demo'
  config:
    workspaceContext:
      maxBytes: 65536

# Stock DeepSeek adapters. Loading requires an API key; initialize and shutdown
# may use a dummy key because they do not call the model.
- id: llm-deepseek
  name: '@deepseek-ai/dsh-llm-deepseek'
  config:
    apiKey: !!js process.env.DEEPSEEK_API_KEY
    baseURL: !!js process.env.DEEPSEEK_BASE_URL

# JSONL persistence; $DSH_SESSION_ROOT wins over ./.sessions in the process cwd.
- id: sessions
  name: '@deepseek-ai/dsh-session-persistence-jsonl'
  config:
    root: !!js process.env.DSH_SESSION_ROOT ?? './.sessions'

# Persistence owns durable storage; this separate policy explicitly selects
# the request, tool-dispatch, and completed-step durability checkpoints.
- id: session-checkpoints
  name: '@deepseek-ai/dsh-session-checkpoint-policy'

# Local bash executor; $DSH_CWD wins over the process cwd.
# Managed child-process groups for the bash executor (spawn/kill/output plumbing).
- id: subprocess
  name: '@deepseek-ai/dsh-subprocess-local'

- id: bash
  name: '@deepseek-ai/dsh-bash-local'
  config:
    cwd: !!js process.env.DSH_CWD ?? process.cwd()

# Local filesystem provider for workspace instruction loading. This does not
# expose model-facing file tools by itself.
- id: fs-local
  name: '@deepseek-ai/dsh-fs-local'
  config:
    cwd: !!js process.env.DSH_CWD ?? process.cwd()
