Update all import statements to use @opencode-ai/sdk/v2 Modify Vite configurations to alias new SDK path Update API client method signatures for SDK v2 compatibility
35 lines
927 B
TypeScript
35 lines
927 B
TypeScript
import type { Message } from '@opencode-ai/sdk/v2';
|
|
|
|
export interface MessageRoleInfo {
|
|
role: string;
|
|
isUser: boolean;
|
|
}
|
|
|
|
export const deriveMessageRole = (
|
|
messageInfo: Message | (Message & { clientRole?: string; userMessageMarker?: boolean })
|
|
): MessageRoleInfo => {
|
|
const info = messageInfo as Message & { clientRole?: string; userMessageMarker?: boolean; origin?: string; source?: string };
|
|
const clientRole = info?.clientRole;
|
|
const serverRole = info?.role;
|
|
const userMarker = info?.userMessageMarker === true;
|
|
|
|
const isUser =
|
|
userMarker ||
|
|
clientRole === 'user' ||
|
|
serverRole === 'user' ||
|
|
info?.origin === 'user' ||
|
|
info?.source === 'user';
|
|
|
|
if (isUser) {
|
|
return {
|
|
role: 'user',
|
|
isUser: true,
|
|
};
|
|
}
|
|
|
|
return {
|
|
role: clientRole || serverRole || 'assistant',
|
|
isUser: false,
|
|
};
|
|
};
|