@kybernesis/brain-core 0.1.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.
Files changed (129) hide show
  1. package/dist/claude-call.d.ts +37 -0
  2. package/dist/claude-call.d.ts.map +1 -0
  3. package/dist/claude-call.js +55 -0
  4. package/dist/claude-call.js.map +1 -0
  5. package/dist/entity-graph.d.ts +79 -0
  6. package/dist/entity-graph.d.ts.map +1 -0
  7. package/dist/entity-graph.js +611 -0
  8. package/dist/entity-graph.js.map +1 -0
  9. package/dist/fact-contradiction.d.ts +25 -0
  10. package/dist/fact-contradiction.d.ts.map +1 -0
  11. package/dist/fact-contradiction.js +109 -0
  12. package/dist/fact-contradiction.js.map +1 -0
  13. package/dist/fact-extractor.d.ts +26 -0
  14. package/dist/fact-extractor.d.ts.map +1 -0
  15. package/dist/fact-extractor.js +98 -0
  16. package/dist/fact-extractor.js.map +1 -0
  17. package/dist/fact-retrieval.d.ts +51 -0
  18. package/dist/fact-retrieval.d.ts.map +1 -0
  19. package/dist/fact-retrieval.js +401 -0
  20. package/dist/fact-retrieval.js.map +1 -0
  21. package/dist/fact-store.d.ts +26 -0
  22. package/dist/fact-store.d.ts.map +1 -0
  23. package/dist/fact-store.js +181 -0
  24. package/dist/fact-store.js.map +1 -0
  25. package/dist/fact-temporal.d.ts +20 -0
  26. package/dist/fact-temporal.d.ts.map +1 -0
  27. package/dist/fact-temporal.js +79 -0
  28. package/dist/fact-temporal.js.map +1 -0
  29. package/dist/fts-sanitizer.d.ts +32 -0
  30. package/dist/fts-sanitizer.d.ts.map +1 -0
  31. package/dist/fts-sanitizer.js +61 -0
  32. package/dist/fts-sanitizer.js.map +1 -0
  33. package/dist/hybrid-search.d.ts +44 -0
  34. package/dist/hybrid-search.d.ts.map +1 -0
  35. package/dist/hybrid-search.js +410 -0
  36. package/dist/hybrid-search.js.map +1 -0
  37. package/dist/index.d.ts +33 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +19 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/ops.d.ts +28 -0
  42. package/dist/ops.d.ts.map +1 -0
  43. package/dist/ops.js +307 -0
  44. package/dist/ops.js.map +1 -0
  45. package/dist/queue.d.ts +13 -0
  46. package/dist/queue.d.ts.map +1 -0
  47. package/dist/queue.js +28 -0
  48. package/dist/queue.js.map +1 -0
  49. package/dist/relationship-extractor.d.ts +38 -0
  50. package/dist/relationship-extractor.d.ts.map +1 -0
  51. package/dist/relationship-extractor.js +119 -0
  52. package/dist/relationship-extractor.js.map +1 -0
  53. package/dist/sleep/config.d.ts +47 -0
  54. package/dist/sleep/config.d.ts.map +1 -0
  55. package/dist/sleep/config.js +46 -0
  56. package/dist/sleep/config.js.map +1 -0
  57. package/dist/sleep/db.d.ts +16 -0
  58. package/dist/sleep/db.d.ts.map +1 -0
  59. package/dist/sleep/db.js +114 -0
  60. package/dist/sleep/db.js.map +1 -0
  61. package/dist/sleep/index.d.ts +69 -0
  62. package/dist/sleep/index.d.ts.map +1 -0
  63. package/dist/sleep/index.js +99 -0
  64. package/dist/sleep/index.js.map +1 -0
  65. package/dist/sleep/steps/consolidate.d.ts +19 -0
  66. package/dist/sleep/steps/consolidate.d.ts.map +1 -0
  67. package/dist/sleep/steps/consolidate.js +74 -0
  68. package/dist/sleep/steps/consolidate.js.map +1 -0
  69. package/dist/sleep/steps/decay.d.ts +19 -0
  70. package/dist/sleep/steps/decay.d.ts.map +1 -0
  71. package/dist/sleep/steps/decay.js +121 -0
  72. package/dist/sleep/steps/decay.js.map +1 -0
  73. package/dist/sleep/steps/entity-hygiene.d.ts +29 -0
  74. package/dist/sleep/steps/entity-hygiene.d.ts.map +1 -0
  75. package/dist/sleep/steps/entity-hygiene.js +452 -0
  76. package/dist/sleep/steps/entity-hygiene.js.map +1 -0
  77. package/dist/sleep/steps/link.d.ts +20 -0
  78. package/dist/sleep/steps/link.d.ts.map +1 -0
  79. package/dist/sleep/steps/link.js +216 -0
  80. package/dist/sleep/steps/link.js.map +1 -0
  81. package/dist/sleep/steps/observe.d.ts +17 -0
  82. package/dist/sleep/steps/observe.d.ts.map +1 -0
  83. package/dist/sleep/steps/observe.js +192 -0
  84. package/dist/sleep/steps/observe.js.map +1 -0
  85. package/dist/sleep/steps/profile.d.ts +15 -0
  86. package/dist/sleep/steps/profile.d.ts.map +1 -0
  87. package/dist/sleep/steps/profile.js +26 -0
  88. package/dist/sleep/steps/profile.js.map +1 -0
  89. package/dist/sleep/steps/reasoning.d.ts +19 -0
  90. package/dist/sleep/steps/reasoning.d.ts.map +1 -0
  91. package/dist/sleep/steps/reasoning.js +173 -0
  92. package/dist/sleep/steps/reasoning.js.map +1 -0
  93. package/dist/sleep/steps/summarize.d.ts +21 -0
  94. package/dist/sleep/steps/summarize.d.ts.map +1 -0
  95. package/dist/sleep/steps/summarize.js +206 -0
  96. package/dist/sleep/steps/summarize.js.map +1 -0
  97. package/dist/sleep/steps/tag.d.ts +16 -0
  98. package/dist/sleep/steps/tag.d.ts.map +1 -0
  99. package/dist/sleep/steps/tag.js +84 -0
  100. package/dist/sleep/steps/tag.js.map +1 -0
  101. package/dist/sleep/steps/tier.d.ts +18 -0
  102. package/dist/sleep/steps/tier.d.ts.map +1 -0
  103. package/dist/sleep/steps/tier.js +112 -0
  104. package/dist/sleep/steps/tier.js.map +1 -0
  105. package/dist/sleep/utils/checkpoint.d.ts +11 -0
  106. package/dist/sleep/utils/checkpoint.d.ts.map +1 -0
  107. package/dist/sleep/utils/checkpoint.js +26 -0
  108. package/dist/sleep/utils/checkpoint.js.map +1 -0
  109. package/dist/sleep/utils/jaccard.d.ts +7 -0
  110. package/dist/sleep/utils/jaccard.d.ts.map +1 -0
  111. package/dist/sleep/utils/jaccard.js +19 -0
  112. package/dist/sleep/utils/jaccard.js.map +1 -0
  113. package/dist/store-conversation.d.ts +29 -0
  114. package/dist/store-conversation.d.ts.map +1 -0
  115. package/dist/store-conversation.js +227 -0
  116. package/dist/store-conversation.js.map +1 -0
  117. package/dist/timeline.d.ts +50 -0
  118. package/dist/timeline.d.ts.map +1 -0
  119. package/dist/timeline.js +389 -0
  120. package/dist/timeline.js.map +1 -0
  121. package/dist/user-profile.d.ts +30 -0
  122. package/dist/user-profile.d.ts.map +1 -0
  123. package/dist/user-profile.js +147 -0
  124. package/dist/user-profile.js.map +1 -0
  125. package/dist/vectors.d.ts +56 -0
  126. package/dist/vectors.d.ts.map +1 -0
  127. package/dist/vectors.js +132 -0
  128. package/dist/vectors.js.map +1 -0
  129. package/package.json +53 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Vector indexing + semantic search — port of KAD's vectors.ts.
