Advertisement

← vibesdk

worker/agents/assistants/assistant.ts

799 bytes Download file
// An assistant to agents

import { Message } from "../inferutils/common";
import { InferenceContext } from "../inferutils/config.types";

class Assistant<Env> {
    protected history: Message[] = [];
    protected env: Env;
    protected inferenceContext: InferenceContext;

    constructor(env: Env, inferenceContext: InferenceContext, systemPrompt?: Message) {
        this.env = env;
        this.inferenceContext = inferenceContext;
        if (systemPrompt) {
            this.history.push(systemPrompt);
        }
    }

    save(messages: Message[]): Message[] {
        this.history.push(...messages);
        return this.history;
    }

    getHistory(): Message[] {
        return this.history;
    }

    clearHistory() {
        this.history = [];
    } 


}

export default Assistant;