@stackmemoryai/stackmemory 0.2.7 → 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 (297) hide show
  1. package/README.md +25 -8
  2. package/dist/scripts/cancel-duplicate-tasks.js +2 -1
  3. package/dist/scripts/cancel-duplicate-tasks.js.map +1 -1
  4. package/dist/scripts/list-linear-tasks.js +3 -4
  5. package/dist/scripts/list-linear-tasks.js.map +1 -1
  6. package/dist/scripts/merge-linear-duplicates-safe.js +4 -2
  7. package/dist/scripts/merge-linear-duplicates-safe.js.map +1 -1
  8. package/dist/scripts/show-linear-summary.js +4 -1
  9. package/dist/scripts/show-linear-summary.js.map +1 -1
  10. package/dist/scripts/status.js +6 -2
  11. package/dist/scripts/status.js.map +1 -1
  12. package/dist/src/cli/auto-detect.js.map +1 -1
  13. package/dist/src/cli/claude-sm.js.map +1 -1
  14. package/dist/src/cli/commands/config.d.ts +6 -0
  15. package/dist/src/cli/commands/config.d.ts.map +1 -0
  16. package/dist/src/cli/commands/config.js +224 -0
  17. package/dist/src/cli/commands/config.js.map +1 -0
  18. package/dist/src/cli/commands/linear.d.ts.map +1 -1
  19. package/dist/src/cli/commands/linear.js +123 -47
  20. package/dist/src/cli/commands/linear.js.map +1 -1
  21. package/dist/src/cli/index.d.ts.map +1 -1
  22. package/dist/src/cli/index.js +48 -1
  23. package/dist/src/cli/index.js.map +1 -1
  24. package/dist/src/core/config/config-manager.d.ts +95 -0
  25. package/dist/src/core/config/config-manager.d.ts.map +1 -0
  26. package/dist/src/core/config/config-manager.js +359 -0
  27. package/dist/src/core/config/config-manager.js.map +1 -0
  28. package/dist/src/core/config/types.d.ts +72 -0
  29. package/dist/src/core/config/types.d.ts.map +1 -0
  30. package/dist/src/core/config/types.js +127 -0
  31. package/dist/src/core/config/types.js.map +1 -0
  32. package/dist/src/core/context/compaction-handler.d.ts +119 -0
  33. package/dist/src/core/context/compaction-handler.d.ts.map +1 -0
  34. package/dist/src/core/context/compaction-handler.js +306 -0
  35. package/dist/src/core/context/compaction-handler.js.map +1 -0
  36. package/dist/src/core/context/model-aware-compaction.d.ts +101 -0
  37. package/dist/src/core/context/model-aware-compaction.d.ts.map +1 -0
  38. package/dist/src/core/context/model-aware-compaction.js +616 -0
  39. package/dist/src/core/context/model-aware-compaction.js.map +1 -0
  40. package/dist/src/core/query/query-parser.d.ts +104 -0
  41. package/dist/src/core/query/query-parser.d.ts.map +1 -0
  42. package/dist/src/core/query/query-parser.js +347 -0
  43. package/dist/src/core/query/query-parser.js.map +1 -0
  44. package/dist/src/core/retrieval/index.d.ts +8 -0
  45. package/dist/src/core/retrieval/index.d.ts.map +1 -0
  46. package/dist/src/core/retrieval/index.js +8 -0
  47. package/dist/src/core/retrieval/index.js.map +1 -0
  48. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +71 -0
  49. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -0
  50. package/dist/src/core/retrieval/llm-context-retrieval.js +545 -0
  51. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -0
  52. package/dist/src/core/retrieval/summary-generator.d.ts +63 -0
  53. package/dist/src/core/retrieval/summary-generator.d.ts.map +1 -0
  54. package/dist/src/core/retrieval/summary-generator.js +622 -0
  55. package/dist/src/core/retrieval/summary-generator.js.map +1 -0
  56. package/dist/src/core/retrieval/types.d.ts +257 -0
  57. package/dist/src/core/retrieval/types.d.ts.map +1 -0
  58. package/dist/src/core/retrieval/types.js +18 -0
  59. package/dist/src/core/retrieval/types.js.map +1 -0
  60. package/dist/src/core/trace/trace-detector.d.ts +108 -0
  61. package/dist/src/core/trace/trace-detector.d.ts.map +1 -0
  62. package/dist/src/core/trace/trace-detector.demo.d.ts +5 -0
  63. package/dist/src/core/trace/trace-detector.demo.d.ts.map +1 -0
  64. package/dist/src/core/trace/trace-detector.demo.js +145 -0
  65. package/dist/src/core/trace/trace-detector.demo.js.map +1 -0
  66. package/dist/src/core/trace/trace-detector.js +425 -0
  67. package/dist/src/core/trace/trace-detector.js.map +1 -0
  68. package/dist/src/core/trace/trace-store.d.ts +60 -0
  69. package/dist/src/core/trace/trace-store.d.ts.map +1 -0
  70. package/dist/src/core/trace/trace-store.js +323 -0
  71. package/dist/src/core/trace/trace-store.js.map +1 -0
  72. package/dist/src/core/trace/types.d.ts +81 -0
  73. package/dist/src/core/trace/types.d.ts.map +1 -0
  74. package/dist/src/core/trace/types.js +70 -0
  75. package/dist/src/core/trace/types.js.map +1 -0
  76. package/dist/src/integrations/linear/sync-manager.d.ts +76 -0
  77. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -0
  78. package/dist/src/integrations/linear/sync-manager.js +223 -0
  79. package/dist/src/integrations/linear/sync-manager.js.map +1 -0
  80. package/dist/src/integrations/mcp/server.d.ts +8 -0
  81. package/dist/src/integrations/mcp/server.d.ts.map +1 -1
  82. package/dist/src/integrations/mcp/server.js +368 -16
  83. package/dist/src/integrations/mcp/server.js.map +1 -1
  84. package/dist/src/integrations/mcp/trace-test.d.ts +5 -0
  85. package/dist/src/integrations/mcp/trace-test.d.ts.map +1 -0
  86. package/dist/src/integrations/mcp/trace-test.js +54 -0
  87. package/dist/src/integrations/mcp/trace-test.js.map +1 -0
  88. package/dist/src/services/config-service.d.ts +1 -1
  89. package/dist/src/services/config-service.d.ts.map +1 -1
  90. package/dist/src/services/config-service.js.map +1 -1
  91. package/dist/src/types/task.d.ts +11 -1
  92. package/dist/src/types/task.d.ts.map +1 -1
  93. package/dist/src/utils/logger.d.ts +4 -4
  94. package/dist/src/utils/logger.d.ts.map +1 -1
  95. package/dist/src/utils/logger.js.map +1 -1
  96. package/package.json +9 -8
  97. package/dist/attention-scoring/src/attention-tracker.d.ts +0 -79
  98. package/dist/attention-scoring/src/attention-tracker.d.ts.map +0 -1
  99. package/dist/attention-scoring/src/attention-tracker.js +0 -488
  100. package/dist/attention-scoring/src/attention-tracker.js.map +0 -1
  101. package/dist/attention-scoring/src/mcp-integration.d.ts +0 -56
  102. package/dist/attention-scoring/src/mcp-integration.d.ts.map +0 -1
  103. package/dist/attention-scoring/src/mcp-integration.js +0 -369
  104. package/dist/attention-scoring/src/mcp-integration.js.map +0 -1
  105. package/dist/index.js +0 -382
  106. package/dist/p2p-sync/src/p2p-sync.d.ts +0 -81
  107. package/dist/p2p-sync/src/p2p-sync.d.ts.map +0 -1
  108. package/dist/p2p-sync/src/p2p-sync.js +0 -457
  109. package/dist/p2p-sync/src/p2p-sync.js.map +0 -1
  110. package/dist/p2p-sync/src/team-context-sync.d.ts +0 -99
  111. package/dist/p2p-sync/src/team-context-sync.d.ts.map +0 -1
  112. package/dist/p2p-sync/src/team-context-sync.js +0 -491
  113. package/dist/p2p-sync/src/team-context-sync.js.map +0 -1
  114. package/dist/scripts/merge-linear-duplicates.d.ts +0 -7
  115. package/dist/scripts/merge-linear-duplicates.d.ts.map +0 -1
  116. package/dist/scripts/merge-linear-duplicates.js +0 -126
  117. package/dist/scripts/merge-linear-duplicates.js.map +0 -1
  118. package/dist/src/analytics/api/analytics-api.d.ts +0 -24
  119. package/dist/src/analytics/api/analytics-api.d.ts.map +0 -1
  120. package/dist/src/analytics/api/analytics-api.js +0 -279
  121. package/dist/src/analytics/api/analytics-api.js.map +0 -1
  122. package/dist/src/analytics/core/analytics-service.d.ts +0 -23
  123. package/dist/src/analytics/core/analytics-service.d.ts.map +0 -1
  124. package/dist/src/analytics/core/analytics-service.js +0 -160
  125. package/dist/src/analytics/core/analytics-service.js.map +0 -1
  126. package/dist/src/analytics/index.d.ts +0 -12
  127. package/dist/src/analytics/index.d.ts.map +0 -1
  128. package/dist/src/analytics/index.js +0 -11
  129. package/dist/src/analytics/index.js.map +0 -1
  130. package/dist/src/analytics/queries/metrics-queries.d.ts +0 -11
  131. package/dist/src/analytics/queries/metrics-queries.d.ts.map +0 -1
  132. package/dist/src/analytics/queries/metrics-queries.js +0 -179
  133. package/dist/src/analytics/queries/metrics-queries.js.map +0 -1
  134. package/dist/src/analytics/types/metrics.d.ts +0 -60
  135. package/dist/src/analytics/types/metrics.d.ts.map +0 -1
  136. package/dist/src/analytics/types/metrics.js +0 -2
  137. package/dist/src/analytics/types/metrics.js.map +0 -1
  138. package/dist/src/beads/beads-task-store.d.ts +0 -117
  139. package/dist/src/beads/beads-task-store.d.ts.map +0 -1
  140. package/dist/src/beads/beads-task-store.js +0 -318
  141. package/dist/src/beads/beads-task-store.js.map +0 -1
  142. package/dist/src/beads/task-aware-context.d.ts +0 -103
  143. package/dist/src/beads/task-aware-context.d.ts.map +0 -1
  144. package/dist/src/beads/task-aware-context.js +0 -395
  145. package/dist/src/beads/task-aware-context.js.map +0 -1
  146. package/dist/src/beads-task-store.d.ts +0 -117
  147. package/dist/src/beads-task-store.d.ts.map +0 -1
  148. package/dist/src/beads-task-store.js +0 -318
  149. package/dist/src/beads-task-store.js.map +0 -1
  150. package/dist/src/cli/__tests__/index.test.d.ts +0 -5
  151. package/dist/src/cli/__tests__/index.test.d.ts.map +0 -1
  152. package/dist/src/cli/__tests__/index.test.js +0 -726
  153. package/dist/src/cli/__tests__/index.test.js.map +0 -1
  154. package/dist/src/cli/analytics-viewer.d.ts +0 -3
  155. package/dist/src/cli/analytics-viewer.d.ts.map +0 -1
  156. package/dist/src/cli/analytics-viewer.js +0 -89
  157. package/dist/src/cli/analytics-viewer.js.map +0 -1
  158. package/dist/src/cli/cli.d.ts +0 -7
  159. package/dist/src/cli/cli.d.ts.map +0 -1
  160. package/dist/src/cli/cli.js +0 -704
  161. package/dist/src/cli/cli.js.map +0 -1
  162. package/dist/src/cli/project-commands.d.ts +0 -8
  163. package/dist/src/cli/project-commands.d.ts.map +0 -1
  164. package/dist/src/cli/project-commands.js +0 -212
  165. package/dist/src/cli/project-commands.js.map +0 -1
  166. package/dist/src/cli.d.ts +0 -7
  167. package/dist/src/cli.d.ts.map +0 -1
  168. package/dist/src/cli.js +0 -73
  169. package/dist/src/cli.js.map +0 -1
  170. package/dist/src/core/context/__tests__/frame-manager.test.d.ts +0 -5
  171. package/dist/src/core/context/__tests__/frame-manager.test.d.ts.map +0 -1
  172. package/dist/src/core/context/__tests__/frame-manager.test.js +0 -892
  173. package/dist/src/core/context/__tests__/frame-manager.test.js.map +0 -1
  174. package/dist/src/core/error-handler.d.ts +0 -46
  175. package/dist/src/core/error-handler.d.ts.map +0 -1
  176. package/dist/src/core/error-handler.js +0 -212
  177. package/dist/src/core/error-handler.js.map +0 -1
  178. package/dist/src/core/errors/__tests__/error-handling.test.d.ts +0 -5
  179. package/dist/src/core/errors/__tests__/error-handling.test.d.ts.map +0 -1
  180. package/dist/src/core/errors/__tests__/error-handling.test.js +0 -239
  181. package/dist/src/core/errors/__tests__/error-handling.test.js.map +0 -1
  182. package/dist/src/core/frame-manager.d.ts +0 -106
  183. package/dist/src/core/frame-manager.d.ts.map +0 -1
  184. package/dist/src/core/frame-manager.js +0 -387
  185. package/dist/src/core/frame-manager.js.map +0 -1
  186. package/dist/src/core/logger.d.ts +0 -24
  187. package/dist/src/core/logger.d.ts.map +0 -1
  188. package/dist/src/core/logger.js +0 -121
  189. package/dist/src/core/logger.js.map +0 -1
  190. package/dist/src/core/logger.test.d.ts +0 -2
  191. package/dist/src/core/logger.test.d.ts.map +0 -1
  192. package/dist/src/core/logger.test.js +0 -31
  193. package/dist/src/core/logger.test.js.map +0 -1
  194. package/dist/src/core/progress-tracker.d.ts +0 -95
  195. package/dist/src/core/progress-tracker.d.ts.map +0 -1
  196. package/dist/src/core/progress-tracker.js +0 -178
  197. package/dist/src/core/progress-tracker.js.map +0 -1
  198. package/dist/src/core/project-manager.d.ts +0 -130
  199. package/dist/src/core/project-manager.d.ts.map +0 -1
  200. package/dist/src/core/project-manager.js +0 -582
  201. package/dist/src/core/project-manager.js.map +0 -1
  202. package/dist/src/core/update-checker.d.ts +0 -38
  203. package/dist/src/core/update-checker.d.ts.map +0 -1
  204. package/dist/src/core/update-checker.js +0 -156
  205. package/dist/src/core/update-checker.js.map +0 -1
  206. package/dist/src/error-handler.d.ts +0 -42
  207. package/dist/src/error-handler.d.ts.map +0 -1
  208. package/dist/src/error-handler.js +0 -155
  209. package/dist/src/error-handler.js.map +0 -1
  210. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts +0 -5
  211. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts.map +0 -1
  212. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js +0 -712
  213. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -1
  214. package/dist/src/frame-manager.d.ts +0 -106
  215. package/dist/src/frame-manager.d.ts.map +0 -1
  216. package/dist/src/frame-manager.js +0 -361
  217. package/dist/src/frame-manager.js.map +0 -1
  218. package/dist/src/integrations/browser-mcp.d.ts +0 -94
  219. package/dist/src/integrations/browser-mcp.d.ts.map +0 -1
  220. package/dist/src/integrations/browser-mcp.js +0 -431
  221. package/dist/src/integrations/browser-mcp.js.map +0 -1
  222. package/dist/src/integrations/linear/__tests__/auth.test.d.ts +0 -5
  223. package/dist/src/integrations/linear/__tests__/auth.test.d.ts.map +0 -1
  224. package/dist/src/integrations/linear/__tests__/auth.test.js +0 -517
  225. package/dist/src/integrations/linear/__tests__/auth.test.js.map +0 -1
  226. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts +0 -5
  227. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts.map +0 -1
  228. package/dist/src/integrations/linear/__tests__/sync-service.test.js +0 -700
  229. package/dist/src/integrations/linear/__tests__/sync-service.test.js.map +0 -1
  230. package/dist/src/integrations/linear-auth.d.ts +0 -99
  231. package/dist/src/integrations/linear-auth.d.ts.map +0 -1
  232. package/dist/src/integrations/linear-auth.js +0 -319
  233. package/dist/src/integrations/linear-auth.js.map +0 -1
  234. package/dist/src/integrations/linear-auto-sync.d.ts +0 -77
  235. package/dist/src/integrations/linear-auto-sync.d.ts.map +0 -1
  236. package/dist/src/integrations/linear-auto-sync.js +0 -268
  237. package/dist/src/integrations/linear-auto-sync.js.map +0 -1
  238. package/dist/src/integrations/linear-client.d.ts +0 -86
  239. package/dist/src/integrations/linear-client.d.ts.map +0 -1
  240. package/dist/src/integrations/linear-client.js +0 -277
  241. package/dist/src/integrations/linear-client.js.map +0 -1
  242. package/dist/src/integrations/linear-config.d.ts +0 -51
  243. package/dist/src/integrations/linear-config.d.ts.map +0 -1
  244. package/dist/src/integrations/linear-config.js +0 -103
  245. package/dist/src/integrations/linear-config.js.map +0 -1
  246. package/dist/src/integrations/linear-sync.d.ts +0 -97
  247. package/dist/src/integrations/linear-sync.d.ts.map +0 -1
  248. package/dist/src/integrations/linear-sync.js +0 -391
  249. package/dist/src/integrations/linear-sync.js.map +0 -1
  250. package/dist/src/integrations/mcp/__tests__/server.test.d.ts +0 -5
  251. package/dist/src/integrations/mcp/__tests__/server.test.d.ts.map +0 -1
  252. package/dist/src/integrations/mcp/__tests__/server.test.js +0 -790
  253. package/dist/src/integrations/mcp/__tests__/server.test.js.map +0 -1
  254. package/dist/src/logger.d.ts +0 -24
  255. package/dist/src/logger.d.ts.map +0 -1
  256. package/dist/src/logger.js +0 -120
  257. package/dist/src/logger.js.map +0 -1
  258. package/dist/src/mcp/mcp-server.d.ts +0 -40
  259. package/dist/src/mcp/mcp-server.d.ts.map +0 -1
  260. package/dist/src/mcp/mcp-server.js +0 -828
  261. package/dist/src/mcp/mcp-server.js.map +0 -1
  262. package/dist/src/mcp-server.d.ts +0 -32
  263. package/dist/src/mcp-server.d.ts.map +0 -1
  264. package/dist/src/mcp-server.js +0 -441
  265. package/dist/src/mcp-server.js.map +0 -1
  266. package/dist/src/pebbles/pebbles-task-store.d.ts +0 -117
  267. package/dist/src/pebbles/pebbles-task-store.d.ts.map +0 -1
  268. package/dist/src/pebbles/pebbles-task-store.js +0 -335
  269. package/dist/src/pebbles/pebbles-task-store.js.map +0 -1
  270. package/dist/src/pebbles/task-aware-context.d.ts +0 -103
  271. package/dist/src/pebbles/task-aware-context.d.ts.map +0 -1
  272. package/dist/src/pebbles/task-aware-context.js +0 -412
  273. package/dist/src/pebbles/task-aware-context.js.map +0 -1
  274. package/dist/src/railway/index.d.ts +0 -7
  275. package/dist/src/railway/index.d.ts.map +0 -1
  276. package/dist/src/railway/index.js +0 -401
  277. package/dist/src/railway/index.js.map +0 -1
  278. package/dist/src/runway/auth/auth-middleware.d.ts +0 -66
  279. package/dist/src/runway/auth/auth-middleware.d.ts.map +0 -1
  280. package/dist/src/runway/auth/auth-middleware.js +0 -337
  281. package/dist/src/runway/auth/auth-middleware.js.map +0 -1
  282. package/dist/src/runway/server/runway-mcp-server.d.ts +0 -46
  283. package/dist/src/runway/server/runway-mcp-server.d.ts.map +0 -1
  284. package/dist/src/runway/server/runway-mcp-server.js +0 -601
  285. package/dist/src/runway/server/runway-mcp-server.js.map +0 -1
  286. package/dist/src/runway.bak/auth/auth-middleware.d.ts +0 -66
  287. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +0 -1
  288. package/dist/src/runway.bak/auth/auth-middleware.js +0 -337
  289. package/dist/src/runway.bak/auth/auth-middleware.js.map +0 -1
  290. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +0 -46
  291. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +0 -1
  292. package/dist/src/runway.bak/server/runway-mcp-server.js +0 -601
  293. package/dist/src/runway.bak/server/runway-mcp-server.js.map +0 -1
  294. package/dist/src/task-aware-context.d.ts +0 -103
  295. package/dist/src/task-aware-context.d.ts.map +0 -1
  296. package/dist/src/task-aware-context.js +0 -395
  297. package/dist/src/task-aware-context.js.map +0 -1
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Types for LLM-Driven Context Retrieval System
3
+ * Implements intelligent context selection based on compressed summaries
4
+ */
5
+ import { Frame, Anchor, Event } from '../context/frame-manager.js';
6
+ import { StackMemoryQuery } from '../query/query-parser.js';
7
+ /**
8
+ * Compressed summary of recent session activity
9
+ */
10
+ export interface RecentSessionSummary {
11
+ /** Recent frames with their key attributes */
12
+ frames: FrameSummary[];
13
+ /** Dominant operations performed */
14
+ dominantOperations: OperationSummary[];
15
+ /** Files that were touched */
16
+ filesTouched: FileSummary[];
17
+ /** Errors encountered */
18
+ errorsEncountered: ErrorSummary[];
19
+ /** Time range covered */
20
+ timeRange: {
21
+ start: number;
22
+ end: number;
23
+ durationMs: number;
24
+ };
25
+ }
26
+ export interface FrameSummary {
27
+ frameId: string;
28
+ name: string;
29
+ type: string;
30
+ depth: number;
31
+ eventCount: number;
32
+ anchorCount: number;
33
+ score: number;
34
+ createdAt: number;
35
+ closedAt?: number;
36
+ digestPreview?: string;
37
+ }
38
+ export interface OperationSummary {
39
+ operation: string;
40
+ count: number;
41
+ lastOccurrence: number;
42
+ successRate: number;
43
+ }
44
+ export interface FileSummary {
45
+ path: string;
46
+ operationCount: number;
47
+ lastModified: number;
48
+ operations: string[];
49
+ }
50
+ export interface ErrorSummary {
51
+ errorType: string;
52
+ message: string;
53
+ count: number;
54
+ lastOccurrence: number;
55
+ resolved: boolean;
56
+ }
57
+ /**
58
+ * Historical patterns extracted from memory
59
+ */
60
+ export interface HistoricalPatterns {
61
+ /** Frame counts by topic */
62
+ topicFrameCounts: Record<string, number>;
63
+ /** Key decisions made */
64
+ keyDecisions: DecisionSummary[];
65
+ /** Recurring issues */
66
+ recurringIssues: IssueSummary[];
67
+ /** Common tool sequences */
68
+ commonToolSequences: ToolSequence[];
69
+ /** Time-based activity patterns */
70
+ activityPatterns: ActivityPattern[];
71
+ }
72
+ export interface DecisionSummary {
73
+ id: string;
74
+ text: string;
75
+ frameId: string;
76
+ timestamp: number;
77
+ impact: 'low' | 'medium' | 'high';
78
+ relatedFiles?: string[];
79
+ }
80
+ export interface IssueSummary {
81
+ issueType: string;
82
+ occurrenceCount: number;
83
+ lastSeen: number;
84
+ resolutionRate: number;
85
+ commonFixes?: string[];
86
+ }
87
+ export interface ToolSequence {
88
+ pattern: string;
89
+ frequency: number;
90
+ avgDuration: number;
91
+ successRate: number;
92
+ }
93
+ export interface ActivityPattern {
94
+ periodType: 'hourly' | 'daily' | 'weekly';
95
+ peakPeriods: string[];
96
+ avgEventsPerPeriod: number;
97
+ }
98
+ /**
99
+ * Queryable indices for fast retrieval
100
+ */
101
+ export interface QueryableIndices {
102
+ /** Index by error type */
103
+ byErrorType: Record<string, string[]>;
104
+ /** Index by timeframe */
105
+ byTimeframe: Record<string, string[]>;
106
+ /** Index by contributor */
107
+ byContributor: Record<string, string[]>;
108
+ /** Index by topic */
109
+ byTopic: Record<string, string[]>;
110
+ /** Index by file */
111
+ byFile: Record<string, string[]>;
112
+ }
113
+ /**
114
+ * Complete compressed summary for LLM analysis
115
+ */
116
+ export interface CompressedSummary {
117
+ /** Project identifier */
118
+ projectId: string;
119
+ /** Generation timestamp */
120
+ generatedAt: number;
121
+ /** Recent session summary */
122
+ recentSession: RecentSessionSummary;
123
+ /** Historical patterns */
124
+ historicalPatterns: HistoricalPatterns;
125
+ /** Queryable indices */
126
+ queryableIndices: QueryableIndices;
127
+ /** Summary statistics */
128
+ stats: SummaryStats;
129
+ }
130
+ export interface SummaryStats {
131
+ totalFrames: number;
132
+ totalEvents: number;
133
+ totalAnchors: number;
134
+ totalDecisions: number;
135
+ oldestFrame: number;
136
+ newestFrame: number;
137
+ avgFrameDepth: number;
138
+ avgEventsPerFrame: number;
139
+ }
140
+ /**
141
+ * LLM analysis request
142
+ */
143
+ export interface LLMAnalysisRequest {
144
+ /** Current user query */
145
+ currentQuery: string;
146
+ /** Parsed structured query */
147
+ parsedQuery?: StackMemoryQuery;
148
+ /** Compressed summary */
149
+ compressedSummary: CompressedSummary;
150
+ /** Token budget for context */
151
+ tokenBudget: number;
152
+ /** Optional hints for retrieval */
153
+ hints?: RetrievalHints;
154
+ }
155
+ export interface RetrievalHints {
156
+ /** Prefer recent frames */
157
+ preferRecent?: boolean;
158
+ /** Focus on specific topics */
159
+ focusTopics?: string[];
160
+ /** Include error context */
161
+ includeErrors?: boolean;
162
+ /** Include decision history */
163
+ includeDecisions?: boolean;
164
+ /** Minimum relevance score */
165
+ minRelevance?: number;
166
+ }
167
+ /**
168
+ * LLM analysis response
169
+ */
170
+ export interface LLMAnalysisResponse {
171
+ /** Reasoning for the retrieval decision (auditable) */
172
+ reasoning: string;
173
+ /** Frames to retrieve with priority order */
174
+ framesToRetrieve: FrameRetrievalPlan[];
175
+ /** Confidence score (0.0 - 1.0) */
176
+ confidenceScore: number;
177
+ /** Additional context recommendations */
178
+ recommendations: ContextRecommendation[];
179
+ /** Analysis metadata */
180
+ metadata: AnalysisMetadata;
181
+ }
182
+ export interface FrameRetrievalPlan {
183
+ frameId: string;
184
+ priority: number;
185
+ reason: string;
186
+ includeEvents: boolean;
187
+ includeAnchors: boolean;
188
+ includeDigest: boolean;
189
+ estimatedTokens: number;
190
+ }
191
+ export interface ContextRecommendation {
192
+ type: 'include' | 'exclude' | 'summarize';
193
+ target: string;
194
+ reason: string;
195
+ impact: 'low' | 'medium' | 'high';
196
+ }
197
+ export interface AnalysisMetadata {
198
+ analysisTimeMs: number;
199
+ summaryTokens: number;
200
+ queryComplexity: 'simple' | 'moderate' | 'complex';
201
+ matchedPatterns: string[];
202
+ fallbackUsed: boolean;
203
+ }
204
+ /**
205
+ * Retrieved context result
206
+ */
207
+ export interface RetrievedContext {
208
+ /** Assembled context string */
209
+ context: string;
210
+ /** Frames included */
211
+ frames: Frame[];
212
+ /** Anchors included */
213
+ anchors: Anchor[];
214
+ /** Events included */
215
+ events: Event[];
216
+ /** LLM analysis that drove retrieval */
217
+ analysis: LLMAnalysisResponse;
218
+ /** Token usage */
219
+ tokenUsage: {
220
+ budget: number;
221
+ used: number;
222
+ remaining: number;
223
+ };
224
+ /** Retrieval metadata */
225
+ metadata: RetrievalMetadata;
226
+ }
227
+ export interface RetrievalMetadata {
228
+ retrievalTimeMs: number;
229
+ cacheHit: boolean;
230
+ framesScanned: number;
231
+ framesIncluded: number;
232
+ compressionRatio: number;
233
+ }
234
+ /**
235
+ * Configuration for the retrieval system
236
+ */
237
+ export interface RetrievalConfig {
238
+ /** Maximum frames to include in summary */
239
+ maxSummaryFrames: number;
240
+ /** Default token budget */
241
+ defaultTokenBudget: number;
242
+ /** Cache TTL in seconds */
243
+ cacheTtlSeconds: number;
244
+ /** Minimum confidence to use LLM suggestions */
245
+ minConfidenceThreshold: number;
246
+ /** Enable fallback to heuristic retrieval */
247
+ enableFallback: boolean;
248
+ /** LLM provider configuration */
249
+ llmConfig: {
250
+ provider: 'anthropic' | 'openai' | 'local';
251
+ model: string;
252
+ maxTokens: number;
253
+ temperature: number;
254
+ };
255
+ }
256
+ export declare const DEFAULT_RETRIEVAL_CONFIG: RetrievalConfig;
257
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/retrieval/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Types for LLM-Driven Context Retrieval System
3
+ * Implements intelligent context selection based on compressed summaries
4
+ */
5
+ export const DEFAULT_RETRIEVAL_CONFIG = {
6
+ maxSummaryFrames: 15,
7
+ defaultTokenBudget: 8000,
8
+ cacheTtlSeconds: 300,
9
+ minConfidenceThreshold: 0.6,
10
+ enableFallback: true,
11
+ llmConfig: {
12
+ provider: 'anthropic',
13
+ model: 'claude-3-haiku-20240307',
14
+ maxTokens: 1024,
15
+ temperature: 0.3,
16
+ },
17
+ };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/retrieval/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoRH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,GAAG;IACpB,sBAAsB,EAAE,GAAG;IAC3B,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE;QACT,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,yBAAyB;QAChC,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,GAAG;KACjB;CACF,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Trace Detection and Bundling System
3
+ * Identifies chains of related tool calls and bundles them as single traces
4
+ */
5
+ import { ToolCall, Trace, TraceType, TraceBoundaryConfig } from './types';
6
+ import { ConfigManager } from '../config/config-manager';
7
+ import Database from 'better-sqlite3';
8
+ export declare class TraceDetector {
9
+ private config;
10
+ private activeTrace;
11
+ private lastToolTime;
12
+ private traces;
13
+ private configManager;
14
+ private traceStore?;
15
+ constructor(config?: Partial<TraceBoundaryConfig>, configManager?: ConfigManager, db?: Database.Database);
16
+ /**
17
+ * Load traces from the database
18
+ */
19
+ private loadTracesFromStore;
20
+ /**
21
+ * Add a tool call and check if it belongs to current trace
22
+ */
23
+ addToolCall(tool: ToolCall): void;
24
+ /**
25
+ * Determine if a tool call should start a new trace
26
+ */
27
+ private shouldStartNewTrace;
28
+ /**
29
+ * Check if a tool is attempting to fix an error from previous tool
30
+ */
31
+ private isFixAttempt;
32
+ /**
33
+ * Finalize current trace and add to traces list
34
+ */
35
+ private finalizeTrace;
36
+ /**
37
+ * Create a trace from a sequence of tool calls
38
+ */
39
+ private createTrace;
40
+ /**
41
+ * Detect the type of trace based on tool patterns
42
+ */
43
+ private detectTraceType;
44
+ /**
45
+ * Check if tool sequence matches a pattern
46
+ */
47
+ private matchesPattern;
48
+ /**
49
+ * Extract metadata from tool calls
50
+ */
51
+ private extractMetadata;
52
+ /**
53
+ * Calculate importance score for a trace
54
+ */
55
+ private calculateTraceScore;
56
+ /**
57
+ * Check if a tool call represents a permanent change
58
+ */
59
+ private isPermanentChange;
60
+ /**
61
+ * Generate a summary for the trace
62
+ */
63
+ private generateSummary;
64
+ /**
65
+ * Compress a trace for long-term storage
66
+ */
67
+ private compressTrace;
68
+ /**
69
+ * Get directory from file path
70
+ */
71
+ private getDirectory;
72
+ /**
73
+ * Flush any pending trace
74
+ */
75
+ flush(): void;
76
+ /**
77
+ * Get all detected traces
78
+ */
79
+ getTraces(): Trace[];
80
+ /**
81
+ * Get traces by type
82
+ */
83
+ getTracesByType(type: TraceType): Trace[];
84
+ /**
85
+ * Get high-importance traces
86
+ */
87
+ getHighImportanceTraces(threshold?: number): Trace[];
88
+ /**
89
+ * Compress old traces
90
+ */
91
+ compressOldTraces(ageHours?: number): number;
92
+ /**
93
+ * Export traces for analysis
94
+ */
95
+ exportTraces(): string;
96
+ /**
97
+ * Get statistics about traces
98
+ */
99
+ getStatistics(): {
100
+ totalTraces: number;
101
+ tracesByType: Record<string, number>;
102
+ averageScore: number;
103
+ averageLength: number;
104
+ compressedCount: number;
105
+ highImportanceCount: number;
106
+ };
107
+ }
108
+ //# sourceMappingURL=trace-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-detector.d.ts","sourceRoot":"","sources":["../../../../src/core/trace/trace-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,mBAAmB,EAOpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAa;gBAG9B,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,EACzC,aAAa,CAAC,EAAE,aAAa,EAC7B,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAYxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAwBjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA8CvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuCvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;IAIpB;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE;IAIzC;;OAEG;IACH,uBAAuB,CAAC,SAAS,GAAE,MAAY,GAAG,KAAK,EAAE;IAIzD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,GAAE,MAAW,GAAG,MAAM;IAiBhD;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,aAAa;;sBAGW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;CAuC/C"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Demo script to showcase Trace Detection functionality
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=trace-detector.demo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-detector.demo.d.ts","sourceRoot":"","sources":["../../../../src/core/trace/trace-detector.demo.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Demo script to showcase Trace Detection functionality
3
+ */
4
+ import { TraceDetector } from './trace-detector';
5
+ import { v4 as uuidv4 } from 'uuid';
6
+ // Create a new trace detector
7
+ const detector = new TraceDetector();
8
+ console.log('🔍 Trace Detection Demo\n');
9
+ console.log('='.repeat(50));
10
+ // Simulate a search-driven modification trace
11
+ console.log('\n📋 Simulating Search-Driven Modification:');
12
+ const baseTime = Date.now();
13
+ const searchDrivenTools = [
14
+ {
15
+ id: uuidv4(),
16
+ tool: 'search',
17
+ timestamp: baseTime,
18
+ arguments: { query: 'authentication bug' },
19
+ },
20
+ {
21
+ id: uuidv4(),
22
+ tool: 'grep',
23
+ timestamp: baseTime + 1000,
24
+ arguments: { pattern: 'auth.*error' },
25
+ },
26
+ {
27
+ id: uuidv4(),
28
+ tool: 'read',
29
+ timestamp: baseTime + 2000,
30
+ filesAffected: ['/src/auth/login.ts'],
31
+ },
32
+ {
33
+ id: uuidv4(),
34
+ tool: 'edit',
35
+ timestamp: baseTime + 3000,
36
+ filesAffected: ['/src/auth/login.ts'],
37
+ },
38
+ ];
39
+ searchDrivenTools.forEach(tool => {
40
+ detector.addToolCall(tool);
41
+ console.log(` Added: ${tool.tool}`);
42
+ });
43
+ // Simulate an error recovery trace (separate due to time gap)
44
+ console.log('\n🔧 Simulating Error Recovery:');
45
+ const errorTime = baseTime + 40000; // 40 seconds later
46
+ const errorRecoveryTools = [
47
+ {
48
+ id: uuidv4(),
49
+ tool: 'bash',
50
+ timestamp: errorTime,
51
+ arguments: { command: 'npm test' },
52
+ error: 'Test failed: TypeError',
53
+ },
54
+ {
55
+ id: uuidv4(),
56
+ tool: 'edit',
57
+ timestamp: errorTime + 1000,
58
+ filesAffected: ['/src/utils/validator.ts'],
59
+ },
60
+ {
61
+ id: uuidv4(),
62
+ tool: 'bash',
63
+ timestamp: errorTime + 2000,
64
+ arguments: { command: 'npm test' },
65
+ result: 'All tests passing',
66
+ },
67
+ ];
68
+ errorRecoveryTools.forEach(tool => {
69
+ detector.addToolCall(tool);
70
+ console.log(` Added: ${tool.tool}${tool.error ? ' (with error)' : ''}`);
71
+ });
72
+ // Simulate a feature implementation trace
73
+ console.log('\n✨ Simulating Feature Implementation:');
74
+ const featureTime = baseTime + 80000; // 80 seconds later
75
+ const featureTools = [
76
+ {
77
+ id: uuidv4(),
78
+ tool: 'write',
79
+ timestamp: featureTime,
80
+ filesAffected: ['/src/components/Dashboard.tsx'],
81
+ },
82
+ {
83
+ id: uuidv4(),
84
+ tool: 'edit',
85
+ timestamp: featureTime + 1000,
86
+ filesAffected: ['/src/components/Dashboard.tsx'],
87
+ },
88
+ {
89
+ id: uuidv4(),
90
+ tool: 'test',
91
+ timestamp: featureTime + 2000,
92
+ arguments: { file: 'Dashboard.test.tsx' },
93
+ },
94
+ ];
95
+ featureTools.forEach(tool => {
96
+ detector.addToolCall(tool);
97
+ console.log(` Added: ${tool.tool}`);
98
+ });
99
+ // Flush any pending traces
100
+ detector.flush();
101
+ // Get statistics
102
+ console.log('\n📊 Trace Statistics:');
103
+ console.log('='.repeat(50));
104
+ const stats = detector.getStatistics();
105
+ console.log(`Total Traces: ${stats.totalTraces}`);
106
+ console.log(`Average Score: ${stats.averageScore.toFixed(2)}`);
107
+ console.log(`Average Length: ${stats.averageLength.toFixed(1)} tools`);
108
+ console.log(`High Importance (>0.7): ${stats.highImportanceCount}`);
109
+ console.log('\nTrace Types:');
110
+ Object.entries(stats.tracesByType).forEach(([type, count]) => {
111
+ console.log(` ${type}: ${count}`);
112
+ });
113
+ // Display all traces
114
+ console.log('\n📝 Detected Traces:');
115
+ console.log('='.repeat(50));
116
+ const traces = detector.getTraces();
117
+ traces.forEach((trace, index) => {
118
+ console.log(`\nTrace ${index + 1}:`);
119
+ console.log(` Type: ${trace.type}`);
120
+ console.log(` Score: ${trace.score.toFixed(2)}`);
121
+ console.log(` Tools: ${trace.tools.map(t => t.tool).join(' → ')}`);
122
+ console.log(` Summary: ${trace.summary}`);
123
+ console.log(` Duration: ${((trace.metadata.endTime - trace.metadata.startTime) / 1000).toFixed(1)}s`);
124
+ if (trace.metadata.filesModified.length > 0) {
125
+ console.log(` Files Modified: ${trace.metadata.filesModified.join(', ')}`);
126
+ }
127
+ if (trace.metadata.errorsEncountered.length > 0) {
128
+ console.log(` Errors: ${trace.metadata.errorsEncountered.join(', ')}`);
129
+ }
130
+ if (trace.metadata.causalChain) {
131
+ console.log(` ✓ Causal Chain Detected (error→fix→verify)`);
132
+ }
133
+ });
134
+ // Test high-importance trace filtering
135
+ console.log('\n⭐ High Importance Traces (score > 0.3):');
136
+ const highImportance = detector.getHighImportanceTraces(0.3);
137
+ highImportance.forEach(trace => {
138
+ console.log(` [${trace.type}] Score: ${trace.score.toFixed(2)} - ${trace.summary}`);
139
+ });
140
+ // Export traces as JSON
141
+ console.log('\n💾 Exporting traces to JSON...');
142
+ const exported = detector.exportTraces();
143
+ console.log(`Exported ${exported.length} characters of JSON data`);
144
+ console.log('\n✅ Demo complete!');
145
+ //# sourceMappingURL=trace-detector.demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-detector.demo.js","sourceRoot":"","sources":["../../../../src/core/trace/trace-detector.demo.ts"],"names":[],"mappings":"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"}