Files
deepseek-harness/apps/cli/tests/fixtures/tui-scripted.cordis.yml
2026-07-30 10:59:56 +08:00

72 lines
2.5 KiB
YAML

# 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