tui-scripted.cordis.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Overlay for the keyless conversational PTY test: the shipped composition with
  2. # only the model replaced, so the terminal interaction is deterministic and
  3. # network-free while the agent/TUI/user-question stack stays the production one.
  4. #
  5. # Passed as `--config`, so the launcher includes `base.cordis.yml`, applies
  6. # `tui.cordis.yml`, then this file — all sibling patch lists at one include
  7. # level. A patch replaces the targeted row's whole `config`, so each row below
  8. # restates every key it owns.
  9. # The scripted adapter replaces the DeepSeek one: no key, no network. A patch's
  10. # `name` is an assertion rather than a replacement, so the base row is disabled
  11. # and the adapter inserted. Relative specifiers resolve against the INCLUDED
  12. # file's directory (apps/cli), because the include moves baseUrl to that tree.
  13. - id: llm-deepseek
  14. disabled: true
  15. - insert:
  16. - id: scripted-llm
  17. name: './tests/fixtures/tui-scripted-llm.ts'
  18. - id: agent-loop
  19. config:
  20. agents:
  21. - id: main
  22. provider: tui-scripted
  23. model: tui-scripted-model
  24. # `cwd` scopes the session to this workspace, which is what `/resume`
  25. # filters on; dropping it would hide the seeded session.
  26. cwd: !!js process.cwd()
  27. - id: system-prompt
  28. config:
  29. persona: 'Scripted model {{model}}.'
  30. # The smoke's log inspection reads plain `.jsonl` under the workspace, so this
  31. # fixture pins a project-local root instead of the launcher's shared store, and
  32. # keeps the artifacts uncompressed like the other snapshot-facing configs.
  33. - id: session-persistence-jsonl
  34. config:
  35. root: './.sessions'
  36. compression: none
  37. # The derived index must sit under the same root as the logs it indexes; this
  38. # fixture pins both to the workspace instead of the launcher's shared store.
  39. - id: session-query-sqlite
  40. config:
  41. path: './.sessions/session-query.db'
  42. - id: plan-mode
  43. config:
  44. section: 'Stay in plan mode for this scripted TUI test.'
  45. # The scripted adapter answers the tool-less title request with a fixed string,
  46. # so the PTY test can assert the logged title reaches the terminal window title.
  47. - id: session-title-llm
  48. config:
  49. targetWords: 5
  50. targetCjkCharacters: 10
  51. maxInputBytes: 4096
  52. maxOutputTokens: 64
  53. timeoutMs: 10000
  54. - id: tui
  55. config:
  56. sessionId: !!js configuredAgentIdentities?.main?.id ?? 'main'
  57. welcome: 'scripted TUI ready.'
  58. showReasoning: true
  59. # HMR watches the repository; a PTY subprocess test must not start a watcher.
  60. - id: hmr
  61. disabled: true