Skip to content

Commit d729344

Browse files
Cover non-Error trigger task failures in onError reporting
Co-authored-by: Eric Allam <eric@trigger.dev>
1 parent a7cba36 commit d729344

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

packages/ai/src/chatTransport.test.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,41 @@ describe("TriggerChatTransport", function () {
963963
});
964964
});
965965

966+
it("normalizes non-Error trigger task failures before reporting onError", async function () {
967+
const errors: TriggerChatTransportError[] = [];
968+
969+
const transport = new TriggerChatTransport({
970+
task: "chat-task",
971+
stream: "chat-stream",
972+
accessToken: "pk_trigger",
973+
onError: function onError(error) {
974+
errors.push(error);
975+
},
976+
});
977+
978+
(transport as any).triggerTask = async function triggerTask() {
979+
throw "string trigger task failure";
980+
};
981+
982+
await expect(
983+
transport.sendMessages({
984+
trigger: "submit-message",
985+
chatId: "chat-trigger-task-string-failure",
986+
messageId: undefined,
987+
messages: [],
988+
abortSignal: undefined,
989+
})
990+
).rejects.toBe("string trigger task failure");
991+
992+
expect(errors).toHaveLength(1);
993+
expect(errors[0]).toMatchObject({
994+
phase: "triggerTask",
995+
chatId: "chat-trigger-task-string-failure",
996+
runId: undefined,
997+
});
998+
expect(errors[0]?.error.message).toBe("string trigger task failure");
999+
});
1000+
9661001
it("supports creating transport with factory function", async function () {
9671002
let observedRunId: string | undefined;
9681003
let callbackCompleted = false;

0 commit comments

Comments
 (0)