API Reference
Core Exports
Section titled “Core Exports”The main viber package exports the following:
import { // Core classes Agent, Space,
// Tool utilities tool,
// Streaming streamText, generateText,
// Types type Message, type Tool, type AgentConfig, type SpaceConfig,} from 'viber';The primary class for creating AI agents.
Constructor
Section titled “Constructor”new Agent(config: AgentConfig)AgentConfig
Section titled “AgentConfig”| Property | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | Agent identifier |
model | string | ✓ | LLM model (e.g., openai:gpt-4o) |
systemPrompt | string | Agent instructions | |
tools | Tool[] | Available tools | |
temperature | number | Creativity (0-1) | |
maxTokens | number | Response limit |
Methods
Section titled “Methods”streamText(options)
Section titled “streamText(options)”Stream a text response.
const result = await agent.streamText({ messages: Message[], onToolCall?: (call) => void,});generateText(options)
Section titled “generateText(options)”Generate a complete text response (non-streaming).
const result = await agent.generateText({ messages: Message[],});Workspace management for organizing artifacts and history.
Constructor
Section titled “Constructor”new Space(config: SpaceConfig)Methods
Section titled “Methods”| Method | Returns | Description |
|---|---|---|
saveArtifact(name, content) | Promise<void> | Save an artifact |
readArtifact(name) | Promise<string> | Read an artifact |
listArtifacts() | Promise<string[]> | List all artifacts |
getHistory() | Promise<Message[]> | Get conversation history |
clearHistory() | Promise<void> | Clear history |
tool()
Section titled “tool()”Define a tool for agents.
const myTool = tool({ name: string, description: string, parameters: ZodSchema, execute: (params) => Promise<any>,});Framework Adapters
Section titled “Framework Adapters”React (viber/react)
Section titled “React (viber/react)”import { useAgent, useChat, useAgentStore } from 'viber/react';Svelte (viber/svelte)
Section titled “Svelte (viber/svelte)”import { createAgentStore, createChatStore, agentStore } from 'viber/svelte';Server (viber/server)
Section titled “Server (viber/server)”import { streamToResponse } from 'viber/server';