@brain-protocol/mcp 0.4.1 → 0.6.0

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.
@@ -92,11 +92,30 @@ CREATE TRIGGER IF NOT EXISTS ke_au AFTER UPDATE ON knowledge_entries BEGIN
92
92
  VALUES (new.rowid, new.content, new.tags, new.category, new.author);
93
93
  END;
94
94
  `;
95
- const CURRENT_SCHEMA_VERSION = 2;
95
+ // --- Migration v2→v3: add sync columns + sync_log table ---
96
+ const MIGRATION_V3 = `
97
+ ALTER TABLE knowledge_entries ADD COLUMN last_synced_at TEXT;
98
+ ALTER TABLE knowledge_entries ADD COLUMN sync_status TEXT DEFAULT 'pending';
99
+ `;
100
+ const SYNC_LOG_TABLE = `
101
+ CREATE TABLE IF NOT EXISTS sync_log (
102
+ id TEXT PRIMARY KEY,
103
+ entry_id TEXT NOT NULL,
104
+ action TEXT NOT NULL,
105
+ timestamp TEXT NOT NULL DEFAULT (datetime('now')),
106
+ error TEXT
107
+ );
108
+ CREATE INDEX IF NOT EXISTS idx_sync_log_entry ON sync_log(entry_id);
109
+ CREATE INDEX IF NOT EXISTS idx_sync_log_ts ON sync_log(timestamp DESC);
110
+ `;
111
+ const CURRENT_SCHEMA_VERSION = 3;
96
112
  const MIGRATIONS = [
97
113
  { version: 2, sql: MIGRATION_V2, postMigrate: (db) => {
98
114
  db.exec(FTS_V2_REBUILD);
99
115
  } },
116
+ { version: 3, sql: MIGRATION_V3, postMigrate: (db) => {
117
+ db.exec(SYNC_LOG_TABLE);
118
+ } },
100
119
  ];
101
120
  /** Sanitize user query for FTS5 MATCH — strip operators, quote each term */
102
121
  export function sanitizeFtsQuery(q) {
@@ -611,5 +630,44 @@ export class SQLiteStore {
611
630
  confidence: 0.95,
612
631
  });
613
632
  }
633
+ // --- Sync support methods ---
634
+ /** Mark entry as synced */
635
+ markSynced(entryId) {
636
+ const db = this.getDb();
637
+ db.prepare("UPDATE knowledge_entries SET last_synced_at = datetime('now'), sync_status = 'synced' WHERE id = ?").run(entryId);
638
+ }
639
+ /** Get entries pending sync */
640
+ getPendingSync(limit = 100) {
641
+ const db = this.getDb();
642
+ const rows = db
643
+ .prepare("SELECT * FROM knowledge_entries WHERE sync_status = 'pending' OR sync_status IS NULL ORDER BY updated_at ASC LIMIT ?")
644
+ .all(limit);
645
+ return rows.map(parseEntry);
646
+ }
647
+ /** Get sync statistics */
648
+ getSyncStats() {
649
+ const db = this.getDb();
650
+ const pending = db
651
+ .prepare("SELECT COUNT(*) as count FROM knowledge_entries WHERE sync_status = 'pending' OR sync_status IS NULL")
652
+ .get();
653
+ const lastSync = db
654
+ .prepare("SELECT MAX(last_synced_at) as last_synced FROM knowledge_entries WHERE last_synced_at IS NOT NULL")
655
+ .get();
656
+ return { pendingUploads: pending.count, lastSyncAt: lastSync.last_synced };
657
+ }
658
+ /** Log a sync action */
659
+ logSyncAction(entryId, action, error) {
660
+ const db = this.getDb();
661
+ const id = randomUUID();
662
+ db.prepare("INSERT INTO sync_log (id, entry_id, action, error) VALUES (?, ?, ?, ?)").run(id, entryId, action, error ?? null);
663
+ }
664
+ /** Get conflicts (entries with sync-conflict tag) */
665
+ getConflicts() {
666
+ const db = this.getDb();
667
+ const rows = db
668
+ .prepare("SELECT * FROM knowledge_entries WHERE tags LIKE '%sync-conflict%' ORDER BY created_at DESC")
669
+ .all();
670
+ return rows.map(parseEntry);
671
+ }
614
672
  }
615
673
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import type { StoreAdapter } from "./adapter.js";
2
+ export interface SyncState {
3
+ mode: "local" | "cloud" | "hybrid";
4
+ pendingUploads: number;
5
+ pendingDownloads: number;
6
+ lastSyncAt: string | null;
7
+ conflicts: SyncConflict[];
8
+ stats: SyncStats;
9
+ }
10
+ export interface SyncStats {
11
+ totalUploads: number;
12
+ totalDownloads: number;
13
+ totalConflicts: number;
14
+ totalErrors: number;
15
+ totalIntegrityErrors: number;
16
+ lastSyncDurationMs: number | null;
17
+ lastSyncSuccessAt: string | null;
18
+ }
19
+ export interface SyncConflict {
20
+ entryId: string;
21
+ localUpdatedAt: string;
22
+ cloudUpdatedAt: string;
23
+ resolvedAt: string | null;
24
+ }
25
+ export type ConflictResolution = "keep_local" | "keep_cloud" | "keep_both";
26
+ export interface SyncResult {
27
+ uploaded: number;
28
+ downloaded: number;
29
+ conflicts: number;
30
+ errors: string[];
31
+ integrityErrors: IntegrityError[];
32
+ }
33
+ export interface IntegrityError {
34
+ entryId: string;
35
+ expected: string;
36
+ actual: string;
37
+ }
38
+ export interface SyncLogEntry {
39
+ id: string;
40
+ entryId: string;
41
+ action: "upload" | "download" | "conflict" | "resolve";
42
+ timestamp: string;
43
+ error: string | null;
44
+ }
45
+ /**
46
+ * Sync engine implementing fork-on-conflict strategy.
47
+ * Zero data loss: conflicting entries are forked with parent_id linkage
48
+ * and a conflicts_with edge.
49
+ */
50
+ export declare class SyncEngine {
51
+ private local;
52
+ private cloud;
53
+ private _stats;
54
+ constructor(local: StoreAdapter, cloud: StoreAdapter);
55
+ /** Get cumulative sync statistics */
56
+ getStats(): SyncStats;
57
+ /**
58
+ * Run a full sync cycle: push local changes, pull cloud changes, detect conflicts.
59
+ */
60
+ sync(): Promise<SyncResult>;
61
+ /**
62
+ * Push locally-created entries that haven't been synced yet.
63
+ * Entries with sync_status='pending' are candidates for upload.
64
+ */
65
+ private pushPending;
66
+ /**
67
+ * Pull entries from cloud that are newer than local or don't exist locally.
68
+ * On conflict: fork the entry (create new with parent_id → original + conflicts_with edge).
69
+ */
70
+ private pullFromCloud;
71
+ /**
72
+ * Verify integrity of downloaded entries by comparing content hashes.
73
+ * Logs mismatches to sync_log via the local store.
74
+ */
75
+ private verifyIntegrity;
76
+ /**
77
+ * Resolve a sync conflict.
78
+ */
79
+ resolveConflict(entryId: string, resolution: ConflictResolution): Promise<{
80
+ resolved: boolean;
81
+ kept: string[];
82
+ }>;
83
+ }
84
+ /** Compute SHA-256 content hash for integrity verification */
85
+ export declare function computeContentHash(content: string): string;
86
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/store/sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,UAAU;IAYnB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;IAZf,OAAO,CAAC,MAAM,CAQZ;gBAGQ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY;IAG7B,qCAAqC;IACrC,QAAQ,IAAI,SAAS;IAIrB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAyCjC;;;OAGG;YACW,WAAW;IA0DzB;;;OAGG;YACW,aAAa;IA6F3B;;;OAGG;YACW,eAAe;IAmC7B;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CA0DlD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,293 @@
1
+ import { createHash } from "node:crypto";
2
+ /**
3
+ * Sync engine implementing fork-on-conflict strategy.
4
+ * Zero data loss: conflicting entries are forked with parent_id linkage
5
+ * and a conflicts_with edge.
6
+ */
7
+ export class SyncEngine {
8
+ local;
9
+ cloud;
10
+ _stats = {
11
+ totalUploads: 0,
12
+ totalDownloads: 0,
13
+ totalConflicts: 0,
14
+ totalErrors: 0,
15
+ totalIntegrityErrors: 0,
16
+ lastSyncDurationMs: null,
17
+ lastSyncSuccessAt: null,
18
+ };
19
+ constructor(local, cloud) {
20
+ this.local = local;
21
+ this.cloud = cloud;
22
+ }
23
+ /** Get cumulative sync statistics */
24
+ getStats() {
25
+ return { ...this._stats };
26
+ }
27
+ /**
28
+ * Run a full sync cycle: push local changes, pull cloud changes, detect conflicts.
29
+ */
30
+ async sync() {
31
+ const result = { uploaded: 0, downloaded: 0, conflicts: 0, errors: [], integrityErrors: [] };
32
+ const startMs = Date.now();
33
+ try {
34
+ // Phase 1: Push pending local entries to cloud
35
+ const uploadResult = await this.pushPending();
36
+ result.uploaded = uploadResult.count;
37
+ result.errors.push(...uploadResult.errors);
38
+ // Phase 2: Pull new/updated entries from cloud
39
+ const downloadResult = await this.pullFromCloud();
40
+ result.downloaded = downloadResult.count;
41
+ result.conflicts = downloadResult.conflicts;
42
+ result.errors.push(...downloadResult.errors);
43
+ // Phase 3: Verify integrity of downloaded entries
44
+ if (downloadResult.downloadedIds.length > 0) {
45
+ const integrityErrors = await this.verifyIntegrity(downloadResult.downloadedIds);
46
+ result.integrityErrors = integrityErrors;
47
+ }
48
+ // Update cumulative stats
49
+ this._stats.totalUploads += result.uploaded;
50
+ this._stats.totalDownloads += result.downloaded;
51
+ this._stats.totalConflicts += result.conflicts;
52
+ this._stats.totalErrors += result.errors.length;
53
+ this._stats.totalIntegrityErrors += result.integrityErrors.length;
54
+ this._stats.lastSyncDurationMs = Date.now() - startMs;
55
+ if (result.errors.length === 0) {
56
+ this._stats.lastSyncSuccessAt = new Date().toISOString();
57
+ }
58
+ }
59
+ catch (err) {
60
+ result.errors.push(err instanceof Error ? err.message : String(err));
61
+ this._stats.totalErrors++;
62
+ this._stats.lastSyncDurationMs = Date.now() - startMs;
63
+ }
64
+ return result;
65
+ }
66
+ /**
67
+ * Push locally-created entries that haven't been synced yet.
68
+ * Entries with sync_status='pending' are candidates for upload.
69
+ */
70
+ async pushPending() {
71
+ const errors = [];
72
+ let count = 0;
73
+ // Query local entries that need syncing
74
+ const { entries } = await this.local.query({ limit: 100 });
75
+ const pendingEntries = entries.filter((e) => e.sync_status === "pending" || !e.last_synced_at);
76
+ for (const entry of pendingEntries) {
77
+ try {
78
+ // Check if entry exists in cloud
79
+ const cloudEntry = await this.cloud.getById(entry.id);
80
+ if (cloudEntry) {
81
+ // Entry exists — check for conflict
82
+ const localUpdated = new Date(entry.updated_at).getTime();
83
+ const cloudUpdated = new Date(cloudEntry.updated_at).getTime();
84
+ if (cloudUpdated > localUpdated) {
85
+ // Cloud is newer — this will be handled in pull phase
86
+ continue;
87
+ }
88
+ if (cloudUpdated === localUpdated) {
89
+ // Same timestamp — skip (already in sync)
90
+ continue;
91
+ }
92
+ // Local is newer — push update
93
+ await this.cloud.update(entry.id, {
94
+ content: entry.content,
95
+ content_type: entry.content_type,
96
+ author: entry.author,
97
+ category: entry.category,
98
+ tags: entry.tags,
99
+ confidence: entry.confidence,
100
+ metadata: entry.metadata,
101
+ });
102
+ }
103
+ else {
104
+ // New entry — create in cloud
105
+ await this.cloud.create({
106
+ content: entry.content,
107
+ content_type: entry.content_type,
108
+ author: entry.author,
109
+ category: entry.category,
110
+ tags: entry.tags,
111
+ confidence: entry.confidence,
112
+ metadata: { ...entry.metadata, _sync_source_id: entry.id },
113
+ });
114
+ }
115
+ count++;
116
+ }
117
+ catch (err) {
118
+ errors.push(`Upload ${entry.id}: ${err instanceof Error ? err.message : String(err)}`);
119
+ }
120
+ }
121
+ return { count, errors };
122
+ }
123
+ /**
124
+ * Pull entries from cloud that are newer than local or don't exist locally.
125
+ * On conflict: fork the entry (create new with parent_id → original + conflicts_with edge).
126
+ */
127
+ async pullFromCloud() {
128
+ const errors = [];
129
+ let count = 0;
130
+ let conflicts = 0;
131
+ const downloadedIds = [];
132
+ const { entries: cloudEntries } = await this.cloud.query({ limit: 100 });
133
+ for (const cloudEntry of cloudEntries) {
134
+ try {
135
+ const localEntry = await this.local.getById(cloudEntry.id);
136
+ if (!localEntry) {
137
+ // New from cloud — create locally
138
+ const created = await this.local.create({
139
+ content: cloudEntry.content,
140
+ content_type: cloudEntry.content_type,
141
+ author: cloudEntry.author,
142
+ category: cloudEntry.category,
143
+ tags: cloudEntry.tags,
144
+ confidence: cloudEntry.confidence,
145
+ metadata: { ...cloudEntry.metadata, _sync_source: "cloud" },
146
+ });
147
+ downloadedIds.push(created.id);
148
+ count++;
149
+ continue;
150
+ }
151
+ const localUpdated = new Date(localEntry.updated_at).getTime();
152
+ const cloudUpdated = new Date(cloudEntry.updated_at).getTime();
153
+ if (cloudUpdated <= localUpdated) {
154
+ // Local is same or newer — skip
155
+ continue;
156
+ }
157
+ // Cloud is newer, but local may also have been modified
158
+ const syncable = localEntry;
159
+ const lastSynced = syncable.last_synced_at
160
+ ? new Date(syncable.last_synced_at).getTime()
161
+ : 0;
162
+ if (localUpdated > lastSynced && lastSynced > 0) {
163
+ // CONFLICT: both sides modified since last sync
164
+ // Fork strategy: create new entry with conflicts_with edge
165
+ const forkedEntry = await this.local.create({
166
+ content: cloudEntry.content,
167
+ content_type: cloudEntry.content_type,
168
+ author: cloudEntry.author,
169
+ category: cloudEntry.category,
170
+ tags: [...cloudEntry.tags, "sync-conflict"],
171
+ confidence: cloudEntry.confidence,
172
+ metadata: {
173
+ ...cloudEntry.metadata,
174
+ _sync_conflict: true,
175
+ _sync_original_id: localEntry.id,
176
+ _sync_cloud_updated_at: cloudEntry.updated_at,
177
+ },
178
+ });
179
+ // Create conflicts_with edge
180
+ await this.local.createEdge({
181
+ source_id: forkedEntry.id,
182
+ target_id: localEntry.id,
183
+ edge_type: "conflicts_with",
184
+ confidence: 1.0,
185
+ });
186
+ downloadedIds.push(forkedEntry.id);
187
+ conflicts++;
188
+ count++;
189
+ }
190
+ else {
191
+ // No conflict — cloud is simply newer, update local
192
+ await this.local.update(localEntry.id, {
193
+ content: cloudEntry.content,
194
+ content_type: cloudEntry.content_type,
195
+ author: cloudEntry.author,
196
+ category: cloudEntry.category,
197
+ tags: cloudEntry.tags,
198
+ confidence: cloudEntry.confidence,
199
+ metadata: cloudEntry.metadata,
200
+ });
201
+ downloadedIds.push(localEntry.id);
202
+ count++;
203
+ }
204
+ }
205
+ catch (err) {
206
+ errors.push(`Download ${cloudEntry.id}: ${err instanceof Error ? err.message : String(err)}`);
207
+ }
208
+ }
209
+ return { count, conflicts, errors, downloadedIds };
210
+ }
211
+ /**
212
+ * Verify integrity of downloaded entries by comparing content hashes.
213
+ * Logs mismatches to sync_log via the local store.
214
+ */
215
+ async verifyIntegrity(downloadedIds) {
216
+ const errors = [];
217
+ for (const id of downloadedIds) {
218
+ try {
219
+ const localEntry = await this.local.getById(id);
220
+ if (!localEntry)
221
+ continue;
222
+ const expectedHash = computeContentHash(localEntry.content);
223
+ // Re-fetch from local to confirm write integrity
224
+ const refetched = await this.local.getById(id);
225
+ if (!refetched)
226
+ continue;
227
+ const actualHash = computeContentHash(refetched.content);
228
+ if (expectedHash !== actualHash) {
229
+ errors.push({ entryId: id, expected: expectedHash, actual: actualHash });
230
+ // Log to sync_log if the store supports it
231
+ if ("logSyncAction" in this.local) {
232
+ this.local.logSyncAction(id, "integrity_error", `Hash mismatch: expected=${expectedHash} actual=${actualHash}`);
233
+ }
234
+ }
235
+ }
236
+ catch {
237
+ // Non-fatal: skip verification for this entry
238
+ }
239
+ }
240
+ return errors;
241
+ }
242
+ /**
243
+ * Resolve a sync conflict.
244
+ */
245
+ async resolveConflict(entryId, resolution) {
246
+ const entry = await this.local.getById(entryId);
247
+ if (!entry) {
248
+ return { resolved: false, kept: [] };
249
+ }
250
+ const metadata = entry.metadata;
251
+ const originalId = metadata._sync_original_id;
252
+ if (!originalId) {
253
+ return { resolved: false, kept: [] };
254
+ }
255
+ const original = await this.local.getById(originalId);
256
+ if (!original) {
257
+ return { resolved: false, kept: [] };
258
+ }
259
+ switch (resolution) {
260
+ case "keep_local":
261
+ // Delete the forked cloud entry
262
+ await this.local.delete(entryId);
263
+ return { resolved: true, kept: [originalId] };
264
+ case "keep_cloud":
265
+ // Replace original with cloud content, delete fork
266
+ await this.local.update(originalId, {
267
+ content: entry.content,
268
+ content_type: entry.content_type,
269
+ author: entry.author,
270
+ category: entry.category,
271
+ tags: entry.tags.filter(t => t !== "sync-conflict"),
272
+ confidence: entry.confidence,
273
+ metadata: Object.fromEntries(Object.entries(entry.metadata).filter(([k]) => !k.startsWith("_sync_"))),
274
+ });
275
+ await this.local.delete(entryId);
276
+ return { resolved: true, kept: [originalId] };
277
+ case "keep_both":
278
+ // Just remove conflict metadata — both entries stay
279
+ await this.local.update(entryId, {
280
+ tags: entry.tags.filter(t => t !== "sync-conflict"),
281
+ metadata: Object.fromEntries(Object.entries(entry.metadata).filter(([k]) => !k.startsWith("_sync_"))),
282
+ });
283
+ return { resolved: true, kept: [originalId, entryId] };
284
+ default:
285
+ return { resolved: false, kept: [] };
286
+ }
287
+ }
288
+ }
289
+ /** Compute SHA-256 content hash for integrity verification */
290
+ export function computeContentHash(content) {
291
+ return createHash("sha256").update(content, "utf8").digest("hex");
292
+ }
293
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/store/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Consciousness & Self-Healing MCP Tools — Epoch 25
3
+ *
4
+ * Academic ref: "Tool Use in Large Language Models: A Survey" (Qin et al., 2024).
5
+ *
6
+ * Provides MCP tools for:
7
+ * - get_consciousness_trend: Historical consciousness score analysis
8
+ * - suggest_connections: Find potential graph connections for an entry
9
+ * - search_with_context: Graph-enriched search (search + connected entries)
10
+ */
11
+ import type { StoreAdapter } from "../store/adapter.js";
12
+ /**
13
+ * Fetch consciousness trend from Brain API (cloud mode only).
14
+ * Wraps GET /health/vitals/history.
15
+ */
16
+ export declare function getConsciousnessTrend(store: StoreAdapter, args: Record<string, unknown>): Promise<unknown>;
17
+ /**
18
+ * Suggest potential connections for an entry by finding similar entries.
19
+ * Wraps the graph enrichment discovery logic.
20
+ */
21
+ export declare function suggestConnections(store: StoreAdapter, args: Record<string, unknown>): Promise<unknown>;
22
+ /**
23
+ * Search with context: combines search results with graph-connected entries.
24
+ * Returns search results enriched with their graph neighbors.
25
+ */
26
+ export declare function searchWithContext(store: StoreAdapter, args: Record<string, unknown>): Promise<unknown>;
27
+ //# sourceMappingURL=consciousness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consciousness.d.ts","sourceRoot":"","sources":["../../src/tools/consciousness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAqDlB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CA+DlB"}