Versioning update, 8 September 2026: This article records the 1.0 release. SDK packages now version independently; use the compatibility guide when upgrading.

Anvia 1.0 is now stable.

The Anvia SDK's public packages were released together as 1.0.0, establishing the stable v1 runtime contract.

pnpm add @anvia/core @anvia/openai

This release is the foundation we want TypeScript teams to build on: a provider-neutral agent runtime whose responsibilities remain explicit, whose packages share explicit contracts, and whose abstractions do not take ownership away from the application.

One stable runtime contract

Anvia v1 replaces builder-era execution with direct, typed runtime objects. Configure an Agent once, then start work with generate() or stream().

import { Agent } from '@anvia/core'
import { OpenAIClient } from '@anvia/openai'

const client = new OpenAIClient({
  apiKey: process.env.OPENAI_API_KEY!,
})

const agent = new Agent({
  id: 'support',
  model: client.completionModel({
    modelId: 'gpt-5.6-sol',
    api: 'responses',
  }),
  instructions: 'Answer support questions clearly.',
  maxTurns: 4,
})

const result = await agent.generate({
  prompt: 'Draft a reply for this customer.',
})

if (result.type === 'response') {
  console.log(result.output)
}

A run ends as a response, a suspended interaction, or a guardrail block. Tools, memory, retrieval, streaming, and tracing all preserve that lifecycle instead of inventing package-specific versions of it.

The application stays in control

Anvia owns the model-and-tool loop. The application still owns credentials, authentication, authorization, tenant boundaries, business services, persistence, deployment, and the response shown to users.

That division is visible throughout v1:

  • provider clients receive credentials explicitly;
  • protected tools return resumable interactions while handlers re-check authorization;
  • memory adapters use application-owned databases and migration workflows;
  • Server, Client, React, and Studio share one public interaction protocol;
  • observability records runtime evidence without becoming the runtime itself.

Shared contracts across packages

The stable release includes Core, provider adapters, memory and vector stores, React and Server transports, Studio, Sandbox, Browser, observability integrations, local embeddings, MCP, and the CLI.

The 1.0 release established shared public contracts across the SDK. Packages now version and publish independently: check their declared dependency and peer-dependency ranges when upgrading, and add only the adapters the application needs. Anvia Channels is released separately from the SDK; matching version numbers across the two is not required.

The release also establishes newer capabilities as first-class packages. @anvia/browser provides an explicit Docker-backed Chromium runtime and coordinated human control. @anvia/neo4j adds schema-first GraphRAG while leaving graph ownership with the application. @anvia/mcp owns MCP clients and transports instead of hiding their lifecycle inside Core.

From v0 to v1

Applications moving from v0 should treat v1 as an intentional migration:

  • replace AgentBuilder with new Agent({ ... });
  • replace .prompt(...).send() with agent.generate(...) or agent.stream(...);
  • handle response, interaction, and blocked outcomes explicitly;
  • move MCP clients and transports to @anvia/mcp;
  • select Core and adapter versions with compatible dependency and peer-dependency ranges;
  • run application type checks, integration tests, and evaluation suites before deployment.

The compatibility and versioning guide explains that boundary in detail.

Start with stable v1

Follow the Anvia v1 quickstart, explore the package catalog, and review the release history.

Anvia 1.0 is published, tested, and ready. Now we can build forward on a stable foundation.

Keep up with Anvia.

Occasional releases, practical agent-engineering notes, and updates from Studio and Lens.

Anvia