(state: State)
| 656 | } |
| 657 | |
| 658 | function emitTask(state: State): void { |
| 659 | const ref = make(state, "task", { |
| 660 | description: "Scan run/* for reducer touchpoints", |
| 661 | subagent_type: "explore", |
| 662 | }) |
| 663 | doneTool(state, ref, { |
| 664 | title: "Reducer touchpoints found", |
| 665 | output: "", |
| 666 | metadata: { |
| 667 | toolcalls: 4, |
| 668 | sessionId: "sub_demo_1", |
| 669 | }, |
| 670 | }) |
| 671 | const part = { |
| 672 | id: "sub_demo_tool_1", |
| 673 | type: "tool", |
| 674 | sessionID: "sub_demo_1", |
| 675 | messageID: "sub_demo_msg_tool", |
| 676 | callID: "sub_demo_call_1", |
| 677 | tool: "read", |
| 678 | state: { |
| 679 | status: "running", |
| 680 | input: { |
| 681 | filePath: "packages/opencode/src/cli/cmd/run/stream.ts", |
| 682 | offset: 1, |
| 683 | limit: 200, |
| 684 | }, |
| 685 | time: { |
| 686 | start: Date.now(), |
| 687 | }, |
| 688 | }, |
| 689 | } satisfies ToolPart |
| 690 | showSubagent(state, { |
| 691 | sessionID: "sub_demo_1", |
| 692 | partID: ref.part, |
| 693 | callID: ref.call, |
| 694 | label: "Explore", |
| 695 | description: "Scan run/* for reducer touchpoints", |
| 696 | status: "completed", |
| 697 | title: "Reducer touchpoints found", |
| 698 | toolCalls: 4, |
| 699 | commits: [ |
| 700 | { |
| 701 | kind: "user", |
| 702 | text: "Scan run/* for reducer touchpoints", |
| 703 | phase: "start", |
| 704 | source: "system", |
| 705 | }, |
| 706 | { |
| 707 | kind: "reasoning", |
| 708 | text: "Thinking: tracing reducer and footer boundaries", |
| 709 | phase: "progress", |
| 710 | source: "reasoning", |
| 711 | messageID: "sub_demo_msg_reasoning", |
| 712 | partID: "sub_demo_reasoning_1", |
| 713 | }, |
| 714 | { |
| 715 | kind: "tool", |
no test coverage detected