| 575 | } |
| 576 | |
| 577 | class PromptTranscriptWriter implements PromptTurnWriter { |
| 578 | private readonly assistantWriter: PromptBlockWriter; |
| 579 | private readonly thinkingWriter: PromptBlockWriter; |
| 580 | |
| 581 | constructor(stdout: PromptOutput, stderr: PromptOutput) { |
| 582 | this.assistantWriter = new PromptBlockWriter(stdout); |
| 583 | this.thinkingWriter = new PromptBlockWriter(stderr); |
| 584 | } |
| 585 | |
| 586 | writeAssistantDelta(delta: string): void { |
| 587 | this.thinkingWriter.finish(); |
| 588 | this.assistantWriter.write(delta); |
| 589 | } |
| 590 | |
| 591 | writeHookResult(event: HookResultEvent): void { |
| 592 | this.thinkingWriter.finish(); |
| 593 | this.assistantWriter.finish(); |
| 594 | this.assistantWriter.write(formatHookResultPlain(event)); |
| 595 | this.assistantWriter.finish(); |
| 596 | } |
| 597 | |
| 598 | writeThinkingDelta(delta: string): void { |
| 599 | this.thinkingWriter.write(delta); |
| 600 | } |
| 601 | |
| 602 | writeToolCall(): void {} |
| 603 | |
| 604 | writeToolCallDelta(): void {} |
| 605 | |
| 606 | writeToolResult(): void {} |
| 607 | |
| 608 | flushAssistant(): void {} |
| 609 | |
| 610 | discardAssistant(): void {} |
| 611 | |
| 612 | finish(): void { |
| 613 | this.thinkingWriter.finish(); |
| 614 | this.assistantWriter.finish(); |
| 615 | } |
| 616 | } |
| 617 | |
| 618 | interface PromptJsonToolCall { |
| 619 | type: 'function'; |
nothing calls this directly
no outgoing calls
no test coverage detected