@@ -126,6 +126,21 @@ function assistantToCodebuffMessage(
126126function convertToolResultMessage (
127127 message : ToolMessage ,
128128) : ModelMessageWithAuxiliaryData [ ] {
129+ if ( message . content . length === 0 ) {
130+ return [
131+ cloneDeep < ToolModelMessage > ( {
132+ ...message ,
133+ role : 'tool' ,
134+ content : [
135+ {
136+ ...message ,
137+ output : { type : 'json' , value : '' } ,
138+ type : 'tool-result' ,
139+ } ,
140+ ] ,
141+ } ) ,
142+ ]
143+ }
129144 return message . content . map ( ( c ) => {
130145 if ( c . type === 'json' ) {
131146 return cloneDeep < ToolModelMessage > ( {
@@ -326,8 +341,8 @@ export function convertCbToModelMessages({
326341 }
327342 throw new Error (
328343 `convertCbToModelMessages: Message at index ${ i } failed schema validation.\n` +
329- `Role: ${ message . role } \n` +
330- `Message:\n${ result . error . message } ` ,
344+ `Role: ${ message . role } \n` +
345+ `Message:\n${ result . error . message } ` ,
331346 )
332347 }
333348 }
@@ -356,8 +371,8 @@ export function systemMessage(
356371 params :
357372 | SystemContent
358373 | ( {
359- content : SystemContent
360- } & Omit < SystemMessage , 'role' | 'content' > ) ,
374+ content : SystemContent
375+ } & Omit < SystemMessage , 'role' | 'content' > ) ,
361376) : SystemMessage {
362377 if ( typeof params === 'object' && 'content' in params ) {
363378 return {
@@ -390,8 +405,8 @@ export function userMessage(
390405 params :
391406 | UserContent
392407 | ( {
393- content : UserContent
394- } & Omit < UserMessage , 'role' | 'content' > ) ,
408+ content : UserContent
409+ } & Omit < UserMessage , 'role' | 'content' > ) ,
395410) : UserMessage {
396411 if ( typeof params === 'object' && 'content' in params ) {
397412 return {
@@ -428,8 +443,8 @@ export function assistantMessage(
428443 params :
429444 | AssistantContent
430445 | ( {
431- content : AssistantContent
432- } & Omit < AssistantMessage , 'role' | 'content' > ) ,
446+ content : AssistantContent
447+ } & Omit < AssistantMessage , 'role' | 'content' > ) ,
433448) : AssistantMessage {
434449 if ( typeof params === 'object' && 'content' in params ) {
435450 return {
@@ -449,10 +464,10 @@ export function assistantMessage(
449464export function jsonToolResult < T extends JSONValue > (
450465 value : T ,
451466) : [
452- Extract < ToolResultOutput , { type : 'json' } > & {
453- value : T
454- } ,
455- ] {
467+ Extract < ToolResultOutput , { type : 'json' } > & {
468+ value : T
469+ } ,
470+ ] {
456471 return [
457472 {
458473 type : 'json' ,
0 commit comments