UNPKG

@mariozechner/pi-agent

Version:

General-purpose agent with transport abstraction, state management, and attachment support

47 lines 1.76 kB
import type { Message } from "@mariozechner/pi-ai"; import type { AgentTransport } from "./transports/types.js"; import type { AgentEvent, AgentState, AppMessage, Attachment, ThinkingLevel } from "./types.js"; export interface AgentOptions { initialState?: Partial<AgentState>; transport: AgentTransport; messageTransformer?: (messages: AppMessage[]) => Message[] | Promise<Message[]>; queueMode?: "all" | "one-at-a-time"; } export declare class Agent { private _state; private listeners; private abortController?; private transport; private messageTransformer; private messageQueue; private queueMode; private runningPrompt?; private resolveRunningPrompt?; constructor(opts: AgentOptions); get state(): AgentState; subscribe(fn: (e: AgentEvent) => void): () => void; setSystemPrompt(v: string): void; setModel(m: typeof this._state.model): void; setThinkingLevel(l: ThinkingLevel): void; setQueueMode(mode: "all" | "one-at-a-time"): void; getQueueMode(): "all" | "one-at-a-time"; setTools(t: typeof this._state.tools): void; replaceMessages(ms: AppMessage[]): void; appendMessage(m: AppMessage): void; queueMessage(m: AppMessage): Promise<void>; clearMessageQueue(): void; clearMessages(): void; abort(): void; /** * Returns a promise that resolves when the current prompt completes. * Returns immediately resolved promise if no prompt is running. */ waitForIdle(): Promise<void>; /** * Clear all messages and state. Call abort() first if a prompt is in flight. */ reset(): void; prompt(input: string, attachments?: Attachment[]): Promise<void>; private emit; } //# sourceMappingURL=agent.d.ts.map