@nanocollective/nanocoder
Version:
A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter
43 lines • 1.3 kB
TypeScript
import type { Message, ToolResult } from '../types/core.js';
/**
* Builder pattern for constructing message arrays.
* Provides a fluent interface for adding messages without side effects.
* This ensures messages are only added to state once, preventing duplication.
*/
export declare class MessageBuilder {
private messages;
constructor(initialMessages: Message[]);
/**
* Add an assistant message (with or without tool_calls).
*/
addAssistantMessage(msg: Message): this;
/**
* Add tool result messages from tool execution.
*/
addToolResults(results: ToolResult[]): this;
/**
* Add a user message.
*/
addUserMessage(content: string): this;
/**
* Add an error message as a user message (for model self-correction).
*/
addErrorMessage(errorContent: string): this;
/**
* Add an arbitrary message (use sparingly, prefer specific methods).
*/
addMessage(message: Message): this;
/**
* Build and return the final messages array.
*/
build(): Message[];
/**
* Get the current length of the messages array.
*/
get length(): number;
/**
* Check if the builder has any messages.
*/
get isEmpty(): boolean;
}
//# sourceMappingURL=message-builder.d.ts.map