Releases: sei-protocol/omnigent-go-sdk
Release list
v0.3.0
What's Changed
- feat!: ListItems yields the shape the route sends by @bdchatham in #28
Full Changelog: v0.2.4...v0.3.0
v0.2.4
What's Changed
- fix: refuse a listing that claims more while returning nothing by @bdchatham in #26
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed
- fix: end a listing on an empty page, and require a verdict's action by @bdchatham in #24
Full Changelog: v0.2.2...v0.2.3
v0.2.2
What's Changed
- fix: post a message the way the server persists it by @bdchatham in #22
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed
- docs: point the README at v0.2.0 by @bdchatham in #19
Full Changelog: v0.2.0...v0.2.1
v0.2.0
First release carrying the rebuilt surface: sessions, files, the turn loop, block folding and client-side tools. The wire types are now generated from the vendored OpenAPI document behind an internal/api facade.
go get github.com/sei-protocol/omnigent-go-sdk@v0.2.0Breaking changes from v0.1.x
Three exported fields changed type. In all three the generator is right and the hand-written type was wrong against the document.
PaginatedList.Data []map[string]any -> []interface{}
ReasoningData.Content / .Summary []map[string]any -> []map[string]string
SessionResponse.TerminalLaunchArgs gains ,omitempty
ReasoningData is not only a compile break — read this one twice. Narrowing to map[string]string also changes decoding. A reasoning block carrying a non-string value now fails json.Unmarshal where it previously decoded into any:
[]map[string]string json: cannot unmarshal number into Go struct field
ReasoningData.content of type string
[]map[string]any decodes: [map[confidence:0.91 type:text]]
A caller unmarshalling ConversationItem.Data into ReasoningData meets that at runtime, not at build time — so a clean rebuild is not evidence you are unaffected. The generated type is faithful to the document (items.additionalProperties.type: string).
Separately, the public types are now aliases into internal/api. A caller naming omnigent.AgentObject still compiles; gorelease reports the move as a type change regardless.
Built against
omnigent 179774eb (2026-08-19) — the v0.10.0 era, 22 commits past that tag and 3 behind the line that became v0.11.0. spec/README.md records the snapshot commit, which is this repository's only provenance for it.
The document's own info.version reads 0.1.0 and has not moved with the server, so it is not a usable version signal.
What's Changed
- refactor: remove the implementation and its generator (alignment 1/4) by @bdchatham in #7
- chore: finish the removal the first milestone left half-done by @bdchatham in #9
- feat: core foundation implementation (2/4) by @bdchatham in #8
- docs: record the wire-type generation question as ADR 0001 by @bdchatham in #13
- feat: sessions and files namespaces (3/5) by @bdchatham in #10
- feat: turn loop, block folding, transforms, tool dispatch and hooks (4/5) by @bdchatham in #11
- ci: run the seidroid AI review and assistant on this repo by @bdchatham in #16
- (feat): Generate types from upstream openapi spec (5/5) by @bdchatham in #14
- test: make stream idle-timeout tests deterministic with an injectable clock by @bdchatham in #15
Full Changelog: v0.1.2...v0.2.0
v0.1.2
What's Changed
- Resync the bindings with the spec, and reach PATCH by @bdchatham in #5
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- ci: release through version.json and the org's shared workflows by @bdchatham in #2
- feat: EventAccepted carries the server's denial by @bdchatham in #3
Full Changelog: v0.1.0...v0.1.1
v0.1.0
v0.1.0 — first tagged release
The Go client for the Omnigent session API: create or adopt a session, drive a
turn, consume the event stream, resolve permission elicitations, and read
committed conversation items.
v0.1.x rather than v1: the surface reaches 7 of roughly 16 documented session
operations, and the paginated items route landed only recently. What is here is
exercised — 300 tests, race-enabled, against httptest fixtures — and has been
run against a live deployment, but the shape may still move as the remaining
operations arrive.
Two things a consumer should read before depending on this. The generated half
derives from a vendored snapshot of the Omnigent OpenAPI specification, so it is
Apache-2.0 with the attribution in NOTICE, and a stale snapshot reads as
authoritative while being wrong — refresh deliberately. And the union accessors
on ConversationItem.Data do not consult a discriminator, because the
specification declares none: gate on ConversationItem.Type before interpreting a
payload.