@rbalchii/anchor-engine 4.8.0 → 4.8.1

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 (141) hide show
  1. package/LICENSE +608 -608
  2. package/README.md +177 -1
  3. package/anchor.bat +5 -5
  4. package/docs/AGENT_CONTROLLED_ENGINE.md +581 -0
  5. package/docs/API.md +314 -314
  6. package/docs/DEPLOYMENT.md +448 -448
  7. package/docs/INDEX.md +226 -226
  8. package/docs/MD_FILES_INVENTORY.md +166 -0
  9. package/docs/STAR_Whitepaper_Executive.md +216 -216
  10. package/docs/TROUBLESHOOTING.md +535 -535
  11. package/docs/arxiv/BIBLIOGRAPHY.bib +145 -145
  12. package/docs/arxiv/RELATED_WORK.tex +38 -38
  13. package/docs/arxiv/compile.bat +48 -48
  14. package/docs/arxiv/joss_response.md +32 -32
  15. package/docs/arxiv/prepare-submission.bat +46 -46
  16. package/docs/arxiv/review.md +127 -127
  17. package/docs/arxiv/star-whitepaper.tex +656 -656
  18. package/docs/code-patterns.md +289 -289
  19. package/docs/daily/TODAY_SUMMARY.md +245 -0
  20. package/docs/guides/BUILDING.md +64 -0
  21. package/docs/guides/INSTALL_NPM.md +160 -0
  22. package/docs/guides/NPM_PUBLISH_SUMMARY.md +231 -0
  23. package/docs/paper.md +124 -0
  24. package/docs/project/PROJECT_STATE_ASSESSMENT.md +312 -0
  25. package/docs/reviews/code-review-v4.8.1-decision-record.md +165 -0
  26. package/docs/testing/TESTING.md +213 -0
  27. package/docs/testing/TESTING_FRAMEWORK_COMPLETE.md +271 -0
  28. package/docs/testing/search-test-report.md +76 -0
  29. package/docs/whitepaper.md +445 -445
  30. package/engine/dist/commands/distill.js +21 -21
  31. package/engine/dist/config/index.d.ts +7 -0
  32. package/engine/dist/config/index.d.ts.map +1 -1
  33. package/engine/dist/config/index.js +22 -0
  34. package/engine/dist/config/index.js.map +1 -1
  35. package/engine/dist/config/paths.d.ts +1 -1
  36. package/engine/dist/config/paths.js +3 -3
  37. package/engine/dist/config/paths.js.map +1 -1
  38. package/engine/dist/core/db.js +131 -131
  39. package/engine/dist/mcp/server.d.ts +44 -0
  40. package/engine/dist/mcp/server.d.ts.map +1 -0
  41. package/engine/dist/mcp/server.js +427 -0
  42. package/engine/dist/mcp/server.js.map +1 -0
  43. package/engine/dist/native/index.d.ts +20 -21
  44. package/engine/dist/native/index.d.ts.map +1 -1
  45. package/engine/dist/profiling/atomization-profiling.js +3 -3
  46. package/engine/dist/profiling/bottleneck-identification.js +35 -35
  47. package/engine/dist/profiling/content-sanitization-profiling.js +86 -86
  48. package/engine/dist/routes/monitoring.js +8 -8
  49. package/engine/dist/routes/v1/admin.js +8 -8
  50. package/engine/dist/routes/v1/atoms.js +15 -15
  51. package/engine/dist/routes/v1/ingest.d.ts.map +1 -1
  52. package/engine/dist/routes/v1/ingest.js +39 -0
  53. package/engine/dist/routes/v1/ingest.js.map +1 -1
  54. package/engine/dist/routes/v1/system.d.ts.map +1 -1
  55. package/engine/dist/routes/v1/system.js +305 -6
  56. package/engine/dist/routes/v1/system.js.map +1 -1
  57. package/engine/dist/routes/v1/tags.js +2 -2
  58. package/engine/dist/services/backup/backup-restore.js +23 -23
  59. package/engine/dist/services/backup/backup.js +14 -14
  60. package/engine/dist/services/distillation/radial-distiller.d.ts +1 -0
  61. package/engine/dist/services/distillation/radial-distiller.d.ts.map +1 -1
  62. package/engine/dist/services/distillation/radial-distiller.js +23 -16
  63. package/engine/dist/services/distillation/radial-distiller.js.map +1 -1
  64. package/engine/dist/services/ingest/github-ingest-service.js +18 -18
  65. package/engine/dist/services/ingest/ingest-atomic.js +79 -79
  66. package/engine/dist/services/ingest/ingest.d.ts.map +1 -1
  67. package/engine/dist/services/ingest/ingest.js +28 -25
  68. package/engine/dist/services/ingest/ingest.js.map +1 -1
  69. package/engine/dist/services/ingest/watchdog.d.ts.map +1 -1
  70. package/engine/dist/services/ingest/watchdog.js +14 -24
  71. package/engine/dist/services/ingest/watchdog.js.map +1 -1
  72. package/engine/dist/services/llm/reader.js +9 -9
  73. package/engine/dist/services/mirror/mirror.js +5 -5
  74. package/engine/dist/services/mirror/mirror.js.map +1 -1
  75. package/engine/dist/services/research/researcher.js +8 -8
  76. package/engine/dist/services/scribe/scribe.js +27 -27
  77. package/engine/dist/services/search/context-inflator.js +34 -34
  78. package/engine/dist/services/search/explore.js +20 -20
  79. package/engine/dist/services/search/physics-tag-walker.js +208 -208
  80. package/engine/dist/services/search/query-parser.js +5 -5
  81. package/engine/dist/services/search/search-utils.js +3 -3
  82. package/engine/dist/services/search/search.js +36 -36
  83. package/engine/dist/services/search/sovereign-system-prompt.js +22 -22
  84. package/engine/dist/services/semantic/semantic-ingestion-service.js +47 -47
  85. package/engine/dist/services/semantic/semantic-search.js +21 -21
  86. package/engine/dist/services/synonyms/auto-synonym-generator.js +35 -35
  87. package/engine/dist/services/system-status.d.ts +34 -0
  88. package/engine/dist/services/system-status.d.ts.map +1 -1
  89. package/engine/dist/services/system-status.js +57 -1
  90. package/engine/dist/services/system-status.js.map +1 -1
  91. package/engine/dist/services/tags/discovery.js +5 -5
  92. package/engine/dist/services/tags/infector.js +6 -6
  93. package/engine/dist/services/tags/tag-auditor.js +51 -51
  94. package/engine/dist/services/taxonomy/taxonomy-manager.js +6 -6
  95. package/engine/dist/utils/tag-cleanup.js +5 -5
  96. package/engine/dist/utils/tag-modulation.js +1 -1
  97. package/engine/dist/utils/tag-modulation.js.map +1 -1
  98. package/engine/package.json +1 -2
  99. package/mcp-server/README.md +404 -0
  100. package/mcp-server/dist/index.d.ts +16 -0
  101. package/mcp-server/dist/index.d.ts.map +1 -0
  102. package/mcp-server/dist/index.js +709 -0
  103. package/mcp-server/dist/index.js.map +1 -0
  104. package/mcp-server/package.json +34 -0
  105. package/package.json +10 -2
  106. package/docs/archive/GIT_BACKUP_VERIFICATION.md +0 -297
  107. package/docs/archive/adoption-guide.md +0 -264
  108. package/docs/archive/adoption-preparation.md +0 -179
  109. package/docs/archive/agent-harness-integration.md +0 -227
  110. package/docs/archive/api-reference.md +0 -106
  111. package/docs/archive/api_flows_diagram.md +0 -118
  112. package/docs/archive/architecture.md +0 -410
  113. package/docs/archive/architecture_diagram.md +0 -174
  114. package/docs/archive/broader-adoption-preparation.md +0 -175
  115. package/docs/archive/browser-paradigm-architecture.md +0 -163
  116. package/docs/archive/chat-integration.md +0 -124
  117. package/docs/archive/community-adoption-materials.md +0 -103
  118. package/docs/archive/community-adoption.md +0 -147
  119. package/docs/archive/comparison-with-siloed-solutions.md +0 -192
  120. package/docs/archive/comprehensive-docs.md +0 -156
  121. package/docs/archive/data_flow_diagram.md +0 -251
  122. package/docs/archive/enhancement-implementation-summary.md +0 -146
  123. package/docs/archive/evolution-summary.md +0 -141
  124. package/docs/archive/ingestion_pipeline_diagram.md +0 -198
  125. package/docs/archive/native-module-profiling-results.md +0 -135
  126. package/docs/archive/positioning-document.md +0 -158
  127. package/docs/archive/positioning.md +0 -175
  128. package/docs/archive/query-builder-documentation.md +0 -218
  129. package/docs/archive/quick-reference.md +0 -40
  130. package/docs/archive/quickstart.md +0 -63
  131. package/docs/archive/relationship-narrative-discovery.md +0 -141
  132. package/docs/archive/search-logic-improvement-plan.md +0 -336
  133. package/docs/archive/search_architecture_diagram.md +0 -212
  134. package/docs/archive/semantic-architecture-guide.md +0 -97
  135. package/docs/archive/sequence-diagrams.md +0 -128
  136. package/docs/archive/system_components_diagram.md +0 -296
  137. package/docs/archive/test-framework-integration.md +0 -109
  138. package/docs/archive/testing-framework-documentation.md +0 -397
  139. package/docs/archive/testing-framework-summary.md +0 -121
  140. package/docs/archive/testing-framework.md +0 -377
  141. package/docs/archive/ui-architecture.md +0 -75
