mirror of
https://github.com/andy-stack/vaultkeeper-ai.git
synced 2026-07-22 16:30:27 +00:00
- Split content and functionCall into separate fields in ConversationContent - Extract content parsing logic into dedicated methods for Claude and Gemini - Add API error 429 handling with provider-specific user information - Improve error messages in naming services to include response text - Increase max_tokens for main requests and naming services - Optimize ChatService to reduce unnecessary saves and array recreations - Remove message key binding in ChatArea to improve performance - Adjust chat window max-width to fixed pixel value
40 lines
No EOL
1.5 KiB
TypeScript
40 lines
No EOL
1.5 KiB
TypeScript
export class ConversationContent {
|
|
role: string;
|
|
content: string
|
|
functionCall: string;
|
|
timestamp: Date;
|
|
isFunctionCall: boolean;
|
|
isFunctionCallResponse: boolean;
|
|
toolId?: string;
|
|
|
|
constructor(role: string, content: string = "", functionCall: string = "", timestamp: Date = new Date(), isFunctionCall = false, isFunctionCallResponse = false, toolId?: string) {
|
|
this.role = role;
|
|
this.content = content;
|
|
this.functionCall = functionCall;
|
|
this.timestamp = timestamp;
|
|
this.isFunctionCall = isFunctionCall;
|
|
this.isFunctionCallResponse = isFunctionCallResponse;
|
|
this.toolId = toolId;
|
|
}
|
|
|
|
public static isConversationContentData(data: unknown): data is {
|
|
role: string; content: string; functionCall: string; timestamp: string, isFunctionCall: boolean, isFunctionCallResponse: boolean, toolId?: string
|
|
} {
|
|
return (
|
|
data !== null &&
|
|
typeof data === "object" &&
|
|
"role" in data &&
|
|
"content" in data &&
|
|
"functionCall" in data &&
|
|
"timestamp" in data &&
|
|
"isFunctionCall" in data &&
|
|
"isFunctionCallResponse" in data &&
|
|
typeof data.role === "string" &&
|
|
typeof data.content === "string" &&
|
|
typeof data.functionCall === "string" &&
|
|
typeof data.timestamp === "string" &&
|
|
typeof data.isFunctionCall === "boolean" &&
|
|
typeof data.isFunctionCallResponse === "boolean"
|
|
);
|
|
}
|
|
} |