claude-cognitive 0.3.0 → 0.3.4
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/README.md +16 -44
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +155 -22
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/semantic.d.ts +4 -2
- package/dist/cli/commands/semantic.d.ts.map +1 -1
- package/dist/cli/commands/semantic.js +8 -57
- package/dist/cli/commands/semantic.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +0 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +4 -2
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +9 -250
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/update-bank.d.ts.map +1 -1
- package/dist/cli/commands/update-bank.js +9 -9
- package/dist/cli/commands/update-bank.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +106 -1
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/utils/errors.d.ts +1 -0
- package/dist/cli/utils/errors.d.ts.map +1 -1
- package/dist/cli/utils/errors.js +1 -0
- package/dist/cli/utils/errors.js.map +1 -1
- package/dist/cli/utils/output.d.ts +0 -2
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +0 -2
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -5
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -5
- package/dist/config.js.map +1 -1
- package/dist/events.d.ts +10 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/hooks/process-session.d.ts +0 -1
- package/dist/hooks/process-session.d.ts.map +1 -1
- package/dist/hooks/process-session.js +49 -80
- package/dist/hooks/process-session.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/learn/analyzers/source.d.ts.map +1 -1
- package/dist/learn/analyzers/source.js +9 -2
- package/dist/learn/analyzers/source.js.map +1 -1
- package/dist/learn/index.d.ts.map +1 -1
- package/dist/learn/index.js +16 -5
- package/dist/learn/index.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +50 -12
- package/dist/mcp/server.js.map +1 -1
- package/dist/mind.d.ts +35 -29
- package/dist/mind.d.ts.map +1 -1
- package/dist/mind.js +278 -157
- package/dist/mind.js.map +1 -1
- package/dist/offline.d.ts +111 -0
- package/dist/offline.d.ts.map +1 -0
- package/dist/offline.js +198 -0
- package/dist/offline.js.map +1 -0
- package/dist/semantic.d.ts +1 -1
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +18 -11
- package/dist/semantic.js.map +1 -1
- package/dist/types.d.ts +11 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/mind.js
CHANGED
|
@@ -9,8 +9,7 @@ import { HindsightClient } from "./client.js";
|
|
|
9
9
|
import { loadConfig } from "./config.js";
|
|
10
10
|
import { HindsightError } from "./errors.js";
|
|
11
11
|
import { TypedEventEmitter } from "./events.js";
|
|
12
|
-
import {
|
|
13
|
-
import { SemanticMemory } from "./semantic.js";
|
|
12
|
+
import { OfflineMemoryStore } from "./offline.js";
|
|
14
13
|
// ============================================
|
|
15
14
|
// Default Values
|
|
16
15
|
// ============================================
|
|
@@ -63,21 +62,21 @@ export class Mind extends TypedEventEmitter {
|
|
|
63
62
|
bankId = "";
|
|
64
63
|
disposition = DEFAULT_DISPOSITION;
|
|
65
64
|
background;
|
|
66
|
-
/** Path to semantic memory file. Used in Phase 3. */
|
|
67
|
-
semanticPath = ".claude/memory.md";
|
|
68
65
|
// Client (nullable for graceful degradation)
|
|
69
66
|
client = null;
|
|
67
|
+
// Offline memory store (always available)
|
|
68
|
+
offlineStore = null;
|
|
70
69
|
// State
|
|
71
70
|
initialized = false;
|
|
71
|
+
initializing = false;
|
|
72
72
|
degraded = false;
|
|
73
73
|
sessionActive = false;
|
|
74
74
|
/** Session start time. Used for duration tracking. */
|
|
75
75
|
sessionStartTime = null;
|
|
76
76
|
// Agent templates (loaded in init())
|
|
77
77
|
customAgents = [];
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
promotionManager = null;
|
|
78
|
+
// Context settings
|
|
79
|
+
recentMemoryLimit = 3;
|
|
81
80
|
/**
|
|
82
81
|
* Create a new Mind instance.
|
|
83
82
|
*
|
|
@@ -101,92 +100,86 @@ export class Mind extends TypedEventEmitter {
|
|
|
101
100
|
* 4. Creates bank if it doesn't exist
|
|
102
101
|
* 5. Loads custom agent templates
|
|
103
102
|
*
|
|
104
|
-
* @throws {Error} If init() is called twice
|
|
103
|
+
* @throws {Error} If init() is called twice or concurrently
|
|
105
104
|
*/
|
|
106
105
|
async init() {
|
|
107
106
|
if (this.initialized) {
|
|
108
107
|
throw new Error("Mind already initialized. Call init() only once.");
|
|
109
108
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (this.pendingOptions.host !== undefined) {
|
|
113
|
-
hindsightOverrides.host = this.pendingOptions.host;
|
|
109
|
+
if (this.initializing) {
|
|
110
|
+
throw new Error("Mind initialization already in progress.");
|
|
114
111
|
}
|
|
115
|
-
|
|
116
|
-
hindsightOverrides.port = this.pendingOptions.port;
|
|
117
|
-
}
|
|
118
|
-
if (this.pendingOptions.apiKey !== undefined) {
|
|
119
|
-
hindsightOverrides.apiKey = this.pendingOptions.apiKey;
|
|
120
|
-
}
|
|
121
|
-
// Build overrides object, only including defined values
|
|
122
|
-
const overrides = {};
|
|
123
|
-
if (Object.keys(hindsightOverrides).length > 0) {
|
|
124
|
-
overrides.hindsight = hindsightOverrides;
|
|
125
|
-
}
|
|
126
|
-
if (this.pendingOptions.bankId !== undefined) {
|
|
127
|
-
overrides.bankId = this.pendingOptions.bankId;
|
|
128
|
-
}
|
|
129
|
-
if (this.pendingOptions.disposition !== undefined) {
|
|
130
|
-
overrides.disposition = this.pendingOptions.disposition;
|
|
131
|
-
}
|
|
132
|
-
if (this.pendingOptions.background !== undefined) {
|
|
133
|
-
overrides.background = this.pendingOptions.background;
|
|
134
|
-
}
|
|
135
|
-
if (this.pendingOptions.semanticPath !== undefined) {
|
|
136
|
-
overrides.semantic = { path: this.pendingOptions.semanticPath };
|
|
137
|
-
}
|
|
138
|
-
// Load config with pending options as overrides
|
|
139
|
-
const config = await loadConfig(this.projectPath, overrides);
|
|
140
|
-
// Resolve configuration
|
|
141
|
-
this.bankId = config.bankId ?? (await this.deriveBankId());
|
|
142
|
-
this.disposition = config.disposition ?? DEFAULT_DISPOSITION;
|
|
143
|
-
if (config.background) {
|
|
144
|
-
this.background = config.background;
|
|
145
|
-
}
|
|
146
|
-
this.semanticPath = config.semantic?.path ?? ".claude/memory.md";
|
|
147
|
-
// Create HindsightClient
|
|
148
|
-
const clientOptions = {
|
|
149
|
-
host: config.hindsight.host,
|
|
150
|
-
port: config.hindsight.port,
|
|
151
|
-
};
|
|
152
|
-
if (config.hindsight.apiKey) {
|
|
153
|
-
clientOptions.apiKey = config.hindsight.apiKey;
|
|
154
|
-
}
|
|
155
|
-
if (config.hindsight.timeouts) {
|
|
156
|
-
clientOptions.timeouts = config.hindsight.timeouts;
|
|
157
|
-
}
|
|
158
|
-
this.client = new HindsightClient(clientOptions);
|
|
159
|
-
// Health check
|
|
160
|
-
const health = await this.client.health();
|
|
161
|
-
if (!health.healthy) {
|
|
162
|
-
this.enterDegradedMode(`Hindsight unavailable: ${health.error ?? "unknown"}`);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
// Ensure bank exists
|
|
166
|
-
await this.ensureBank();
|
|
167
|
-
}
|
|
168
|
-
// Load custom agents from .claude/agents/
|
|
169
|
-
this.customAgents = await loadCustomAgents(this.projectPath);
|
|
170
|
-
// Load semantic memory
|
|
171
|
-
this.semantic = new SemanticMemory(this.projectPath, this.semanticPath);
|
|
112
|
+
this.initializing = true;
|
|
172
113
|
try {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
114
|
+
// Build config overrides, only including defined values
|
|
115
|
+
const hindsightOverrides = {};
|
|
116
|
+
if (this.pendingOptions.host !== undefined) {
|
|
117
|
+
hindsightOverrides.host = this.pendingOptions.host;
|
|
118
|
+
}
|
|
119
|
+
if (this.pendingOptions.port !== undefined) {
|
|
120
|
+
hindsightOverrides.port = this.pendingOptions.port;
|
|
121
|
+
}
|
|
122
|
+
if (this.pendingOptions.apiKey !== undefined) {
|
|
123
|
+
hindsightOverrides.apiKey = this.pendingOptions.apiKey;
|
|
124
|
+
}
|
|
125
|
+
// Build overrides object, only including defined values
|
|
126
|
+
const overrides = {};
|
|
127
|
+
if (Object.keys(hindsightOverrides).length > 0) {
|
|
128
|
+
overrides.hindsight = hindsightOverrides;
|
|
129
|
+
}
|
|
130
|
+
if (this.pendingOptions.bankId !== undefined) {
|
|
131
|
+
overrides.bankId = this.pendingOptions.bankId;
|
|
132
|
+
}
|
|
133
|
+
if (this.pendingOptions.disposition !== undefined) {
|
|
134
|
+
overrides.disposition = this.pendingOptions.disposition;
|
|
135
|
+
}
|
|
136
|
+
if (this.pendingOptions.background !== undefined) {
|
|
137
|
+
overrides.background = this.pendingOptions.background;
|
|
138
|
+
}
|
|
139
|
+
// Load config with pending options as overrides
|
|
140
|
+
const config = await loadConfig(this.projectPath, overrides);
|
|
141
|
+
// Resolve configuration
|
|
142
|
+
this.bankId = config.bankId ?? (await this.deriveBankId());
|
|
143
|
+
this.disposition = config.disposition ?? DEFAULT_DISPOSITION;
|
|
144
|
+
if (config.background) {
|
|
145
|
+
this.background = config.background;
|
|
146
|
+
}
|
|
147
|
+
this.recentMemoryLimit = config.context?.recentMemoryLimit ?? 3;
|
|
148
|
+
// Create HindsightClient
|
|
149
|
+
const clientOptions = {
|
|
150
|
+
host: config.hindsight.host,
|
|
151
|
+
port: config.hindsight.port,
|
|
152
|
+
};
|
|
153
|
+
if (config.hindsight.apiKey) {
|
|
154
|
+
clientOptions.apiKey = config.hindsight.apiKey;
|
|
155
|
+
}
|
|
156
|
+
if (config.hindsight.timeouts) {
|
|
157
|
+
clientOptions.timeouts = config.hindsight.timeouts;
|
|
158
|
+
}
|
|
159
|
+
this.client = new HindsightClient(clientOptions);
|
|
160
|
+
// Health check
|
|
161
|
+
const health = await this.client.health();
|
|
162
|
+
if (!health.healthy) {
|
|
163
|
+
this.enterDegradedMode(`Hindsight unavailable: ${health.error ?? "unknown"}`);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Ensure bank exists
|
|
167
|
+
await this.ensureBank();
|
|
168
|
+
}
|
|
169
|
+
// Load custom agents from .claude/agents/
|
|
170
|
+
this.customAgents = await loadCustomAgents(this.projectPath);
|
|
171
|
+
// Initialize offline store (always available)
|
|
172
|
+
this.offlineStore = new OfflineMemoryStore({
|
|
173
|
+
projectPath: this.projectPath,
|
|
183
174
|
});
|
|
184
|
-
|
|
175
|
+
// Mark initialized
|
|
176
|
+
this.initialized = true;
|
|
177
|
+
// Emit ready event
|
|
178
|
+
this.emit("ready");
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
this.initializing = false;
|
|
185
182
|
}
|
|
186
|
-
// Mark initialized
|
|
187
|
-
this.initialized = true;
|
|
188
|
-
// Emit ready event
|
|
189
|
-
this.emit("ready");
|
|
190
183
|
}
|
|
191
184
|
/**
|
|
192
185
|
* Derive bank ID from project name if not specified.
|
|
@@ -254,9 +247,13 @@ export class Mind extends TypedEventEmitter {
|
|
|
254
247
|
* 3. Formats as context string
|
|
255
248
|
*
|
|
256
249
|
* @returns Formatted context string for injection
|
|
250
|
+
* @throws {Error} If a session is already active
|
|
257
251
|
*/
|
|
258
252
|
async onSessionStart() {
|
|
259
253
|
this.assertInitialized();
|
|
254
|
+
if (this.sessionActive) {
|
|
255
|
+
throw new Error("Cannot start session: a session is already active.");
|
|
256
|
+
}
|
|
260
257
|
this.sessionActive = true;
|
|
261
258
|
this.sessionStartTime = new Date();
|
|
262
259
|
const contextParts = [];
|
|
@@ -265,24 +262,36 @@ export class Mind extends TypedEventEmitter {
|
|
|
265
262
|
if (agentInstructions.trim().length > 0) {
|
|
266
263
|
contextParts.push(agentInstructions);
|
|
267
264
|
}
|
|
268
|
-
//
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
if (
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
265
|
+
// Recall recent experiences
|
|
266
|
+
// Only fetch a small number (default 3) to keep context small
|
|
267
|
+
if (this.recentMemoryLimit > 0) {
|
|
268
|
+
if (!this.degraded && this.client) {
|
|
269
|
+
// Online mode: fetch from Hindsight
|
|
270
|
+
try {
|
|
271
|
+
const recent = await this.client.recent(this.bankId, this.recentMemoryLimit);
|
|
272
|
+
if (recent.length > 0) {
|
|
273
|
+
this.emit("memory:recalled", recent);
|
|
274
|
+
contextParts.push(this.formatRecentMemories(recent));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
this.handleError(error, "onSessionStart recall");
|
|
279
|
+
// Fall through to offline on error
|
|
282
280
|
}
|
|
283
281
|
}
|
|
284
|
-
|
|
285
|
-
|
|
282
|
+
// Offline/degraded mode: fetch from local storage
|
|
283
|
+
if (this.degraded && this.offlineStore) {
|
|
284
|
+
try {
|
|
285
|
+
const offlineRecent = await this.offlineStore.getRecent(this.recentMemoryLimit);
|
|
286
|
+
if (offlineRecent.length > 0) {
|
|
287
|
+
const memories = offlineRecent.map(OfflineMemoryStore.toMemory);
|
|
288
|
+
this.emit("memory:recalled", memories);
|
|
289
|
+
contextParts.push(this.formatRecentMemories(memories));
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
this.emit("error", error instanceof Error ? error : new Error(String(error)));
|
|
294
|
+
}
|
|
286
295
|
}
|
|
287
296
|
}
|
|
288
297
|
return contextParts.join("\n\n");
|
|
@@ -291,8 +300,8 @@ export class Mind extends TypedEventEmitter {
|
|
|
291
300
|
* Called at session end. Reflects on session and stores observations.
|
|
292
301
|
*
|
|
293
302
|
* This method:
|
|
294
|
-
* 1. Retains transcript if provided
|
|
295
|
-
* 2. Reflects on the session
|
|
303
|
+
* 1. Retains transcript if provided (online or offline)
|
|
304
|
+
* 2. Reflects on the session (online only)
|
|
296
305
|
* 3. Emits opinion events
|
|
297
306
|
*
|
|
298
307
|
* @param transcript - Optional session transcript to store
|
|
@@ -301,13 +310,33 @@ export class Mind extends TypedEventEmitter {
|
|
|
301
310
|
async onSessionEnd(transcript) {
|
|
302
311
|
this.assertInitialized();
|
|
303
312
|
// Retain transcript if provided
|
|
304
|
-
if (transcript
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
313
|
+
if (transcript) {
|
|
314
|
+
if (!this.degraded && this.client) {
|
|
315
|
+
// Online mode: store to Hindsight
|
|
316
|
+
try {
|
|
317
|
+
await this.client.retain(this.bankId, transcript, "Session transcript");
|
|
318
|
+
this.emit("memory:retained", transcript);
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
this.handleError(error, "onSessionEnd retain");
|
|
322
|
+
// Fall through to offline on error
|
|
323
|
+
}
|
|
308
324
|
}
|
|
309
|
-
|
|
310
|
-
|
|
325
|
+
// Degraded/offline mode: store locally
|
|
326
|
+
if (this.degraded && this.offlineStore) {
|
|
327
|
+
try {
|
|
328
|
+
await this.offlineStore.retain(transcript, "experience", {
|
|
329
|
+
context: "Session transcript",
|
|
330
|
+
});
|
|
331
|
+
this.emit("memory:retained", transcript);
|
|
332
|
+
this.emit("offline:stored", {
|
|
333
|
+
content: transcript,
|
|
334
|
+
factType: "experience",
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
catch (error) {
|
|
338
|
+
this.emit("error", error instanceof Error ? error : new Error(String(error)));
|
|
339
|
+
}
|
|
311
340
|
}
|
|
312
341
|
}
|
|
313
342
|
// Reflect on session (if not degraded)
|
|
@@ -324,10 +353,6 @@ export class Mind extends TypedEventEmitter {
|
|
|
324
353
|
this.handleError(error, "onSessionEnd reflect");
|
|
325
354
|
}
|
|
326
355
|
}
|
|
327
|
-
// Clear promotion cache for next session
|
|
328
|
-
if (this.promotionManager) {
|
|
329
|
-
this.promotionManager.clearCache();
|
|
330
|
-
}
|
|
331
356
|
// Reset session state
|
|
332
357
|
this.sessionActive = false;
|
|
333
358
|
this.sessionStartTime = null;
|
|
@@ -339,7 +364,7 @@ export class Mind extends TypedEventEmitter {
|
|
|
339
364
|
/**
|
|
340
365
|
* Search memories for relevant context.
|
|
341
366
|
*
|
|
342
|
-
* In degraded mode,
|
|
367
|
+
* In degraded mode, searches offline storage (text-based).
|
|
343
368
|
*
|
|
344
369
|
* @param query - What to search for
|
|
345
370
|
* @param options - Search options (budget, factType, etc.)
|
|
@@ -347,19 +372,39 @@ export class Mind extends TypedEventEmitter {
|
|
|
347
372
|
*/
|
|
348
373
|
async recall(query, options) {
|
|
349
374
|
this.assertInitialized();
|
|
350
|
-
//
|
|
351
|
-
if (this.degraded
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
375
|
+
// Online mode: use Hindsight
|
|
376
|
+
if (!this.degraded && this.client) {
|
|
377
|
+
try {
|
|
378
|
+
const memories = await this.client.recall(this.bankId, query, options);
|
|
379
|
+
this.emit("memory:recalled", memories);
|
|
380
|
+
return memories;
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
this.handleError(error, "recall");
|
|
384
|
+
// Fall through to offline on error
|
|
385
|
+
}
|
|
358
386
|
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
387
|
+
// Degraded/offline mode: use local storage
|
|
388
|
+
if (this.offlineStore) {
|
|
389
|
+
try {
|
|
390
|
+
const recallOptions = {
|
|
391
|
+
limit: options?.maxTokens ? Math.floor(options.maxTokens / 100) : 10,
|
|
392
|
+
};
|
|
393
|
+
if (options?.factType) {
|
|
394
|
+
recallOptions.factType = options.factType;
|
|
395
|
+
}
|
|
396
|
+
const offlineMemories = await this.offlineStore.recall(query, recallOptions);
|
|
397
|
+
const memories = offlineMemories.map(OfflineMemoryStore.toMemory);
|
|
398
|
+
if (memories.length > 0) {
|
|
399
|
+
this.emit("memory:recalled", memories);
|
|
400
|
+
}
|
|
401
|
+
return memories;
|
|
402
|
+
}
|
|
403
|
+
catch (error) {
|
|
404
|
+
this.emit("error", error instanceof Error ? error : new Error(String(error)));
|
|
405
|
+
}
|
|
362
406
|
}
|
|
407
|
+
return [];
|
|
363
408
|
}
|
|
364
409
|
/**
|
|
365
410
|
* Reason about accumulated knowledge and form opinions.
|
|
@@ -384,20 +429,41 @@ export class Mind extends TypedEventEmitter {
|
|
|
384
429
|
/**
|
|
385
430
|
* Store content in memory.
|
|
386
431
|
*
|
|
387
|
-
* In degraded mode,
|
|
432
|
+
* In degraded mode, stores to offline storage for later sync.
|
|
388
433
|
*
|
|
389
434
|
* @param content - Content to store
|
|
390
435
|
* @param context - Optional additional context
|
|
436
|
+
* @param factType - Memory type (default: experience)
|
|
391
437
|
*/
|
|
392
|
-
async retain(content, context) {
|
|
438
|
+
async retain(content, context, factType = "experience") {
|
|
393
439
|
this.assertInitialized();
|
|
394
|
-
//
|
|
395
|
-
if (this.degraded
|
|
396
|
-
|
|
397
|
-
|
|
440
|
+
// Online mode: use Hindsight
|
|
441
|
+
if (!this.degraded && this.client) {
|
|
442
|
+
try {
|
|
443
|
+
await this.client.retain(this.bankId, content, context);
|
|
444
|
+
this.emit("memory:retained", content);
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
catch (error) {
|
|
448
|
+
this.handleError(error, "retain");
|
|
449
|
+
// Fall through to offline on error
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Degraded/offline mode: store locally
|
|
453
|
+
if (this.offlineStore) {
|
|
454
|
+
try {
|
|
455
|
+
const retainOptions = {};
|
|
456
|
+
if (context) {
|
|
457
|
+
retainOptions.context = context;
|
|
458
|
+
}
|
|
459
|
+
await this.offlineStore.retain(content, factType, retainOptions);
|
|
460
|
+
this.emit("memory:retained", content);
|
|
461
|
+
this.emit("offline:stored", { content, factType });
|
|
462
|
+
}
|
|
463
|
+
catch (error) {
|
|
464
|
+
this.emit("error", error instanceof Error ? error : new Error(String(error)));
|
|
465
|
+
}
|
|
398
466
|
}
|
|
399
|
-
await this.client.retain(this.bankId, content, context);
|
|
400
|
-
this.emit("memory:retained", content);
|
|
401
467
|
}
|
|
402
468
|
// ============================================
|
|
403
469
|
// Learn Operation
|
|
@@ -508,6 +574,7 @@ ${template.outputFormat}
|
|
|
508
574
|
}
|
|
509
575
|
/**
|
|
510
576
|
* Attempt to recover from degraded mode.
|
|
577
|
+
* If successful, syncs offline memories to Hindsight.
|
|
511
578
|
*
|
|
512
579
|
* @returns True if recovery was successful
|
|
513
580
|
*/
|
|
@@ -519,10 +586,61 @@ ${template.outputFormat}
|
|
|
519
586
|
if (health.healthy) {
|
|
520
587
|
this.exitDegradedMode();
|
|
521
588
|
await this.ensureBank();
|
|
589
|
+
// Auto-sync offline memories
|
|
590
|
+
await this.syncOfflineMemories();
|
|
522
591
|
return true;
|
|
523
592
|
}
|
|
524
593
|
return false;
|
|
525
594
|
}
|
|
595
|
+
/**
|
|
596
|
+
* Sync offline memories to Hindsight.
|
|
597
|
+
* Called automatically on recovery from degraded mode.
|
|
598
|
+
*
|
|
599
|
+
* @returns Number of memories synced
|
|
600
|
+
*/
|
|
601
|
+
async syncOfflineMemories() {
|
|
602
|
+
if (!this.client || this.degraded || !this.offlineStore) {
|
|
603
|
+
return 0;
|
|
604
|
+
}
|
|
605
|
+
try {
|
|
606
|
+
await this.offlineStore.recordSyncAttempt();
|
|
607
|
+
const unsynced = await this.offlineStore.getUnsynced();
|
|
608
|
+
if (unsynced.length === 0) {
|
|
609
|
+
return 0;
|
|
610
|
+
}
|
|
611
|
+
const syncedIds = [];
|
|
612
|
+
for (const memory of unsynced) {
|
|
613
|
+
try {
|
|
614
|
+
await this.client.retain(this.bankId, memory.text, memory.context);
|
|
615
|
+
syncedIds.push(memory.id);
|
|
616
|
+
}
|
|
617
|
+
catch (error) {
|
|
618
|
+
// Stop on error - don't want to skip memories
|
|
619
|
+
this.emit("error", error instanceof Error
|
|
620
|
+
? error
|
|
621
|
+
: new Error(`Failed to sync memory ${memory.id}`));
|
|
622
|
+
break;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
if (syncedIds.length > 0) {
|
|
626
|
+
await this.offlineStore.markSynced(syncedIds);
|
|
627
|
+
this.emit("offline:synced", { count: syncedIds.length });
|
|
628
|
+
// Clear synced memories to save space
|
|
629
|
+
await this.offlineStore.clearSynced();
|
|
630
|
+
}
|
|
631
|
+
return syncedIds.length;
|
|
632
|
+
}
|
|
633
|
+
catch (error) {
|
|
634
|
+
this.emit("error", error instanceof Error ? error : new Error(String(error)));
|
|
635
|
+
return 0;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* Get offline memory store (for CLI commands).
|
|
640
|
+
*/
|
|
641
|
+
getOfflineStore() {
|
|
642
|
+
return this.offlineStore;
|
|
643
|
+
}
|
|
526
644
|
/**
|
|
527
645
|
* Enter degraded mode.
|
|
528
646
|
* @internal
|
|
@@ -589,28 +707,6 @@ ${template.outputFormat}
|
|
|
589
707
|
isSessionActive() {
|
|
590
708
|
return this.sessionActive;
|
|
591
709
|
}
|
|
592
|
-
/**
|
|
593
|
-
* Get the path to semantic memory file.
|
|
594
|
-
*/
|
|
595
|
-
getSemanticPath() {
|
|
596
|
-
return this.semanticPath;
|
|
597
|
-
}
|
|
598
|
-
/**
|
|
599
|
-
* Get the SemanticMemory instance.
|
|
600
|
-
*
|
|
601
|
-
* @returns SemanticMemory or null if not initialized
|
|
602
|
-
*/
|
|
603
|
-
getSemanticMemory() {
|
|
604
|
-
return this.semantic;
|
|
605
|
-
}
|
|
606
|
-
/**
|
|
607
|
-
* Get the PromotionManager instance.
|
|
608
|
-
*
|
|
609
|
-
* @returns PromotionManager or null if not initialized
|
|
610
|
-
*/
|
|
611
|
-
getPromotionManager() {
|
|
612
|
-
return this.promotionManager;
|
|
613
|
-
}
|
|
614
710
|
/**
|
|
615
711
|
* Get the session start time, or null if no session is active.
|
|
616
712
|
*/
|
|
@@ -628,15 +724,18 @@ ${template.outputFormat}
|
|
|
628
724
|
}
|
|
629
725
|
/**
|
|
630
726
|
* Format recent memories as context string.
|
|
727
|
+
* Shows fuller context since we only fetch a few memories.
|
|
631
728
|
* @internal
|
|
632
729
|
*/
|
|
633
730
|
formatRecentMemories(memories) {
|
|
634
731
|
if (memories.length === 0)
|
|
635
732
|
return "";
|
|
636
|
-
const lines = ["
|
|
637
|
-
for (const mem of memories
|
|
733
|
+
const lines = ["## Recent Activity"];
|
|
734
|
+
for (const mem of memories) {
|
|
638
735
|
const date = new Date(mem.createdAt).toLocaleDateString();
|
|
639
|
-
|
|
736
|
+
// Show more text since we're fetching fewer memories
|
|
737
|
+
const maxLen = 200;
|
|
738
|
+
const text = mem.text.length > maxLen ? `${mem.text.slice(0, maxLen)}...` : mem.text;
|
|
640
739
|
lines.push(`- ${date}: ${text}`);
|
|
641
740
|
}
|
|
642
741
|
return lines.join("\n");
|
|
@@ -688,5 +787,27 @@ ${template.outputFormat}
|
|
|
688
787
|
lines.push("");
|
|
689
788
|
return lines.join("\n");
|
|
690
789
|
}
|
|
790
|
+
// ============================================
|
|
791
|
+
// Cleanup
|
|
792
|
+
// ============================================
|
|
793
|
+
/**
|
|
794
|
+
* Dispose of Mind resources.
|
|
795
|
+
*
|
|
796
|
+
* Call this when done with the Mind instance to clean up
|
|
797
|
+
* event listeners and prevent memory leaks.
|
|
798
|
+
*
|
|
799
|
+
* After calling dispose(), the Mind instance should not be used.
|
|
800
|
+
*/
|
|
801
|
+
dispose() {
|
|
802
|
+
// Clear references
|
|
803
|
+
this.client = null;
|
|
804
|
+
this.offlineStore = null;
|
|
805
|
+
this.customAgents = [];
|
|
806
|
+
// Reset state
|
|
807
|
+
this.initialized = false;
|
|
808
|
+
this.sessionActive = false;
|
|
809
|
+
this.sessionStartTime = null;
|
|
810
|
+
this.degraded = false;
|
|
811
|
+
}
|
|
691
812
|
}
|
|
692
813
|
//# sourceMappingURL=mind.js.map
|
package/dist/mind.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mind.js","sourceRoot":"","sources":["../src/mind.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mind.js","sourceRoot":"","sources":["../src/mind.ts"],"names":[],"mappings":"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"}
|