Files
deepseek-harness/apps/web/tests/snapshots/code-mode-round/ui.expected.md
T
Tianyi Cui 13f7c62318 feat(web): render Code Mode sub-calls as native rows nested under the run_code row
The client indexes tool/code-dispatch events into
ConversationSnapshot.codeDispatches (parent callId -> ToolResultNode-shaped
sub-calls; live mux and history replay build the identical index). ChatView
renders each run_code parent as the new code variant (description summary,
program as the expanded monospace body) with its sub-dispatches as
always-visible indented rows — every sub-row dispatches through the SAME
keyed conversation.chat.toolview hole with the same GenericToolCard
fallback, so custom registrations (bash sample) take over sub-rows exactly
as top-level rows. The details panel resolves sub-callIds to full logged
args and complete output through the native path.

Evidence: fixture turn 64 + built-bundle jsdom snapshot, real-machinery
jsdom suites (nesting, error state, details, running parent, reference
stability), and a recorded code-mode browser e2e round (keyless replay +
aria golden). Scaffold gains a toolsMode patch knob.
2026-07-26 04:02:38 +08:00

1.3 KiB

  • banner:
    • navigation "Session hierarchy":
      • 'button "Using ONE run_code program: run" [disabled]'
      • text: · 1 turns
    • tablist:
      • tab "Chat" [selected]
      • tab "Trajectory"
      • tab "Waterfall"
  • text: "Using ONE run_code program: run bash echo CODE_ROUND_OK, then read the file missing.txt catching its error in the program. Return an object with both outcomes. Then reply DONE and stop."
  • button "Think The user wants me to write a single run_code program that:":
    • img
    • text: "Think The user wants me to write a single run_code program that:"
  • button:
    • img
  • text: Code Run bash echo and read missing.txt with error handling Echo CODE_ROUND_OK
  • button
  • text: Read missing.txt
  • button "Think The program ran successfully. Both outcomes are captured:":
    • img
    • text: "Think The program ran successfully. Both outcomes are captured:"
  • paragraph: DONE
  • text: cache hit 50% · 17,536 tokens · 1 turns · 2 steps
  • textbox "Message the agent"
  • button "Add attachment":
    • img
  • combobox "Plan mode":
    • option "Plan" [selected]
    • option "Agent"
  • combobox "Access mode":
    • option "Read-only" [selected]
    • option "Read-write"
  • combobox "Model":
    • option "DeepSeek-V4-Pro High" [selected]
    • option "DeepSeek-V4-Pro"
  • button "Send message" [disabled]