@stackmemoryai/stackmemory 0.3.1 → 0.3.3

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 (734) hide show
  1. package/README.md +52 -272
  2. package/dist/cli/commands/clear.js +191 -0
  3. package/dist/cli/commands/clear.js.map +7 -0
  4. package/dist/cli/commands/config.js +152 -1
  5. package/dist/cli/commands/config.js.map +2 -2
  6. package/dist/cli/commands/dashboard.js +178 -0
  7. package/dist/cli/commands/dashboard.js.map +7 -0
  8. package/dist/cli/commands/handoff.js +125 -8
  9. package/dist/cli/commands/handoff.js.map +2 -2
  10. package/dist/cli/commands/linear-create.js +132 -0
  11. package/dist/cli/commands/linear-create.js.map +7 -0
  12. package/dist/cli/commands/linear-list.js +69 -0
  13. package/dist/cli/commands/linear-list.js.map +7 -0
  14. package/dist/cli/commands/linear-migrate.js +40 -0
  15. package/dist/cli/commands/linear-migrate.js.map +7 -0
  16. package/dist/cli/commands/linear.js +185 -36
  17. package/dist/cli/commands/linear.js.map +2 -2
  18. package/dist/cli/commands/monitor.js +309 -0
  19. package/dist/cli/commands/monitor.js.map +7 -0
  20. package/dist/cli/commands/quality.js +414 -0
  21. package/dist/cli/commands/quality.js.map +7 -0
  22. package/dist/cli/commands/storage.js +275 -0
  23. package/dist/cli/commands/storage.js.map +7 -0
  24. package/dist/cli/commands/tui.js +66 -0
  25. package/dist/cli/commands/tui.js.map +7 -0
  26. package/dist/cli/commands/workflow.js +134 -0
  27. package/dist/cli/commands/workflow.js.map +7 -0
  28. package/dist/cli/index.js +104 -8
  29. package/dist/cli/index.js.map +3 -3
  30. package/dist/core/analytics/team-analytics.js +374 -0
  31. package/dist/core/analytics/team-analytics.js.map +7 -0
  32. package/dist/core/context/context-bridge.js +234 -0
  33. package/dist/core/context/context-bridge.js.map +7 -0
  34. package/dist/core/context/dual-stack-manager.js +850 -0
  35. package/dist/core/context/dual-stack-manager.js.map +7 -0
  36. package/dist/core/context/frame-handoff-manager.js +384 -0
  37. package/dist/core/context/frame-handoff-manager.js.map +7 -0
  38. package/dist/core/context/frame-manager.js +132 -12
  39. package/dist/core/context/frame-manager.js.map +2 -2
  40. package/dist/core/context/permission-manager.js +181 -0
  41. package/dist/core/context/permission-manager.js.map +7 -0
  42. package/dist/core/context/shared-context-layer.js +386 -0
  43. package/dist/core/context/shared-context-layer.js.map +7 -0
  44. package/dist/core/context/stack-merge-resolver.js +600 -0
  45. package/dist/core/context/stack-merge-resolver.js.map +7 -0
  46. package/dist/core/context/validation.js +121 -0
  47. package/dist/core/context/validation.js.map +7 -0
  48. package/dist/core/database/connection-pool.js +266 -175
  49. package/dist/core/database/connection-pool.js.map +2 -2
  50. package/dist/core/database/database-adapter.js +51 -0
  51. package/dist/core/database/database-adapter.js.map +7 -0
  52. package/dist/core/database/migration-manager.js +514 -0
  53. package/dist/core/database/migration-manager.js.map +7 -0
  54. package/dist/core/database/paradedb-adapter.js +970 -0
  55. package/dist/core/database/paradedb-adapter.js.map +7 -0
  56. package/dist/core/database/query-router.js +421 -0
  57. package/dist/core/database/query-router.js.map +7 -0
  58. package/dist/core/database/sqlite-adapter.js +547 -0
  59. package/dist/core/database/sqlite-adapter.js.map +7 -0
  60. package/dist/core/errors/index.js +21 -1
  61. package/dist/core/errors/index.js.map +2 -2
  62. package/dist/core/frame/workflow-templates-stub.js +42 -0
  63. package/dist/core/frame/workflow-templates-stub.js.map +7 -0
  64. package/dist/core/frame/workflow-templates.js +276 -0
  65. package/dist/core/frame/workflow-templates.js.map +7 -0
  66. package/dist/core/merge/conflict-detector.js +5 -2
  67. package/dist/core/merge/conflict-detector.js.map +2 -2
  68. package/dist/core/merge/resolution-engine.js +3 -14
  69. package/dist/core/merge/resolution-engine.js.map +2 -2
  70. package/dist/core/merge/stack-diff.js.map +2 -2
  71. package/dist/core/monitoring/logger.js +18 -3
  72. package/dist/core/monitoring/logger.js.map +2 -2
  73. package/dist/core/monitoring/session-monitor.js +296 -0
  74. package/dist/core/monitoring/session-monitor.js.map +7 -0
  75. package/dist/core/retrieval/context-retriever.js +475 -0
  76. package/dist/core/retrieval/context-retriever.js.map +7 -0
  77. package/dist/core/retrieval/graph-retrieval.js +658 -0
  78. package/dist/core/retrieval/graph-retrieval.js.map +7 -0
  79. package/dist/core/retrieval/hierarchical-retrieval.js +652 -0
  80. package/dist/core/retrieval/hierarchical-retrieval.js.map +7 -0
  81. package/dist/core/retrieval/retrieval-benchmarks.js +517 -0
  82. package/dist/core/retrieval/retrieval-benchmarks.js.map +7 -0
  83. package/dist/core/session/clear-survival-stub.js +49 -0
  84. package/dist/core/session/clear-survival-stub.js.map +7 -0
  85. package/dist/core/session/clear-survival.js +426 -0
  86. package/dist/core/session/clear-survival.js.map +7 -0
  87. package/dist/core/session/handoff-generator.js +339 -0
  88. package/dist/core/session/handoff-generator.js.map +7 -0
  89. package/dist/core/session/session-manager.js +61 -26
  90. package/dist/core/session/session-manager.js.map +3 -3
  91. package/dist/core/skills/index.js +3 -0
  92. package/dist/core/skills/index.js.map +7 -0
  93. package/dist/core/skills/skill-storage.js +749 -0
  94. package/dist/core/skills/skill-storage.js.map +7 -0
  95. package/dist/core/skills/types.js +189 -0
  96. package/dist/core/skills/types.js.map +7 -0
  97. package/dist/core/storage/railway-optimized-storage.js +550 -0
  98. package/dist/core/storage/railway-optimized-storage.js.map +7 -0
  99. package/dist/core/storage/remote-storage.js +456 -0
  100. package/dist/core/storage/remote-storage.js.map +7 -0
  101. package/dist/core/trace/trace-detector.js +136 -5
  102. package/dist/core/trace/trace-detector.js.map +2 -2
  103. package/dist/core/trace/trace-store.js.map +2 -2
  104. package/dist/features/tui/components/analytics-panel.js +136 -0
  105. package/dist/features/tui/components/analytics-panel.js.map +7 -0
  106. package/dist/features/tui/components/frame-visualizer.js +377 -0
  107. package/dist/features/tui/components/frame-visualizer.js.map +7 -0
  108. package/dist/features/tui/components/pr-tracker.js +123 -0
  109. package/dist/features/tui/components/pr-tracker.js.map +7 -0
  110. package/dist/features/tui/components/session-monitor.js +286 -0
  111. package/dist/features/tui/components/session-monitor.js.map +7 -0
  112. package/dist/features/tui/components/subagent-fleet.js +388 -0
  113. package/dist/features/tui/components/subagent-fleet.js.map +7 -0
  114. package/dist/features/tui/components/task-board.js +475 -0
  115. package/dist/features/tui/components/task-board.js.map +7 -0
  116. package/dist/features/tui/index.js +397 -0
  117. package/dist/features/tui/index.js.map +7 -0
  118. package/dist/features/tui/services/data-service.js +654 -0
  119. package/dist/features/tui/services/data-service.js.map +7 -0
  120. package/dist/features/tui/services/websocket-client.js +149 -0
  121. package/dist/features/tui/services/websocket-client.js.map +7 -0
  122. package/dist/features/tui/terminal-compat.js +205 -0
  123. package/dist/features/tui/terminal-compat.js.map +7 -0
  124. package/dist/features/tui/types.js +1 -0
  125. package/dist/features/tui/types.js.map +7 -0
  126. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +455 -0
  127. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
  128. package/dist/integrations/claude-code/lifecycle-hooks.js +250 -0
  129. package/dist/integrations/claude-code/lifecycle-hooks.js.map +7 -0
  130. package/dist/integrations/claude-code/post-task-hooks.js +541 -0
  131. package/dist/integrations/claude-code/post-task-hooks.js.map +7 -0
  132. package/dist/integrations/linear/client.js +22 -4
  133. package/dist/integrations/linear/client.js.map +2 -2
  134. package/dist/integrations/linear/migration.js +299 -0
  135. package/dist/integrations/linear/migration.js.map +7 -0
  136. package/dist/integrations/linear/oauth-server.js +396 -0
  137. package/dist/integrations/linear/oauth-server.js.map +7 -0
  138. package/dist/integrations/linear/rest-client.js +199 -0
  139. package/dist/integrations/linear/rest-client.js.map +7 -0
  140. package/dist/integrations/linear/sync.js +14 -2
  141. package/dist/integrations/linear/sync.js.map +2 -2
  142. package/dist/integrations/linear/webhook-handler.js +200 -0
  143. package/dist/integrations/linear/webhook-handler.js.map +7 -0
  144. package/dist/integrations/mcp/handlers/skill-handlers.js +514 -0
  145. package/dist/integrations/mcp/handlers/skill-handlers.js.map +7 -0
  146. package/dist/integrations/mcp/middleware/tool-scoring.js +352 -0
  147. package/dist/integrations/mcp/middleware/tool-scoring.js.map +7 -0
  148. package/dist/integrations/mcp/refactored-server.js +31 -3
  149. package/dist/integrations/mcp/refactored-server.js.map +2 -2
  150. package/dist/integrations/mcp/server.js +25 -7
  151. package/dist/integrations/mcp/server.js.map +2 -2
  152. package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
  153. package/dist/models/user.model.js +3 -0
  154. package/dist/models/user.model.js.map +2 -2
  155. package/dist/services/context-service.js.map +2 -2
  156. package/dist/utils/formatting.js +58 -0
  157. package/dist/utils/formatting.js.map +7 -0
  158. package/package.json +21 -5
  159. package/dist/cli/__tests__/index.test.js +0 -290
  160. package/dist/cli/__tests__/index.test.js.map +0 -7
  161. package/dist/core/config/__tests__/config-manager.test.js +0 -248
  162. package/dist/core/config/__tests__/config-manager.test.js.map +0 -7
  163. package/dist/core/context/__tests__/frame-manager.test.js +0 -879
  164. package/dist/core/context/__tests__/frame-manager.test.js.map +0 -7
  165. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js +0 -379
  166. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js.map +0 -7
  167. package/dist/core/digest/__tests__/frame-digest-integration.test.js +0 -230
  168. package/dist/core/digest/__tests__/frame-digest-integration.test.js.map +0 -7
  169. package/dist/core/errors/__tests__/error-handling.test.js +0 -270
  170. package/dist/core/errors/__tests__/error-handling.test.js.map +0 -7
  171. package/dist/core/merge/__tests__/conflict-scenarios.test.js +0 -414
  172. package/dist/core/merge/__tests__/conflict-scenarios.test.js.map +0 -7
  173. package/dist/core/query/__tests__/query-parser.test.js +0 -301
  174. package/dist/core/query/__tests__/query-parser.test.js.map +0 -7
  175. package/dist/core/query/__tests__/query-templates.test.js +0 -210
  176. package/dist/core/query/__tests__/query-templates.test.js.map +0 -7
  177. package/dist/core/trace/trace-detector.test.js +0 -401
  178. package/dist/core/trace/trace-detector.test.js.map +0 -7
  179. package/dist/features/tasks/__tests__/pebbles-task-store.test.js +0 -747
  180. package/dist/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -7
  181. package/dist/integrations/linear/__tests__/auth.test.js +0 -558
  182. package/dist/integrations/linear/__tests__/auth.test.js.map +0 -7
  183. package/dist/integrations/linear/__tests__/sync-service.test.js +0 -760
  184. package/dist/integrations/linear/__tests__/sync-service.test.js.map +0 -7
  185. package/dist/integrations/mcp/__tests__/server.test.js +0 -798
  186. package/dist/integrations/mcp/__tests__/server.test.js.map +0 -7
  187. package/dist/scripts/benchmark-performance.d.ts +0 -7
  188. package/dist/scripts/benchmark-performance.d.ts.map +0 -1
  189. package/dist/scripts/benchmark-performance.js +0 -44
  190. package/dist/scripts/benchmark-performance.js.map +0 -1
  191. package/dist/scripts/cancel-duplicate-tasks.d.ts +0 -7
  192. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +0 -1
  193. package/dist/scripts/cancel-duplicate-tasks.js +0 -172
  194. package/dist/scripts/cancel-duplicate-tasks.js.map +0 -1
  195. package/dist/scripts/cleanup-duplicate-tasks.d.ts +0 -12
  196. package/dist/scripts/cleanup-duplicate-tasks.d.ts.map +0 -1
  197. package/dist/scripts/cleanup-duplicate-tasks.js +0 -215
  198. package/dist/scripts/cleanup-duplicate-tasks.js.map +0 -1
  199. package/dist/scripts/initialize.d.ts +0 -6
  200. package/dist/scripts/initialize.d.ts.map +0 -1
  201. package/dist/scripts/initialize.js +0 -93
  202. package/dist/scripts/initialize.js.map +0 -1
  203. package/dist/scripts/list-linear-tasks.d.ts +0 -6
  204. package/dist/scripts/list-linear-tasks.d.ts.map +0 -1
  205. package/dist/scripts/list-linear-tasks.js +0 -121
  206. package/dist/scripts/list-linear-tasks.js.map +0 -1
  207. package/dist/scripts/merge-linear-duplicates-safe.d.ts +0 -7
  208. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +0 -1
  209. package/dist/scripts/merge-linear-duplicates-safe.js +0 -267
  210. package/dist/scripts/merge-linear-duplicates-safe.js.map +0 -1
  211. package/dist/scripts/show-linear-summary.d.ts +0 -6
  212. package/dist/scripts/show-linear-summary.d.ts.map +0 -1
  213. package/dist/scripts/show-linear-summary.js +0 -120
  214. package/dist/scripts/show-linear-summary.js.map +0 -1
  215. package/dist/scripts/status.d.ts +0 -6
  216. package/dist/scripts/status.d.ts.map +0 -1
  217. package/dist/scripts/status.js +0 -101
  218. package/dist/scripts/status.js.map +0 -1
  219. package/dist/src/agents/core/agent-task-manager.d.ts +0 -154
  220. package/dist/src/agents/core/agent-task-manager.d.ts.map +0 -1
  221. package/dist/src/agents/core/agent-task-manager.js +0 -504
  222. package/dist/src/agents/core/agent-task-manager.js.map +0 -1
  223. package/dist/src/agents/verifiers/base-verifier.d.ts +0 -112
  224. package/dist/src/agents/verifiers/base-verifier.d.ts.map +0 -1
  225. package/dist/src/agents/verifiers/base-verifier.js +0 -130
  226. package/dist/src/agents/verifiers/base-verifier.js.map +0 -1
  227. package/dist/src/agents/verifiers/formatter-verifier.d.ts +0 -14
  228. package/dist/src/agents/verifiers/formatter-verifier.d.ts.map +0 -1
  229. package/dist/src/agents/verifiers/formatter-verifier.js +0 -107
  230. package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -1
  231. package/dist/src/agents/verifiers/llm-judge.d.ts +0 -46
  232. package/dist/src/agents/verifiers/llm-judge.d.ts.map +0 -1
  233. package/dist/src/agents/verifiers/llm-judge.js +0 -248
  234. package/dist/src/agents/verifiers/llm-judge.js.map +0 -1
  235. package/dist/src/cli/auto-detect.d.ts +0 -61
  236. package/dist/src/cli/auto-detect.d.ts.map +0 -1
  237. package/dist/src/cli/auto-detect.js +0 -350
  238. package/dist/src/cli/auto-detect.js.map +0 -1
  239. package/dist/src/cli/browser-test.d.ts +0 -6
  240. package/dist/src/cli/browser-test.d.ts.map +0 -1
  241. package/dist/src/cli/browser-test.js +0 -32
  242. package/dist/src/cli/browser-test.js.map +0 -1
  243. package/dist/src/cli/claude-sm.d.ts +0 -7
  244. package/dist/src/cli/claude-sm.d.ts.map +0 -1
  245. package/dist/src/cli/claude-sm.js +0 -412
  246. package/dist/src/cli/claude-sm.js.map +0 -1
  247. package/dist/src/cli/commands/agent.d.ts +0 -9
  248. package/dist/src/cli/commands/agent.d.ts.map +0 -1
  249. package/dist/src/cli/commands/agent.js +0 -303
  250. package/dist/src/cli/commands/agent.js.map +0 -1
  251. package/dist/src/cli/commands/config.d.ts +0 -6
  252. package/dist/src/cli/commands/config.d.ts.map +0 -1
  253. package/dist/src/cli/commands/config.js +0 -224
  254. package/dist/src/cli/commands/config.js.map +0 -1
  255. package/dist/src/cli/commands/context.d.ts +0 -7
  256. package/dist/src/cli/commands/context.d.ts.map +0 -1
  257. package/dist/src/cli/commands/context.js +0 -365
  258. package/dist/src/cli/commands/context.js.map +0 -1
  259. package/dist/src/cli/commands/handoff.d.ts +0 -6
  260. package/dist/src/cli/commands/handoff.d.ts.map +0 -1
  261. package/dist/src/cli/commands/handoff.js +0 -212
  262. package/dist/src/cli/commands/handoff.js.map +0 -1
  263. package/dist/src/cli/commands/linear-test.d.ts +0 -6
  264. package/dist/src/cli/commands/linear-test.d.ts.map +0 -1
  265. package/dist/src/cli/commands/linear-test.js +0 -123
  266. package/dist/src/cli/commands/linear-test.js.map +0 -1
  267. package/dist/src/cli/commands/linear.d.ts +0 -6
  268. package/dist/src/cli/commands/linear.d.ts.map +0 -1
  269. package/dist/src/cli/commands/linear.js +0 -393
  270. package/dist/src/cli/commands/linear.js.map +0 -1
  271. package/dist/src/cli/commands/log.d.ts +0 -7
  272. package/dist/src/cli/commands/log.d.ts.map +0 -1
  273. package/dist/src/cli/commands/log.js +0 -168
  274. package/dist/src/cli/commands/log.js.map +0 -1
  275. package/dist/src/cli/commands/onboard.d.ts +0 -8
  276. package/dist/src/cli/commands/onboard.d.ts.map +0 -1
  277. package/dist/src/cli/commands/onboard.js +0 -363
  278. package/dist/src/cli/commands/onboard.js.map +0 -1
  279. package/dist/src/cli/commands/projects.d.ts +0 -8
  280. package/dist/src/cli/commands/projects.d.ts.map +0 -1
  281. package/dist/src/cli/commands/projects.js +0 -220
  282. package/dist/src/cli/commands/projects.js.map +0 -1
  283. package/dist/src/cli/commands/search.d.ts +0 -7
  284. package/dist/src/cli/commands/search.d.ts.map +0 -1
  285. package/dist/src/cli/commands/search.js +0 -162
  286. package/dist/src/cli/commands/search.js.map +0 -1
  287. package/dist/src/cli/commands/session.d.ts +0 -7
  288. package/dist/src/cli/commands/session.d.ts.map +0 -1
  289. package/dist/src/cli/commands/session.js +0 -222
  290. package/dist/src/cli/commands/session.js.map +0 -1
  291. package/dist/src/cli/commands/tasks.d.ts +0 -7
  292. package/dist/src/cli/commands/tasks.d.ts.map +0 -1
  293. package/dist/src/cli/commands/tasks.js +0 -229
  294. package/dist/src/cli/commands/tasks.js.map +0 -1
  295. package/dist/src/cli/commands/webhook.d.ts +0 -3
  296. package/dist/src/cli/commands/webhook.d.ts.map +0 -1
  297. package/dist/src/cli/commands/webhook.js +0 -157
  298. package/dist/src/cli/commands/webhook.js.map +0 -1
  299. package/dist/src/cli/commands/worktree.d.ts +0 -8
  300. package/dist/src/cli/commands/worktree.d.ts.map +0 -1
  301. package/dist/src/cli/commands/worktree.js +0 -339
  302. package/dist/src/cli/commands/worktree.js.map +0 -1
  303. package/dist/src/cli/index.d.ts +0 -8
  304. package/dist/src/cli/index.d.ts.map +0 -1
  305. package/dist/src/cli/index.js +0 -995
  306. package/dist/src/cli/index.js.map +0 -1
  307. package/dist/src/cli/utils/viewer.d.ts +0 -3
  308. package/dist/src/cli/utils/viewer.d.ts.map +0 -1
  309. package/dist/src/cli/utils/viewer.js +0 -91
  310. package/dist/src/cli/utils/viewer.js.map +0 -1
  311. package/dist/src/core/config/config-manager.d.ts +0 -95
  312. package/dist/src/core/config/config-manager.d.ts.map +0 -1
  313. package/dist/src/core/config/config-manager.js +0 -359
  314. package/dist/src/core/config/config-manager.js.map +0 -1
  315. package/dist/src/core/config/types.d.ts +0 -72
  316. package/dist/src/core/config/types.d.ts.map +0 -1
  317. package/dist/src/core/config/types.js +0 -127
  318. package/dist/src/core/config/types.js.map +0 -1
  319. package/dist/src/core/context/auto-context.d.ts +0 -22
  320. package/dist/src/core/context/auto-context.d.ts.map +0 -1
  321. package/dist/src/core/context/auto-context.js +0 -77
  322. package/dist/src/core/context/auto-context.js.map +0 -1
  323. package/dist/src/core/context/compaction-handler.d.ts +0 -119
  324. package/dist/src/core/context/compaction-handler.d.ts.map +0 -1
  325. package/dist/src/core/context/compaction-handler.js +0 -306
  326. package/dist/src/core/context/compaction-handler.js.map +0 -1
  327. package/dist/src/core/context/frame-database.d.ts +0 -59
  328. package/dist/src/core/context/frame-database.d.ts.map +0 -1
  329. package/dist/src/core/context/frame-database.js +0 -333
  330. package/dist/src/core/context/frame-database.js.map +0 -1
  331. package/dist/src/core/context/frame-digest.d.ts +0 -59
  332. package/dist/src/core/context/frame-digest.d.ts.map +0 -1
  333. package/dist/src/core/context/frame-digest.js +0 -264
  334. package/dist/src/core/context/frame-digest.js.map +0 -1
  335. package/dist/src/core/context/frame-manager.d.ts +0 -112
  336. package/dist/src/core/context/frame-manager.d.ts.map +0 -1
  337. package/dist/src/core/context/frame-manager.js +0 -600
  338. package/dist/src/core/context/frame-manager.js.map +0 -1
  339. package/dist/src/core/context/frame-stack.d.ts +0 -85
  340. package/dist/src/core/context/frame-stack.d.ts.map +0 -1
  341. package/dist/src/core/context/frame-stack.js +0 -287
  342. package/dist/src/core/context/frame-stack.js.map +0 -1
  343. package/dist/src/core/context/frame-types.d.ts +0 -67
  344. package/dist/src/core/context/frame-types.d.ts.map +0 -1
  345. package/dist/src/core/context/frame-types.js +0 -6
  346. package/dist/src/core/context/frame-types.js.map +0 -1
  347. package/dist/src/core/context/index.d.ts +0 -11
  348. package/dist/src/core/context/index.d.ts.map +0 -1
  349. package/dist/src/core/context/index.js +0 -14
  350. package/dist/src/core/context/index.js.map +0 -1
  351. package/dist/src/core/context/model-aware-compaction.d.ts +0 -101
  352. package/dist/src/core/context/model-aware-compaction.d.ts.map +0 -1
  353. package/dist/src/core/context/model-aware-compaction.js +0 -616
  354. package/dist/src/core/context/model-aware-compaction.js.map +0 -1
  355. package/dist/src/core/context/refactored-frame-manager.d.ts +0 -99
  356. package/dist/src/core/context/refactored-frame-manager.d.ts.map +0 -1
  357. package/dist/src/core/context/refactored-frame-manager.js +0 -340
  358. package/dist/src/core/context/refactored-frame-manager.js.map +0 -1
  359. package/dist/src/core/database/batch-operations.d.ts +0 -118
  360. package/dist/src/core/database/batch-operations.d.ts.map +0 -1
  361. package/dist/src/core/database/batch-operations.js +0 -339
  362. package/dist/src/core/database/batch-operations.js.map +0 -1
  363. package/dist/src/core/database/connection-pool.d.ts +0 -79
  364. package/dist/src/core/database/connection-pool.d.ts.map +0 -1
  365. package/dist/src/core/database/connection-pool.js +0 -236
  366. package/dist/src/core/database/connection-pool.js.map +0 -1
  367. package/dist/src/core/database/query-cache.d.ts +0 -135
  368. package/dist/src/core/database/query-cache.d.ts.map +0 -1
  369. package/dist/src/core/database/query-cache.js +0 -294
  370. package/dist/src/core/database/query-cache.js.map +0 -1
  371. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts +0 -125
  372. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts.map +0 -1
  373. package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -282
  374. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -1
  375. package/dist/src/core/digest/frame-digest-integration.d.ts +0 -67
  376. package/dist/src/core/digest/frame-digest-integration.d.ts.map +0 -1
  377. package/dist/src/core/digest/frame-digest-integration.js +0 -198
  378. package/dist/src/core/digest/frame-digest-integration.js.map +0 -1
  379. package/dist/src/core/digest/hybrid-digest-generator.d.ts +0 -76
  380. package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +0 -1
  381. package/dist/src/core/digest/hybrid-digest-generator.js +0 -629
  382. package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -1
  383. package/dist/src/core/digest/index.d.ts +0 -9
  384. package/dist/src/core/digest/index.d.ts.map +0 -1
  385. package/dist/src/core/digest/index.js +0 -9
  386. package/dist/src/core/digest/index.js.map +0 -1
  387. package/dist/src/core/digest/types.d.ts +0 -154
  388. package/dist/src/core/digest/types.d.ts.map +0 -1
  389. package/dist/src/core/digest/types.js +0 -18
  390. package/dist/src/core/digest/types.js.map +0 -1
  391. package/dist/src/core/errors/index.d.ts +0 -143
  392. package/dist/src/core/errors/index.d.ts.map +0 -1
  393. package/dist/src/core/errors/index.js +0 -282
  394. package/dist/src/core/errors/index.js.map +0 -1
  395. package/dist/src/core/errors/recovery.d.ts +0 -86
  396. package/dist/src/core/errors/recovery.d.ts.map +0 -1
  397. package/dist/src/core/errors/recovery.js +0 -274
  398. package/dist/src/core/errors/recovery.js.map +0 -1
  399. package/dist/src/core/merge/conflict-detector.d.ts +0 -122
  400. package/dist/src/core/merge/conflict-detector.d.ts.map +0 -1
  401. package/dist/src/core/merge/conflict-detector.js +0 -468
  402. package/dist/src/core/merge/conflict-detector.js.map +0 -1
  403. package/dist/src/core/merge/index.d.ts +0 -9
  404. package/dist/src/core/merge/index.d.ts.map +0 -1
  405. package/dist/src/core/merge/index.js +0 -9
  406. package/dist/src/core/merge/index.js.map +0 -1
  407. package/dist/src/core/merge/resolution-engine.d.ts +0 -120
  408. package/dist/src/core/merge/resolution-engine.d.ts.map +0 -1
  409. package/dist/src/core/merge/resolution-engine.js +0 -573
  410. package/dist/src/core/merge/resolution-engine.js.map +0 -1
  411. package/dist/src/core/merge/stack-diff.d.ts +0 -97
  412. package/dist/src/core/merge/stack-diff.d.ts.map +0 -1
  413. package/dist/src/core/merge/stack-diff.js +0 -516
  414. package/dist/src/core/merge/stack-diff.js.map +0 -1
  415. package/dist/src/core/merge/types.d.ts +0 -110
  416. package/dist/src/core/merge/types.d.ts.map +0 -1
  417. package/dist/src/core/merge/types.js +0 -6
  418. package/dist/src/core/merge/types.js.map +0 -1
  419. package/dist/src/core/monitoring/error-handler.d.ts +0 -46
  420. package/dist/src/core/monitoring/error-handler.d.ts.map +0 -1
  421. package/dist/src/core/monitoring/error-handler.js +0 -212
  422. package/dist/src/core/monitoring/error-handler.js.map +0 -1
  423. package/dist/src/core/monitoring/logger.d.ts +0 -24
  424. package/dist/src/core/monitoring/logger.d.ts.map +0 -1
  425. package/dist/src/core/monitoring/logger.js +0 -126
  426. package/dist/src/core/monitoring/logger.js.map +0 -1
  427. package/dist/src/core/monitoring/metrics.d.ts +0 -10
  428. package/dist/src/core/monitoring/metrics.d.ts.map +0 -1
  429. package/dist/src/core/monitoring/metrics.js +0 -152
  430. package/dist/src/core/monitoring/metrics.js.map +0 -1
  431. package/dist/src/core/monitoring/progress-tracker.d.ts +0 -95
  432. package/dist/src/core/monitoring/progress-tracker.d.ts.map +0 -1
  433. package/dist/src/core/monitoring/progress-tracker.js +0 -178
  434. package/dist/src/core/monitoring/progress-tracker.js.map +0 -1
  435. package/dist/src/core/performance/context-cache.d.ts +0 -109
  436. package/dist/src/core/performance/context-cache.d.ts.map +0 -1
  437. package/dist/src/core/performance/context-cache.js +0 -280
  438. package/dist/src/core/performance/context-cache.js.map +0 -1
  439. package/dist/src/core/performance/index.d.ts +0 -3
  440. package/dist/src/core/performance/index.d.ts.map +0 -1
  441. package/dist/src/core/performance/index.js +0 -3
  442. package/dist/src/core/performance/index.js.map +0 -1
  443. package/dist/src/core/performance/lazy-context-loader.d.ts +0 -93
  444. package/dist/src/core/performance/lazy-context-loader.d.ts.map +0 -1
  445. package/dist/src/core/performance/lazy-context-loader.js +0 -332
  446. package/dist/src/core/performance/lazy-context-loader.js.map +0 -1
  447. package/dist/src/core/performance/monitor.d.ts +0 -48
  448. package/dist/src/core/performance/monitor.d.ts.map +0 -1
  449. package/dist/src/core/performance/monitor.js +0 -226
  450. package/dist/src/core/performance/monitor.js.map +0 -1
  451. package/dist/src/core/performance/optimized-frame-context.d.ts +0 -74
  452. package/dist/src/core/performance/optimized-frame-context.d.ts.map +0 -1
  453. package/dist/src/core/performance/optimized-frame-context.js +0 -330
  454. package/dist/src/core/performance/optimized-frame-context.js.map +0 -1
  455. package/dist/src/core/performance/performance-benchmark.d.ts +0 -50
  456. package/dist/src/core/performance/performance-benchmark.d.ts.map +0 -1
  457. package/dist/src/core/performance/performance-benchmark.js +0 -290
  458. package/dist/src/core/performance/performance-benchmark.js.map +0 -1
  459. package/dist/src/core/performance/performance-profiler.d.ts +0 -151
  460. package/dist/src/core/performance/performance-profiler.d.ts.map +0 -1
  461. package/dist/src/core/performance/performance-profiler.js +0 -346
  462. package/dist/src/core/performance/performance-profiler.js.map +0 -1
  463. package/dist/src/core/performance/streaming-jsonl-parser.d.ts +0 -41
  464. package/dist/src/core/performance/streaming-jsonl-parser.d.ts.map +0 -1
  465. package/dist/src/core/performance/streaming-jsonl-parser.js +0 -193
  466. package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -1
  467. package/dist/src/core/persistence/postgres-adapter.d.ts +0 -31
  468. package/dist/src/core/persistence/postgres-adapter.d.ts.map +0 -1
  469. package/dist/src/core/persistence/postgres-adapter.js +0 -330
  470. package/dist/src/core/persistence/postgres-adapter.js.map +0 -1
  471. package/dist/src/core/projects/project-manager.d.ts +0 -130
  472. package/dist/src/core/projects/project-manager.d.ts.map +0 -1
  473. package/dist/src/core/projects/project-manager.js +0 -709
  474. package/dist/src/core/projects/project-manager.js.map +0 -1
  475. package/dist/src/core/query/query-parser.d.ts +0 -109
  476. package/dist/src/core/query/query-parser.d.ts.map +0 -1
  477. package/dist/src/core/query/query-parser.js +0 -415
  478. package/dist/src/core/query/query-parser.js.map +0 -1
  479. package/dist/src/core/query/query-templates.d.ts +0 -44
  480. package/dist/src/core/query/query-templates.d.ts.map +0 -1
  481. package/dist/src/core/query/query-templates.js +0 -326
  482. package/dist/src/core/query/query-templates.js.map +0 -1
  483. package/dist/src/core/retrieval/index.d.ts +0 -8
  484. package/dist/src/core/retrieval/index.d.ts.map +0 -1
  485. package/dist/src/core/retrieval/index.js +0 -8
  486. package/dist/src/core/retrieval/index.js.map +0 -1
  487. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +0 -73
  488. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +0 -1
  489. package/dist/src/core/retrieval/llm-context-retrieval.js +0 -597
  490. package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -1
  491. package/dist/src/core/retrieval/summary-generator.d.ts +0 -63
  492. package/dist/src/core/retrieval/summary-generator.d.ts.map +0 -1
  493. package/dist/src/core/retrieval/summary-generator.js +0 -622
  494. package/dist/src/core/retrieval/summary-generator.js.map +0 -1
  495. package/dist/src/core/retrieval/types.d.ts +0 -257
  496. package/dist/src/core/retrieval/types.d.ts.map +0 -1
  497. package/dist/src/core/retrieval/types.js +0 -18
  498. package/dist/src/core/retrieval/types.js.map +0 -1
  499. package/dist/src/core/session/index.d.ts +0 -2
  500. package/dist/src/core/session/index.d.ts.map +0 -1
  501. package/dist/src/core/session/index.js +0 -2
  502. package/dist/src/core/session/index.js.map +0 -1
  503. package/dist/src/core/session/session-manager.d.ts +0 -69
  504. package/dist/src/core/session/session-manager.d.ts.map +0 -1
  505. package/dist/src/core/session/session-manager.js +0 -311
  506. package/dist/src/core/session/session-manager.js.map +0 -1
  507. package/dist/src/core/trace/cli-trace-wrapper.d.ts +0 -23
  508. package/dist/src/core/trace/cli-trace-wrapper.d.ts.map +0 -1
  509. package/dist/src/core/trace/cli-trace-wrapper.js +0 -141
  510. package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -1
  511. package/dist/src/core/trace/db-trace-wrapper.d.ts +0 -36
  512. package/dist/src/core/trace/db-trace-wrapper.d.ts.map +0 -1
  513. package/dist/src/core/trace/db-trace-wrapper.js +0 -252
  514. package/dist/src/core/trace/db-trace-wrapper.js.map +0 -1
  515. package/dist/src/core/trace/debug-trace.d.ts +0 -84
  516. package/dist/src/core/trace/debug-trace.d.ts.map +0 -1
  517. package/dist/src/core/trace/debug-trace.js +0 -402
  518. package/dist/src/core/trace/debug-trace.js.map +0 -1
  519. package/dist/src/core/trace/error-test.d.ts +0 -6
  520. package/dist/src/core/trace/error-test.d.ts.map +0 -1
  521. package/dist/src/core/trace/error-test.js +0 -128
  522. package/dist/src/core/trace/error-test.js.map +0 -1
  523. package/dist/src/core/trace/index.d.ts +0 -25
  524. package/dist/src/core/trace/index.d.ts.map +0 -1
  525. package/dist/src/core/trace/index.js +0 -121
  526. package/dist/src/core/trace/index.js.map +0 -1
  527. package/dist/src/core/trace/linear-api-wrapper.d.ts +0 -17
  528. package/dist/src/core/trace/linear-api-wrapper.d.ts.map +0 -1
  529. package/dist/src/core/trace/linear-api-wrapper.js +0 -205
  530. package/dist/src/core/trace/linear-api-wrapper.js.map +0 -1
  531. package/dist/src/core/trace/performance-test.d.ts +0 -6
  532. package/dist/src/core/trace/performance-test.d.ts.map +0 -1
  533. package/dist/src/core/trace/performance-test.js +0 -111
  534. package/dist/src/core/trace/performance-test.js.map +0 -1
  535. package/dist/src/core/trace/trace-demo.d.ts +0 -8
  536. package/dist/src/core/trace/trace-demo.d.ts.map +0 -1
  537. package/dist/src/core/trace/trace-demo.js +0 -154
  538. package/dist/src/core/trace/trace-demo.js.map +0 -1
  539. package/dist/src/core/trace/trace-detector.d.ts +0 -108
  540. package/dist/src/core/trace/trace-detector.d.ts.map +0 -1
  541. package/dist/src/core/trace/trace-detector.demo.d.ts +0 -5
  542. package/dist/src/core/trace/trace-detector.demo.d.ts.map +0 -1
  543. package/dist/src/core/trace/trace-detector.demo.js +0 -145
  544. package/dist/src/core/trace/trace-detector.demo.js.map +0 -1
  545. package/dist/src/core/trace/trace-detector.js +0 -425
  546. package/dist/src/core/trace/trace-detector.js.map +0 -1
  547. package/dist/src/core/trace/trace-store.d.ts +0 -60
  548. package/dist/src/core/trace/trace-store.d.ts.map +0 -1
  549. package/dist/src/core/trace/trace-store.js +0 -323
  550. package/dist/src/core/trace/trace-store.js.map +0 -1
  551. package/dist/src/core/trace/types.d.ts +0 -81
  552. package/dist/src/core/trace/types.d.ts.map +0 -1
  553. package/dist/src/core/trace/types.js +0 -70
  554. package/dist/src/core/trace/types.js.map +0 -1
  555. package/dist/src/core/types.d.ts +0 -35
  556. package/dist/src/core/types.d.ts.map +0 -1
  557. package/dist/src/core/types.js +0 -2
  558. package/dist/src/core/types.js.map +0 -1
  559. package/dist/src/core/utils/update-checker.d.ts +0 -38
  560. package/dist/src/core/utils/update-checker.d.ts.map +0 -1
  561. package/dist/src/core/utils/update-checker.js +0 -213
  562. package/dist/src/core/utils/update-checker.js.map +0 -1
  563. package/dist/src/core/worktree/worktree-manager.d.ts +0 -110
  564. package/dist/src/core/worktree/worktree-manager.d.ts.map +0 -1
  565. package/dist/src/core/worktree/worktree-manager.js +0 -456
  566. package/dist/src/core/worktree/worktree-manager.js.map +0 -1
  567. package/dist/src/features/analytics/api/analytics-api.d.ts +0 -24
  568. package/dist/src/features/analytics/api/analytics-api.d.ts.map +0 -1
  569. package/dist/src/features/analytics/api/analytics-api.js +0 -289
  570. package/dist/src/features/analytics/api/analytics-api.js.map +0 -1
  571. package/dist/src/features/analytics/core/analytics-service.d.ts +0 -29
  572. package/dist/src/features/analytics/core/analytics-service.d.ts.map +0 -1
  573. package/dist/src/features/analytics/core/analytics-service.js +0 -275
  574. package/dist/src/features/analytics/core/analytics-service.js.map +0 -1
  575. package/dist/src/features/analytics/index.d.ts +0 -12
  576. package/dist/src/features/analytics/index.d.ts.map +0 -1
  577. package/dist/src/features/analytics/index.js +0 -11
  578. package/dist/src/features/analytics/index.js.map +0 -1
  579. package/dist/src/features/analytics/queries/metrics-queries.d.ts +0 -11
  580. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +0 -1
  581. package/dist/src/features/analytics/queries/metrics-queries.js +0 -240
  582. package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -1
  583. package/dist/src/features/analytics/types/metrics.d.ts +0 -60
  584. package/dist/src/features/analytics/types/metrics.d.ts.map +0 -1
  585. package/dist/src/features/analytics/types/metrics.js +0 -2
  586. package/dist/src/features/analytics/types/metrics.js.map +0 -1
  587. package/dist/src/features/browser/browser-mcp.d.ts +0 -94
  588. package/dist/src/features/browser/browser-mcp.d.ts.map +0 -1
  589. package/dist/src/features/browser/browser-mcp.js +0 -459
  590. package/dist/src/features/browser/browser-mcp.js.map +0 -1
  591. package/dist/src/features/tasks/pebbles-task-store.d.ts +0 -128
  592. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +0 -1
  593. package/dist/src/features/tasks/pebbles-task-store.js +0 -572
  594. package/dist/src/features/tasks/pebbles-task-store.js.map +0 -1
  595. package/dist/src/features/tasks/task-aware-context.d.ts +0 -103
  596. package/dist/src/features/tasks/task-aware-context.d.ts.map +0 -1
  597. package/dist/src/features/tasks/task-aware-context.js +0 -412
  598. package/dist/src/features/tasks/task-aware-context.js.map +0 -1
  599. package/dist/src/index.d.ts +0 -21
  600. package/dist/src/index.d.ts.map +0 -1
  601. package/dist/src/index.js +0 -9
  602. package/dist/src/index.js.map +0 -1
  603. package/dist/src/integrations/linear/auth.d.ts +0 -99
  604. package/dist/src/integrations/linear/auth.d.ts.map +0 -1
  605. package/dist/src/integrations/linear/auth.js +0 -319
  606. package/dist/src/integrations/linear/auth.js.map +0 -1
  607. package/dist/src/integrations/linear/auto-sync.d.ts +0 -77
  608. package/dist/src/integrations/linear/auto-sync.d.ts.map +0 -1
  609. package/dist/src/integrations/linear/auto-sync.js +0 -268
  610. package/dist/src/integrations/linear/auto-sync.js.map +0 -1
  611. package/dist/src/integrations/linear/client.d.ts +0 -127
  612. package/dist/src/integrations/linear/client.d.ts.map +0 -1
  613. package/dist/src/integrations/linear/client.js +0 -446
  614. package/dist/src/integrations/linear/client.js.map +0 -1
  615. package/dist/src/integrations/linear/config.d.ts +0 -51
  616. package/dist/src/integrations/linear/config.d.ts.map +0 -1
  617. package/dist/src/integrations/linear/config.js +0 -103
  618. package/dist/src/integrations/linear/config.js.map +0 -1
  619. package/dist/src/integrations/linear/sync-manager.d.ts +0 -78
  620. package/dist/src/integrations/linear/sync-manager.d.ts.map +0 -1
  621. package/dist/src/integrations/linear/sync-manager.js +0 -235
  622. package/dist/src/integrations/linear/sync-manager.js.map +0 -1
  623. package/dist/src/integrations/linear/sync-service.d.ts +0 -46
  624. package/dist/src/integrations/linear/sync-service.d.ts.map +0 -1
  625. package/dist/src/integrations/linear/sync-service.js +0 -217
  626. package/dist/src/integrations/linear/sync-service.js.map +0 -1
  627. package/dist/src/integrations/linear/sync.d.ts +0 -125
  628. package/dist/src/integrations/linear/sync.d.ts.map +0 -1
  629. package/dist/src/integrations/linear/sync.js +0 -563
  630. package/dist/src/integrations/linear/sync.js.map +0 -1
  631. package/dist/src/integrations/linear/types.d.ts +0 -90
  632. package/dist/src/integrations/linear/types.d.ts.map +0 -1
  633. package/dist/src/integrations/linear/types.js +0 -2
  634. package/dist/src/integrations/linear/types.js.map +0 -1
  635. package/dist/src/integrations/linear/webhook-server.d.ts +0 -32
  636. package/dist/src/integrations/linear/webhook-server.d.ts.map +0 -1
  637. package/dist/src/integrations/linear/webhook-server.js +0 -190
  638. package/dist/src/integrations/linear/webhook-server.js.map +0 -1
  639. package/dist/src/integrations/linear/webhook.d.ts +0 -108
  640. package/dist/src/integrations/linear/webhook.d.ts.map +0 -1
  641. package/dist/src/integrations/linear/webhook.js +0 -291
  642. package/dist/src/integrations/linear/webhook.js.map +0 -1
  643. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts +0 -39
  644. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts.map +0 -1
  645. package/dist/src/integrations/mcp/handlers/context-handlers.js +0 -266
  646. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -1
  647. package/dist/src/integrations/mcp/handlers/index.d.ts +0 -37
  648. package/dist/src/integrations/mcp/handlers/index.d.ts.map +0 -1
  649. package/dist/src/integrations/mcp/handlers/index.js +0 -134
  650. package/dist/src/integrations/mcp/handlers/index.js.map +0 -1
  651. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts +0 -33
  652. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts.map +0 -1
  653. package/dist/src/integrations/mcp/handlers/linear-handlers.js +0 -251
  654. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -1
  655. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts +0 -42
  656. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts.map +0 -1
  657. package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -238
  658. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -1
  659. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts +0 -41
  660. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts.map +0 -1
  661. package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -298
  662. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -1
  663. package/dist/src/integrations/mcp/index.d.ts +0 -13
  664. package/dist/src/integrations/mcp/index.d.ts.map +0 -1
  665. package/dist/src/integrations/mcp/index.js +0 -17
  666. package/dist/src/integrations/mcp/index.js.map +0 -1
  667. package/dist/src/integrations/mcp/refactored-server.d.ts +0 -76
  668. package/dist/src/integrations/mcp/refactored-server.d.ts.map +0 -1
  669. package/dist/src/integrations/mcp/refactored-server.js +0 -351
  670. package/dist/src/integrations/mcp/refactored-server.js.map +0 -1
  671. package/dist/src/integrations/mcp/server.d.ts +0 -54
  672. package/dist/src/integrations/mcp/server.d.ts.map +0 -1
  673. package/dist/src/integrations/mcp/server.js +0 -1616
  674. package/dist/src/integrations/mcp/server.js.map +0 -1
  675. package/dist/src/integrations/mcp/tool-definitions.d.ts +0 -44
  676. package/dist/src/integrations/mcp/tool-definitions.d.ts.map +0 -1
  677. package/dist/src/integrations/mcp/tool-definitions.js +0 -563
  678. package/dist/src/integrations/mcp/tool-definitions.js.map +0 -1
  679. package/dist/src/integrations/mcp/trace-test.d.ts +0 -5
  680. package/dist/src/integrations/mcp/trace-test.d.ts.map +0 -1
  681. package/dist/src/integrations/mcp/trace-test.js +0 -54
  682. package/dist/src/integrations/mcp/trace-test.js.map +0 -1
  683. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts +0 -48
  684. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts.map +0 -1
  685. package/dist/src/integrations/pg-aiguide/embedding-provider.js +0 -190
  686. package/dist/src/integrations/pg-aiguide/embedding-provider.js.map +0 -1
  687. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts +0 -34
  688. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +0 -1
  689. package/dist/src/integrations/pg-aiguide/semantic-search.js +0 -176
  690. package/dist/src/integrations/pg-aiguide/semantic-search.js.map +0 -1
  691. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts +0 -44
  692. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts.map +0 -1
  693. package/dist/src/integrations/pg-aiguide/timescale-analytics.js +0 -215
  694. package/dist/src/integrations/pg-aiguide/timescale-analytics.js.map +0 -1
  695. package/dist/src/mcp/stackmemory-mcp-server.d.ts +0 -9
  696. package/dist/src/mcp/stackmemory-mcp-server.d.ts.map +0 -1
  697. package/dist/src/mcp/stackmemory-mcp-server.js +0 -519
  698. package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -1
  699. package/dist/src/middleware/exponential-rate-limiter.d.ts +0 -78
  700. package/dist/src/middleware/exponential-rate-limiter.d.ts.map +0 -1
  701. package/dist/src/middleware/exponential-rate-limiter.js +0 -293
  702. package/dist/src/middleware/exponential-rate-limiter.js.map +0 -1
  703. package/dist/src/models/user.model.d.ts +0 -62
  704. package/dist/src/models/user.model.d.ts.map +0 -1
  705. package/dist/src/models/user.model.js +0 -311
  706. package/dist/src/models/user.model.js.map +0 -1
  707. package/dist/src/servers/production/auth-middleware.d.ts +0 -76
  708. package/dist/src/servers/production/auth-middleware.d.ts.map +0 -1
  709. package/dist/src/servers/production/auth-middleware.js +0 -558
  710. package/dist/src/servers/production/auth-middleware.js.map +0 -1
  711. package/dist/src/servers/railway/index.d.ts +0 -7
  712. package/dist/src/servers/railway/index.d.ts.map +0 -1
  713. package/dist/src/servers/railway/index.js +0 -401
  714. package/dist/src/servers/railway/index.js.map +0 -1
  715. package/dist/src/services/config-service.d.ts +0 -44
  716. package/dist/src/services/config-service.d.ts.map +0 -1
  717. package/dist/src/services/config-service.js +0 -61
  718. package/dist/src/services/config-service.js.map +0 -1
  719. package/dist/src/services/context-service.d.ts +0 -17
  720. package/dist/src/services/context-service.d.ts.map +0 -1
  721. package/dist/src/services/context-service.js +0 -173
  722. package/dist/src/services/context-service.js.map +0 -1
  723. package/dist/src/types/task.d.ts +0 -27
  724. package/dist/src/types/task.d.ts.map +0 -1
  725. package/dist/src/types/task.js +0 -2
  726. package/dist/src/types/task.js.map +0 -1
  727. package/dist/src/utils/logger.d.ts +0 -13
  728. package/dist/src/utils/logger.d.ts.map +0 -1
  729. package/dist/src/utils/logger.js +0 -52
  730. package/dist/src/utils/logger.js.map +0 -1
  731. package/dist/src/validation/schemas.d.ts +0 -633
  732. package/dist/src/validation/schemas.d.ts.map +0 -1
  733. package/dist/src/validation/schemas.js +0 -347
  734. package/dist/src/validation/schemas.js.map +0 -1
