@stackmemoryai/stackmemory 0.2.6 → 0.2.8

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 (406) hide show
  1. package/README.md +262 -83
  2. package/dist/scripts/cancel-duplicate-tasks.d.ts +7 -0
  3. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +1 -0
  4. package/dist/scripts/cancel-duplicate-tasks.js +172 -0
  5. package/dist/scripts/cancel-duplicate-tasks.js.map +1 -0
  6. package/dist/scripts/list-linear-tasks.d.ts +6 -0
  7. package/dist/scripts/list-linear-tasks.d.ts.map +1 -0
  8. package/dist/scripts/list-linear-tasks.js +121 -0
  9. package/dist/scripts/list-linear-tasks.js.map +1 -0
  10. package/dist/scripts/merge-linear-duplicates-safe.d.ts +7 -0
  11. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +1 -0
  12. package/dist/scripts/merge-linear-duplicates-safe.js +267 -0
  13. package/dist/scripts/merge-linear-duplicates-safe.js.map +1 -0
  14. package/dist/scripts/show-linear-summary.d.ts +6 -0
  15. package/dist/scripts/show-linear-summary.d.ts.map +1 -0
  16. package/dist/scripts/show-linear-summary.js +120 -0
  17. package/dist/scripts/show-linear-summary.js.map +1 -0
  18. package/dist/scripts/status.js +6 -2
  19. package/dist/scripts/status.js.map +1 -1
  20. package/dist/src/cli/auto-detect.d.ts +61 -0
  21. package/dist/src/cli/auto-detect.d.ts.map +1 -0
  22. package/dist/src/cli/auto-detect.js +350 -0
  23. package/dist/src/cli/auto-detect.js.map +1 -0
  24. package/dist/src/cli/claude-sm.d.ts +7 -0
  25. package/dist/src/cli/claude-sm.d.ts.map +1 -0
  26. package/dist/src/cli/claude-sm.js +357 -0
  27. package/dist/src/cli/claude-sm.js.map +1 -0
  28. package/dist/src/cli/commands/config.d.ts +6 -0
  29. package/dist/src/cli/commands/config.d.ts.map +1 -0
  30. package/dist/src/cli/commands/config.js +224 -0
  31. package/dist/src/cli/commands/config.js.map +1 -0
  32. package/dist/src/cli/commands/context.d.ts +7 -0
  33. package/dist/src/cli/commands/context.d.ts.map +1 -0
  34. package/dist/src/cli/commands/context.js +365 -0
  35. package/dist/src/cli/commands/context.js.map +1 -0
  36. package/dist/src/cli/commands/linear-test.d.ts +6 -0
  37. package/dist/src/cli/commands/linear-test.d.ts.map +1 -0
  38. package/dist/src/cli/commands/linear-test.js +123 -0
  39. package/dist/src/cli/commands/linear-test.js.map +1 -0
  40. package/dist/src/cli/commands/linear.d.ts +6 -0
  41. package/dist/src/cli/commands/linear.d.ts.map +1 -0
  42. package/dist/src/cli/commands/linear.js +393 -0
  43. package/dist/src/cli/commands/linear.js.map +1 -0
  44. package/dist/src/cli/commands/log.d.ts +7 -0
  45. package/dist/src/cli/commands/log.d.ts.map +1 -0
  46. package/dist/src/cli/commands/log.js +168 -0
  47. package/dist/src/cli/commands/log.js.map +1 -0
  48. package/dist/src/cli/commands/onboard.d.ts +8 -0
  49. package/dist/src/cli/commands/onboard.d.ts.map +1 -0
  50. package/dist/src/cli/commands/onboard.js +363 -0
  51. package/dist/src/cli/commands/onboard.js.map +1 -0
  52. package/dist/src/cli/commands/projects.js +1 -1
  53. package/dist/src/cli/commands/projects.js.map +1 -1
  54. package/dist/src/cli/commands/search.d.ts +7 -0
  55. package/dist/src/cli/commands/search.d.ts.map +1 -0
  56. package/dist/src/cli/commands/search.js +162 -0
  57. package/dist/src/cli/commands/search.js.map +1 -0
  58. package/dist/src/cli/commands/session.d.ts +7 -0
  59. package/dist/src/cli/commands/session.d.ts.map +1 -0
  60. package/dist/src/cli/commands/session.js +222 -0
  61. package/dist/src/cli/commands/session.js.map +1 -0
  62. package/dist/src/cli/commands/tasks.d.ts +7 -0
  63. package/dist/src/cli/commands/tasks.d.ts.map +1 -0
  64. package/dist/src/cli/commands/tasks.js +229 -0
  65. package/dist/src/cli/commands/tasks.js.map +1 -0
  66. package/dist/src/cli/commands/webhook.d.ts +3 -0
  67. package/dist/src/cli/commands/webhook.d.ts.map +1 -0
  68. package/dist/src/cli/commands/webhook.js +157 -0
  69. package/dist/src/cli/commands/webhook.js.map +1 -0
  70. package/dist/src/cli/commands/worktree.d.ts +8 -0
  71. package/dist/src/cli/commands/worktree.d.ts.map +1 -0
  72. package/dist/src/cli/commands/worktree.js +339 -0
  73. package/dist/src/cli/commands/worktree.js.map +1 -0
  74. package/dist/src/cli/index.d.ts +2 -1
  75. package/dist/src/cli/index.d.ts.map +1 -1
  76. package/dist/src/cli/index.js +337 -50
  77. package/dist/src/cli/index.js.map +1 -1
  78. package/dist/src/cli/utils/viewer.d.ts.map +1 -1
  79. package/dist/src/cli/utils/viewer.js +3 -1
  80. package/dist/src/cli/utils/viewer.js.map +1 -1
  81. package/dist/src/core/config/config-manager.d.ts +95 -0
  82. package/dist/src/core/config/config-manager.d.ts.map +1 -0
  83. package/dist/src/core/config/config-manager.js +359 -0
  84. package/dist/src/core/config/config-manager.js.map +1 -0
  85. package/dist/src/core/config/types.d.ts +72 -0
  86. package/dist/src/core/config/types.d.ts.map +1 -0
  87. package/dist/src/core/config/types.js +127 -0
  88. package/dist/src/core/config/types.js.map +1 -0
  89. package/dist/src/core/context/auto-context.d.ts +22 -0
  90. package/dist/src/core/context/auto-context.d.ts.map +1 -0
  91. package/dist/src/core/context/auto-context.js +77 -0
  92. package/dist/src/core/context/auto-context.js.map +1 -0
  93. package/dist/src/core/context/compaction-handler.d.ts +119 -0
  94. package/dist/src/core/context/compaction-handler.d.ts.map +1 -0
  95. package/dist/src/core/context/compaction-handler.js +306 -0
  96. package/dist/src/core/context/compaction-handler.js.map +1 -0
  97. package/dist/src/core/context/frame-manager.d.ts +4 -0
  98. package/dist/src/core/context/frame-manager.d.ts.map +1 -1
  99. package/dist/src/core/context/frame-manager.js +350 -144
  100. package/dist/src/core/context/frame-manager.js.map +1 -1
  101. package/dist/src/core/context/model-aware-compaction.d.ts +101 -0
  102. package/dist/src/core/context/model-aware-compaction.d.ts.map +1 -0
  103. package/dist/src/core/context/model-aware-compaction.js +616 -0
  104. package/dist/src/core/context/model-aware-compaction.js.map +1 -0
  105. package/dist/src/core/errors/index.d.ts +135 -0
  106. package/dist/src/core/errors/index.d.ts.map +1 -0
  107. package/dist/src/core/errors/index.js +274 -0
  108. package/dist/src/core/errors/index.js.map +1 -0
  109. package/dist/src/core/errors/recovery.d.ts +86 -0
  110. package/dist/src/core/errors/recovery.d.ts.map +1 -0
  111. package/dist/src/core/errors/recovery.js +274 -0
  112. package/dist/src/core/errors/recovery.js.map +1 -0
  113. package/dist/src/core/projects/project-manager.d.ts.map +1 -1
  114. package/dist/src/core/projects/project-manager.js +240 -122
  115. package/dist/src/core/projects/project-manager.js.map +1 -1
  116. package/dist/src/core/query/query-parser.d.ts +104 -0
  117. package/dist/src/core/query/query-parser.d.ts.map +1 -0
  118. package/dist/src/core/query/query-parser.js +347 -0
  119. package/dist/src/core/query/query-parser.js.map +1 -0
  120. package/dist/src/core/retrieval/index.d.ts +8 -0
  121. package/dist/src/core/retrieval/index.d.ts.map +1 -0
  122. package/dist/src/core/retrieval/index.js +8 -0
  123. package/dist/src/core/retrieval/index.js.map +1 -0
  124. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +71 -0
  125. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -0
  126. package/dist/src/core/retrieval/llm-context-retrieval.js +545 -0
  127. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -0
  128. package/dist/src/core/retrieval/summary-generator.d.ts +63 -0
  129. package/dist/src/core/retrieval/summary-generator.d.ts.map +1 -0
  130. package/dist/src/core/retrieval/summary-generator.js +622 -0
  131. package/dist/src/core/retrieval/summary-generator.js.map +1 -0
  132. package/dist/src/core/retrieval/types.d.ts +257 -0
  133. package/dist/src/core/retrieval/types.d.ts.map +1 -0
  134. package/dist/src/core/retrieval/types.js +18 -0
  135. package/dist/src/core/retrieval/types.js.map +1 -0
  136. package/dist/src/core/session/index.d.ts +2 -0
  137. package/dist/src/core/session/index.d.ts.map +1 -0
  138. package/dist/src/core/session/index.js +2 -0
  139. package/dist/src/core/session/index.js.map +1 -0
  140. package/dist/src/core/session/session-manager.d.ts +69 -0
  141. package/dist/src/core/session/session-manager.d.ts.map +1 -0
  142. package/dist/src/core/session/session-manager.js +311 -0
  143. package/dist/src/core/session/session-manager.js.map +1 -0
  144. package/dist/src/core/trace/trace-detector.d.ts +108 -0
  145. package/dist/src/core/trace/trace-detector.d.ts.map +1 -0
  146. package/dist/src/core/trace/trace-detector.demo.d.ts +5 -0
  147. package/dist/src/core/trace/trace-detector.demo.d.ts.map +1 -0
  148. package/dist/src/core/trace/trace-detector.demo.js +145 -0
  149. package/dist/src/core/trace/trace-detector.demo.js.map +1 -0
  150. package/dist/src/core/trace/trace-detector.js +425 -0
  151. package/dist/src/core/trace/trace-detector.js.map +1 -0
  152. package/dist/src/core/trace/trace-store.d.ts +60 -0
  153. package/dist/src/core/trace/trace-store.d.ts.map +1 -0
  154. package/dist/src/core/trace/trace-store.js +323 -0
  155. package/dist/src/core/trace/trace-store.js.map +1 -0
  156. package/dist/src/core/trace/types.d.ts +81 -0
  157. package/dist/src/core/trace/types.d.ts.map +1 -0
  158. package/dist/src/core/trace/types.js +70 -0
  159. package/dist/src/core/trace/types.js.map +1 -0
  160. package/dist/src/core/utils/update-checker.d.ts.map +1 -1
  161. package/dist/src/core/utils/update-checker.js +82 -25
  162. package/dist/src/core/utils/update-checker.js.map +1 -1
  163. package/dist/src/core/worktree/worktree-manager.d.ts +110 -0
  164. package/dist/src/core/worktree/worktree-manager.d.ts.map +1 -0
  165. package/dist/src/core/worktree/worktree-manager.js +456 -0
  166. package/dist/src/core/worktree/worktree-manager.js.map +1 -0
  167. package/dist/src/features/analytics/core/analytics-service.d.ts +6 -0
  168. package/dist/src/features/analytics/core/analytics-service.d.ts.map +1 -1
  169. package/dist/src/features/analytics/core/analytics-service.js +125 -10
  170. package/dist/src/features/analytics/core/analytics-service.js.map +1 -1
  171. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +1 -1
  172. package/dist/src/features/analytics/queries/metrics-queries.js +220 -163
  173. package/dist/src/features/analytics/queries/metrics-queries.js.map +1 -1
  174. package/dist/src/features/browser/browser-mcp.d.ts.map +1 -1
  175. package/dist/src/features/browser/browser-mcp.js +3 -0
  176. package/dist/src/features/browser/browser-mcp.js.map +1 -1
  177. package/dist/src/features/tasks/pebbles-task-store.d.ts +4 -0
  178. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +1 -1
  179. package/dist/src/features/tasks/pebbles-task-store.js +299 -141
  180. package/dist/src/features/tasks/pebbles-task-store.js.map +1 -1
  181. package/dist/src/integrations/linear/client.d.ts +28 -1
  182. package/dist/src/integrations/linear/client.d.ts.map +1 -1
  183. package/dist/src/integrations/linear/client.js +87 -0
  184. package/dist/src/integrations/linear/client.js.map +1 -1
  185. package/dist/src/integrations/linear/sync-manager.d.ts +76 -0
  186. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -0
  187. package/dist/src/integrations/linear/sync-manager.js +223 -0
  188. package/dist/src/integrations/linear/sync-manager.js.map +1 -0
  189. package/dist/src/integrations/linear/sync-service.d.ts +25 -0
  190. package/dist/src/integrations/linear/sync-service.d.ts.map +1 -0
  191. package/dist/src/integrations/linear/sync-service.js +198 -0
  192. package/dist/src/integrations/linear/sync-service.js.map +1 -0
  193. package/dist/src/integrations/linear/sync.d.ts +23 -1
  194. package/dist/src/integrations/linear/sync.d.ts.map +1 -1
  195. package/dist/src/integrations/linear/sync.js +156 -9
  196. package/dist/src/integrations/linear/sync.js.map +1 -1
  197. package/dist/src/integrations/linear/types.d.ts +75 -0
  198. package/dist/src/integrations/linear/types.d.ts.map +1 -0
  199. package/dist/src/integrations/linear/types.js +2 -0
  200. package/dist/src/integrations/linear/types.js.map +1 -0
  201. package/dist/src/integrations/linear/webhook-server.d.ts +32 -0
  202. package/dist/src/integrations/linear/webhook-server.d.ts.map +1 -0
  203. package/dist/src/integrations/linear/webhook-server.js +188 -0
  204. package/dist/src/integrations/linear/webhook-server.js.map +1 -0
  205. package/dist/src/integrations/linear/webhook.d.ts +95 -0
  206. package/dist/src/integrations/linear/webhook.d.ts.map +1 -0
  207. package/dist/src/integrations/linear/webhook.js +204 -0
  208. package/dist/src/integrations/linear/webhook.js.map +1 -0
  209. package/dist/src/integrations/mcp/server.d.ts +14 -0
  210. package/dist/src/integrations/mcp/server.d.ts.map +1 -1
  211. package/dist/src/integrations/mcp/server.js +849 -61
  212. package/dist/src/integrations/mcp/server.js.map +1 -1
  213. package/dist/src/integrations/mcp/trace-test.d.ts +5 -0
  214. package/dist/src/integrations/mcp/trace-test.d.ts.map +1 -0
  215. package/dist/src/integrations/mcp/trace-test.js +54 -0
  216. package/dist/src/integrations/mcp/trace-test.js.map +1 -0
  217. package/dist/src/servers/production/auth-middleware.d.ts +2 -2
  218. package/dist/src/servers/production/auth-middleware.d.ts.map +1 -1
  219. package/dist/src/servers/production/auth-middleware.js +1 -1
  220. package/dist/src/servers/production/auth-middleware.js.map +1 -1
  221. package/dist/src/services/config-service.d.ts +44 -0
  222. package/dist/src/services/config-service.d.ts.map +1 -0
  223. package/dist/src/services/config-service.js +61 -0
  224. package/dist/src/services/config-service.js.map +1 -0
  225. package/dist/src/services/context-service.d.ts +17 -0
  226. package/dist/src/services/context-service.d.ts.map +1 -0
  227. package/dist/src/services/context-service.js +88 -0
  228. package/dist/src/services/context-service.js.map +1 -0
  229. package/dist/src/types/task.d.ts +27 -0
  230. package/dist/src/types/task.d.ts.map +1 -0
  231. package/dist/src/types/task.js +2 -0
  232. package/dist/src/types/task.js.map +1 -0
  233. package/dist/src/utils/logger.d.ts +13 -0
  234. package/dist/src/utils/logger.d.ts.map +1 -0
  235. package/dist/src/utils/logger.js +52 -0
  236. package/dist/src/utils/logger.js.map +1 -0
  237. package/package.json +24 -10
  238. package/dist/attention-scoring/src/attention-tracker.d.ts +0 -79
  239. package/dist/attention-scoring/src/attention-tracker.d.ts.map +0 -1
  240. package/dist/attention-scoring/src/attention-tracker.js +0 -488
  241. package/dist/attention-scoring/src/attention-tracker.js.map +0 -1
  242. package/dist/attention-scoring/src/mcp-integration.d.ts +0 -56
  243. package/dist/attention-scoring/src/mcp-integration.d.ts.map +0 -1
  244. package/dist/attention-scoring/src/mcp-integration.js +0 -369
  245. package/dist/attention-scoring/src/mcp-integration.js.map +0 -1
  246. package/dist/index.js +0 -382
  247. package/dist/p2p-sync/src/p2p-sync.d.ts +0 -81
  248. package/dist/p2p-sync/src/p2p-sync.d.ts.map +0 -1
  249. package/dist/p2p-sync/src/p2p-sync.js +0 -457
  250. package/dist/p2p-sync/src/p2p-sync.js.map +0 -1
  251. package/dist/p2p-sync/src/team-context-sync.d.ts +0 -99
  252. package/dist/p2p-sync/src/team-context-sync.d.ts.map +0 -1
  253. package/dist/p2p-sync/src/team-context-sync.js +0 -491
  254. package/dist/p2p-sync/src/team-context-sync.js.map +0 -1
  255. package/dist/src/analytics/api/analytics-api.d.ts +0 -24
  256. package/dist/src/analytics/api/analytics-api.d.ts.map +0 -1
  257. package/dist/src/analytics/api/analytics-api.js +0 -279
  258. package/dist/src/analytics/api/analytics-api.js.map +0 -1
  259. package/dist/src/analytics/core/analytics-service.d.ts +0 -23
  260. package/dist/src/analytics/core/analytics-service.d.ts.map +0 -1
  261. package/dist/src/analytics/core/analytics-service.js +0 -160
  262. package/dist/src/analytics/core/analytics-service.js.map +0 -1
  263. package/dist/src/analytics/index.d.ts +0 -12
  264. package/dist/src/analytics/index.d.ts.map +0 -1
  265. package/dist/src/analytics/index.js +0 -11
  266. package/dist/src/analytics/index.js.map +0 -1
  267. package/dist/src/analytics/queries/metrics-queries.d.ts +0 -11
  268. package/dist/src/analytics/queries/metrics-queries.d.ts.map +0 -1
  269. package/dist/src/analytics/queries/metrics-queries.js +0 -179
  270. package/dist/src/analytics/queries/metrics-queries.js.map +0 -1
  271. package/dist/src/analytics/types/metrics.d.ts +0 -60
  272. package/dist/src/analytics/types/metrics.d.ts.map +0 -1
  273. package/dist/src/analytics/types/metrics.js +0 -2
  274. package/dist/src/analytics/types/metrics.js.map +0 -1
  275. package/dist/src/beads/beads-task-store.d.ts +0 -117
  276. package/dist/src/beads/beads-task-store.d.ts.map +0 -1
  277. package/dist/src/beads/beads-task-store.js +0 -318
  278. package/dist/src/beads/beads-task-store.js.map +0 -1
  279. package/dist/src/beads/task-aware-context.d.ts +0 -103
  280. package/dist/src/beads/task-aware-context.d.ts.map +0 -1
  281. package/dist/src/beads/task-aware-context.js +0 -395
  282. package/dist/src/beads/task-aware-context.js.map +0 -1
  283. package/dist/src/beads-task-store.d.ts +0 -117
  284. package/dist/src/beads-task-store.d.ts.map +0 -1
  285. package/dist/src/beads-task-store.js +0 -318
  286. package/dist/src/beads-task-store.js.map +0 -1
  287. package/dist/src/cli/analytics-viewer.d.ts +0 -3
  288. package/dist/src/cli/analytics-viewer.d.ts.map +0 -1
  289. package/dist/src/cli/analytics-viewer.js +0 -89
  290. package/dist/src/cli/analytics-viewer.js.map +0 -1
  291. package/dist/src/cli/cli.d.ts +0 -7
  292. package/dist/src/cli/cli.d.ts.map +0 -1
  293. package/dist/src/cli/cli.js +0 -704
  294. package/dist/src/cli/cli.js.map +0 -1
  295. package/dist/src/cli/project-commands.d.ts +0 -8
  296. package/dist/src/cli/project-commands.d.ts.map +0 -1
  297. package/dist/src/cli/project-commands.js +0 -212
  298. package/dist/src/cli/project-commands.js.map +0 -1
  299. package/dist/src/cli.d.ts +0 -7
  300. package/dist/src/cli.d.ts.map +0 -1
  301. package/dist/src/cli.js +0 -73
  302. package/dist/src/cli.js.map +0 -1
  303. package/dist/src/core/error-handler.d.ts +0 -46
  304. package/dist/src/core/error-handler.d.ts.map +0 -1
  305. package/dist/src/core/error-handler.js +0 -212
  306. package/dist/src/core/error-handler.js.map +0 -1
  307. package/dist/src/core/frame-manager.d.ts +0 -106
  308. package/dist/src/core/frame-manager.d.ts.map +0 -1
  309. package/dist/src/core/frame-manager.js +0 -387
  310. package/dist/src/core/frame-manager.js.map +0 -1
  311. package/dist/src/core/logger.d.ts +0 -24
  312. package/dist/src/core/logger.d.ts.map +0 -1
  313. package/dist/src/core/logger.js +0 -121
  314. package/dist/src/core/logger.js.map +0 -1
  315. package/dist/src/core/logger.test.d.ts +0 -2
  316. package/dist/src/core/logger.test.d.ts.map +0 -1
  317. package/dist/src/core/logger.test.js +0 -31
  318. package/dist/src/core/logger.test.js.map +0 -1
  319. package/dist/src/core/progress-tracker.d.ts +0 -95
  320. package/dist/src/core/progress-tracker.d.ts.map +0 -1
  321. package/dist/src/core/progress-tracker.js +0 -178
  322. package/dist/src/core/progress-tracker.js.map +0 -1
  323. package/dist/src/core/project-manager.d.ts +0 -130
  324. package/dist/src/core/project-manager.d.ts.map +0 -1
  325. package/dist/src/core/project-manager.js +0 -582
  326. package/dist/src/core/project-manager.js.map +0 -1
  327. package/dist/src/core/update-checker.d.ts +0 -38
  328. package/dist/src/core/update-checker.d.ts.map +0 -1
  329. package/dist/src/core/update-checker.js +0 -156
  330. package/dist/src/core/update-checker.js.map +0 -1
  331. package/dist/src/error-handler.d.ts +0 -42
  332. package/dist/src/error-handler.d.ts.map +0 -1
  333. package/dist/src/error-handler.js +0 -155
  334. package/dist/src/error-handler.js.map +0 -1
  335. package/dist/src/frame-manager.d.ts +0 -106
  336. package/dist/src/frame-manager.d.ts.map +0 -1
  337. package/dist/src/frame-manager.js +0 -361
  338. package/dist/src/frame-manager.js.map +0 -1
  339. package/dist/src/integrations/browser-mcp.d.ts +0 -94
  340. package/dist/src/integrations/browser-mcp.d.ts.map +0 -1
  341. package/dist/src/integrations/browser-mcp.js +0 -431
  342. package/dist/src/integrations/browser-mcp.js.map +0 -1
  343. package/dist/src/integrations/linear-auth.d.ts +0 -99
  344. package/dist/src/integrations/linear-auth.d.ts.map +0 -1
  345. package/dist/src/integrations/linear-auth.js +0 -319
  346. package/dist/src/integrations/linear-auth.js.map +0 -1
  347. package/dist/src/integrations/linear-auto-sync.d.ts +0 -77
  348. package/dist/src/integrations/linear-auto-sync.d.ts.map +0 -1
  349. package/dist/src/integrations/linear-auto-sync.js +0 -268
  350. package/dist/src/integrations/linear-auto-sync.js.map +0 -1
  351. package/dist/src/integrations/linear-client.d.ts +0 -86
  352. package/dist/src/integrations/linear-client.d.ts.map +0 -1
  353. package/dist/src/integrations/linear-client.js +0 -277
  354. package/dist/src/integrations/linear-client.js.map +0 -1
  355. package/dist/src/integrations/linear-config.d.ts +0 -51
  356. package/dist/src/integrations/linear-config.d.ts.map +0 -1
  357. package/dist/src/integrations/linear-config.js +0 -103
  358. package/dist/src/integrations/linear-config.js.map +0 -1
  359. package/dist/src/integrations/linear-sync.d.ts +0 -97
  360. package/dist/src/integrations/linear-sync.d.ts.map +0 -1
  361. package/dist/src/integrations/linear-sync.js +0 -391
  362. package/dist/src/integrations/linear-sync.js.map +0 -1
  363. package/dist/src/logger.d.ts +0 -24
  364. package/dist/src/logger.d.ts.map +0 -1
  365. package/dist/src/logger.js +0 -120
  366. package/dist/src/logger.js.map +0 -1
  367. package/dist/src/mcp/mcp-server.d.ts +0 -40
  368. package/dist/src/mcp/mcp-server.d.ts.map +0 -1
  369. package/dist/src/mcp/mcp-server.js +0 -828
  370. package/dist/src/mcp/mcp-server.js.map +0 -1
  371. package/dist/src/mcp-server.d.ts +0 -32
  372. package/dist/src/mcp-server.d.ts.map +0 -1
  373. package/dist/src/mcp-server.js +0 -441
  374. package/dist/src/mcp-server.js.map +0 -1
  375. package/dist/src/pebbles/pebbles-task-store.d.ts +0 -117
  376. package/dist/src/pebbles/pebbles-task-store.d.ts.map +0 -1
  377. package/dist/src/pebbles/pebbles-task-store.js +0 -335
  378. package/dist/src/pebbles/pebbles-task-store.js.map +0 -1
  379. package/dist/src/pebbles/task-aware-context.d.ts +0 -103
  380. package/dist/src/pebbles/task-aware-context.d.ts.map +0 -1
  381. package/dist/src/pebbles/task-aware-context.js +0 -412
  382. package/dist/src/pebbles/task-aware-context.js.map +0 -1
  383. package/dist/src/railway/index.d.ts +0 -7
  384. package/dist/src/railway/index.d.ts.map +0 -1
  385. package/dist/src/railway/index.js +0 -401
  386. package/dist/src/railway/index.js.map +0 -1
  387. package/dist/src/runway/auth/auth-middleware.d.ts +0 -66
  388. package/dist/src/runway/auth/auth-middleware.d.ts.map +0 -1
  389. package/dist/src/runway/auth/auth-middleware.js +0 -337
  390. package/dist/src/runway/auth/auth-middleware.js.map +0 -1
  391. package/dist/src/runway/server/runway-mcp-server.d.ts +0 -46
  392. package/dist/src/runway/server/runway-mcp-server.d.ts.map +0 -1
  393. package/dist/src/runway/server/runway-mcp-server.js +0 -601
  394. package/dist/src/runway/server/runway-mcp-server.js.map +0 -1
  395. package/dist/src/runway.bak/auth/auth-middleware.d.ts +0 -66
  396. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +0 -1
  397. package/dist/src/runway.bak/auth/auth-middleware.js +0 -337
  398. package/dist/src/runway.bak/auth/auth-middleware.js.map +0 -1
  399. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +0 -46
  400. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +0 -1
  401. package/dist/src/runway.bak/server/runway-mcp-server.js +0 -601
  402. package/dist/src/runway.bak/server/runway-mcp-server.js.map +0 -1
  403. package/dist/src/task-aware-context.d.ts +0 -103
  404. package/dist/src/task-aware-context.d.ts.map +0 -1
  405. package/dist/src/task-aware-context.js +0 -395
  406. package/dist/src/task-aware-context.js.map +0 -1
