(fr: unknown)
| 71 | * The gateway server may send a plain string instead of the nested object. |
| 72 | */ |
| 73 | export function normalizeFinishReason(fr: unknown): { unified: string; raw: unknown } | undefined { |
| 74 | if (fr == null) return undefined; |
| 75 | if (typeof fr === "object" && "unified" in (fr as Record<string, unknown>)) { |
| 76 | return fr as { unified: string; raw: unknown }; |
| 77 | } |
| 78 | // Plain string → convert to v3 object |
| 79 | const str = typeof fr === "string" ? fr : "other"; |
| 80 | return { unified: str === "unknown" ? "other" : str, raw: str }; |
| 81 | } |
| 82 | |
| 83 | /** |
| 84 | * Normalize a doGenerate result from the gateway. |
no outgoing calls
no test coverage detected