@@ -0,0 +1,652 @@
1
+ import { logger } from "../monitoring/logger.js";
2
+ import * as zlib from "zlib";
3
+ import { promisify } from "util";
4
+ import crypto from "crypto";
5
+ const gzipAsync = promisify(zlib.gzip);
6
+ const gunzipAsync = promisify(zlib.gunzip);
7
+ const DEFAULT_HIERARCHY_CONFIG = {
8
+ maxEncyclopediaSize: 5e4,
9
+ maxChapterSize: 6e3,
10
+ maxSectionSize: 250,
11
+ maxParagraphSize: 20,
12
+ compressionThreshold: 1e3,
13
+ semanticThreshold: 0.7
14
+ };
15
+ class HierarchicalRetrieval {
16
+ db;
17
+ config;
18
+ hierarchyCache = /* @__PURE__ */ new Map();
19
+ summaryCache = /* @__PURE__ */ new Map();
20
+ constructor(db, config = {}) {
21
+ this.db = db;
22
+ this.config = { ...DEFAULT_HIERARCHY_CONFIG, ...config };
23
+ this.initializeSchema();
24
+ }
25
+ initializeSchema() {
26
+ this.db.exec(`
27
+ CREATE TABLE IF NOT EXISTS hierarchy_nodes (
28
+ id TEXT PRIMARY KEY,
29
+ level TEXT NOT NULL,
30
+ parent_id TEXT,
31
+ title TEXT NOT NULL,
32
+ summary TEXT,
33
+ embeddings BLOB,
34
+ child_count INTEGER DEFAULT 0,
35
+ token_count INTEGER DEFAULT 0,
36
+ score REAL DEFAULT 0,
37
+ time_start INTEGER,
38
+ time_end INTEGER,
39
+ compression_ratio REAL,
40
+ semantic_density REAL,
41
+ access_pattern TEXT DEFAULT 'cold',
42
+ last_accessed INTEGER,
43
+ created_at INTEGER DEFAULT (unixepoch() * 1000),
44
+ FOREIGN KEY (parent_id) REFERENCES hierarchy_nodes(id) ON DELETE CASCADE
45
+ )
46
+ `);
47
+ this.db.exec(`
48
+ CREATE INDEX IF NOT EXISTS idx_hierarchy_level ON hierarchy_nodes(level);
49
+ CREATE INDEX IF NOT EXISTS idx_hierarchy_parent ON hierarchy_nodes(parent_id);
50
+ CREATE INDEX IF NOT EXISTS idx_hierarchy_score ON hierarchy_nodes(score DESC);
51
+ CREATE INDEX IF NOT EXISTS idx_hierarchy_time ON hierarchy_nodes(time_start, time_end);
52
+ `);
53
+ this.db.exec(`
54
+ CREATE TABLE IF NOT EXISTS hierarchy_content (
55
+ node_id TEXT PRIMARY KEY,
56
+ content TEXT,
57
+ compressed BOOLEAN DEFAULT 0,
58
+ original_size INTEGER,
59
+ compressed_size INTEGER,
60
+ FOREIGN KEY (node_id) REFERENCES hierarchy_nodes(id) ON DELETE CASCADE
61
+ )
62
+ `);
63
+ }
64
+ /**
65
+ * Build hierarchical structure from traces
66
+ */
67
+ async buildHierarchy(traces) {
68
+ logger.info("Building hierarchical retrieval structure", {
69
+ traceCount: traces.length
70
+ });
71
+ traces.sort((a, b) => {
72
+ const timeDiff = b.metadata.startTime - a.metadata.startTime;
73
+ return timeDiff !== 0 ? timeDiff : b.score - a.score;
74
+ });
75
+ const encyclopediaId = this.generateId("encyclopedia");
76
+ const encyclopedia = {
77
+ id: encyclopediaId,
78
+ level: {
79
+ level: "encyclopedia",
80
+ id: encyclopediaId,
81
+ title: "Knowledge Base",
82
+ summary: await this.generateSummary(traces, "encyclopedia"),
83
+ childCount: 0,
84
+ tokenCount: traces.reduce((sum, t) => sum + (t.tokenCount || 0), 0),
85
+ score: Math.max(...traces.map((t) => t.score)),
86
+ timeRange: {
87
+ start: Math.min(...traces.map((t) => t.metadata.startTime)),
88
+ end: Math.max(...traces.map((t) => t.metadata.endTime))
89
+ },
90
+ metadata: {
91
+ semanticDensity: 1,
92
+ accessPattern: "hot"
93
+ }
94
+ },
95
+ children: []
96
+ };
97
+ const chapters = await this.partitionIntoChapters(traces);
98
+ for (const chapterTraces of chapters) {
99
+ const chapter = await this.buildChapter(chapterTraces, encyclopediaId);
100
+ encyclopedia.children.push(chapter);
101
+ }
102
+ encyclopedia.level.childCount = encyclopedia.children.length;
103
+ await this.storeNode(encyclopedia);
104
+ return encyclopedia;
105
+ }
106
+ /**
107
+ * Partition traces into chapters based on semantic similarity and time
108
+ */
109
+ async partitionIntoChapters(traces) {
110
+ const chapters = [];
111
+ let currentChapter = [];
112
+ for (const trace of traces) {
113
+ if (currentChapter.length >= this.config.maxChapterSize) {
114
+ chapters.push(currentChapter);
115
+ currentChapter = [trace];
116
+ } else if (currentChapter.length > 0) {
117
+ const similarity = await this.calculateSimilarity(
118
+ trace,
119
+ currentChapter[currentChapter.length - 1]
120
+ );
121
+ if (similarity < this.config.semanticThreshold) {
122
+ chapters.push(currentChapter);
123
+ currentChapter = [trace];
124
+ } else {
125
+ currentChapter.push(trace);
126
+ }
127
+ } else {
128
+ currentChapter.push(trace);
129
+ }
130
+ }
131
+ if (currentChapter.length > 0) {
132
+ chapters.push(currentChapter);
133
+ }
134
+ return chapters;
135
+ }
136
+ /**
137
+ * Build a chapter node
138
+ */
139
+ async buildChapter(traces, parentId) {
140
+ const chapterId = this.generateId("chapter");
141
+ const chapter = {
142
+ id: chapterId,
143
+ level: {
144
+ level: "chapter",
145
+ id: chapterId,
146
+ parentId,
147
+ title: this.generateChapterTitle(traces),
148
+ summary: await this.generateSummary(traces, "chapter"),
149
+ childCount: 0,
150
+ tokenCount: traces.reduce((sum, t) => sum + (t.tokenCount || 0), 0),
151
+ score: Math.max(...traces.map((t) => t.score)),
152
+ timeRange: {
153
+ start: Math.min(...traces.map((t) => t.metadata.startTime)),
154
+ end: Math.max(...traces.map((t) => t.metadata.endTime))
155
+ },
156
+ metadata: {
157
+ compressionRatio: 0.8,
158
+ semanticDensity: 0.8,
159
+ accessPattern: "warm"
160
+ }
161
+ },
162
+ children: []
163
+ };
164
+ const sections = await this.partitionIntoSections(traces);
165
+ for (const sectionTraces of sections) {
166
+ const section = await this.buildSection(sectionTraces, chapterId);
167
+ chapter.children.push(section);
168
+ }
169
+ chapter.level.childCount = chapter.children.length;
170
+ return chapter;
171
+ }
172
+ /**
173
+ * Build a section node
174
+ */
175
+ async buildSection(traces, parentId) {
176
+ const sectionId = this.generateId("section");
177
+ const section = {
178
+ id: sectionId,
179
+ level: {
180
+ level: "section",
181
+ id: sectionId,
182
+ parentId,
183
+ title: this.generateSectionTitle(traces),
184
+ summary: await this.generateSummary(traces, "section"),
185
+ childCount: 0,
186
+ tokenCount: traces.reduce((sum, t) => sum + (t.tokenCount || 0), 0),
187
+ score: Math.max(...traces.map((t) => t.score)),
188
+ timeRange: {
189
+ start: Math.min(...traces.map((t) => t.metadata.startTime)),
190
+ end: Math.max(...traces.map((t) => t.metadata.endTime))
191
+ },
192
+ metadata: {
193
+ compressionRatio: 0.6,
194
+ semanticDensity: 0.6,
195
+ accessPattern: "cold"
196
+ }
197
+ },
198
+ children: []
199
+ };
200
+ const paragraphs = await this.partitionIntoParagraphs(traces);
201
+ for (const paragraphTraces of paragraphs) {
202
+ const paragraph = await this.buildParagraph(paragraphTraces, sectionId);
203
+ section.children.push(paragraph);
204
+ }
205
+ section.level.childCount = section.children.length;
206
+ return section;
207
+ }
208
+ /**
209
+ * Build a paragraph (leaf) node
210
+ */
211
+ async buildParagraph(traces, parentId) {
212
+ const paragraphId = this.generateId("paragraph");
213
+ const content = traces.map((t) => {
214
+ return `[${new Date(t.metadata.startTime).toISOString()}] ${t.type}: ${t.summary}`;
215
+ }).join("\n\n");
216
+ let storedContent = content;
217
+ let compressed = false;
218
+ if (content.length > this.config.compressionThreshold) {
219
+ const compressedData = await gzipAsync(content);
220
+ storedContent = compressedData.toString("base64");
221
+ compressed = true;
222
+ }
223
+ const paragraph = {
224
+ id: paragraphId,
225
+ level: {
226
+ level: "paragraph",
227
+ id: paragraphId,
228
+ parentId,
229
+ title: this.generateParagraphTitle(traces),
230
+ summary: await this.generateSummary(traces, "paragraph"),
231
+ childCount: traces.length,
232
+ tokenCount: traces.reduce((sum, t) => sum + (t.tokenCount || 0), 0),
233
+ score: Math.max(...traces.map((t) => t.score)),
234
+ timeRange: {
235
+ start: Math.min(...traces.map((t) => t.metadata.startTime)),
236
+ end: Math.max(...traces.map((t) => t.metadata.endTime))
237
+ },
238
+ metadata: {
239
+ compressionRatio: compressed ? 0.3 : 1,
240
+ semanticDensity: 0.4,
241
+ accessPattern: "cold"
242
+ }
243
+ },
244
+ content: storedContent,
245
+ compressed
246
+ };
247
+ return paragraph;
248
+ }
249
+ /**
250
+ * Partition traces into sections
251
+ */
252
+ async partitionIntoSections(traces) {
253
+ const sections = [];
254
+ const sectionSize = Math.ceil(
255
+ traces.length / Math.ceil(traces.length / this.config.maxSectionSize)
256
+ );
257
+ for (let i = 0; i < traces.length; i += sectionSize) {
258
+ sections.push(traces.slice(i, i + sectionSize));
259
+ }
260
+ return sections;
261
+ }
262
+ /**
263
+ * Partition traces into paragraphs
264
+ */
265
+ async partitionIntoParagraphs(traces) {
266
+ const paragraphs = [];
267
+ const paragraphSize = Math.ceil(
268
+ traces.length / Math.ceil(traces.length / this.config.maxParagraphSize)
269
+ );
270
+ for (let i = 0; i < traces.length; i += paragraphSize) {
271
+ paragraphs.push(traces.slice(i, i + paragraphSize));
272
+ }
273
+ return paragraphs;
274
+ }
275
+ /**
276
+ * Traverse hierarchy to retrieve relevant content
277
+ */
278
+ async retrieve(query, maxDepth = 4, tokenBudget = 4e3) {
279
+ logger.info("Hierarchical retrieval", { query, maxDepth, tokenBudget });
280
+ const encyclopedia = await this.loadRootNode();
281
+ if (!encyclopedia) {
282
+ return "No content available";
283
+ }
284
+ const path = [encyclopedia];
285
+ let currentNode = encyclopedia;
286
+ let tokensUsed = 0;
287
+ for (let depth = 1; depth < maxDepth && tokensUsed < tokenBudget; depth++) {
288
+ if (!currentNode.children || currentNode.children.length === 0) {
289
+ break;
290
+ }
291
+ const bestChild = await this.selectBestChild(
292
+ currentNode.children,
293
+ query,
294
+ tokenBudget - tokensUsed
295
+ );
296
+ if (!bestChild) break;
297
+ path.push(bestChild);
298
+ currentNode = bestChild;
299
+ tokensUsed += bestChild.level.tokenCount;
300
+ await this.updateAccessPattern(bestChild.id);
301
+ }
302
+ return this.buildContextFromPath(path, tokenBudget);
303
+ }
304
+ /**
305
+ * Select best matching child node
306
+ */
307
+ async selectBestChild(children, query, remainingBudget) {
308
+ let bestChild = null;
309
+ let bestScore = 0;
310
+ for (const child of children) {
311
+ if (child.level.tokenCount > remainingBudget) {
312
+ continue;
313
+ }
314
+ const score = await this.calculateRelevance(child, query);
315
+ if (score > bestScore) {
316
+ bestScore = score;
317
+ bestChild = child;
318
+ }
319
+ }
320
+ return bestChild;
321
+ }
322
+ /**
323
+ * Calculate relevance of node to query
324
+ */
325
+ async calculateRelevance(node, query) {
326
+ const queryWords = query.toLowerCase().split(/\s+/);
327
+ const nodeText = `${node.level.title} ${node.level.summary}`.toLowerCase();
328
+ let matches = 0;
329
+ for (const word of queryWords) {
330
+ if (nodeText.includes(word)) {
331
+ matches++;
332
+ }
333
+ }
334
+ const keywordScore = matches / queryWords.length;
335
+ const recencyScore = 1 / (1 + (Date.now() - node.level.timeRange.end) / (1e3 * 60 * 60 * 24));
336
+ const importanceScore = node.level.score;
337
+ return keywordScore * 0.5 + recencyScore * 0.3 + importanceScore * 0.2;
338
+ }
339
+ /**
340
+ * Build context string from retrieval path
341
+ */
342
+ async buildContextFromPath(path, tokenBudget) {
343
+ const sections = [];
344
+ sections.push("## Retrieval Path");
345
+ sections.push(path.map((n) => n.level.title).join(" \u2192 "));
346
+ sections.push("");
347
+ for (const node of path) {
348
+ sections.push(`### ${node.level.level}: ${node.level.title}`);
349
+ sections.push(node.level.summary);
350
+ if (node.content) {
351
+ let content = node.content;
352
+ if (node.compressed) {
353
+ const compressed = Buffer.from(content, "base64");
354
+ const decompressed = await gunzipAsync(compressed);
355
+ content = decompressed.toString();
356
+ }
357
+ sections.push("");
358
+ sections.push("**Content:**");
359
+ sections.push(content);
360
+ }
361
+ sections.push("");
362
+ }
363
+ sections.push("## Retrieval Statistics");
364
+ sections.push(`- Levels traversed: ${path.length}`);
365
+ sections.push(
366
+ `- Search space reduction: ${this.calculateReduction(path)}x`
367
+ );
368
+ sections.push(
369
+ `- Semantic density: ${this.calculateDensity(path).toFixed(2)}`
370
+ );
371
+ return sections.join("\n");
372
+ }
373
+ /**
374
+ * Calculate search space reduction
375
+ */
376
+ calculateReduction(path) {
377
+ if (path.length < 2) return 1;
378
+ const initial = path[0].level.childCount;
379
+ const final = path[path.length - 1].level.childCount || 1;
380
+ return Math.round(initial / final);
381
+ }
382
+ /**
383
+ * Calculate semantic density along path
384
+ */
385
+ calculateDensity(path) {
386
+ const densities = path.map((n) => n.level.metadata.semanticDensity || 1);
387
+ return densities.reduce((sum, d) => sum + d, 0) / densities.length;
388
+ }
389
+ /**
390
+ * Generate summary for a level
391
+ */
392
+ async generateSummary(traces, level) {
393
+ const cacheKey = `${level}:${traces.map((t) => t.id).join(",")}`;
394
+ if (this.summaryCache.has(cacheKey)) {
395
+ return this.summaryCache.get(cacheKey);
396
+ }
397
+ let summary;
398
+ switch (level) {
399
+ case "encyclopedia":
400
+ summary = `Complete knowledge base with ${traces.length} traces covering ${this.getTopics(traces).join(", ")}`;
401
+ break;
402
+ case "chapter":
403
+ summary = `${traces.length} operations focused on ${this.getDominantOperation(traces)}`;
404
+ break;
405
+ case "section":
406
+ summary = `${traces.length} traces: ${this.getKeyActivities(traces).join(", ")}`;
407
+ break;
408
+ case "paragraph":
409
+ summary = traces.slice(0, 3).map((t) => t.summary).join(". ");
410
+ break;
411
+ default:
412
+ summary = `${traces.length} items`;
413
+ }
414
+ this.summaryCache.set(cacheKey, summary);
415
+ return summary;
416
+ }
417
+ /**
418
+ * Extract topics from traces
419
+ */
420
+ getTopics(traces) {
421
+ const topics = /* @__PURE__ */ new Set();
422
+ for (const trace of traces) {
423
+ topics.add(trace.type);
424
+ }
425
+ return Array.from(topics).slice(0, 5);
426
+ }
427
+ /**
428
+ * Get dominant operation type
429
+ */
430
+ getDominantOperation(traces) {
431
+ const counts = {};
432
+ for (const trace of traces) {
433
+ counts[trace.type] = (counts[trace.type] || 0) + 1;
434
+ }
435
+ const sorted = Object.entries(counts).sort((a, b) => b[1] - a[1]);
436
+ return sorted[0]?.[0] || "mixed operations";
437
+ }
438
+ /**
439
+ * Get key activities
440
+ */
441
+ getKeyActivities(traces) {
442
+ return traces.slice(0, 3).map((t) => t.type);
443
+ }
444
+ /**
445
+ * Generate titles
446
+ */
447
+ generateChapterTitle(traces) {
448
+ const start = new Date(traces[0].metadata.startTime);
449
+ const operation = this.getDominantOperation(traces);
450
+ return `${operation} (${start.toLocaleDateString()})`;
451
+ }
452
+ generateSectionTitle(traces) {
453
+ const start = new Date(traces[0].metadata.startTime);
454
+ return `Section ${start.toLocaleTimeString()}`;
455
+ }
456
+ generateParagraphTitle(traces) {
457
+ return `${traces.length} traces`;
458
+ }
459
+ /**
460
+ * Calculate similarity between traces
461
+ */
462
+ async calculateSimilarity(a, b) {
463
+ const typeSimilarity = a.type === b.type ? 1 : 0;
464
+ const timeDiff = Math.abs(a.metadata.startTime - b.metadata.startTime);
465
+ const timeSimilarity = 1 / (1 + timeDiff / (1e3 * 60 * 60));
466
+ return typeSimilarity * 0.5 + timeSimilarity * 0.5;
467
+ }
468
+ /**
469
+ * Store node in database
470
+ */
471
+ async storeNode(node) {
472
+ const stmt = this.db.prepare(`
473
+ INSERT OR REPLACE INTO hierarchy_nodes (
474
+ id, level, parent_id, title, summary,
475
+ child_count, token_count, score,
476
+ time_start, time_end,
477
+ compression_ratio, semantic_density, access_pattern
478
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
479
+ `);
480
+ stmt.run(
481
+ node.id,
482
+ node.level.level,
483
+ node.level.parentId || null,
484
+ node.level.title,
485
+ node.level.summary,
486
+ node.level.childCount,
487
+ node.level.tokenCount,
488
+ node.level.score,
489
+ node.level.timeRange.start,
490
+ node.level.timeRange.end,
491
+ node.level.metadata.compressionRatio || 1,
492
+ node.level.metadata.semanticDensity || 1,
493
+ node.level.metadata.accessPattern || "cold"
494
+ );
495
+ if (node.content) {
496
+ this.db.prepare(
497
+ `
498
+ INSERT OR REPLACE INTO hierarchy_content (
499
+ node_id, content, compressed, original_size, compressed_size
500
+ ) VALUES (?, ?, ?, ?, ?)
501
+ `
502
+ ).run(
503
+ node.id,
504
+ node.content,
505
+ node.compressed ? 1 : 0,
506
+ node.compressed ? node.content.length * 2 : node.content.length,
507
+ node.content.length
508
+ );
509
+ }
510
+ if (node.children) {
511
+ for (const child of node.children) {
512
+ await this.storeNode(child);
513
+ }
514
+ }
515
+ }
516
+ /**
517
+ * Load root encyclopedia node
518
+ */
519
+ async loadRootNode() {
520
+ const row = this.db.prepare(
521
+ `
522
+ SELECT * FROM hierarchy_nodes
523
+ WHERE level = 'encyclopedia'
524
+ ORDER BY created_at DESC
525
+ LIMIT 1
526
+ `
527
+ ).get();
528
+ if (!row) return null;
529
+ return this.loadNode(row.id);
530
+ }
531
+ /**
532
+ * Load node from database
533
+ */
534
+ async loadNode(nodeId) {
535
+ if (this.hierarchyCache.has(nodeId)) {
536
+ return this.hierarchyCache.get(nodeId);
537
+ }
538
+ const nodeRow = this.db.prepare(
539
+ `
540
+ SELECT * FROM hierarchy_nodes WHERE id = ?
541
+ `
542
+ ).get(nodeId);
543
+ if (!nodeRow) return null;
544
+ const contentRow = this.db.prepare(
545
+ `
546
+ SELECT * FROM hierarchy_content WHERE node_id = ?
547
+ `
548
+ ).get(nodeId);
549
+ const childRows = this.db.prepare(
550
+ `
551
+ SELECT id FROM hierarchy_nodes WHERE parent_id = ?
552
+ `
553
+ ).all(nodeId);
554
+ const children = [];
555
+ for (const childRow of childRows) {
556
+ const child = await this.loadNode(childRow.id);
557
+ if (child) children.push(child);
558
+ }
559
+ const node = {
560
+ id: nodeRow.id,
561
+ level: {
562
+ level: nodeRow.level,
563
+ id: nodeRow.id,
564
+ parentId: nodeRow.parent_id,
565
+ title: nodeRow.title,
566
+ summary: nodeRow.summary,
567
+ childCount: nodeRow.child_count,
568
+ tokenCount: nodeRow.token_count,
569
+ score: nodeRow.score,
570
+ timeRange: {
571
+ start: nodeRow.time_start,
572
+ end: nodeRow.time_end
573
+ },
574
+ metadata: {
575
+ compressionRatio: nodeRow.compression_ratio,
576
+ semanticDensity: nodeRow.semantic_density,
577
+ accessPattern: nodeRow.access_pattern,
578
+ lastAccessed: nodeRow.last_accessed
579
+ }
580
+ },
581
+ children: children.length > 0 ? children : void 0,
582
+ content: contentRow?.content,
583
+ compressed: contentRow?.compressed === 1
584
+ };
585
+ this.hierarchyCache.set(nodeId, node);
586
+ return node;
587
+ }
588
+ /**
589
+ * Update access pattern for a node
590
+ */
591
+ async updateAccessPattern(nodeId) {
592
+ this.db.prepare(
593
+ `
594
+ UPDATE hierarchy_nodes
595
+ SET last_accessed = ?, access_pattern = 'hot'
596
+ WHERE id = ?
597
+ `
598
+ ).run(Date.now(), nodeId);
599
+ }
600
+ /**
601
+ * Generate unique ID
602
+ */
603
+ generateId(prefix) {
604
+ return `${prefix}_${crypto.randomBytes(8).toString("hex")}`;
605
+ }
606
+ /**
607
+ * Get hierarchy statistics
608
+ */
609
+ getStatistics() {
610
+ const stats = this.db.prepare(
611
+ `
612
+ SELECT
613
+ level,
614
+ COUNT(*) as count,
615
+ AVG(token_count) as avg_tokens,
616
+ AVG(child_count) as avg_children,
617
+ AVG(compression_ratio) as avg_compression,
618
+ AVG(semantic_density) as avg_density
619
+ FROM hierarchy_nodes
620
+ GROUP BY level
621
+ `
622
+ ).all();
623
+ const totalNodes = this.db.prepare(
624
+ `
625
+ SELECT COUNT(*) as count FROM hierarchy_nodes
626
+ `
627
+ ).get();
628
+ const totalContent = this.db.prepare(
629
+ `
630
+ SELECT
631
+ SUM(original_size) as original,
632
+ SUM(compressed_size) as compressed
633
+ FROM hierarchy_content
634
+ `
635
+ ).get();
636
+ return {
637
+ nodesByLevel: stats,
638
+ totalNodes: totalNodes.count,
639
+ totalContent: {
640
+ original: totalContent?.original || 0,
641
+ compressed: totalContent?.compressed || 0,
642
+ ratio: totalContent?.original ? (1 - totalContent.compressed / totalContent.original).toFixed(2) : 0
643
+ },
644
+ cacheSize: this.hierarchyCache.size
645
+ };
646
+ }
647
+ }
648
+ export {
649
+ DEFAULT_HIERARCHY_CONFIG,
650
+ HierarchicalRetrieval
651
+ };
652
+ //# sourceMappingURL=hierarchical-retrieval.js.map