# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [2.2.0] - 2026-07-02 ### Added - `ConclusionLevel` type (`explicit`, `deductive`, `inductive`, `contradiction`) and a `level` field on `Conclusion`, exposing the reasoning level the server already tracked but previously stripped from responses. - `filters` option on `conclusions.list()` and `conclusions.query()`, passed through to the same dynamic server-side filter logic as the other list endpoints. Filter explicit-only conclusions with `{ filters: { level: 'explicit' } }`, or by any other supported field/operator. Requires a Honcho server with the matching API support (Honcho v3.0.11+). ### Fixed - Scope-managed filter keys (`observer`, `observed`, `session`) are now rejected with a clear error if passed in `filters`, instead of silently overriding the scope and returning conclusions from a different peer pair. Use `peer.conclusions` / `peer.conclusionsOf(target)` and the dedicated `session` option instead. `session_id` remains a valid filter on `query()`. ## [2.1.2] - 2026-05-21 ### Added - `peers` option on `Honcho.session()` — attach peers to a session at creation time instead of needing a follow-up `session.addPeers()` call. Accepts the same `PeerAddition` shape as `session.addPeers()` (peer ID strings, `Peer` objects, arrays of either, or a record with per-peer `observe_me`/`observe_others` config). ### Changed - ID validation in `validation.ts` now accepts workspace, peer, and session IDs up to 512 characters (was 100), matching the server-side schema change in Honcho v3.0.7. ### Fixed - `Honcho.workspaces()` now actually forwards the `reverse` option to the server. The 2.1.0 changelog listed `workspaces()` among the list methods that gained `reverse`, but `client.ts` was missing the field on the params type and request builder, so the option was silently dropped. Honoring `reverse` on the workspace/peer/session list routes also requires a Honcho server with the matching API fix; older servers silently ignore the parameter. ## [2.1.1] - 2026-04-01 ### Fixed - Broadened fetch error retry logic to catch all `TypeError` network failures (connection resets, DNS errors, etc.) instead of only those with `'fetch'` in the message, improving resilience across runtimes (Node, Bun, browsers) ## [2.1.0] - 2026-03-25 ### Added - `createdAt` property on `Peer` and `Session` wrapper objects - `isActive` property on `Session` wrapper objects - `getMessage(messageId)` method on `Session` to fetch a single message by ID - `Peer.representation()`, `Session.representation()`, and `Session.context()` now accept `Message` objects for `searchQuery` (extracts `.content` automatically) - `page`, `size`, and `reverse` pagination controls on all list methods: `peers()`, `sessions()`, `messages()`, `workspaces()`, and `conclusions.list()` ### Changed - **Breaking**: `searchQuery` removed from top-level `context()` options. Use `representationOptions.searchQuery` instead — this eliminates the duplicate parameter and is consistent with the API structure. - List methods (`peers()`, `sessions()`, `messages()`, `workspaces()`) support both the new options object and the legacy raw-filter form: `peers({ filters, page, size, reverse })` and `peers(filters)`. - Representation search options now accept strings and content-like objects (including `Message` instances) while rejecting whitespace-only or invalid runtime inputs. - **Breaking**: `peer()` and `session()` now always make a get-or-create API call. Previously, calling without metadata/configuration returned a lazy object with no API call. All Peer/Session objects now have `createdAt` populated immediately. - Response configuration models (`WorkspaceConfigurationResponse`, `SessionConfigurationResponse`) now tolerate unknown fields from newer servers for forward compatibility - Reusable `PeerIdObjectSchema` and `SessionIdObjectSchema` helpers for union validation - Moved `@types/node` from `dependencies` to `devDependencies` ### Fixed - `uploadFile()` now rejects unsupported top-level binary/object inputs and only validates inputs the serializer can actually upload. - `uploadFile()` now serializes message configuration using API field names, matching `addMessages()`. - Session fetch methods now refresh cached `createdAt` and `isActive` values alongside metadata and configuration. ## [2.0.2] - 2026-03-10 ### Changed - **Breaking**: Client constructor now rejects unknown options via `.strict()` Zod validation. Previously, misspelled options (e.g., `baseUrl` instead of `baseURL`) were silently ignored, causing the SDK to fall back to defaults. Now a `ZodError` is thrown with the unrecognized key name. ## [2.0.1] - 2026-02-09 ### Added - `setPeerCard` method ### Changed - `card` is now `getCard` with `card` kept for backwards compatibility and marked as deprecated ## [2.0.0] - 2026-01-13 ### Added - `ConclusionScope` object for CRUD operations on conclusions (renamed from observations) - Representation configuration support ### Changed - Observations renamed to Conclusions across the SDK - Major SDK refactoring and cleanup - Simplified method signatures throughout - Representation endpoints now return `string` instead of old Representation object ### Fixed - Pagination `this` binding issue ### Removed - Representation object - Stainless "core" SDK -- this SDK is now standalone ## [1.6.0] - 2025-12-03 ### Added - metadata and configuration fields to Workspace, Peer, Session, and Message objects - Session Clone methods - Peer level get_context method - `ObservationScope` object to perform CRUD operations on observations - Representation object for WorkingRepresentations ### Changed - methods that take IDs, can all optionally take an object of the same type ## [1.5.0] - 2025-10-09 ### Added - Delete workspace method ### Changed - message_id of `Summary` model is a string nanoid - Get Context can return Peer Card & Peer Representation ## [1.4.1] — 2025-10-01 ### Added - Get Peer Card method - Update Message metadata method - Session level deriver status methods - Delete session message ### Fixed - Dialectic Stream returns Iterators - Type warnings ### Changed - Pagination class to match core implementation ## [1.4.0] - 2025-08-12 ### Added - getSummaries API returning structured summaries - Webhook support ### Changed - Messages can take an optional `created_at` value, defaulting to the current time (UTC ISO 8601) ## [1.3.0] - 2025-08-04 ### Added - Zod validation - Added getPeerConfig to Session object ### Changed - Moved parameters out of random `opts` dictionaries in many places - Peer and Session objects now use inner client like python SDK ### Fixed - Enabled missing `metadata` options in many places - Proper default behavior for SessionPeerConfig ## [1.2.1] - 2025-07-21 ### Fixed - Order of parameters in `getSessions` endpoint ### Added - Linting via Biome - Adding filter parameter to various endpoints ## [1.2.0] - 2025-07-16 ### Added - Get/poll deriver queue status endpoints added to workspace - Added endpoint to upload files as messages ### Removed - Removed peer messages in accordance with Honcho 2.1.0 ### Changed - Updated chat endpoint to use singular `query` in accordance with Honcho 2.1.0 ## [1.1.0] - 2025-07-08 ### Fixed - Create default workspace on Honcho client instantiation - Simplified Honcho client import path