mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 05:43:55 +00:00
fix(session): preserve tagged error messages (#18165)
This commit is contained in:
parent
a7ea93528b
commit
84e62fc662
@ -956,7 +956,7 @@ export namespace MessageV2 {
|
|||||||
{ cause: e },
|
{ cause: e },
|
||||||
).toObject()
|
).toObject()
|
||||||
case e instanceof Error:
|
case e instanceof Error:
|
||||||
return new NamedError.Unknown({ message: e.toString() }, { cause: e }).toObject()
|
return new NamedError.Unknown({ message: e instanceof Error ? e.message : String(e) }, { cause: e }).toObject()
|
||||||
default:
|
default:
|
||||||
try {
|
try {
|
||||||
const parsed = ProviderError.parseStreamError(e)
|
const parsed = ProviderError.parseStreamError(e)
|
||||||
|
|||||||
@ -210,7 +210,7 @@ export namespace SessionProcessor {
|
|||||||
state: {
|
state: {
|
||||||
status: "error",
|
status: "error",
|
||||||
input: value.input ?? match.state.input,
|
input: value.input ?? match.state.input,
|
||||||
error: (value.error as any).toString(),
|
error: value.error instanceof Error ? value.error.message : String(value.error),
|
||||||
time: {
|
time: {
|
||||||
start: match.state.time.start,
|
start: match.state.time.start,
|
||||||
end: Date.now(),
|
end: Date.now(),
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { MessageV2 } from "../../src/session/message-v2"
|
|||||||
import type { Provider } from "../../src/provider/provider"
|
import type { Provider } from "../../src/provider/provider"
|
||||||
import { ModelID, ProviderID } from "../../src/provider/schema"
|
import { ModelID, ProviderID } from "../../src/provider/schema"
|
||||||
import { SessionID, MessageID, PartID } from "../../src/session/schema"
|
import { SessionID, MessageID, PartID } from "../../src/session/schema"
|
||||||
|
import { Question } from "../../src/question"
|
||||||
|
|
||||||
const sessionID = SessionID.make("session")
|
const sessionID = SessionID.make("session")
|
||||||
const providerID = ProviderID.make("test")
|
const providerID = ProviderID.make("test")
|
||||||
@ -915,4 +916,15 @@ describe("session.message-v2.fromError", () => {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test("serializes tagged errors with their message", () => {
|
||||||
|
const result = MessageV2.fromError(new Question.RejectedError(), { providerID })
|
||||||
|
|
||||||
|
expect(result).toStrictEqual({
|
||||||
|
name: "UnknownError",
|
||||||
|
data: {
|
||||||
|
message: "The user dismissed this question",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user