@@ -75,9 +75,7 @@ type ResponseEvent<T extends ResponseEventType = "text"> =
7575
7676type CopilotAckResponseEventData = {
7777 choices : [ {
78- delta : {
79- content : "" , role : "assistant"
80- }
78+ delta : InteropMessage < "assistant" >
8179 } ]
8280}
8381
@@ -92,9 +90,7 @@ type CopilotDoneResponseEventData = {
9290
9391type CopilotTextResponseEventData = {
9492 choices : [ {
95- delta : {
96- content : string , role : "assistant"
97- }
93+ delta : InteropMessage < "assistant" >
9894 } ]
9995}
10096type CopilotConfirmationResponseEventData = {
@@ -134,7 +130,7 @@ interface CopilotReference {
134130
135131export interface CopilotRequestPayload {
136132 copilot_thread_id : string
137- messages : Message [ ]
133+ messages : CopilotMessage [ ]
138134 stop : any
139135 top_p : number
140136 temperature : number
@@ -146,14 +142,10 @@ export interface CopilotRequestPayload {
146142}
147143
148144export interface OpenAICompatibilityPayload {
149- messages : {
150- role : string
151- name ?: string
152- content : string
153- } [ ]
145+ messages : InteropMessage [ ]
154146}
155147
156- export interface Message {
148+ export interface CopilotMessage {
157149 role : string
158150 content : string
159151 copilot_references : MessageCopilotReference [ ]
@@ -169,6 +161,13 @@ export interface Message {
169161 name ?: string
170162}
171163
164+ export interface InteropMessage < TRole extends string = string > {
165+ role : TRole
166+ content : string
167+ name ?: string
168+ [ key : string ] : unknown
169+ }
170+
172171export interface MessageCopilotReference {
173172 type : string
174173 data : CopilotReferenceData
@@ -274,18 +273,23 @@ export type PromptOptions = {
274273 model : ModelName
275274 token : string
276275 tools ?: PromptFunction [ ]
276+ messages ?: InteropMessage [ ]
277277 request ?: {
278278 fetch ?: Function
279279 }
280280}
281281
282282export type PromptResult = {
283283 requestId : string
284- message : Message
284+ message : CopilotMessage
285285}
286286
287+ // https://stackoverflow.com/a/69328045
288+ type WithRequired < T , K extends keyof T > = T & { [ P in K ] -?: T [ P ] }
289+
287290interface PromptInterface {
288291 ( userPrompt : string , options : PromptOptions ) : Promise < PromptResult > ;
292+ ( options : WithRequired < PromptOptions , "messages" > ) : Promise < PromptResult > ;
289293}
290294
291295// exported methods
0 commit comments