refactor: remove legacy id field from RooAssistantMessage and reasoning messages

Remove the provider response ID (uid=502(hrudolph) gid=20(staff) groups=20(staff),101(access_bpf),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),333(piavpn),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae)) field from RooAssistantMessage type
and stop propagating it through anthropicToRoo converter and Task.ts.
Update corresponding tests to no longer assert on the removed field.
This commit is contained in:
Hannes Rudolph 2026-02-12 20:25:31 -07:00
parent b8c8749106
commit c4748dd7f7
5 changed files with 2 additions and 12 deletions

View file

@ -42,7 +42,6 @@ const userMessageParts: RooUserMessage = {
const assistantMessageString: RooAssistantMessage = {
role: "assistant",
content: "Sure, I can help with that.",
id: "resp_123",
}
const assistantMessageParts: RooAssistantMessage = {

View file

@ -668,7 +668,6 @@ describe("standalone reasoning messages", () => {
const msg = result[0] as RooReasoningMessage
expect(msg.type).toBe("reasoning")
expect(msg.encrypted_content).toBe("encrypted_data_blob")
expect(msg.id).toBe("resp_001")
expect(msg.summary).toEqual([{ type: "summary_text", text: "I thought about X" }])
expect(msg).not.toHaveProperty("role")
})
@ -1069,7 +1068,6 @@ describe("full conversation round-trip", () => {
const m7 = result[7] as RooReasoningMessage
expect(m7.type).toBe("reasoning")
expect(m7.encrypted_content).toBe("enc_reasoning_blob")
expect(m7.id).toBe("resp_reason")
expect(m7.ts).toBe(6500)
})
})

View file

@ -122,7 +122,6 @@ export function convertAnthropicToRooMessages(messages: LegacyApiMessage[]): Roo
encrypted_content: message.encrypted_content,
...metadata,
}
if (message.id) reasoningMsg.id = message.id
if (message.summary) reasoningMsg.summary = message.summary
result.push(reasoningMsg)
continue

View file

@ -87,13 +87,9 @@ export type RooUserMessage = Omit<UserModelMessage, "content"> &
/**
* An assistant-authored message. Content may be a plain string or an array of
* text, tool-call, and reasoning parts. Extends AI SDK `AssistantModelMessage`
* with metadata and a provider response ID.
* with metadata.
*/
export type RooAssistantMessage = AssistantModelMessage &
RooMessageMetadata & {
/** Provider response ID (e.g. OpenAI `response.id`). */
id?: string
}
export type RooAssistantMessage = AssistantModelMessage & RooMessageMetadata
/**
* A tool result message containing one or more tool outputs.

View file

@ -1083,7 +1083,6 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
// with providerOptions (signatures, redactedData, etc.) in the correct format.
this.apiConversationHistory.push({
...message,
...(responseId ? { id: responseId } : {}),
ts: message.ts ?? Date.now(),
})
await this.saveApiConversationHistory()
@ -1097,7 +1096,6 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
const messageWithTs: RooAssistantMessage & { content: any } = {
...message,
...(responseId ? { id: responseId } : {}),
ts: Date.now(),
}