Skip to main content

7. Release the SDKs as 1.0.0 under MIT

Date: 2026-07-13

Status​

Accepted

Context​

The Rust, Python, and TypeScript SDKs were pre-1.0 and lacked a stable API contract. The operator wanted a 1.0.0 release that mirrors the runtime surface across all three languages.

Decision​

  • Set each SDK version to 1.0.0.
  • Add a BREAKING.md file to each SDK documenting breaking-change policy.
  • Require 1:1 method coverage across the three SDKs: streaming chat, tool calls, structured outputs, embeddings, run lifecycle (create / stream / cancel / resume / checkpoint), knowledge base CRUD, and ingest.
  • Provide six runnable examples per SDK.
  • Use miette in Rust, pydantic in Python, and zod in TypeScript for typed errors and models.

Consequences​

  • Consumers can rely on SemVer semantics for the SDKs.
  • BREAKING.md sets expectations for major-version bumps.
  • Cookbook examples and rustdoc/TypeDoc/Sphinx references become stable targets.

Alternatives considered​

  • 0.x with rapid iteration: rejected because the operator wanted a stable launch signal.
  • Different surfaces per SDK: rejected because the operator required parity.