diff options
| author | N. Taylor Mullen <[email protected]> | 2025-06-04 23:25:57 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-05 06:25:57 +0000 |
| commit | 77afd37c2e756593e85105946624f17389ab1987 (patch) | |
| tree | db82829337402d8ba63757ae35270eeb9657f746 /packages/cli/src | |
| parent | d99d132cdfdfeb3d06118cb1787406f8eac4434a (diff) | |
fix(cli): Handle non-array tool response parts (#758)
Diffstat (limited to 'packages/cli/src')
| -rw-r--r-- | packages/cli/src/nonInteractiveCli.ts | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/packages/cli/src/nonInteractiveCli.ts b/packages/cli/src/nonInteractiveCli.ts index 45c9ce2d..1d641ae1 100644 --- a/packages/cli/src/nonInteractiveCli.ts +++ b/packages/cli/src/nonInteractiveCli.ts @@ -94,9 +94,19 @@ export async function runNonInteractive( console.error( `Error executing tool ${fc.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`, ); - toolResponseParts.push(...(toolResponse.responseParts as Part[])); - } else { - toolResponseParts.push(...(toolResponse.responseParts as Part[])); + } + + if (toolResponse.responseParts) { + const parts = Array.isArray(toolResponse.responseParts) + ? toolResponse.responseParts + : [toolResponse.responseParts]; + for (const part of parts) { + if (typeof part === 'string') { + toolResponseParts.push({ text: part }); + } else if (part) { + toolResponseParts.push(part); + } + } } } currentMessages = [{ role: 'user', parts: toolResponseParts }]; |
