Release Notes
Versioning and published release notes for this documentation are still under construction, so there is nothing to list here yet.
Upcoming¶
Breaking Changes — Protocol v2¶
Workflow wiring moved onto node params. GraphDescription.routes removed.
The routes: [ExitRoute] field has been removed from GraphDescription.
Wiring now lives on each node's typed params as <exit_name>_exit string fields
(e.g. default_exit, triggered_exit, not_triggered_exit).
Empty string means route to END; this is also each field's default value, so exits
that terminate the turn do not need to be set at all.
Existing client code calling .Wire() / .wire() continues to work via a compatibility
shim that sets the corresponding exit field on the source node's params.
New code should set exit fields directly on the params object before passing it to
AddNode().
Protocol version bumped from 1 to 2. Old clients connecting to a v2 server receive a
clean ProtocolVersionMismatch error from SessionReady instead of a parse failure.
New error code: 3008 InvalidExitTarget — returned from CreateAgent when a node's
exit field names a target node that does not exist in the graph. The message field
identifies the offending node, exit name, and bad target string.
Intent classification pipeline¶
ClassifyIntentnode — top-1 embedding similarity over a labelled knowledge base; attaches anIntentionComponenton"found"or routes to"not_found". Supportsthreshold,filter,metadata_field, andnotify_clientparameters.IntentToInstructionnode — looks up the intent label from aMap-kind string storage and attaches a matchingInstructionComponentfor the downstreamGeneratenode to render via Mustache.notify_clientonClassifyIntent— when"true", fires aNodeEventwithevent_type="intent_classified"carryingintent,record_id,record_index, anddistanceto the client in real time.- C++ client:
AgentProxy::SetOnIntentClassified— typed callback forintent_classifiedevents; receivesintent,recordId,recordIndex, anddistancedirectly as typed parameters. See C++ Client API Reference. - C++ client:
AgentProxy::SetOnNodeEvent— generic fallback callback for anyNodeEventtype not covered by a typed handler. Also declared inAgentProxy.h.
Filtered retrieval¶
filterparameter onRetrieveandClassifyIntent— JSON predicate evaluated against candidate record metadata during vector search; records that fail the predicate are excluded beforetop_kis applied. Full grammar documented in Retrieve filter grammar.- KB metadata schema (
fieldsarray) — typed field declarations (int,float,string,bool,set<string>) in the embedded-string-storage config. See Embedded String Storage — Metadata schema.
Map and Multimap string storage¶
MapandMultimapkinds onCreateStringStorageRequest— store orderedkey → valuepairs with keyed access (FindFirst,FindAll).Mapenforces key uniqueness;Multimapallows duplicates. Available inline (parallelkeys/stringsarrays) or file-backed (.jsonarray of{id, text}objects).
- Auto model downloading — pass
allow_auto_model_downloading=truetoConfigureSession;CreateAgentthen downloads any missing models automatically and streamsDownloadProgressframes under the samerequest_idbefore replying withCreateAgentResponse. New error code6006 ModelAutoDownloadFailedis returned when a model has no download source configured. Supported in C++, Python, Unity, and Unreal clients. See Enable Auto Model Downloading.