# The @zhangweiii/dsh-tui bundle: an interactive terminal client over the same host API as
# the Web surface. It opens no HTTP port and mounts no browser-only rows.

- id: hmr
  disabled: true

- id: session-query-sqlite
  config:
    path: ':memory:'
    openAt: never

- id: tools
  config:
    mode: !!js process.env.DSH_TOOLS_MODE

- insert:
    - id: code-runtime
      name: '@deepseek-ai/dsh-code-runtime-worker-thread'

    - id: storage
      name: '@deepseek-ai/dsh-storage'

    - id: storage-json
      name: '@deepseek-ai/dsh-storage-json'
      config:
        root: !!js dshHomePath('storages')

    - id: storage-domain
      name: '@deepseek-ai/dsh-storage-domain'
      config:
        backend: json

    - id: message-feedback
      name: '@deepseek-ai/dsh-message-feedback'
      config:
        maxNoteBytes: 8192

    - id: workspace
      name: '@deepseek-ai/dsh-workspace'

    - id: session-projection-cache
      name: '@deepseek-ai/dsh-session-projection-cache'
      config:
        writeEveryEvents: 200
        writeIntervalMs: 5000

    - id: session-stats
      name: '@deepseek-ai/dsh-session-stats'

    # A terminal cannot use the browser directory picker; browse-mode keeps
    # all path mutations on the shared Host contract.
    - id: directory-picker
      name: '@deepseek-ai/dsh-host-directory-picker-browse'

    - id: plugin-inventory
      name: '@deepseek-ai/dsh-host-plugin-inventory'

    - id: api-gateway
      name: '@deepseek-ai/dsh-host-apiproxy'

    - id: cordis-host-runner
      name: '@deepseek-ai/dsh-cordis-host-runner'

    - id: tui-startup
      name: '@zhangweiii/dsh-tui/startup'

    - id: tui-runtime
      name: '@zhangweiii/dsh-tui'
      inject: [tuiStartup]
      config:
        initialPrompt: !!js ctx.tuiStartup.initialPrompt
        resume: !!js ctx.tuiStartup.resume
        continueLatest: !!js ctx.tuiStartup.continueLatest
        cwd: !!js ctx.tuiStartup.cwd
        connect: !!js ctx.tuiStartup.connect
        standalone: !!js ctx.tuiStartup.standalone

# Each persisted session owns its preset composition, matching the Web
# surface. Host registries remain process-wide; only model-facing rows move.
- id: tool-bash
  disabled: true
- id: tool-pwsh
  disabled: true
- id: tool-jobs
  disabled: true
- id: tool-fs
  disabled: true
- id: tool-fs-search
  disabled: true
- id: tool-str-replace-editor
  disabled: true
- id: skill-filesystem
  disabled: true
- id: tool-skill
  disabled: true
- id: tool-goal
  disabled: true
- id: plan-mode
  disabled: true
- id: compaction-basic
  disabled: true
- id: command-compact
  disabled: true
- id: tool-result-pruner
  disabled: true
- id: tool-subagent-control
  disabled: true
- id: tool-subagent-list-agents
  disabled: true
- id: tool-subagent
  disabled: true
- id: tool-subagent-fork
  disabled: true
- id: workflow-worker-thread
  disabled: true
- id: tool-workflow
  disabled: true
- id: tool-ralph
  disabled: true
- id: agent-instructions
  disabled: true
- id: tool-todo
  disabled: true
- id: tool-web
  disabled: true

- insert:
    - id: agent-presets
      name: '@deepseek-ai/dsh-agent-presets'
      config:
        default: standard
