(runtime: PiRuntime)
| 139 | } |
| 140 | |
| 141 | function buildLiveThreadData(runtime: PiRuntime) { |
| 142 | const sessionPath = runtime.session.sessionFile |
| 143 | if (!sessionPath) { |
| 144 | return null |
| 145 | } |
| 146 | |
| 147 | const streamingMessage = runtime.session.state.streamingMessage |
| 148 | const historySlice = buildThreadHistorySlice( |
| 149 | [...(runtime.session.sessionManager.getBranch() as SessionPathEntry[])], |
| 150 | 0, |
| 151 | ) |
| 152 | const sourceMessages = [ |
| 153 | ...historySlice.sourceMessages, |
| 154 | ...(streamingMessage ? [streamingMessage] : []), |
| 155 | ...getLiveToolProgressMessages(runtime), |
| 156 | ] as AgentMessage[] |
| 157 | |
| 158 | return buildThreadData({ |
| 159 | sessionPath, |
| 160 | sourceMessages, |
| 161 | previousMessageCount: historySlice.previousMessageCount, |
| 162 | isStreaming: runtime.session.isStreaming, |
| 163 | isCompacting: runtime.session.isCompacting, |
| 164 | }) |
| 165 | } |
| 166 | |
| 167 | function hasAssistantMessageChanged( |
| 168 | sessionPath: string, |
no test coverage detected