instar 1.2.73 → 1.2.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +6 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/memory/WorkingMemoryAssembler.d.ts +26 -0
- package/dist/memory/WorkingMemoryAssembler.d.ts.map +1 -1
- package/dist/memory/WorkingMemoryAssembler.js +56 -0
- package/dist/memory/WorkingMemoryAssembler.js.map +1 -1
- package/dist/memory/WorkingSet.d.ts +53 -0
- package/dist/memory/WorkingSet.d.ts.map +1 -0
- package/dist/memory/WorkingSet.js +140 -0
- package/dist/memory/WorkingSet.js.map +1 -0
- package/dist/threadline/ConversationStore.d.ts +53 -25
- package/dist/threadline/ConversationStore.d.ts.map +1 -1
- package/dist/threadline/ConversationStore.js +149 -68
- package/dist/threadline/ConversationStore.js.map +1 -1
- package/dist/threadline/ThreadResumeMap.d.ts +49 -116
- package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
- package/dist/threadline/ThreadResumeMap.js +194 -252
- package/dist/threadline/ThreadResumeMap.js.map +1 -1
- package/dist/threadline/ThreadlineObservability.d.ts +6 -1
- package/dist/threadline/ThreadlineObservability.d.ts.map +1 -1
- package/dist/threadline/ThreadlineObservability.js +17 -8
- package/dist/threadline/ThreadlineObservability.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.2.74.md +62 -0
- package/upgrades/1.2.75.md +69 -0
- package/upgrades/side-effects/cwa-unify-stores.md +83 -0
|
@@ -23,11 +23,23 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import type { SemanticMemory } from './SemanticMemory.js';
|
|
25
25
|
import type { EpisodicMemory } from './EpisodicMemory.js';
|
|
26
|
+
import type { TopicIntentStore } from '../core/TopicIntent.js';
|
|
26
27
|
export interface WorkingMemoryConfig {
|
|
27
28
|
/** SemanticMemory instance (optional — degrades gracefully) */
|
|
28
29
|
semanticMemory?: SemanticMemory;
|
|
29
30
|
/** EpisodicMemory instance (optional — degrades gracefully) */
|
|
30
31
|
episodicMemory?: EpisodicMemory;
|
|
32
|
+
/**
|
|
33
|
+
* TopicIntentStore (rung 2) — when provided, the topic's established refs join
|
|
34
|
+
* the unified working-set section. Optional; absent → that source is empty.
|
|
35
|
+
*/
|
|
36
|
+
topicIntentStore?: TopicIntentStore;
|
|
37
|
+
/**
|
|
38
|
+
* State dir (rung 2) — when provided, Playbook manifest items matching the
|
|
39
|
+
* query join the unified working-set section (read-only manifest scan, no
|
|
40
|
+
* Python). Optional; absent → that source is empty.
|
|
41
|
+
*/
|
|
42
|
+
stateDir?: string;
|
|
31
43
|
/** Token budgets per source. Defaults provided. */
|
|
32
44
|
tokenBudgets?: Partial<TokenBudgets>;
|
|
33
45
|
}
|
|
@@ -38,6 +50,8 @@ export interface TokenBudgets {
|
|
|
38
50
|
episodes: number;
|
|
39
51
|
/** Max tokens for relationship/people context */
|
|
40
52
|
relationships: number;
|
|
53
|
+
/** Max tokens for the unified working set (topic-intent + Playbook) — rung 2 */
|
|
54
|
+
workingSet: number;
|
|
41
55
|
/** Total max tokens (hard cap on entire assembly) */
|
|
42
56
|
total: number;
|
|
43
57
|
}
|
|
@@ -74,6 +88,8 @@ export interface WorkingMemoryAssembly {
|
|
|
74
88
|
export declare class WorkingMemoryAssembler {
|
|
75
89
|
private semanticMemory?;
|
|
76
90
|
private episodicMemory?;
|
|
91
|
+
private topicIntentStore?;
|
|
92
|
+
private stateDir?;
|
|
77
93
|
private budgets;
|
|
78
94
|
constructor(config: WorkingMemoryConfig);
|
|
79
95
|
/**
|
|
@@ -87,6 +103,16 @@ export declare class WorkingMemoryAssembler {
|
|
|
87
103
|
private assembleKnowledge;
|
|
88
104
|
private assembleEpisodes;
|
|
89
105
|
private assembleRelationships;
|
|
106
|
+
/**
|
|
107
|
+
* Assemble the unified working set: topic-intent refs (relevance = confidence,
|
|
108
|
+
* recency = lastReinforcedAt) + Playbook manifest items matching the query
|
|
109
|
+
* (relevance = trigger/tag match + usefulness, recency = freshness), ranked
|
|
110
|
+
* together by blended relevance×recency-decay and rendered under budget. Both
|
|
111
|
+
* sources are read-only + degrade-safe — a missing/erroring source contributes
|
|
112
|
+
* nothing and never breaks assembly.
|
|
113
|
+
*/
|
|
114
|
+
private assembleWorkingSet;
|
|
115
|
+
private renderWorkingSet;
|
|
90
116
|
/**
|
|
91
117
|
* Render entities with the tiered strategy:
|
|
92
118
|
* - Top 3: Full content (name + content + confidence + connections)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkingMemoryAssembler.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkingMemoryAssembler.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,qBAAqB,CAAC;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAe;gBAElB,MAAM,EAAE,mBAAmB;IAQvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB;IA8EzD,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,qBAAqB;IAuB7B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;IAoBxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IA8BrD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,YAAY;IASpB,8DAA8D;IAC9D,UAAU,IAAI,YAAY;CAG3B"}
|
|
@@ -21,22 +21,28 @@
|
|
|
21
21
|
*
|
|
22
22
|
* Implements Phase 4 of PROP-memory-architecture v3.1.
|
|
23
23
|
*/
|
|
24
|
+
import { rankWorkingSet, topicIntentToWorkingSet, playbookManifestToWorkingSet } from './WorkingSet.js';
|
|
24
25
|
import { estimateTokens } from './Chunker.js';
|
|
25
26
|
// ─── Constants ──────────────────────────────────────────────────────
|
|
26
27
|
const DEFAULT_BUDGETS = {
|
|
27
28
|
knowledge: 800,
|
|
28
29
|
episodes: 400,
|
|
29
30
|
relationships: 300,
|
|
31
|
+
workingSet: 500,
|
|
30
32
|
total: 2000,
|
|
31
33
|
};
|
|
32
34
|
// ─── Assembler ──────────────────────────────────────────────────────
|
|
33
35
|
export class WorkingMemoryAssembler {
|
|
34
36
|
semanticMemory;
|
|
35
37
|
episodicMemory;
|
|
38
|
+
topicIntentStore;
|
|
39
|
+
stateDir;
|
|
36
40
|
budgets;
|
|
37
41
|
constructor(config) {
|
|
38
42
|
this.semanticMemory = config.semanticMemory;
|
|
39
43
|
this.episodicMemory = config.episodicMemory;
|
|
44
|
+
this.topicIntentStore = config.topicIntentStore;
|
|
45
|
+
this.stateDir = config.stateDir;
|
|
40
46
|
this.budgets = { ...DEFAULT_BUDGETS, ...config.tokenBudgets };
|
|
41
47
|
}
|
|
42
48
|
/**
|
|
@@ -81,6 +87,20 @@ export class WorkingMemoryAssembler {
|
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
}
|
|
90
|
+
// 4. Unified working set (rung 2): topic-intent refs + Playbook items, ranked
|
|
91
|
+
// together by blended relevance×recency. Appended AFTER the existing
|
|
92
|
+
// sources and gated on the new deps, so when neither is configured the
|
|
93
|
+
// assembled output is byte-for-byte unchanged (regression pin).
|
|
94
|
+
if (this.topicIntentStore || this.stateDir) {
|
|
95
|
+
const remainingBudget = Math.min(this.budgets.workingSet, this.budgets.total - totalTokens);
|
|
96
|
+
if (remainingBudget > 50) {
|
|
97
|
+
const workingSetSection = this.assembleWorkingSet(trigger.topicId, queryTerms, remainingBudget);
|
|
98
|
+
if (workingSetSection.content) {
|
|
99
|
+
sections.push(workingSetSection);
|
|
100
|
+
totalTokens += workingSetSection.tokens;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
84
104
|
// Build final context string
|
|
85
105
|
const context = this.formatAssembly(sections);
|
|
86
106
|
return {
|
|
@@ -156,6 +176,41 @@ export class WorkingMemoryAssembler {
|
|
|
156
176
|
}
|
|
157
177
|
return this.renderEntities(people, budget, 'relationships');
|
|
158
178
|
}
|
|
179
|
+
// ─── Working Set Assembly (rung 2 — unified read path) ────────────
|
|
180
|
+
/**
|
|
181
|
+
* Assemble the unified working set: topic-intent refs (relevance = confidence,
|
|
182
|
+
* recency = lastReinforcedAt) + Playbook manifest items matching the query
|
|
183
|
+
* (relevance = trigger/tag match + usefulness, recency = freshness), ranked
|
|
184
|
+
* together by blended relevance×recency-decay and rendered under budget. Both
|
|
185
|
+
* sources are read-only + degrade-safe — a missing/erroring source contributes
|
|
186
|
+
* nothing and never breaks assembly.
|
|
187
|
+
*/
|
|
188
|
+
assembleWorkingSet(topicId, queryTerms, budget) {
|
|
189
|
+
const items = [
|
|
190
|
+
...topicIntentToWorkingSet(this.topicIntentStore, topicId),
|
|
191
|
+
...playbookManifestToWorkingSet(this.stateDir, queryTerms),
|
|
192
|
+
];
|
|
193
|
+
if (items.length === 0) {
|
|
194
|
+
return { name: 'working-set', content: '', tokens: 0, count: 0 };
|
|
195
|
+
}
|
|
196
|
+
const ranked = rankWorkingSet(items);
|
|
197
|
+
return this.renderWorkingSet(ranked, budget);
|
|
198
|
+
}
|
|
199
|
+
renderWorkingSet(items, budget) {
|
|
200
|
+
const lines = [];
|
|
201
|
+
let tokens = 0;
|
|
202
|
+
let count = 0;
|
|
203
|
+
for (const item of items) {
|
|
204
|
+
const entry = `- **[${item.source}/${item.kind}]** ${item.text}`;
|
|
205
|
+
const entryTokens = estimateTokens(entry);
|
|
206
|
+
if (tokens + entryTokens > budget)
|
|
207
|
+
break;
|
|
208
|
+
lines.push(entry);
|
|
209
|
+
tokens += entryTokens;
|
|
210
|
+
count++;
|
|
211
|
+
}
|
|
212
|
+
return { name: 'working-set', content: lines.join('\n'), tokens, count };
|
|
213
|
+
}
|
|
159
214
|
// ─── Rendering ────────────────────────────────────────────────────
|
|
160
215
|
/**
|
|
161
216
|
* Render entities with the tiered strategy:
|
|
@@ -293,6 +348,7 @@ export class WorkingMemoryAssembler {
|
|
|
293
348
|
case 'knowledge': return 'Relevant Knowledge';
|
|
294
349
|
case 'episodes': return 'Recent Activity';
|
|
295
350
|
case 'relationships': return 'People Context';
|
|
351
|
+
case 'working-set': return 'Working Set (tracked context)';
|
|
296
352
|
default: return name;
|
|
297
353
|
}
|
|
298
354
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkingMemoryAssembler.js","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkingMemoryAssembler.js","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkingSet — the lingua franca that lets the WorkingMemoryAssembler rank items
|
|
3
|
+
* from different stores (topic-intent, Playbook, …) in one list (rung 2 of
|
|
4
|
+
* continuous-working-awareness).
|
|
5
|
+
*
|
|
6
|
+
* Each store adapts its native model into a `WorkingSetItem`; `rankWorkingSet`
|
|
7
|
+
* blends relevance with a recency-decay factor so a single ranked reading list
|
|
8
|
+
* draws from all sources consistently. Decay is demotion, not deletion — a faded
|
|
9
|
+
* item sinks in the ranking but stays in its backing store and re-warms on
|
|
10
|
+
* reference. Pure functions + read-only adapters; degrade-safe (a missing/empty
|
|
11
|
+
* source contributes nothing). Spec: docs/specs/cwa-unify-stores.md.
|
|
12
|
+
*/
|
|
13
|
+
import type { TopicIntentStore } from '../core/TopicIntent.js';
|
|
14
|
+
export interface WorkingSetItem {
|
|
15
|
+
/** Which store the item came from. */
|
|
16
|
+
source: 'topic-intent' | 'playbook';
|
|
17
|
+
/** Stable id within the source. */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Short human-readable descriptor (the line shown in assembled context). */
|
|
20
|
+
text: string;
|
|
21
|
+
/** Native relevance, normalized to 0–1 (confidence, usefulness, match score). */
|
|
22
|
+
relevance: number;
|
|
23
|
+
/** ISO8601 of the item's last reinforcement / freshness (drives recency decay). */
|
|
24
|
+
recencyAt: string;
|
|
25
|
+
/** Item kind/category (for labelling). */
|
|
26
|
+
kind: string;
|
|
27
|
+
}
|
|
28
|
+
/** Recency half-life (days) for the blended score's decay factor. Tunable. */
|
|
29
|
+
export declare const RECENCY_HALF_LIFE_DAYS = 30;
|
|
30
|
+
/**
|
|
31
|
+
* Blended score = relevance × recency-decay-factor. The recency factor is
|
|
32
|
+
* exp(-ln2 · ageDays / halfLife): 1.0 today, 0.5 at one half-life, etc. Items
|
|
33
|
+
* with no parseable recency are treated as "now" (factor 1) so a source that
|
|
34
|
+
* doesn't track recency isn't unfairly sunk.
|
|
35
|
+
*/
|
|
36
|
+
export declare function blendedScore(item: WorkingSetItem, nowMs?: number): number;
|
|
37
|
+
/** Rank a mixed working set by blended score (descending). Stable, pure. */
|
|
38
|
+
export declare function rankWorkingSet(items: WorkingSetItem[], nowMs?: number): WorkingSetItem[];
|
|
39
|
+
/**
|
|
40
|
+
* Map a topic's established refs (at/above tentative) to WorkingSetItems.
|
|
41
|
+
* Relevance = the confidence projection; recency = lastReinforcedAt. Read-only,
|
|
42
|
+
* degrade-safe (no store / no topic / error → []).
|
|
43
|
+
*/
|
|
44
|
+
export declare function topicIntentToWorkingSet(store: TopicIntentStore | null | undefined, topicId: number | undefined, nowMs?: number): WorkingSetItem[];
|
|
45
|
+
/**
|
|
46
|
+
* Read Playbook manifest JSONs under {stateDir}/playbook and map matching items
|
|
47
|
+
* to WorkingSetItems. Relevance blends trigger/tag overlap with the query and the
|
|
48
|
+
* item's usefulness signal; recency = freshness. Read-only (never invokes the
|
|
49
|
+
* Python scripts) and degrade-safe (no dir / parse error → []). When no query
|
|
50
|
+
* terms are given, returns [] (Playbook items are trigger-gated, not always-on).
|
|
51
|
+
*/
|
|
52
|
+
export declare function playbookManifestToWorkingSet(stateDir: string | undefined, queryTerms: string[], nowMs?: number): WorkingSetItem[];
|
|
53
|
+
//# sourceMappingURL=WorkingSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkingSet.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,MAAM,EAAE,cAAc,GAAG,UAAU,CAAC;IACpC,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAGzC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,GAAE,MAAmB,GAAG,MAAM,CAOrF;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,GAAE,MAAmB,GAAG,cAAc,EAAE,CAKpG;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,EAAE,CAelB;AAeD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,EAAE,CAgDlB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkingSet — the lingua franca that lets the WorkingMemoryAssembler rank items
|
|
3
|
+
* from different stores (topic-intent, Playbook, …) in one list (rung 2 of
|
|
4
|
+
* continuous-working-awareness).
|
|
5
|
+
*
|
|
6
|
+
* Each store adapts its native model into a `WorkingSetItem`; `rankWorkingSet`
|
|
7
|
+
* blends relevance with a recency-decay factor so a single ranked reading list
|
|
8
|
+
* draws from all sources consistently. Decay is demotion, not deletion — a faded
|
|
9
|
+
* item sinks in the ranking but stays in its backing store and re-warms on
|
|
10
|
+
* reference. Pure functions + read-only adapters; degrade-safe (a missing/empty
|
|
11
|
+
* source contributes nothing). Spec: docs/specs/cwa-unify-stores.md.
|
|
12
|
+
*/
|
|
13
|
+
import fs from 'node:fs';
|
|
14
|
+
import path from 'node:path';
|
|
15
|
+
/** Recency half-life (days) for the blended score's decay factor. Tunable. */
|
|
16
|
+
export const RECENCY_HALF_LIFE_DAYS = 30;
|
|
17
|
+
const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
18
|
+
/**
|
|
19
|
+
* Blended score = relevance × recency-decay-factor. The recency factor is
|
|
20
|
+
* exp(-ln2 · ageDays / halfLife): 1.0 today, 0.5 at one half-life, etc. Items
|
|
21
|
+
* with no parseable recency are treated as "now" (factor 1) so a source that
|
|
22
|
+
* doesn't track recency isn't unfairly sunk.
|
|
23
|
+
*/
|
|
24
|
+
export function blendedScore(item, nowMs = Date.now()) {
|
|
25
|
+
const rel = Number.isFinite(item.relevance) ? Math.max(0, Math.min(1, item.relevance)) : 0;
|
|
26
|
+
let ageDays = 0;
|
|
27
|
+
const t = Date.parse(item.recencyAt);
|
|
28
|
+
if (Number.isFinite(t))
|
|
29
|
+
ageDays = Math.max(0, (nowMs - t) / MS_PER_DAY);
|
|
30
|
+
const recencyFactor = Math.exp((-Math.LN2 * ageDays) / RECENCY_HALF_LIFE_DAYS);
|
|
31
|
+
return rel * recencyFactor;
|
|
32
|
+
}
|
|
33
|
+
/** Rank a mixed working set by blended score (descending). Stable, pure. */
|
|
34
|
+
export function rankWorkingSet(items, nowMs = Date.now()) {
|
|
35
|
+
return [...items]
|
|
36
|
+
.map((it, i) => ({ it, i, s: blendedScore(it, nowMs) }))
|
|
37
|
+
.sort((a, b) => (b.s - a.s) || (a.i - b.i))
|
|
38
|
+
.map(x => x.it);
|
|
39
|
+
}
|
|
40
|
+
// ── Source adapter: topic-intent ───────────────────────────────────────────
|
|
41
|
+
/**
|
|
42
|
+
* Map a topic's established refs (at/above tentative) to WorkingSetItems.
|
|
43
|
+
* Relevance = the confidence projection; recency = lastReinforcedAt. Read-only,
|
|
44
|
+
* degrade-safe (no store / no topic / error → []).
|
|
45
|
+
*/
|
|
46
|
+
export function topicIntentToWorkingSet(store, topicId, nowMs) {
|
|
47
|
+
if (!store || typeof topicId !== 'number')
|
|
48
|
+
return [];
|
|
49
|
+
try {
|
|
50
|
+
const refs = store.getRefsAtOrAbove(topicId, 'tentative', nowMs);
|
|
51
|
+
return refs.map(r => ({
|
|
52
|
+
source: 'topic-intent',
|
|
53
|
+
id: r.refId,
|
|
54
|
+
text: r.text,
|
|
55
|
+
relevance: r.projection.confidence,
|
|
56
|
+
recencyAt: r.lastReinforcedAt,
|
|
57
|
+
kind: r.kind,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Read Playbook manifest JSONs under {stateDir}/playbook and map matching items
|
|
66
|
+
* to WorkingSetItems. Relevance blends trigger/tag overlap with the query and the
|
|
67
|
+
* item's usefulness signal; recency = freshness. Read-only (never invokes the
|
|
68
|
+
* Python scripts) and degrade-safe (no dir / parse error → []). When no query
|
|
69
|
+
* terms are given, returns [] (Playbook items are trigger-gated, not always-on).
|
|
70
|
+
*/
|
|
71
|
+
export function playbookManifestToWorkingSet(stateDir, queryTerms, nowMs) {
|
|
72
|
+
void nowMs;
|
|
73
|
+
if (!stateDir || queryTerms.length === 0)
|
|
74
|
+
return [];
|
|
75
|
+
const dir = path.join(stateDir, 'playbook');
|
|
76
|
+
let files;
|
|
77
|
+
try {
|
|
78
|
+
files = collectJsonFiles(dir);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
const terms = queryTerms.map(t => t.toLowerCase()).filter(Boolean);
|
|
84
|
+
const out = [];
|
|
85
|
+
for (const file of files) {
|
|
86
|
+
let parsed;
|
|
87
|
+
try {
|
|
88
|
+
parsed = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
continue; // skip a corrupt manifest, keep going
|
|
92
|
+
}
|
|
93
|
+
if (!parsed || !Array.isArray(parsed.items))
|
|
94
|
+
continue;
|
|
95
|
+
for (const it of parsed.items) {
|
|
96
|
+
if (!it || !it.id)
|
|
97
|
+
continue;
|
|
98
|
+
const haystack = [
|
|
99
|
+
...(it.load_triggers ?? []),
|
|
100
|
+
...(it.tags?.domains ?? []),
|
|
101
|
+
...(it.tags?.qualifiers ?? []),
|
|
102
|
+
it.category ?? '',
|
|
103
|
+
it.id,
|
|
104
|
+
].join(' ').toLowerCase();
|
|
105
|
+
const matches = terms.filter(t => haystack.includes(t)).length;
|
|
106
|
+
if (matches === 0)
|
|
107
|
+
continue; // trigger-gated: only surface items the query touches
|
|
108
|
+
const matchScore = Math.min(1, matches / Math.max(1, terms.length));
|
|
109
|
+
const help = it.usefulness?.helpful ?? 0;
|
|
110
|
+
const mis = it.usefulness?.misleading ?? 0;
|
|
111
|
+
const usefulnessBoost = help + mis > 0 ? Math.max(0, (help - mis) / (help + mis)) : 0;
|
|
112
|
+
// Relevance = mostly match, with a small usefulness lift (capped at 1).
|
|
113
|
+
const relevance = Math.min(1, matchScore * 0.8 + usefulnessBoost * 0.2);
|
|
114
|
+
out.push({
|
|
115
|
+
source: 'playbook',
|
|
116
|
+
id: it.id,
|
|
117
|
+
text: `${it.id}${it.path ? ` (${it.path})` : ''}`,
|
|
118
|
+
relevance,
|
|
119
|
+
recencyAt: it.freshness ?? new Date(0).toISOString(),
|
|
120
|
+
kind: it.category ?? 'playbook',
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return out;
|
|
125
|
+
}
|
|
126
|
+
/** Recursively collect *.json files under a dir (shallow-ish; returns [] if missing). */
|
|
127
|
+
function collectJsonFiles(dir, depth = 3) {
|
|
128
|
+
if (depth < 0 || !fs.existsSync(dir))
|
|
129
|
+
return [];
|
|
130
|
+
const out = [];
|
|
131
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
132
|
+
const full = path.join(dir, entry.name);
|
|
133
|
+
if (entry.isDirectory())
|
|
134
|
+
out.push(...collectJsonFiles(full, depth - 1));
|
|
135
|
+
else if (entry.isFile() && entry.name.endsWith('.json'))
|
|
136
|
+
out.push(full);
|
|
137
|
+
}
|
|
138
|
+
return out;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=WorkingSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkingSet.js","sourceRoot":"","sources":["../../src/memory/WorkingSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ConversationStore — the single source of truth for a Threadline conversation.
|
|
3
3
|
*
|
|
4
|
-
* Phase 1 of the Threadline re-assessment (THREADLINE-CONVERSATION-KEYSTONE-SPEC.md)
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the turn count + novelty hashes must live here, on the conversation.
|
|
4
|
+
* Phase 1 of the Threadline re-assessment (THREADLINE-CONVERSATION-KEYSTONE-SPEC.md)
|
|
5
|
+
* introduced this as a server-process in-memory store. Phase 2a
|
|
6
|
+
* (THREADLINE-SINGLE-STORE-SPEC.md / CMT-497) makes it **cross-process safe** so it
|
|
7
|
+
* can be the ONE authoritative store and the legacy `ThreadResumeMap` can become a
|
|
8
|
+
* view over it.
|
|
10
9
|
*
|
|
11
|
-
* Concurrency:
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* the legacy last-writer-wins
|
|
10
|
+
* Concurrency (Phase 2a): `conversations.json` on disk is the source of truth.
|
|
11
|
+
* Every write — async `mutate()` and sync `mutateSync()` — does reload-per-op +
|
|
12
|
+
* optimistic per-record version CAS + atomic tmp-write+rename, the same
|
|
13
|
+
* cross-process-safe pattern the legacy maps used (reload-per-op) hardened with a
|
|
14
|
+
* `version` token so a same-thread race loses no update (a strict improvement over
|
|
15
|
+
* the legacy last-writer-wins). A write reads the LATEST full file immediately
|
|
16
|
+
* before committing and rewrites it with only its own record changed, so a
|
|
17
|
+
* concurrent write to a DIFFERENT thread from another process is preserved — the
|
|
18
|
+
* only residual is the microsecond window between that final re-read and the
|
|
19
|
+
* atomic rename, which matches the (accepted, never-observed-as-a-problem) legacy
|
|
20
|
+
* full-file-rewrite behavior. Reads use a very-short-TTL snapshot cache so the
|
|
21
|
+
* loop gate's hot path doesn't re-read on every call; staleness only ever causes a
|
|
22
|
+
* redundant reload on the next mutate (which always re-reads), never a lost write.
|
|
17
23
|
*
|
|
18
|
-
* Storage: {stateDir}/threadline/conversations.json
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* mutable state it logs transitions from.
|
|
24
|
+
* Storage: {stateDir}/threadline/conversations.json. NOT relay-hosted —
|
|
25
|
+
* authoritative state stays local. The append-only SharedStateLedger remains the
|
|
26
|
+
* audit trail; this is the live mutable state it logs transitions from.
|
|
22
27
|
*/
|
|
23
28
|
/**
|
|
24
29
|
* Conversation lifecycle state. Superset of the legacy `ThreadState`
|
|
@@ -90,13 +95,18 @@ export interface Conversation {
|
|
|
90
95
|
export type ConversationMutateFn = (draft: Conversation) => Conversation | Promise<Conversation>;
|
|
91
96
|
export declare class ConversationStore {
|
|
92
97
|
private filePath;
|
|
93
|
-
|
|
94
|
-
/** Per-threadId FIFO mutate queues — serialize concurrent writers. */
|
|
98
|
+
/** Per-threadId FIFO mutate queues — serialize same-process concurrent writers. */
|
|
95
99
|
private mutateQueues;
|
|
96
100
|
private mutateRunning;
|
|
97
101
|
/** Ephemeral verified-only peer-affinity hints (peerFingerprint → hint). */
|
|
98
102
|
private affinity;
|
|
103
|
+
/** Short-TTL read snapshot cache (disk is the source of truth). */
|
|
104
|
+
private cache;
|
|
105
|
+
private cacheAt;
|
|
99
106
|
constructor(stateDir: string);
|
|
107
|
+
/** A cached snapshot of the on-disk file (reloaded after READ_CACHE_TTL_MS). */
|
|
108
|
+
private snapshot;
|
|
109
|
+
private invalidateCache;
|
|
100
110
|
/** Get a conversation by threadId. Returns null if missing or TTL-expired. */
|
|
101
111
|
get(threadId: string): Conversation | null;
|
|
102
112
|
/** True if a (non-expired) conversation exists for the threadId. */
|
|
@@ -109,6 +119,8 @@ export declare class ConversationStore {
|
|
|
109
119
|
getByContextId(contextId: string, agentIdentity: string): Conversation | null;
|
|
110
120
|
/** List active/idle conversations (not resolved/failed/archived). */
|
|
111
121
|
listActive(): Conversation[];
|
|
122
|
+
/** All non-expired (or pinned) conversations, any lifecycle state. */
|
|
123
|
+
all(): Conversation[];
|
|
112
124
|
/** Total stored conversations (for monitoring). */
|
|
113
125
|
size(): number;
|
|
114
126
|
/**
|
|
@@ -128,11 +140,25 @@ export declare class ConversationStore {
|
|
|
128
140
|
private drainMutateQueue;
|
|
129
141
|
private applyMutationWithCAS;
|
|
130
142
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
143
|
+
* Synchronous single-record mutate (Phase 2a). Used by the synchronous legacy
|
|
144
|
+
* interfaces (the `ThreadResumeMap` view's `save`/`remove`/etc.). Same file
|
|
145
|
+
* version-CAS as `mutate`, but the fn is synchronous so the re-read→write
|
|
146
|
+
* window has no await and is atomic within this process. Cross-process safety
|
|
147
|
+
* is identical to `mutate` (per-record version CAS + atomic rename).
|
|
148
|
+
*
|
|
149
|
+
* The fn MAY return null to signal "delete this record".
|
|
150
|
+
*/
|
|
151
|
+
mutateSync(threadId: string, fn: (draft: Conversation) => Conversation | null): Conversation | null;
|
|
152
|
+
/** Commit a record into the freshly-read file with version+1 (LOAD-BEARING:
|
|
153
|
+
* both async and sync commit paths bump version so the CAS detects races). */
|
|
154
|
+
private commit;
|
|
155
|
+
/**
|
|
156
|
+
* Direct upsert of a full record. Used by migration / bulk import. Now does a
|
|
157
|
+
* read-merge-write so it is safe even if the file changed since construction.
|
|
134
158
|
*/
|
|
135
159
|
importDirect(conversation: Conversation): void;
|
|
160
|
+
/** Holds an in-flight importDirect batch until flush(). */
|
|
161
|
+
private pendingFile;
|
|
136
162
|
/** Persist after a batch of importDirect calls. */
|
|
137
163
|
flush(): void;
|
|
138
164
|
/** Remove a conversation. */
|
|
@@ -150,9 +176,11 @@ export declare class ConversationStore {
|
|
|
150
176
|
prune(): void;
|
|
151
177
|
private skeleton;
|
|
152
178
|
private isExpired;
|
|
153
|
-
|
|
154
|
-
private
|
|
155
|
-
|
|
156
|
-
private
|
|
179
|
+
/** Prune a conversations map in place (non-pinned expired + LRU overflow). */
|
|
180
|
+
private pruneMapInPlace;
|
|
181
|
+
/** Read + parse the on-disk store fresh (the source of truth). */
|
|
182
|
+
private readFileFresh;
|
|
183
|
+
/** Atomic write (tmp + rename) — no reader ever sees a torn file. */
|
|
184
|
+
private writeFileAtomic;
|
|
157
185
|
}
|
|
158
186
|
//# sourceMappingURL=ConversationStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationStore.d.ts","sourceRoot":"","sources":["../../src/threadline/ConversationStore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ConversationStore.d.ts","sourceRoot":"","sources":["../../src/threadline/ConversationStore.ts"],"names":[],"mappings":"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"}
|