| ... | @@ -951,6 +951,10 @@ const make = Effect.gen(function* () { | ... | @@ -951,6 +951,10 @@ const make = Effect.gen(function* () { |
| 951 | if (assistantCompletion) { | 951 | if (assistantCompletion) { |
| 952 | const assistantMessageId = assistantCompletion.messageId; | 952 | const assistantMessageId = assistantCompletion.messageId; |
| 953 | const turnId = toTurnId(event.turnId); | 953 | const turnId = toTurnId(event.turnId); |
| | 954 | const existingAssistantMessage = thread.messages.find((entry) => entry.id === assistantMessageId); |
| | 955 | const shouldApplyFallbackCompletionText = |
| | 956 | !existingAssistantMessage || |
| | 957 | existingAssistantMessage.text.length === 0; |
| 954 | if (turnId) { | 958 | if (turnId) { |
| 955 | yield* rememberAssistantMessageId(thread.id, turnId, assistantMessageId); | 959 | yield* rememberAssistantMessageId(thread.id, turnId, assistantMessageId); |
| 956 | } | 960 | } |
| ... | @@ -963,7 +967,7 @@ const make = Effect.gen(function* () { | ... | @@ -963,7 +967,7 @@ const make = Effect.gen(function* () { |
| 963 | createdAt: now, | 967 | createdAt: now, |
| 964 | commandTag: "assistant-complete", | 968 | commandTag: "assistant-complete", |
| 965 | finalDeltaCommandTag: "assistant-delta-finalize", | 969 | finalDeltaCommandTag: "assistant-delta-finalize", |
| 966 | ...(assistantCompletion.fallbackText !== undefined | 970 | ...(assistantCompletion.fallbackText !== undefined && shouldApplyFallbackCompletionText |
| 967 | ? { fallbackText: assistantCompletion.fallbackText } | 971 | ? { fallbackText: assistantCompletion.fallbackText } |
| 968 | : {}), | 972 | : {}), |
| 969 | }); | 973 | }); |