3
+ *
4
+ * Brain-core owns the operations; brain-storage-vec owns the connection
5
+ * + sqlite-vec extension. Embeddings are injected via setEmbeddingProvider
6
+ * (same pattern as setLLMProvider — see ADR-0009): the library has no
7
+ * default backend, the app wires one at startup. When no provider is set,
8
+ * indexChunk is a no-op and semanticSearch returns [].
9
+ *
10
+ * KAD's default backend is OpenAI text-embedding-3-small (1536-dim). Other
11
+ * backends (Voyage, local) can be wired identically.
12
+ */
13
+ export const EMBEDDING_DIM = 1536;
14
+ const CONTENT_CHAR_CAP = 8192;
15
+ let _embedder = null;
16
+ export function setEmbeddingProvider(p) { _embedder = p; }
17
+ export function resetEmbeddingProvider() { _embedder = null; }
18
+ export function embeddingAvailable() { return _embedder !== null; }
19
+ export async function indexChunk(t, content, meta) {
20
+ if (!_embedder)
21
+ return { indexed: false, reason: 'no embedding provider' };
22
+ const vec = await loadVecStorage();
23
+ if (!vec.getVectorDb || !vec.toFloat32Buffer) {
24
+ return { indexed: false, reason: 'brain-storage-vec unavailable' };
25
+ }
26
+ let db;
27
+ try {
28
+ db = vec.getVectorDb(t);
29
+ }
30
+ catch (err) {
31
+ console.warn('[brain-core/vectors] failed to open vector db', { err: String(err) });
32
+ return { indexed: false, reason: 'vector db unavailable' };
33
+ }
34
+ if (meta.origin_id) {
35
+ const existing = db.prepare('SELECT rowid FROM chunk_meta WHERE origin_id = ?').get(meta.origin_id);
36
+ if (existing)
37
+ return { indexed: false, reason: 'already indexed' };
38
+ }
39
+ const capped = content.slice(0, CONTENT_CHAR_CAP);
40
+ const embedding = await _embedder.embed(capped);
41
+ if (!embedding)
42
+ return { indexed: false, reason: 'embedding failed' };
43
+ if (embedding.length !== EMBEDDING_DIM) {
44
+ return { indexed: false, reason: `expected ${EMBEDDING_DIM}-dim vector, got ${embedding.length}` };
45
+ }
46
+ const toBuf = vec.toFloat32Buffer;
47
+ const tx = db.transaction(() => {
48
+ const ins = db.prepare('INSERT INTO chunks (embedding) VALUES (?)').run(toBuf(embedding));
49
+ const rowid = Number(ins.lastInsertRowid);
50
+ db.prepare('INSERT INTO chunk_meta (rowid, ts, source, content, origin_id) VALUES (?, ?, ?, ?, ?)').run(rowid, meta.ts, meta.source ?? null, capped, meta.origin_id ?? null);
51
+ });
52
+ tx();
53
+ return { indexed: true };
54
+ }
55
+ export async function semanticSearch(t, query, opts = {}) {
56
+ const limit = opts.limit ?? 10;
57
+ if (!_embedder)
58
+ return [];
59
+ const vec = await loadVecStorage();
60
+ if (!vec.getVectorDb || !vec.toFloat32Buffer)
61
+ return [];
62
+ let db;
63
+ try {
64
+ db = vec.getVectorDb(t);
65
+ }
66
+ catch (err) {
67
+ console.warn('[brain-core/vectors] failed to open vector db', { err: String(err) });
68
+ return [];
69
+ }
70
+ const embedding = await _embedder.embed(query.slice(0, CONTENT_CHAR_CAP));
71
+ if (!embedding || embedding.length !== EMBEDDING_DIM)
72
+ return [];
73
+ let rows;
74
+ try {
75
+ rows = db.prepare(`
76
+ SELECT m.ts, m.source, m.content, m.origin_id,
77
+ vec_distance_l2(c.embedding, ?) AS distance
78
+ FROM chunks c
79
+ JOIN chunk_meta m ON c.rowid = m.rowid
80
+ ORDER BY distance ASC
81
+ LIMIT ?
82
+ `).all(vec.toFloat32Buffer(embedding), limit);
83
+ }
84
+ catch (err) {
85
+ console.warn('[brain-core/vectors] query failed', { err: String(err) });
86
+ return [];
87
+ }
88
+ return rows.map((r) => ({
89
+ id: r.origin_id ?? r.source ?? `vec_${Math.random().toString(36).slice(2)}`,
90
+ content: r.content,
91
+ distance: r.distance,
92
+ metadata: {
93
+ source_path: r.source ?? '',
94
+ timestamp: r.ts,
95
+ },
96
+ }));
97
+ }
98
+ export async function vectorStats(t) {
99
+ const vec = await loadVecStorage();
100
+ if (!vec.getVectorDb)
101
+ return { count: 0, available: false };
102
+ try {
103
+ const db = vec.getVectorDb(t);
104
+ const row = db.prepare('SELECT COUNT(*) AS c FROM chunk_meta').get();
105
+ return { count: row.c, available: true };
106
+ }
107
+ catch {
108
+ return { count: 0, available: false };
109
+ }
110
+ }
111
+ let _vecStorage = null;
112
+ let _vecStorageAttempted = false;
113
+ async function loadVecStorage() {
114
+ if (_vecStorageAttempted)
115
+ return _vecStorage ?? {};
116
+ _vecStorageAttempted = true;
117
+ try {
118
+ const mod = await import('@kybernesis/brain-storage-vec');
119
+ _vecStorage = { getVectorDb: mod.getVectorDb, toFloat32Buffer: mod.toFloat32Buffer };
120
+ return _vecStorage;
121
+ }
122
+ catch {
123
+ _vecStorage = {};
124
+ return _vecStorage;
125
+ }
126
+ }
127
+ /** Reset the cached storage module — for tests where we need a clean state. */
128
+ export function _resetVecStorageCache() {
129
+ _vecStorage = null;
130
+ _vecStorageAttempted = false;
131
+ }
132
+ //# sourceMappingURL=vectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectors.js","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@kybernesis/brain-core",
3
+ "version": "0.1.0",
4
+ "description": "Kernel brain methods — timeline, entity-graph, facts, vectors, retrieval, sleep",
5
+ "license": "MIT",
6
+ "author": "David Cruwys (AppyDave)",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/KybernesisAI/cortex.git",
10
+ "directory": "packages/brain-core"
11
+ },
12
+ "homepage": "https://github.com/KybernesisAI/cortex/tree/main/packages/brain-core#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/KybernesisAI/cortex/issues"
15
+ },
16
+ "type": "module",
17
+ "main": "./dist/index.js",
18
+ "types": "./dist/index.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "README.md"
28
+ ],
29
+ "dependencies": {
30
+ "@kybernesis/brain-storage-sqlite": "0.1.0",
31
+ "@kybernesis/brain-contracts": "0.1.0"
32
+ },
33
+ "peerDependencies": {
34
+ "@kybernesis/brain-storage-vec": "0.1.0"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "@kybernesis/brain-storage-vec": {
38
+ "optional": true
39
+ }
40
+ },
41
+ "devDependencies": {
42
+ "@kybernesis/brain-storage-vec": "0.1.0",
43
+ "@kybernesis/brain-testkit": "0.1.0"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "scripts": {
49
+ "build": "tsc -b",
50
+ "clean": "tsc -b --clean",
51
+ "typecheck": "tsc -b"
52
+ }
53
+ }