diff --git a/CHANGELOG.md b/CHANGELOG.md index 85148ca..9c1b6fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to the CueMap TypeScript SDK will be documented in this file. +## [0.7.5] - 2026-10-14 + +### Added +- `ExpansionDepth` type (`number | 'conversation_round'`) for recall requests, and the `'conversation'` segmenter for `/ingest/content` chat histories (Claude or ChatGPT exports, JSON message lists, role- or speaker-labelled transcripts). + +### Changed +- Synchronized with CueMap Engine v0.7.5, whose recall default is `expansion_depth: 'conversation_round'` (each result gets the message it replies to, and the top result gets its answer). Pass `expansion_depth: 1` for the previous matched-memory-only behaviour. + ## [0.7.3] - 2026-08-27 ### Changed diff --git a/package-lock.json b/package-lock.json index b48fd97..b21e85c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cuemap", - "version": "0.7.3", + "version": "0.7.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cuemap", - "version": "0.7.3", + "version": "0.7.5", "license": "MIT", "devDependencies": { "@types/node": "^20.0.0", diff --git a/package.json b/package.json index 71c3ddf..1b7e549 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cuemap", - "version": "0.7.3", + "version": "0.7.5", "description": "CueMap TypeScript SDK - High-performance temporal-associative memory", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/index.ts b/src/index.ts index 022b15d..d48f305 100644 --- a/src/index.ts +++ b/src/index.ts @@ -12,8 +12,20 @@ export interface CueMapConfig { export type MemoryId = number | string; export type RecallExpansionMode = 'off' | 'auto' | 'force'; +/** + * Neighbour context for each result: 'conversation_round' (the engine default) prepends the + * message each result replies to and appends the answer to the top result (needs session, + * turn and role metadata on the memories; others are returned as they are), or a number + * (1 = the matched memory only; n > 1 adds source-ordered neighbours within radius n - 1). + */ +export type ExpansionDepth = number | 'conversation_round'; export type SemanticRecallMode = 'lexical' | 'semantic' | 'hybrid'; -export type TextSegmenterMode = 'sentence_window' | 'logical_block'; +/** + * How `/ingest/content` splits content. 'conversation' expects a chat history (Claude or + * ChatGPT export, JSON message list, or a role/speaker-labelled transcript) and stores one + * memory per message with conversation, turn and role metadata. + */ +export type TextSegmenterMode = 'sentence_window' | 'logical_block' | 'conversation'; export type IntentTarget = 'query' | 'memory'; export interface IntentClassification { @@ -149,7 +161,7 @@ export interface RecallRequest { trace_timing?: boolean; disable_salience_bias?: boolean; disable_alias_expansion?: boolean; - expansion_depth?: number; + expansion_depth?: ExpansionDepth; parent_fusion?: RecallExpansionMode; parent_fusion_limit?: number; parent_fusion_min_chunks?: number; @@ -989,7 +1001,7 @@ export interface RecallGroundedRequest { projects?: string[]; disable_salience_bias?: boolean; disable_alias_expansion?: boolean; - expansion_depth?: number; + expansion_depth?: ExpansionDepth; /** @deprecated Removed from the v0.7 engine. Accepted for source compatibility but not sent. */ disable_pattern_completion?: boolean; /** @deprecated Removed from the v0.7 engine. Accepted for source compatibility but not sent. */