# Real Loader composition for the keyless conversational PTY test. The app # bundle supplies the production agent/TUI/user-question stack; only the model # is scripted so the terminal interaction is deterministic and network-free. - id: scripted-llm name: './tui-scripted-llm.ts' - id: bash name: '@deepseek-ai/dsh-bash-local' - id: fs-local name: '@deepseek-ai/dsh-fs-local' config: cwd: !!js process.cwd() - id: token-meter name: '@deepseek-ai/dsh-token-meter' - id: plan-mode name: '@deepseek-ai/dsh-plan-mode' config: section: 'Stay in plan mode for this scripted TUI test.' - id: tui-agent name: '@deepseek-ai/dsh-tui-demo' config: provider: tui-scripted model: tui-scripted-model persistenceRoot: './.sessions' # The smoke's log inspection reads plain `.jsonl`; keep the scripted # fixture uncompressed like the other snapshot-facing configs. persistenceCompression: none resumeSessionId: !!js process.env.RESUME_SESSION_ID resumeCommand: 'dsh --resume {session}' workspaceContext: maxBytes: 65536 welcome: 'scripted TUI ready.' persona: 'Scripted model {{model}}.' ui: showReasoning: true # Model-made session titles, as in the shipped cordis.yml: 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 name: '@deepseek-ai/dsh-session-title-first-message-llm' config: targetWords: 5 targetCjkCharacters: 10 maxInputBytes: 4096 maxOutputTokens: 64 timeoutMs: 10000