From c593ba66f4a0957b8c27e77f5de276e7761c2dac Mon Sep 17 00:00:00 2001
From: Dora <theodoracheng@github.com>
Date: Tue, 10 Sep 2024 16:12:07 -0500
Subject: [PATCH] fix(types): add `InteropMessageRole` (#75)

---
 index.d.ts      | 5 +++--
 index.test-d.ts | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/index.d.ts b/index.d.ts
index dd799e1..99995f0 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -100,7 +100,7 @@ export interface OpenAICompatibilityPayload {
 }
 
 export interface CopilotMessage {
-  role: string;
+  role: MessageRole;
   content: string;
   copilot_references?: MessageCopilotReference[];
   copilot_confirmations?: MessageCopilotConfirmation[];
@@ -116,7 +116,8 @@ export interface CopilotMessage {
   [key: string]: unknown;
 }
 
-export interface InteropMessage<TRole extends string = string> {
+export type MessageRole = 'system' | 'user' | 'assistant';
+export interface InteropMessage<TRole extends MessageRole = MessageRole> {
   role: TRole;
   content: string;
   name?: string;
diff --git a/index.test-d.ts b/index.test-d.ts
index d57ca79..52a5b3a 100644
--- a/index.test-d.ts
+++ b/index.test-d.ts
@@ -168,7 +168,7 @@ export function transformPayloadForOpenAICompatibilityTest(
   expectType<{
     messages: {
       content: string;
-      role: string;
+      role: 'system' | 'user' | 'assistant';
       name?: string;
       [key: string]: unknown;
     }[];