9.5 KiB
9.5 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]
Added
Session.lastMessageAtexposes the newest message timestamp, andHoncho.sessions()acceptssortBy: 'created_at' | 'last_message_at'while preservingreverseacross pagination. Requires a Honcho server with the matching API support.
[2.4.0] - 2026-08-25
Added
- Scopes:
honcho.scope()get-or-creates a named visibility boundary,honcho.scopes()lists them, and aScopeobject adds/removes sessions, lists membership, and reads backfillstatus().honcho.session({ scopes: [...] })joins a new session to scopes at creation. Requires a Honcho server with the matching API support (Honcho v3.1.0+). scopeoption onpeer.chat()/chatStream(), representation, session context, and workspace search. A single scope answers from that scope's collection and card; a list of scopes restricts recall to the union of their member sessions (explicit-only). Mutually exclusive withsession/sessions/filters.- Workspace-level chat:
honcho.chat()/honcho.chatStream()ask a question across every peer in the workspace, with the samesession,scope,reasoningLevel, andresponseFormatoptions aspeer.chat(). Requires a Honcho server with the matching API support (Honcho v3.1.0+).
Changed
ConclusionScopeis renamed toConclusionsView. The old name remains as a deprecated alias for one more minor version. "Scope" now means a named set of sessions (Scope); these objects are views over one observer/observed pair.
[2.3.0] - 2026-08-10
Added
responseFormatoption onpeer.chat()andpeer.chatStream(), for constraining a dialectic answer to a schema. Pass a Zod schema to get a parsed, validated result back, or a raw JSON Schema object to get the JSON string as-is. Overloads type the return precisely, so a Zod schema narrows to its inferred type and a plain object narrows tostring. OnchatStream(), chunks stay raw text that accumulates to a JSON string — parse it after the stream completes. Requires a Honcho server with the matching API support (Honcho v3.0.12+).
[2.2.0] - 2026-07-02
Added
ConclusionLeveltype (explicit,deductive,inductive,contradiction) and alevelfield onConclusion, exposing the reasoning level the server already tracked but previously stripped from responses.filtersoption onconclusions.list()andconclusions.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 infilters, instead of silently overriding the scope and returning conclusions from a different peer pair. Usepeer.conclusions/peer.conclusionsOf(target)and the dedicatedsessionoption instead.session_idremains a valid filter onquery().
[2.1.2] - 2026-05-21
Added
peersoption onHoncho.session()— attach peers to a session at creation time instead of needing a follow-upsession.addPeers()call. Accepts the samePeerAdditionshape assession.addPeers()(peer ID strings,Peerobjects, arrays of either, or a record with per-peerobserve_me/observe_othersconfig).
Changed
- ID validation in
validation.tsnow 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 thereverseoption to the server. The 2.1.0 changelog listedworkspaces()among the list methods that gainedreverse, butclient.tswas missing the field on the params type and request builder, so the option was silently dropped. Honoringreverseon 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
TypeErrornetwork 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
createdAtproperty onPeerandSessionwrapper objectsisActiveproperty onSessionwrapper objectsgetMessage(messageId)method onSessionto fetch a single message by IDPeer.representation(),Session.representation(), andSession.context()now acceptMessageobjects forsearchQuery(extracts.contentautomatically)page,size, andreversepagination controls on all list methods:peers(),sessions(),messages(),workspaces(), andconclusions.list()
Changed
- Breaking:
searchQueryremoved from top-levelcontext()options. UserepresentationOptions.searchQueryinstead — 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 })andpeers(filters). - Representation search options now accept strings and content-like objects (including
Messageinstances) while rejecting whitespace-only or invalid runtime inputs. - Breaking:
peer()andsession()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 havecreatedAtpopulated immediately. - Response configuration models (
WorkspaceConfigurationResponse,SessionConfigurationResponse) now tolerate unknown fields from newer servers for forward compatibility - Reusable
PeerIdObjectSchemaandSessionIdObjectSchemahelpers for union validation - Moved
@types/nodefromdependenciestodevDependencies
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, matchingaddMessages().- Session fetch methods now refresh cached
createdAtandisActivevalues 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.,baseUrlinstead ofbaseURL) were silently ignored, causing the SDK to fall back to defaults. Now aZodErroris thrown with the unrecognized key name.
[2.0.1] - 2026-02-09
Added
setPeerCardmethod
Changed
cardis nowgetCardwithcardkept for backwards compatibility and marked as deprecated
[2.0.0] - 2026-01-13
Added
ConclusionScopeobject 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
stringinstead of old Representation object
Fixed
- Pagination
thisbinding 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
ObservationScopeobject 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
Summarymodel 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_atvalue, 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
optsdictionaries in many places - Peer and Session objects now use inner client like python SDK
Fixed
- Enabled missing
metadataoptions in many places - Proper default behavior for SessionPeerConfig
[1.2.1] - 2025-07-21
Fixed
- Order of parameters in
getSessionsendpoint
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
queryin 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