# Overlay for the keyless conversational PTY test: the shipped composition with
# only the model replaced, so the terminal interaction is deterministic and
# network-free while the agent/TUI/user-question stack stays the production one.
#
# Passed as `--config`, so the launcher includes `base.cordis.yml`, applies
# `tui.cordis.yml`, then this file — all sibling patch lists at one include
# level. A patch replaces the targeted row's whole `config`, so each row below
# restates every key it owns.

# The scripted adapter replaces the DeepSeek one: no key, no network. A patch's
# `name` is an assertion rather than a replacement, so the base row is disabled
# and the adapter inserted. Relative specifiers resolve against the INCLUDED
# file's directory (apps/cli/config), because the include moves baseUrl there.
- id: llm-deepseek
  disabled: true

- insert:
    - id: scripted-llm
      name: '../tests/fixtures/tui-scripted-llm.ts'

- id: agent-loop
  config:
    agents:
      - id: main
        provider: tui-scripted
        model: tui-scripted-model
        # `cwd` scopes the session to this workspace, which is what `/resume`
        # filters on; dropping it would hide the seeded session.
        cwd: !!js process.cwd()

- id: system-prompt
  config:
    persona: 'Scripted model {{model}}.'

# The smoke's log inspection reads plain `.jsonl` under the workspace, so this
# fixture pins a project-local root instead of the launcher's shared store, and
# keeps the artifacts uncompressed like the other snapshot-facing configs.
- id: session-persistence-jsonl
  config:
    root: './.sessions'
    compression: none

# The derived index must sit under the same root as the logs it indexes; this
# fixture pins both to the workspace instead of the launcher's shared store.
- id: session-query-sqlite
  config:
    path: './.sessions/session-query.db'

- id: plan-mode
  config:
    section: 'Stay in plan mode for this scripted TUI test.'

# The scripted adapter answers the tool-less title request with a fixed string,
# so the PTY test can assert the logged title reaches the terminal window title.
- id: session-title-llm
  config:
    targetWords: 5
    targetCjkCharacters: 10
    maxInputBytes: 4096
    maxOutputTokens: 64
    timeoutMs: 10000

- id: tui
  config:
    sessionId: !!js configuredAgentIdentities?.main?.id ?? 'main'
    welcome: 'scripted TUI ready.'
    showReasoning: true

# HMR watches the repository; a PTY subprocess test must not start a watcher.
- id: hmr
  disabled: true
