API Reference
This page provides a high-level overview of the main classes and types exported by @obayd/agentic. For detailed type signatures and JSDoc comments, please refer to the .d.ts declaration files included in the package within the src/ directory (e.g., src/Conversation.d.ts, src/Tool.d.ts).
Core Classes
Conversation:The main class for managing LLM interactions.
Constructor:
new Conversation(llmCallback, options?)Methods:
.content(definition: ContentDefinitionItem[]): this- Defines system prompt content and tools..send(messageContent, ...args): AsyncGenerator<ConversationEvent>- Sends a message and returns the event stream.
Properties:
.messages: Message[]- The conversation history..enabledToolpacks: Set<string>- Names of currently enabled toolpacks.
See:
src/Conversation.d.ts
Tool:Used to define individual functions (tools) for the LLM.
Static Methods:
Tool.make(name: string): Tool- Starts building a tool.
Instance Methods (Chainable):
.description(text: string): this/.desc(text: string): this.param(name: string, description: string, options?): this.raw(description?: string): this.action(callback: ToolActionCallback): this
See:
src/Tool.d.ts
Toolpack:Used to group related
Toolinstances.Static Methods:
Toolpack.make(name: string): Toolpack- Starts building a toolpack.
Instance Methods (Chainable):
.description(text: string): this/.desc(text: string): this.addTool(tool: Tool): this.addTools(tools: Tool[]): this
Instance Methods (Other):
.getTools(): Tool[]- Returns an array of tools in the pack.
See:
src/Toolpack.d.ts
Key Types & Interfaces
LlmCallback:Type signature for the required async generator function passed to the
Conversationconstructor.type LlmCallback = (messages: Message[], options: LlmCallbackOptions) => AsyncGenerator<string>;See:
src/Conversation.d.ts
Message:Interface describing the structure of objects in the
conversation.messagesarray.Properties:
role,content,callId?,name?,params?,raw?,result?,error?.See:
src/Conversation.d.ts
ConversationEvent:Union type representing the different event objects yielded by
conversation.send().Types:
assistant,tool.generating,tool.calling,tool,error.See:
src/Conversation.d.ts
ContentDefinitionItem:Union type representing items that can be passed in the array to
conversation.content().Includes:
string,Tool,Toolpack,ContentPart, and async functions resolving to these.See:
src/Conversation.d.ts
ToolParamOptions:Interface for options passed to
Tool.param().Properties:
type?,required?,enum?.See:
src/Tool.d.ts
ContentPart:Basic interface for structured content blocks (used in
Message.contentarrays and normalized tool results).Properties:
type: string,[key: string]: any.See:
src/lib/utils.d.ts
NormalizedToolResult:Interface for the object returned by the internal
normalizeToolResultutility.Properties:
content: ContentPart[],error?,[key: string]: any.See:
src/lib/utils.d.ts
Utility Functions
fetchResponseToStream(response: Response): AsyncGenerator<string>:Helper function to convert a Fetch API
Responseobject (expected to contain Server-Sent Events) into an async generator yielding text chunks. Useful for implementing thellmCallback.See:
src/lib/utils.d.tsand Utilities.
Refer to the source .d.ts files for the most detailed and up-to-date type information and documentation comments.
Last updated