(id: string)
| 157 | >(); |
| 158 | |
| 159 | const ensure = (id: string) => { |
| 160 | if (!sessions.has(id)) |
| 161 | sessions.set(id, { |
| 162 | started: false, |
| 163 | turnCount: 0, |
| 164 | pendingTools: new Map(), |
| 165 | completedTools: [], |
| 166 | totalInputTokens: 0, |
| 167 | totalOutputTokens: 0, |
| 168 | totalCacheRead: 0, |
| 169 | totalCacheWrite: 0, |
| 170 | totalReasoningTokens: 0, |
| 171 | totalCost: 0, |
| 172 | turnInputTokens: 0, |
| 173 | turnOutputTokens: 0, |
| 174 | turnCacheRead: 0, |
| 175 | turnCacheWrite: 0, |
| 176 | turnReasoningTokens: 0, |
| 177 | turnCost: 0, |
| 178 | turnStepCount: 0, |
| 179 | turnStartedAt: undefined, |
| 180 | turnReasoningBlocks: [], |
| 181 | }); |
| 182 | return sessions.get(id)!; |
| 183 | }; |
| 184 | |
| 185 | const recordTurn = async (sessionID: string) => { |
| 186 | const state = ensure(sessionID); |
no test coverage detected