Skip to content

Commit 523a65f

Browse files
committed
feat(types): options.messages for prompt() and prompt(options)
1 parent 45552e3 commit 523a65f

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

index.d.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,7 @@ type ResponseEvent<T extends ResponseEventType = "text"> =
7575

7676
type CopilotAckResponseEventData = {
7777
choices: [{
78-
delta: {
79-
content: "", role: "assistant"
80-
}
78+
delta: InteropMessage<"assistant">
8179
}]
8280
}
8381

@@ -92,9 +90,7 @@ type CopilotDoneResponseEventData = {
9290

9391
type CopilotTextResponseEventData = {
9492
choices: [{
95-
delta: {
96-
content: string, role: "assistant"
97-
}
93+
delta: InteropMessage<"assistant">
9894
}]
9995
}
10096
type CopilotConfirmationResponseEventData = {
@@ -134,7 +130,7 @@ interface CopilotReference {
134130

135131
export 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

148144
export 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+
172171
export 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

282282
export 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+
287290
interface PromptInterface {
288291
(userPrompt: string, options: PromptOptions): Promise<PromptResult>;
292+
(options: WithRequired<PromptOptions, "messages">): Promise<PromptResult>;
289293
}
290294

291295
// exported methods

0 commit comments

Comments
 (0)