Skip to content

Commit dc48c61

Browse files
Add factory payload inference type-level coverage
Co-authored-by: Eric Allam <eric@trigger.dev>
1 parent 302df5e commit dc48c61

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

packages/ai/src/chatTransport.types.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { expectTypeOf, it } from "vitest";
22
import type { InferUIMessageChunk, UIMessage } from "ai";
33
import {
4+
createTriggerChatTransport,
45
TriggerChatTransport,
56
TriggerChatTransportOptions,
67
type TriggerChatTransportPayload,
@@ -89,6 +90,22 @@ it("accepts async payload mappers and trigger option resolvers", function () {
8990
expectTypeOf(options).toBeObject();
9091
});
9192

93+
it("infers custom payload output from mapper in factory helper", function () {
94+
const transport = createTriggerChatTransport({
95+
task: "ai-chat",
96+
accessToken: "pk_test",
97+
payloadMapper: function payloadMapper(request) {
98+
return {
99+
prompt: request.chatId,
100+
};
101+
},
102+
});
103+
104+
expectTypeOf(transport).toEqualTypeOf<
105+
TriggerChatTransport<UIMessage, { prompt: string }>
106+
>();
107+
});
108+
92109
it("accepts typed stream definition objects", function () {
93110
const typedStream = {
94111
id: "chat-stream",

0 commit comments

Comments
 (0)