@@ -1,6 +1,147 @@
1
1
  import { db } from '../../core/db.js';
2
2
  import { getState, clearState } from '../../services/scribe/scribe.js';
3
+ import { PATHS, PROJECT_ROOT } from '../../config/paths.js';
4
+ import { config } from '../../config/index.js';
5
+ // Track server control state
6
+ let serverStartTime = null;
7
+ let isServerShuttingDown = false;
3
8
  export function setupSystemRoutes(app) {
9
+ // GET /health - Docker health check endpoint
10
+ // Returns 200 if DB is connected and system is healthy
11
+ app.get('/health', async (_req, res) => {
12
+ try {
13
+ // Check database connectivity
14
+ const result = await db.run('SELECT 1 as healthy');
15
+ const dbHealthy = result.rows?.[0]?.healthy === 1;
16
+ // Check critical directories exist
17
+ const fs = await import('fs');
18
+ const criticalDirs = [
19
+ PATHS.INBOX_DIR,
20
+ PATHS.EXTERNAL_INBOX_DIR,
21
+ PATHS.CONTEXT_DIR
22
+ ];
23
+ const dirsExist = await Promise.all(criticalDirs.map(async (dir) => {
24
+ try {
25
+ await fs.promises.access(dir, fs.constants.R_OK);
26
+ return true;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }));
32
+ const allDirsOk = dirsExist.every(d => d);
33
+ if (dbHealthy && allDirsOk) {
34
+ res.status(200).json({
35
+ status: 'healthy',
36
+ timestamp: new Date().toISOString(),
37
+ checks: {
38
+ database: 'connected',
39
+ directories: 'accessible'
40
+ }
41
+ });
42
+ }
43
+ else {
44
+ res.status(503).json({
45
+ status: 'unhealthy',
46
+ timestamp: new Date().toISOString(),
47
+ checks: {
48
+ database: dbHealthy ? 'connected' : 'disconnected',
49
+ directories: allDirsOk ? 'accessible' : 'some missing'
50
+ }
51
+ });
52
+ }
53
+ }
54
+ catch (error) {
55
+ res.status(503).json({
56
+ status: 'unhealthy',
57
+ timestamp: new Date().toISOString(),
58
+ error: error.message,
59
+ checks: {
60
+ database: 'error',
61
+ directories: 'unknown'
62
+ }
63
+ });
64
+ }
65
+ });
66
+ // POST /v1/system/start - Start/restart the engine
67
+ // Note: This is primarily for MCP agent control
68
+ app.post('/v1/system/start', async (req, res) => {
69
+ try {
70
+ // Check if already running
71
+ if (serverStartTime && !isServerShuttingDown) {
72
+ res.json({
73
+ status: 'already_running',
74
+ message: 'Server is already running',
75
+ started_at: serverStartTime.toISOString(),
76
+ uptime_seconds: Math.floor((Date.now() - serverStartTime.getTime()) / 1000)
77
+ });
78
+ return;
79
+ }
80
+ // Server is starting or restarting
81
+ serverStartTime = new Date();
82
+ isServerShuttingDown = false;
83
+ res.json({
84
+ status: 'starting',
85
+ message: 'Server start initiated',
86
+ started_at: serverStartTime.toISOString()
87
+ });
88
+ // Note: Actual server restart would require process management
89
+ // This endpoint is primarily for MCP agent coordination
90
+ console.log('[System] Server start requested via API');
91
+ }
92
+ catch (error) {
93
+ console.error('System start error:', error);
94
+ res.status(500).json({ error: 'Failed to start system' });
95
+ }
96
+ });
97
+ // POST /v1/system/stop - Graceful shutdown
98
+ app.post('/v1/system/stop', async (req, res) => {
99
+ try {
100
+ const { timeout = 30000 } = req.body; // Default 30 second timeout
101
+ isServerShuttingDown = true;
102
+ console.log(`[System] Graceful shutdown requested (timeout: ${timeout}ms)`);
103
+ // Stop accepting new requests
104
+ res.json({
105
+ status: 'shutting_down',
106
+ message: 'Graceful shutdown initiated',
107
+ timeout_ms: timeout,
108
+ timestamp: new Date().toISOString()
109
+ });
110
+ // Note: Actual shutdown would require process management
111
+ // This endpoint is primarily for MCP agent coordination
112
+ console.log('[System] Server stop requested via API');
113
+ // In a full implementation, this would:
114
+ // 1. Stop accepting new connections
115
+ // 2. Wait for current operations to complete (up to timeout)
116
+ // 3. Close database connections
117
+ // 4. Exit process
118
+ }
119
+ catch (error) {
120
+ console.error('System stop error:', error);
121
+ res.status(500).json({ error: 'Failed to stop system' });
122
+ }
123
+ });
124
+ // GET /v1/system/server-info - Get server metadata
125
+ app.get('/v1/system/server-info', async (req, res) => {
126
+ try {
127
+ res.json({
128
+ status: 'success',
129
+ server_info: {
130
+ is_running: serverStartTime !== null && !isServerShuttingDown,
131
+ is_shutting_down: isServerShuttingDown,
132
+ started_at: serverStartTime?.toISOString() || null,
133
+ uptime_seconds: serverStartTime ? Math.floor((Date.now() - serverStartTime.getTime()) / 1000) : 0,
134
+ port: config.PORT,
135
+ host: config.HOST,
136
+ version: '4.8.2'
137
+ }
138
+ });
139
+ }
140
+ catch (error) {
141
+ console.error('Server info error:', error);
142
+ res.status(500).json({ error: 'Failed to get server info' });
143
+ }
144
+ });
4
145
  // GET /v1/stats - System statistics (anchor_stats tool)
5
146
  app.get('/v1/stats', async (_req, res) => {
6
147
  try {
@@ -26,6 +167,124 @@ export function setupSystemRoutes(app) {
26
167
  res.status(500).json({ error: 'Failed to retrieve stats' });
27
168
  }
28
169
  });
170
+ // GET /v1/system/ingest-status - Get ingestion progress
171
+ app.get('/v1/system/ingest-status', async (_req, res) => {
172
+ try {
173
+ const { systemStatus } = await import('../../services/system-status.js');
174
+ const ingestStatus = systemStatus.getIngestionStatus();
175
+ res.json({
176
+ status: 'success',
177
+ state: ingestStatus.status,
178
+ currentJob: ingestStatus.currentJob,
179
+ lastCompleted: ingestStatus.lastCompleted,
180
+ queueDepth: ingestStatus.queueDepth
181
+ });
182
+ }
183
+ catch (error) {
184
+ console.error('Ingest status retrieval error:', error);
185
+ res.status(500).json({ error: 'Failed to retrieve ingest status' });
186
+ }
187
+ });
188
+ // POST /v1/system/wait-for-ingest - Block until ingestion completes
189
+ app.post('/v1/system/wait-for-ingest', async (req, res) => {
190
+ try {
191
+ const { timeout = 300000, job_id } = req.body; // Default 5 minute timeout
192
+ const { systemStatus } = await import('../../services/system-status.js');
193
+ const startTime = Date.now();
194
+ const pollInterval = 500; // Check every 500ms
195
+ while (true) {
196
+ const status = systemStatus.getIngestionStatus();
197
+ // Check if ingestion is complete or errored
198
+ if (status.status === 'idle' || status.status === 'complete' || status.status === 'error') {
199
+ res.json({
200
+ status: 'complete',
201
+ final_status: status.status,
202
+ duration_ms: Date.now() - startTime,
203
+ job: status.currentJob
204
+ });
205
+ return;
206
+ }
207
+ // Check timeout
208
+ if (Date.now() - startTime > timeout) {
209
+ res.status(408).json({
210
+ status: 'timeout',
211
+ duration_ms: Date.now() - startTime,
212
+ message: `Ingestion did not complete within ${timeout}ms`
213
+ });
214
+ return;
215
+ }
216
+ // Wait before next poll
217
+ await new Promise(resolve => setTimeout(resolve, pollInterval));
218
+ }
219
+ }
220
+ catch (error) {
221
+ console.error('Wait for ingest error:', error);
222
+ res.status(500).json({ error: 'Failed to wait for ingestion' });
223
+ }
224
+ });
225
+ // GET /v1/config/ingestion - Get current ingestion config
226
+ app.get('/v1/config/ingestion', async (_req, res) => {
227
+ try {
228
+ const { config } = await import('../../config/index.js');
229
+ res.json({
230
+ status: 'success',
231
+ config: config.INGESTION
232
+ });
233
+ }
234
+ catch (error) {
235
+ console.error('Get ingestion config error:', error);
236
+ res.status(500).json({ error: 'Failed to get ingestion config' });
237
+ }
238
+ });
239
+ // POST /v1/config/ingestion - Update ingestion config
240
+ app.post('/v1/config/ingestion', async (req, res) => {
241
+ try {
242
+ const { config } = await import('../../config/index.js');
243
+ const updates = req.body;
244
+ // Validate and apply updates
245
+ if (updates.concept_density && !['low', 'medium', 'high'].includes(updates.concept_density)) {
246
+ res.status(400).json({ error: 'Invalid concept_density. Must be low, medium, or high' });
247
+ return;
248
+ }
249
+ if (updates.dedup_strength && !['light', 'medium', 'aggressive'].includes(updates.dedup_strength)) {
250
+ res.status(400).json({ error: 'Invalid dedup_strength. Must be light, medium, or aggressive' });
251
+ return;
252
+ }
253
+ if (updates.ingestion_profile && !['code', 'notes', 'chat', 'default'].includes(updates.ingestion_profile)) {
254
+ res.status(400).json({ error: 'Invalid ingestion_profile. Must be code, notes, chat, or default' });
255
+ return;
256
+ }
257
+ if (updates.tag_threshold !== undefined && (updates.tag_threshold < 0 || updates.tag_threshold > 1)) {
258
+ res.status(400).json({ error: 'tag_threshold must be between 0 and 1' });
259
+ return;
260
+ }
261
+ if (updates.token_budget_default !== undefined && updates.token_budget_default < 0) {
262
+ res.status(400).json({ error: 'token_budget_default must be positive' });
263
+ return;
264
+ }
265
+ // Apply updates to runtime config
266
+ if (updates.concept_density)
267
+ config.INGESTION.CONCEPT_DENSITY = updates.concept_density;
268
+ if (updates.tag_threshold !== undefined)
269
+ config.INGESTION.TAG_THRESHOLD = updates.tag_threshold;
270
+ if (updates.dedup_strength)
271
+ config.INGESTION.DEDUP_STRENGTH = updates.dedup_strength;
272
+ if (updates.token_budget_default !== undefined)
273
+ config.INGESTION.TOKEN_BUDGET_DEFAULT = updates.token_budget_default;
274
+ if (updates.ingestion_profile)
275
+ config.INGESTION.INGESTION_PROFILE = updates.ingestion_profile;
276
+ console.log('[Config] Ingestion config updated:', updates);
277
+ res.json({
278
+ status: 'success',
279
+ message: 'Ingestion config updated',
280
+ config: config.INGESTION
281
+ });
282
+ }
283
+ catch (error) {
284
+ console.error('Update ingestion config error:', error);
285
+ res.status(500).json({ error: 'Failed to update ingestion config' });
286
+ }
287
+ });
29
288
  // Scribe State Endpoints
30
289
  app.get('/v1/scribe/state', async (_req, res) => {
31
290
  try {
@@ -100,17 +359,57 @@ export function setupSystemRoutes(app) {
100
359
  // POST /v1/system/paths - Add a new path to watch
101
360
  app.post('/v1/system/paths', async (req, res) => {
102
361
  try {
103
- const { path } = req.body;
104
- if (!path) {
362
+ const { path: newPath } = req.body;
363
+ if (!newPath) {
105
364
  res.status(400).json({ error: 'Path is required' });
106
365
  return;
107
366
  }
367
+ // Security: Validate path is within allowed directories
368
+ const pathModule = await import('path');
369
+ const fs = await import('fs');
370
+ // Resolve to absolute path
371
+ const resolvedPath = pathModule.resolve(newPath);
372
+ // Ensure path exists
373
+ try {
374
+ await fs.promises.access(resolvedPath, fs.constants.R_OK);
375
+ }
376
+ catch {
377
+ res.status(400).json({ error: 'Path does not exist or is not readable' });
378
+ return;
379
+ }
380
+ // Security: Ensure path is within PROJECT_ROOT or is an absolute path outside
381
+ // We allow paths outside PROJECT_ROOT but they must be explicitly absolute
382
+ if (!pathModule.isAbsolute(newPath)) {
383
+ res.status(400).json({
384
+ error: 'Path must be absolute for security reasons',
385
+ hint: 'Use an absolute path starting with / or C:\\'
386
+ });
387
+ return;
388
+ }
389
+ // Normalize both paths for comparison
390
+ const normalizedPath = resolvedPath.replace(/\\/g, '/');
391
+ const normalizedProjectRoot = PROJECT_ROOT.replace(/\\/g, '/');
392
+ // Allowlist: paths must be either within PROJECT_ROOT or explicitly absolute
393
+ const isWithinProjectRoot = normalizedPath.startsWith(normalizedProjectRoot + '/') ||
394
+ normalizedPath === normalizedProjectRoot;
395
+ if (!isWithinProjectRoot) {
396
+ // For paths outside project root, require explicit confirmation
397
+ res.status(200).json({
398
+ status: 'warning',
399
+ message: 'Path is outside PROJECT_ROOT. Ensure this is intentional.',
400
+ path: resolvedPath,
401
+ security_note: 'External paths are allowed but should be trusted directories only'
402
+ });
403
+ // Still allow the path but log it
404
+ console.warn('[Security] Adding external watch path:', resolvedPath);
405
+ }
108
406
  const { addWatchPath } = await import('../../services/ingest/watchdog.js');
109
- const success = await addWatchPath(path);
407
+ const success = await addWatchPath(resolvedPath);
110
408
  res.status(200).json({
111
409
  status: success ? 'success' : 'failed',
112
- message: success ? `Now watching: ${path}` : 'Failed to add path',
113
- path
410
+ message: success ? `Now watching: ${resolvedPath}` : 'Failed to add path',
411
+ path: resolvedPath,
412
+ within_project_root: isWithinProjectRoot
114
413
  });
115
414
  }
116
415
  catch (e) {
@@ -276,7 +575,7 @@ export function setupSystemRoutes(app) {
276
575
  const path = await import('path');
277
576
  // Security: Canonicalize paths to prevent symlink traversal attacks
278
577
  // Get realpath of base directory (inbox/distilled)
279
- const baseDir = path.resolve(process.cwd(), 'inbox', 'distilled');
578
+ const baseDir = path.resolve(PATHS.INBOX_DIR, 'distilled');
280
579
  let realBaseDir;
281
580
  try {
282
581
  realBaseDir = await fs.promises.realpath(baseDir);
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/routes/v1/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/routes/v1/system.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export function setupTagsRoutes(app) {
47
47
  // Create a placeholder tag entry to register the bucket
48
48
  // This makes the bucket visible in the list
49
49
  const placeholderTag = `_bucket_${bucketName}`;
50
- await db.run(`INSERT INTO tags (atom_id, tag, bucket) VALUES ($1, $2, $3)
50
+ await db.run(`INSERT INTO tags (atom_id, tag, bucket) VALUES ($1, $2, $3)
51
51
  ON CONFLICT (atom_id, tag, bucket) DO NOTHING`, ['__system__', placeholderTag, bucketName]);
52
52
  // Store bucket metadata in engrams
53
53
  const bucketMetadata = {
@@ -56,7 +56,7 @@ export function setupTagsRoutes(app) {
56
56
  created_at: new Date().toISOString(),
57
57
  source: 'manual'
58
58
  };
59
- await db.run(`INSERT INTO engrams (key, value) VALUES ($1, $2)
59
+ await db.run(`INSERT INTO engrams (key, value) VALUES ($1, $2)
60
60
  ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value`, [`bucket_meta_${bucketName}`, JSON.stringify(bucketMetadata)]);
61
61
  console.log(`[API] Created bucket: ${bucketName} at location: ${location || 'inbox'}`);
62
62
  res.status(201).json({
@@ -46,11 +46,11 @@ export async function restoreFromBackup(filename) {
46
46
  stats.source_count++;
47
47
  }
48
48
  if (placeholders.length > 0) {
49
- await db.run(`INSERT INTO sources (path, hash, total_atoms, last_ingest)
50
- VALUES ${placeholders.join(', ')}
51
- ON CONFLICT (path) DO UPDATE SET
52
- hash = EXCLUDED.hash,
53
- total_atoms = EXCLUDED.total_atoms,
49
+ await db.run(`INSERT INTO sources (path, hash, total_atoms, last_ingest)
50
+ VALUES ${placeholders.join(', ')}
51
+ ON CONFLICT (path) DO UPDATE SET
52
+ hash = EXCLUDED.hash,
53
+ total_atoms = EXCLUDED.total_atoms,
54
54
  last_ingest = EXCLUDED.last_ingest`, params);
55
55
  }
56
56
  }
@@ -68,21 +68,21 @@ export async function restoreFromBackup(filename) {
68
68
  stats.memory_count++;
69
69
  }
70
70
  if (placeholders.length > 0) {
71
- await db.run(`INSERT INTO atoms (id, timestamp, content, source_path, source_id, sequence, type, hash, buckets, tags, epochs, provenance, simhash, embedding)
72
- VALUES ${placeholders.join(', ')}
73
- ON CONFLICT (id) DO UPDATE SET
74
- content = EXCLUDED.content,
75
- timestamp = EXCLUDED.timestamp,
76
- source_path = EXCLUDED.source_path,
77
- source_id = EXCLUDED.source_id,
78
- sequence = EXCLUDED.sequence,
79
- type = EXCLUDED.type,
80
- hash = EXCLUDED.hash,
81
- buckets = EXCLUDED.buckets,
82
- tags = EXCLUDED.tags,
83
- epochs = EXCLUDED.epochs,
84
- provenance = EXCLUDED.provenance,
85
- simhash = EXCLUDED.simhash,
71
+ await db.run(`INSERT INTO atoms (id, timestamp, content, source_path, source_id, sequence, type, hash, buckets, tags, epochs, provenance, simhash, embedding)
72
+ VALUES ${placeholders.join(', ')}
73
+ ON CONFLICT (id) DO UPDATE SET
74
+ content = EXCLUDED.content,
75
+ timestamp = EXCLUDED.timestamp,
76
+ source_path = EXCLUDED.source_path,
77
+ source_id = EXCLUDED.source_id,
78
+ sequence = EXCLUDED.sequence,
79
+ type = EXCLUDED.type,
80
+ hash = EXCLUDED.hash,
81
+ buckets = EXCLUDED.buckets,
82
+ tags = EXCLUDED.tags,
83
+ epochs = EXCLUDED.epochs,
84
+ provenance = EXCLUDED.provenance,
85
+ simhash = EXCLUDED.simhash,
86
86
  embedding = EXCLUDED.embedding`, params);
87
87
  }
88
88
  }
@@ -100,9 +100,9 @@ export async function restoreFromBackup(filename) {
100
100
  stats.engram_count++;
101
101
  }
102
102
  if (placeholders.length > 0) {
103
- await db.run(`INSERT INTO engrams (key, value)
104
- VALUES ${placeholders.join(', ')}
105
- ON CONFLICT (key) DO UPDATE SET
103
+ await db.run(`INSERT INTO engrams (key, value)
104
+ VALUES ${placeholders.join(', ')}
105
+ ON CONFLICT (key) DO UPDATE SET
106
106
  value = EXCLUDED.value`, params);
107
107
  }
108
108
  }
@@ -232,15 +232,15 @@ export async function restoreBackup(filename) {
232
232
  stats.memory_count++;
233
233
  }
234
234
  if (placeholders.length > 0) {
235
- await db.run(`INSERT INTO atoms (id, timestamp, content, source_path, source_id, sequence, type, hash, buckets, tags, epochs, provenance, simhash, embedding)
236
- VALUES ${placeholders.join(', ')}
237
- ON CONFLICT (id) DO UPDATE SET
238
- content = EXCLUDED.content, timestamp = EXCLUDED.timestamp,
239
- source_path = EXCLUDED.source_path, source_id = EXCLUDED.source_id,
240
- sequence = EXCLUDED.sequence, type = EXCLUDED.type,
241
- hash = EXCLUDED.hash, buckets = EXCLUDED.buckets,
242
- tags = EXCLUDED.tags, epochs = EXCLUDED.epochs,
243
- provenance = EXCLUDED.provenance, simhash = EXCLUDED.simhash,
235
+ await db.run(`INSERT INTO atoms (id, timestamp, content, source_path, source_id, sequence, type, hash, buckets, tags, epochs, provenance, simhash, embedding)
236
+ VALUES ${placeholders.join(', ')}
237
+ ON CONFLICT (id) DO UPDATE SET
238
+ content = EXCLUDED.content, timestamp = EXCLUDED.timestamp,
239
+ source_path = EXCLUDED.source_path, source_id = EXCLUDED.source_id,
240
+ sequence = EXCLUDED.sequence, type = EXCLUDED.type,
241
+ hash = EXCLUDED.hash, buckets = EXCLUDED.buckets,
242
+ tags = EXCLUDED.tags, epochs = EXCLUDED.epochs,
243
+ provenance = EXCLUDED.provenance, simhash = EXCLUDED.simhash,
244
244
  embedding = EXCLUDED.embedding`, params);
245
245
  }
246
246
  }
@@ -254,10 +254,10 @@ export async function restoreBackup(filename) {
254
254
  stats.source_count++;
255
255
  }
256
256
  if (placeholders.length > 0) {
257
- await db.run(`INSERT INTO sources (path, hash, total_atoms, last_ingest)
258
- VALUES ${placeholders.join(', ')}
259
- ON CONFLICT (path) DO UPDATE SET
260
- hash = EXCLUDED.hash, total_atoms = EXCLUDED.total_atoms,
257
+ await db.run(`INSERT INTO sources (path, hash, total_atoms, last_ingest)
258
+ VALUES ${placeholders.join(', ')}
259
+ ON CONFLICT (path) DO UPDATE SET
260
+ hash = EXCLUDED.hash, total_atoms = EXCLUDED.total_atoms,
261
261
  last_ingest = EXCLUDED.last_ingest`, params);
262
262
  }
263
263
  }
@@ -271,7 +271,7 @@ export async function restoreBackup(filename) {
271
271
  stats.engram_count++;
272
272
  }
273
273
  if (placeholders.length > 0) {
274
- await db.run(`INSERT INTO engrams (key, value) VALUES ${placeholders.join(', ')}
274
+ await db.run(`INSERT INTO engrams (key, value) VALUES ${placeholders.join(', ')}
275
275
  ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value`, params);
276
276
  }
277
277
  }
@@ -51,6 +51,7 @@ export interface RadialDistillResult {
51
51
  };
52
52
  provenance: {
53
53
  source_compounds: string[];
54
+ unique_sources: number;
54
55
  distilled_at: string;
55
56
  parameters: RadialDistillRequest;
56
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"radial-distiller.d.ts","sourceRoot":"","sources":["../../../src/services/distillation/radial-distiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE;QACV,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,oBAAoB,CAAC;KAClC,CAAC;CACH;AAqWD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAgE9B"}
1
+ {"version":3,"file":"radial-distiller.d.ts","sourceRoot":"","sources":["../../../src/services/distillation/radial-distiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE;QACV,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,oBAAoB,CAAC;KAClC,CAAC;CACH;AAqWD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAuE9B"}