@@ -0,0 +1,545 @@
1
+ /**
2
+ * LLM-Driven Context Retrieval System
3
+ * Uses LLM analysis to intelligently select relevant context
4
+ */
5
+ import { QueryParser } from '../query/query-parser.js';
6
+ import { CompressedSummaryGenerator } from './summary-generator.js';
7
+ import { DEFAULT_RETRIEVAL_CONFIG, } from './types.js';
8
+ import { logger } from '../monitoring/logger.js';
9
+ /**
10
+ * Simple heuristic-based fallback when LLM is unavailable
11
+ */
12
+ class HeuristicAnalyzer {
13
+ analyze(query, summary, parsedQuery) {
14
+ const framesToRetrieve = [];
15
+ const recommendations = [];
16
+ const matchedPatterns = [];
17
+ // Score frames based on query relevance
18
+ const queryLower = query.toLowerCase();
19
+ const queryWords = queryLower.split(/\W+/).filter((w) => w.length > 2);
20
+ for (const frame of summary.recentSession.frames) {
21
+ let priority = 5; // Base priority
22
+ const reasons = [];
23
+ // Recency boost
24
+ const ageHours = (Date.now() - frame.createdAt) / (1000 * 60 * 60);
25
+ if (ageHours < 1) {
26
+ priority += 3;
27
+ reasons.push('very recent');
28
+ }
29
+ else if (ageHours < 6) {
30
+ priority += 2;
31
+ reasons.push('recent');
32
+ }
33
+ // Score boost
34
+ priority += Math.floor(frame.score * 3);
35
+ // Name matching
36
+ const nameLower = frame.name.toLowerCase();
37
+ const nameMatches = queryWords.filter((w) => nameLower.includes(w));
38
+ if (nameMatches.length > 0) {
39
+ priority += nameMatches.length * 2;
40
+ reasons.push(`matches: ${nameMatches.join(', ')}`);
41
+ matchedPatterns.push(`name_match:${nameMatches.join(',')}`);
42
+ }
43
+ // Type matching from parsed query
44
+ if (parsedQuery?.frame?.type) {
45
+ const frameType = frame.type.toLowerCase();
46
+ if (parsedQuery.frame.type.some((t) => t.toLowerCase() === frameType)) {
47
+ priority += 2;
48
+ reasons.push('type match');
49
+ }
50
+ }
51
+ // Topic matching
52
+ if (parsedQuery?.content?.topic) {
53
+ const topics = parsedQuery.content.topic;
54
+ const topicMatches = topics.filter((t) => nameLower.includes(t.toLowerCase()) ||
55
+ (frame.digestPreview &&
56
+ frame.digestPreview.toLowerCase().includes(t.toLowerCase())));
57
+ if (topicMatches.length > 0) {
58
+ priority += topicMatches.length;
59
+ reasons.push(`topic: ${topicMatches.join(', ')}`);
60
+ }
61
+ }
62
+ // Cap priority at 10
63
+ priority = Math.min(priority, 10);
64
+ if (priority >= 5) {
65
+ framesToRetrieve.push({
66
+ frameId: frame.frameId,
67
+ priority,
68
+ reason: reasons.length > 0 ? reasons.join('; ') : 'relevant context',
69
+ includeEvents: priority >= 7,
70
+ includeAnchors: true,
71
+ includeDigest: true,
72
+ estimatedTokens: this.estimateFrameTokens(frame),
73
+ });
74
+ }
75
+ }
76
+ // Sort by priority
77
+ framesToRetrieve.sort((a, b) => b.priority - a.priority);
78
+ // Generate recommendations based on errors
79
+ if (summary.recentSession.errorsEncountered.length > 0) {
80
+ recommendations.push({
81
+ type: 'include',
82
+ target: 'error_context',
83
+ reason: `${summary.recentSession.errorsEncountered.length} errors encountered recently`,
84
+ impact: 'medium',
85
+ });
86
+ }
87
+ // Recommend including decisions if query seems decision-related
88
+ if (queryLower.includes('decision') ||
89
+ queryLower.includes('why') ||
90
+ queryLower.includes('chose')) {
91
+ recommendations.push({
92
+ type: 'include',
93
+ target: 'decisions',
94
+ reason: 'Query appears to be about past decisions',
95
+ impact: 'high',
96
+ });
97
+ }
98
+ // Calculate confidence based on match quality
99
+ const avgPriority = framesToRetrieve.length > 0
100
+ ? framesToRetrieve.reduce((sum, f) => sum + f.priority, 0) /
101
+ framesToRetrieve.length
102
+ : 0;
103
+ const confidenceScore = Math.min(avgPriority / 10, 0.95);
104
+ // Generate reasoning
105
+ const reasoning = this.generateReasoning(query, framesToRetrieve, summary, matchedPatterns);
106
+ return {
107
+ reasoning,
108
+ framesToRetrieve: framesToRetrieve.slice(0, 10), // Limit to top 10
109
+ confidenceScore,
110
+ recommendations,
111
+ metadata: {
112
+ analysisTimeMs: 0, // Will be set by caller
113
+ summaryTokens: this.estimateSummaryTokens(summary),
114
+ queryComplexity: this.assessQueryComplexity(query, parsedQuery),
115
+ matchedPatterns,
116
+ fallbackUsed: true,
117
+ },
118
+ };
119
+ }
120
+ estimateFrameTokens(frame) {
121
+ let tokens = 50; // Base frame header
122
+ tokens += frame.eventCount * 30; // Estimate per event
123
+ tokens += frame.anchorCount * 40; // Estimate per anchor
124
+ if (frame.digestPreview)
125
+ tokens += frame.digestPreview.length / 4;
126
+ return Math.floor(tokens);
127
+ }
128
+ estimateSummaryTokens(summary) {
129
+ return Math.floor(JSON.stringify(summary).length / 4);
130
+ }
131
+ assessQueryComplexity(query, parsedQuery) {
132
+ const wordCount = query.split(/\s+/).length;
133
+ const hasTimeFilter = !!parsedQuery?.time;
134
+ const hasContentFilter = !!parsedQuery?.content;
135
+ const hasPeopleFilter = !!parsedQuery?.people;
136
+ const hasFrameFilter = !!parsedQuery?.frame;
137
+ const filterCount = [
138
+ hasTimeFilter,
139
+ hasContentFilter,
140
+ hasPeopleFilter,
141
+ hasFrameFilter,
142
+ ].filter(Boolean).length;
143
+ if (wordCount <= 5 && filterCount <= 1)
144
+ return 'simple';
145
+ if (wordCount <= 15 && filterCount <= 2)
146
+ return 'moderate';
147
+ return 'complex';
148
+ }
149
+ generateReasoning(query, frames, summary, matchedPatterns) {
150
+ const parts = [];
151
+ parts.push(`Query: "${query}"`);
152
+ parts.push(`Analyzed ${summary.recentSession.frames.length} recent frames.`);
153
+ if (matchedPatterns.length > 0) {
154
+ parts.push(`Matched patterns: ${matchedPatterns.join(', ')}`);
155
+ }
156
+ if (frames.length > 0) {
157
+ parts.push(`Selected ${frames.length} frames for retrieval.`);
158
+ const topFrames = frames.slice(0, 3);
159
+ parts.push(`Top frames: ${topFrames.map((f) => `${f.frameId} (priority: ${f.priority})`).join(', ')}`);
160
+ }
161
+ else {
162
+ parts.push('No highly relevant frames found. Using general context.');
163
+ }
164
+ return parts.join(' ');
165
+ }
166
+ }
167
+ /**
168
+ * Main LLM Context Retrieval class
169
+ */
170
+ export class LLMContextRetrieval {
171
+ db;
172
+ frameManager;
173
+ summaryGenerator;
174
+ queryParser;
175
+ heuristicAnalyzer;
176
+ llmProvider;
177
+ config;
178
+ projectId;
179
+ constructor(db, frameManager, projectId, config = {}, llmProvider) {
180
+ this.db = db;
181
+ this.frameManager = frameManager;
182
+ this.projectId = projectId;
183
+ this.config = { ...DEFAULT_RETRIEVAL_CONFIG, ...config };
184
+ this.llmProvider = llmProvider;
185
+ this.summaryGenerator = new CompressedSummaryGenerator(db, frameManager, projectId, config);
186
+ this.queryParser = new QueryParser();
187
+ this.heuristicAnalyzer = new HeuristicAnalyzer();
188
+ }
189
+ /**
190
+ * Retrieve context based on query using LLM analysis
191
+ */
192
+ async retrieveContext(query, options = {}) {
193
+ const startTime = Date.now();
194
+ const tokenBudget = options.tokenBudget || this.config.defaultTokenBudget;
195
+ logger.info('Starting context retrieval', {
196
+ projectId: this.projectId,
197
+ query: query.substring(0, 100),
198
+ tokenBudget,
199
+ });
200
+ // 1. Parse the query
201
+ const parsedQuery = this.queryParser.parseNaturalLanguage(query);
202
+ // 2. Generate compressed summary
203
+ const summary = this.summaryGenerator.generateSummary({
204
+ forceRefresh: options.forceRefresh,
205
+ });
206
+ // 3. Perform LLM analysis
207
+ const analysis = await this.analyzeWithLLM({
208
+ currentQuery: query,
209
+ parsedQuery,
210
+ compressedSummary: summary,
211
+ tokenBudget,
212
+ hints: options.hints,
213
+ });
214
+ // 4. Retrieve frames based on analysis
215
+ const { frames, anchors, events, tokensUsed } = this.retrieveFrames(analysis, tokenBudget);
216
+ // 5. Assemble context string
217
+ const context = this.assembleContext(frames, anchors, events, analysis);
218
+ const metadata = {
219
+ retrievalTimeMs: Date.now() - startTime,
220
+ cacheHit: false, // Would need cache tracking
221
+ framesScanned: summary.recentSession.frames.length,
222
+ framesIncluded: frames.length,
223
+ compressionRatio: tokensUsed > 0 ? tokenBudget / tokensUsed : 1,
224
+ };
225
+ logger.info('Context retrieval complete', {
226
+ projectId: this.projectId,
227
+ framesIncluded: frames.length,
228
+ tokensUsed,
229
+ retrievalTimeMs: metadata.retrievalTimeMs,
230
+ confidence: analysis.confidenceScore,
231
+ });
232
+ return {
233
+ context,
234
+ frames,
235
+ anchors,
236
+ events,
237
+ analysis,
238
+ tokenUsage: {
239
+ budget: tokenBudget,
240
+ used: tokensUsed,
241
+ remaining: tokenBudget - tokensUsed,
242
+ },
243
+ metadata,
244
+ };
245
+ }
246
+ /**
247
+ * Perform LLM analysis or fall back to heuristics
248
+ */
249
+ async analyzeWithLLM(request) {
250
+ const startTime = Date.now();
251
+ // Try LLM analysis if provider is available
252
+ if (this.llmProvider) {
253
+ try {
254
+ const prompt = this.buildAnalysisPrompt(request);
255
+ const response = await this.llmProvider.analyze(prompt, this.config.llmConfig.maxTokens);
256
+ const analysis = this.parseAnalysisResponse(response, request);
257
+ analysis.metadata.analysisTimeMs = Date.now() - startTime;
258
+ analysis.metadata.fallbackUsed = false;
259
+ // Validate confidence threshold
260
+ if (analysis.confidenceScore >= this.config.minConfidenceThreshold) {
261
+ return analysis;
262
+ }
263
+ logger.warn('LLM confidence below threshold, using fallback', {
264
+ confidence: analysis.confidenceScore,
265
+ threshold: this.config.minConfidenceThreshold,
266
+ });
267
+ }
268
+ catch (error) {
269
+ logger.error('LLM analysis failed, using fallback', error instanceof Error ? error : new Error(String(error)));
270
+ }
271
+ }
272
+ // Fall back to heuristic analysis
273
+ if (this.config.enableFallback) {
274
+ const analysis = this.heuristicAnalyzer.analyze(request.currentQuery, request.compressedSummary, request.parsedQuery);
275
+ analysis.metadata.analysisTimeMs = Date.now() - startTime;
276
+ return analysis;
277
+ }
278
+ // Return empty analysis if no fallback
279
+ return {
280
+ reasoning: 'Unable to perform analysis - LLM unavailable and fallback disabled',
281
+ framesToRetrieve: [],
282
+ confidenceScore: 0,
283
+ recommendations: [],
284
+ metadata: {
285
+ analysisTimeMs: Date.now() - startTime,
286
+ summaryTokens: 0,
287
+ queryComplexity: 'simple',
288
+ matchedPatterns: [],
289
+ fallbackUsed: false,
290
+ },
291
+ };
292
+ }
293
+ /**
294
+ * Build the prompt for LLM analysis
295
+ */
296
+ buildAnalysisPrompt(request) {
297
+ const summary = request.compressedSummary;
298
+ return `You are analyzing a code project's memory to retrieve relevant context.
299
+
300
+ ## Current Query
301
+ "${request.currentQuery}"
302
+
303
+ ## Token Budget
304
+ ${request.tokenBudget} tokens available
305
+
306
+ ## Recent Session Summary
307
+ - Frames: ${summary.recentSession.frames.length}
308
+ - Time range: ${new Date(summary.recentSession.timeRange.start).toISOString()} to ${new Date(summary.recentSession.timeRange.end).toISOString()}
309
+ - Dominant operations: ${summary.recentSession.dominantOperations.map((o) => `${o.operation}(${o.count})`).join(', ')}
310
+ - Files touched: ${summary.recentSession.filesTouched
311
+ .slice(0, 5)
312
+ .map((f) => f.path)
313
+ .join(', ')}
314
+ - Errors: ${summary.recentSession.errorsEncountered.length}
315
+
316
+ ## Available Frames
317
+ ${summary.recentSession.frames
318
+ .slice(0, 15)
319
+ .map((f) => `- ${f.frameId}: "${f.name}" (${f.type}, score: ${f.score.toFixed(2)}, events: ${f.eventCount})`)
320
+ .join('\n')}
321
+
322
+ ## Key Decisions
323
+ ${summary.historicalPatterns.keyDecisions
324
+ .slice(0, 5)
325
+ .map((d) => `- ${d.text.substring(0, 80)}...`)
326
+ .join('\n')}
327
+
328
+ ## Task
329
+ Analyze the query and select the most relevant frames to retrieve.
330
+ Return a JSON object with:
331
+ {
332
+ "reasoning": "Your analysis of why these frames are relevant",
333
+ "framesToRetrieve": [
334
+ {"frameId": "...", "priority": 1-10, "reason": "...", "includeEvents": true/false, "includeAnchors": true/false}
335
+ ],
336
+ "confidenceScore": 0.0-1.0,
337
+ "recommendations": [{"type": "include/exclude/summarize", "target": "...", "reason": "...", "impact": "low/medium/high"}]
338
+ }
339
+
340
+ ${request.hints ? `\n## Hints\n${JSON.stringify(request.hints)}` : ''}
341
+
342
+ Respond with only the JSON object, no other text.`;
343
+ }
344
+ /**
345
+ * Parse LLM response into structured analysis
346
+ */
347
+ parseAnalysisResponse(response, request) {
348
+ try {
349
+ // Extract JSON from response (handle markdown code blocks)
350
+ let jsonStr = response;
351
+ const jsonMatch = response.match(/```(?:json)?\s*([\s\S]*?)```/);
352
+ if (jsonMatch) {
353
+ jsonStr = jsonMatch[1];
354
+ }
355
+ const parsed = JSON.parse(jsonStr.trim());
356
+ // Validate and normalize the response
357
+ return {
358
+ reasoning: parsed.reasoning || 'No reasoning provided',
359
+ framesToRetrieve: (parsed.framesToRetrieve || []).map((f) => ({
360
+ frameId: f.frameId,
361
+ priority: Math.min(10, Math.max(1, f.priority || 5)),
362
+ reason: f.reason || 'Selected by LLM',
363
+ includeEvents: f.includeEvents ?? true,
364
+ includeAnchors: f.includeAnchors ?? true,
365
+ includeDigest: f.includeDigest ?? true,
366
+ estimatedTokens: f.estimatedTokens || 100,
367
+ })),
368
+ confidenceScore: Math.min(1, Math.max(0, parsed.confidenceScore || 0.5)),
369
+ recommendations: (parsed.recommendations || []).map((r) => ({
370
+ type: r.type || 'include',
371
+ target: r.target || '',
372
+ reason: r.reason || '',
373
+ impact: r.impact || 'medium',
374
+ })),
375
+ metadata: {
376
+ analysisTimeMs: 0,
377
+ summaryTokens: Math.floor(JSON.stringify(request.compressedSummary).length / 4),
378
+ queryComplexity: this.assessQueryComplexity(request.currentQuery),
379
+ matchedPatterns: [],
380
+ fallbackUsed: false,
381
+ },
382
+ };
383
+ }
384
+ catch (error) {
385
+ logger.warn('Failed to parse LLM response, using fallback', {
386
+ error,
387
+ response,
388
+ });
389
+ return this.heuristicAnalyzer.analyze(request.currentQuery, request.compressedSummary, request.parsedQuery);
390
+ }
391
+ }
392
+ assessQueryComplexity(query) {
393
+ const wordCount = query.split(/\s+/).length;
394
+ if (wordCount <= 5)
395
+ return 'simple';
396
+ if (wordCount <= 15)
397
+ return 'moderate';
398
+ return 'complex';
399
+ }
400
+ /**
401
+ * Retrieve frames based on analysis
402
+ */
403
+ retrieveFrames(analysis, tokenBudget) {
404
+ const frames = [];
405
+ const anchors = [];
406
+ const events = [];
407
+ let tokensUsed = 0;
408
+ // Retrieve frames in priority order within budget
409
+ for (const plan of analysis.framesToRetrieve) {
410
+ if (tokensUsed + plan.estimatedTokens > tokenBudget) {
411
+ logger.debug('Token budget exceeded, stopping retrieval', {
412
+ tokensUsed,
413
+ budget: tokenBudget,
414
+ });
415
+ break;
416
+ }
417
+ const frame = this.frameManager.getFrame(plan.frameId);
418
+ if (!frame)
419
+ continue;
420
+ frames.push(frame);
421
+ tokensUsed += 50; // Base frame tokens
422
+ // Include anchors if requested
423
+ if (plan.includeAnchors) {
424
+ const frameAnchors = this.getFrameAnchors(plan.frameId);
425
+ anchors.push(...frameAnchors);
426
+ tokensUsed += frameAnchors.length * 40;
427
+ }
428
+ // Include events if requested
429
+ if (plan.includeEvents) {
430
+ const frameEvents = this.frameManager.getFrameEvents(plan.frameId, 10);
431
+ events.push(...frameEvents);
432
+ tokensUsed += frameEvents.length * 30;
433
+ }
434
+ }
435
+ return { frames, anchors, events, tokensUsed };
436
+ }
437
+ getFrameAnchors(frameId) {
438
+ try {
439
+ const rows = this.db
440
+ .prepare(`
441
+ SELECT * FROM anchors WHERE frame_id = ?
442
+ ORDER BY priority DESC, created_at DESC
443
+ `)
444
+ .all(frameId);
445
+ return rows.map((row) => ({
446
+ ...row,
447
+ metadata: JSON.parse(row.metadata || '{}'),
448
+ }));
449
+ }
450
+ catch {
451
+ return [];
452
+ }
453
+ }
454
+ /**
455
+ * Assemble final context string
456
+ */
457
+ assembleContext(frames, anchors, events, analysis) {
458
+ const sections = [];
459
+ // Add retrieval reasoning (auditable)
460
+ sections.push('## Context Retrieval Analysis');
461
+ sections.push(`*Confidence: ${(analysis.confidenceScore * 100).toFixed(0)}%*`);
462
+ sections.push(analysis.reasoning);
463
+ sections.push('');
464
+ // Add frames
465
+ if (frames.length > 0) {
466
+ sections.push('## Relevant Frames');
467
+ for (const frame of frames) {
468
+ sections.push(`### ${frame.name} (${frame.type})`);
469
+ if (frame.digest_text) {
470
+ sections.push(frame.digest_text);
471
+ }
472
+ sections.push('');
473
+ }
474
+ }
475
+ // Add key anchors
476
+ const decisions = anchors.filter((a) => a.type === 'DECISION');
477
+ const constraints = anchors.filter((a) => a.type === 'CONSTRAINT');
478
+ const facts = anchors.filter((a) => a.type === 'FACT');
479
+ if (decisions.length > 0) {
480
+ sections.push('## Key Decisions');
481
+ for (const d of decisions.slice(0, 5)) {
482
+ sections.push(`- ${d.text}`);
483
+ }
484
+ sections.push('');
485
+ }
486
+ if (constraints.length > 0) {
487
+ sections.push('## Active Constraints');
488
+ for (const c of constraints.slice(0, 5)) {
489
+ sections.push(`- ${c.text}`);
490
+ }
491
+ sections.push('');
492
+ }
493
+ if (facts.length > 0) {
494
+ sections.push('## Important Facts');
495
+ for (const f of facts.slice(0, 5)) {
496
+ sections.push(`- ${f.text}`);
497
+ }
498
+ sections.push('');
499
+ }
500
+ // Add recent events summary
501
+ if (events.length > 0) {
502
+ sections.push('## Recent Activity');
503
+ const eventSummary = this.summarizeEvents(events);
504
+ sections.push(eventSummary);
505
+ sections.push('');
506
+ }
507
+ // Add recommendations
508
+ if (analysis.recommendations.length > 0) {
509
+ sections.push('## Recommendations');
510
+ for (const rec of analysis.recommendations) {
511
+ const icon = rec.type === 'include' ? '+' : rec.type === 'exclude' ? '-' : '~';
512
+ sections.push(`${icon} [${rec.impact.toUpperCase()}] ${rec.reason}`);
513
+ }
514
+ }
515
+ return sections.join('\n');
516
+ }
517
+ summarizeEvents(events) {
518
+ const byType = {};
519
+ for (const event of events) {
520
+ byType[event.event_type] = (byType[event.event_type] || 0) + 1;
521
+ }
522
+ return Object.entries(byType)
523
+ .map(([type, count]) => `- ${type}: ${count} occurrences`)
524
+ .join('\n');
525
+ }
526
+ /**
527
+ * Get just the compressed summary (useful for external analysis)
528
+ */
529
+ getSummary(forceRefresh = false) {
530
+ return this.summaryGenerator.generateSummary({ forceRefresh });
531
+ }
532
+ /**
533
+ * Set LLM provider
534
+ */
535
+ setLLMProvider(provider) {
536
+ this.llmProvider = provider;
537
+ }
538
+ /**
539
+ * Clear caches
540
+ */
541
+ clearCache() {
542
+ this.summaryGenerator.clearCache();
543
+ }
544
+ }
545
+ //# sourceMappingURL=llm-context-retrieval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-context-retrieval.js","sourceRoot":"","sources":["../../../../src/core/retrieval/llm-context-retrieval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Compressed Summary Generator
3
+ * Creates compact summaries of project memory for LLM analysis
4
+ */
5
+ import Database from 'better-sqlite3';
6
+ import { FrameManager } from '../context/frame-manager.js';
7
+ import { TraceDetector } from '../trace/trace-detector.js';
8
+ import { CompressedSummary, RetrievalConfig } from './types.js';
9
+ export declare class CompressedSummaryGenerator {
10
+ private db;
11
+ private frameManager;
12
+ private traceDetector?;
13
+ private projectId;
14
+ private config;
15
+ private cache;
16
+ constructor(db: Database.Database, frameManager: FrameManager, projectId: string, config?: Partial<RetrievalConfig>, traceDetector?: TraceDetector);
17
+ /**
18
+ * Generate a compressed summary for LLM analysis
19
+ */
20
+ generateSummary(options?: {
21
+ maxFrames?: number;
22
+ timeRangeHours?: number;
23
+ forceRefresh?: boolean;
24
+ }): CompressedSummary;
25
+ /**
26
+ * Generate recent session summary
27
+ */
28
+ private generateRecentSessionSummary;
29
+ /**
30
+ * Generate historical patterns
31
+ */
32
+ private generateHistoricalPatterns;
33
+ /**
34
+ * Generate queryable indices
35
+ */
36
+ private generateQueryableIndices;
37
+ /**
38
+ * Generate summary statistics
39
+ */
40
+ private generateStats;
41
+ private getRecentFrames;
42
+ private summarizeFrame;
43
+ private calculateFrameScore;
44
+ private getDominantOperations;
45
+ private getFilesTouched;
46
+ private getErrorsEncountered;
47
+ private getTopicFrameCounts;
48
+ private getKeyDecisions;
49
+ private getRecurringIssues;
50
+ private getCommonToolSequences;
51
+ private getActivityPatterns;
52
+ private indexByErrorType;
53
+ private indexByTimeframe;
54
+ private indexByContributor;
55
+ private indexByTopic;
56
+ private indexByFile;
57
+ private extractKeywords;
58
+ /**
59
+ * Clear the cache
60
+ */
61
+ clearCache(): void;
62
+ }
63
+ //# sourceMappingURL=summary-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-generator.d.ts","sourceRoot":"","sources":["../../../../src/core/retrieval/summary-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,YAAY,EAIb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAajB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAGpB,qBAAa,0BAA0B;IACrC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAGC;gBAGZ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,EACrC,aAAa,CAAC,EAAE,aAAa;IAS/B;;OAEG;IACI,eAAe,CACpB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KACnB,GACL,iBAAiB;IAiDpB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAwCpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAUlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,OAAO,CAAC,aAAa;IA6ErB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,eAAe;IAmDvB,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACI,UAAU,IAAI,IAAI;CAI1B"}