(part: OpenCodePartData)
| 265 | } |
| 266 | |
| 267 | function normalizeOpenCodeTool(part: OpenCodePartData): { |
| 268 | callId: string; |
| 269 | name: string; |
| 270 | input: unknown; |
| 271 | output: unknown; |
| 272 | } { |
| 273 | const callId = |
| 274 | part.callID ?? |
| 275 | part.call_id ?? |
| 276 | part.toolCallId ?? |
| 277 | part.tool_call_id ?? |
| 278 | `migrated_${shortId()}`; |
| 279 | const name = part.tool ?? part.tool_name ?? part.name ?? part.state?.title ?? "unknown_tool"; |
| 280 | const input = part.input ?? part.state?.input ?? {}; |
| 281 | const output = part.output ?? part.state?.output ?? part.state?.metadata?.output ?? ""; |
| 282 | return { callId, name, input, output }; |
| 283 | } |
| 284 | |
| 285 | /** |
| 286 | * Build a Pi-shaped `usage` object from OpenCode `message.tokens`. |
no test coverage detected