Integrate the Commander argument adapter with master's safe session-resume feature and dsh web --dev flag. - args.ts: add --dev to the web parser. - tui.ts: keep master's process.execve in-place resume handoff, but take the adapter's parsed (config, resume); inject the resume id through boot's prepare(ctx) hook via ctx.provide(RESUME_SESSION_ID_KEY, id) instead of the RESUME_SESSION_ID env var; rebuild the re-exec argv as `dsh --resume <id>`. - app-boot: drop master's replaceResumeArg (no longer needed) alongside the already-removed parseResumeArg; add RESUME_SESSION_ID_KEY. - the four tui-agent/cordis configs read the ctx-provided resumeSessionId via a typeof-guarded !!js expression, so resume needs no env var. - web.ts: keep master's client roster and --dev watch, take parsed host/port/dev.
52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
# 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 "typeof resumeSessionId === 'string' ? resumeSessionId : undefined"
|
|
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
|