Signature
typescripttypescript
await ctx.init(options: InitOptions): Promise<void>Options
| Field | Type | Description |
|---|---|---|
organization | string | Namespace isolating memories in a shared database |
database | DatabaseConfig | Provider + connection string |
embedding | EmbeddingConfig | OpenAI-compatible embedding endpoint |
llm | LlmConfig | OpenAI-compatible chat endpoint for compression |
Embeddings
Any OpenAI-compatible /embeddings endpoint works: OpenAI, Azure OpenAI, Ollama, LM Studio, OpenRouter, Together, Voyage, and more.
typescripttypescript
embedding: {
baseUrl: "http://127.0.0.1:11434/v1",
apiKey: "ollama",
model: "nomic-embed-text",
}LLM
Compression uses a separate chat completion endpoint. Mix providers freely.
typescripttypescript
llm: {
baseUrl: "https://api.openai.com/v1",
apiKey: process.env.OPENAI_API_KEY!,
model: "gpt-4.1-mini",
temperature: 0.2,
maxTokens: 4096,
}Example
typescripttypescript
const ctx = new AgentOrc();
await ctx.init({
organization: "acme",
database: { provider: "sqlite", connectionString: "./acme.db" },
embedding: {
baseUrl: "https://api.openai.com/v1",
apiKey: process.env.OPENAI_API_KEY!,
model: "text-embedding-3-small",
},
llm: {
baseUrl: "https://api.openai.com/v1",
apiKey: process.env.OPENAI_API_KEY!,
model: "gpt-4.1-mini",
},
});Errors
ConfigurationError— invalid or missing optionsInitializationError— database or endpoint setup failedEmbeddingError— embedding probe failed