@stackmemoryai/stackmemory 0.2.7 → 0.2.9

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 (346) 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/digest/hybrid-digest-generator.d.ts +76 -0
  41. package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +1 -0
  42. package/dist/src/core/digest/hybrid-digest-generator.js +629 -0
  43. package/dist/src/core/digest/hybrid-digest-generator.js.map +1 -0
  44. package/dist/src/core/digest/index.d.ts +7 -0
  45. package/dist/src/core/digest/index.d.ts.map +1 -0
  46. package/dist/src/core/digest/index.js +7 -0
  47. package/dist/src/core/digest/index.js.map +1 -0
  48. package/dist/src/core/digest/types.d.ts +154 -0
  49. package/dist/src/core/digest/types.d.ts.map +1 -0
  50. package/dist/src/core/digest/types.js +18 -0
  51. package/dist/src/core/digest/types.js.map +1 -0
  52. package/dist/src/core/monitoring/logger.d.ts +2 -2
  53. package/dist/src/core/monitoring/logger.d.ts.map +1 -1
  54. package/dist/src/core/monitoring/logger.js +10 -5
  55. package/dist/src/core/monitoring/logger.js.map +1 -1
  56. package/dist/src/core/monitoring/metrics.d.ts +3 -0
  57. package/dist/src/core/monitoring/metrics.d.ts.map +1 -1
  58. package/dist/src/core/monitoring/metrics.js +142 -3
  59. package/dist/src/core/monitoring/metrics.js.map +1 -1
  60. package/dist/src/core/persistence/postgres-adapter.d.ts +31 -0
  61. package/dist/src/core/persistence/postgres-adapter.d.ts.map +1 -0
  62. package/dist/src/core/persistence/postgres-adapter.js +316 -0
  63. package/dist/src/core/persistence/postgres-adapter.js.map +1 -0
  64. package/dist/src/core/query/query-parser.d.ts +104 -0
  65. package/dist/src/core/query/query-parser.d.ts.map +1 -0
  66. package/dist/src/core/query/query-parser.js +347 -0
  67. package/dist/src/core/query/query-parser.js.map +1 -0
  68. package/dist/src/core/retrieval/index.d.ts +8 -0
  69. package/dist/src/core/retrieval/index.d.ts.map +1 -0
  70. package/dist/src/core/retrieval/index.js +8 -0
  71. package/dist/src/core/retrieval/index.js.map +1 -0
  72. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +71 -0
  73. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -0
  74. package/dist/src/core/retrieval/llm-context-retrieval.js +545 -0
  75. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -0
  76. package/dist/src/core/retrieval/summary-generator.d.ts +63 -0
  77. package/dist/src/core/retrieval/summary-generator.d.ts.map +1 -0
  78. package/dist/src/core/retrieval/summary-generator.js +622 -0
  79. package/dist/src/core/retrieval/summary-generator.js.map +1 -0
  80. package/dist/src/core/retrieval/types.d.ts +257 -0
  81. package/dist/src/core/retrieval/types.d.ts.map +1 -0
  82. package/dist/src/core/retrieval/types.js +18 -0
  83. package/dist/src/core/retrieval/types.js.map +1 -0
  84. package/dist/src/core/trace/trace-detector.d.ts +108 -0
  85. package/dist/src/core/trace/trace-detector.d.ts.map +1 -0
  86. package/dist/src/core/trace/trace-detector.demo.d.ts +5 -0
  87. package/dist/src/core/trace/trace-detector.demo.d.ts.map +1 -0
  88. package/dist/src/core/trace/trace-detector.demo.js +145 -0
  89. package/dist/src/core/trace/trace-detector.demo.js.map +1 -0
  90. package/dist/src/core/trace/trace-detector.js +425 -0
  91. package/dist/src/core/trace/trace-detector.js.map +1 -0
  92. package/dist/src/core/trace/trace-store.d.ts +60 -0
  93. package/dist/src/core/trace/trace-store.d.ts.map +1 -0
  94. package/dist/src/core/trace/trace-store.js +323 -0
  95. package/dist/src/core/trace/trace-store.js.map +1 -0
  96. package/dist/src/core/trace/types.d.ts +81 -0
  97. package/dist/src/core/trace/types.d.ts.map +1 -0
  98. package/dist/src/core/trace/types.js +70 -0
  99. package/dist/src/core/trace/types.js.map +1 -0
  100. package/dist/src/core/types.d.ts +35 -0
  101. package/dist/src/core/types.d.ts.map +1 -0
  102. package/dist/src/core/types.js +2 -0
  103. package/dist/src/core/types.js.map +1 -0
  104. package/dist/src/integrations/linear/sync-manager.d.ts +76 -0
  105. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -0
  106. package/dist/src/integrations/linear/sync-manager.js +223 -0
  107. package/dist/src/integrations/linear/sync-manager.js.map +1 -0
  108. package/dist/src/integrations/mcp/server.d.ts +8 -0
  109. package/dist/src/integrations/mcp/server.d.ts.map +1 -1
  110. package/dist/src/integrations/mcp/server.js +369 -17
  111. package/dist/src/integrations/mcp/server.js.map +1 -1
  112. package/dist/src/integrations/mcp/trace-test.d.ts +5 -0
  113. package/dist/src/integrations/mcp/trace-test.d.ts.map +1 -0
  114. package/dist/src/integrations/mcp/trace-test.js +54 -0
  115. package/dist/src/integrations/mcp/trace-test.js.map +1 -0
  116. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts +48 -0
  117. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts.map +1 -0
  118. package/dist/src/integrations/pg-aiguide/embedding-provider.js +190 -0
  119. package/dist/src/integrations/pg-aiguide/embedding-provider.js.map +1 -0
  120. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts +34 -0
  121. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +1 -0
  122. package/dist/src/integrations/pg-aiguide/semantic-search.js +154 -0
  123. package/dist/src/integrations/pg-aiguide/semantic-search.js.map +1 -0
  124. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts +44 -0
  125. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts.map +1 -0
  126. package/dist/src/integrations/pg-aiguide/timescale-analytics.js +215 -0
  127. package/dist/src/integrations/pg-aiguide/timescale-analytics.js.map +1 -0
  128. package/dist/src/models/user.model.d.ts +55 -0
  129. package/dist/src/models/user.model.d.ts.map +1 -0
  130. package/dist/src/models/user.model.js +263 -0
  131. package/dist/src/models/user.model.js.map +1 -0
  132. package/dist/src/servers/production/auth-middleware.d.ts +7 -0
  133. package/dist/src/servers/production/auth-middleware.d.ts.map +1 -1
  134. package/dist/src/servers/production/auth-middleware.js +201 -26
  135. package/dist/src/servers/production/auth-middleware.js.map +1 -1
  136. package/dist/src/servers/railway/index.js.map +1 -1
  137. package/dist/src/services/config-service.d.ts +1 -1
  138. package/dist/src/services/config-service.d.ts.map +1 -1
  139. package/dist/src/services/config-service.js.map +1 -1
  140. package/dist/src/types/task.d.ts +11 -1
  141. package/dist/src/types/task.d.ts.map +1 -1
  142. package/dist/src/utils/logger.d.ts +4 -4
  143. package/dist/src/utils/logger.d.ts.map +1 -1
  144. package/dist/src/utils/logger.js.map +1 -1
  145. package/package.json +14 -8
  146. package/dist/attention-scoring/src/attention-tracker.d.ts +0 -79
  147. package/dist/attention-scoring/src/attention-tracker.d.ts.map +0 -1
  148. package/dist/attention-scoring/src/attention-tracker.js +0 -488
  149. package/dist/attention-scoring/src/attention-tracker.js.map +0 -1
  150. package/dist/attention-scoring/src/mcp-integration.d.ts +0 -56
  151. package/dist/attention-scoring/src/mcp-integration.d.ts.map +0 -1
  152. package/dist/attention-scoring/src/mcp-integration.js +0 -369
  153. package/dist/attention-scoring/src/mcp-integration.js.map +0 -1
  154. package/dist/index.js +0 -382
  155. package/dist/p2p-sync/src/p2p-sync.d.ts +0 -81
  156. package/dist/p2p-sync/src/p2p-sync.d.ts.map +0 -1
  157. package/dist/p2p-sync/src/p2p-sync.js +0 -457
  158. package/dist/p2p-sync/src/p2p-sync.js.map +0 -1
  159. package/dist/p2p-sync/src/team-context-sync.d.ts +0 -99
  160. package/dist/p2p-sync/src/team-context-sync.d.ts.map +0 -1
  161. package/dist/p2p-sync/src/team-context-sync.js +0 -491
  162. package/dist/p2p-sync/src/team-context-sync.js.map +0 -1
  163. package/dist/scripts/merge-linear-duplicates.d.ts +0 -7
  164. package/dist/scripts/merge-linear-duplicates.d.ts.map +0 -1
  165. package/dist/scripts/merge-linear-duplicates.js +0 -126
  166. package/dist/scripts/merge-linear-duplicates.js.map +0 -1
  167. package/dist/src/analytics/api/analytics-api.d.ts +0 -24
  168. package/dist/src/analytics/api/analytics-api.d.ts.map +0 -1
  169. package/dist/src/analytics/api/analytics-api.js +0 -279
  170. package/dist/src/analytics/api/analytics-api.js.map +0 -1
  171. package/dist/src/analytics/core/analytics-service.d.ts +0 -23
  172. package/dist/src/analytics/core/analytics-service.d.ts.map +0 -1
  173. package/dist/src/analytics/core/analytics-service.js +0 -160
  174. package/dist/src/analytics/core/analytics-service.js.map +0 -1
  175. package/dist/src/analytics/index.d.ts +0 -12
  176. package/dist/src/analytics/index.d.ts.map +0 -1
  177. package/dist/src/analytics/index.js +0 -11
  178. package/dist/src/analytics/index.js.map +0 -1
  179. package/dist/src/analytics/queries/metrics-queries.d.ts +0 -11
  180. package/dist/src/analytics/queries/metrics-queries.d.ts.map +0 -1
  181. package/dist/src/analytics/queries/metrics-queries.js +0 -179
  182. package/dist/src/analytics/queries/metrics-queries.js.map +0 -1
  183. package/dist/src/analytics/types/metrics.d.ts +0 -60
  184. package/dist/src/analytics/types/metrics.d.ts.map +0 -1
  185. package/dist/src/analytics/types/metrics.js +0 -2
  186. package/dist/src/analytics/types/metrics.js.map +0 -1
  187. package/dist/src/beads/beads-task-store.d.ts +0 -117
  188. package/dist/src/beads/beads-task-store.d.ts.map +0 -1
  189. package/dist/src/beads/beads-task-store.js +0 -318
  190. package/dist/src/beads/beads-task-store.js.map +0 -1
  191. package/dist/src/beads/task-aware-context.d.ts +0 -103
  192. package/dist/src/beads/task-aware-context.d.ts.map +0 -1
  193. package/dist/src/beads/task-aware-context.js +0 -395
  194. package/dist/src/beads/task-aware-context.js.map +0 -1
  195. package/dist/src/beads-task-store.d.ts +0 -117
  196. package/dist/src/beads-task-store.d.ts.map +0 -1
  197. package/dist/src/beads-task-store.js +0 -318
  198. package/dist/src/beads-task-store.js.map +0 -1
  199. package/dist/src/cli/__tests__/index.test.d.ts +0 -5
  200. package/dist/src/cli/__tests__/index.test.d.ts.map +0 -1
  201. package/dist/src/cli/__tests__/index.test.js +0 -726
  202. package/dist/src/cli/__tests__/index.test.js.map +0 -1
  203. package/dist/src/cli/analytics-viewer.d.ts +0 -3
  204. package/dist/src/cli/analytics-viewer.d.ts.map +0 -1
  205. package/dist/src/cli/analytics-viewer.js +0 -89
  206. package/dist/src/cli/analytics-viewer.js.map +0 -1
  207. package/dist/src/cli/cli.d.ts +0 -7
  208. package/dist/src/cli/cli.d.ts.map +0 -1
  209. package/dist/src/cli/cli.js +0 -704
  210. package/dist/src/cli/cli.js.map +0 -1
  211. package/dist/src/cli/project-commands.d.ts +0 -8
  212. package/dist/src/cli/project-commands.d.ts.map +0 -1
  213. package/dist/src/cli/project-commands.js +0 -212
  214. package/dist/src/cli/project-commands.js.map +0 -1
  215. package/dist/src/cli.d.ts +0 -7
  216. package/dist/src/cli.d.ts.map +0 -1
  217. package/dist/src/cli.js +0 -73
  218. package/dist/src/cli.js.map +0 -1
  219. package/dist/src/core/context/__tests__/frame-manager.test.d.ts +0 -5
  220. package/dist/src/core/context/__tests__/frame-manager.test.d.ts.map +0 -1
  221. package/dist/src/core/context/__tests__/frame-manager.test.js +0 -892
  222. package/dist/src/core/context/__tests__/frame-manager.test.js.map +0 -1
  223. package/dist/src/core/error-handler.d.ts +0 -46
  224. package/dist/src/core/error-handler.d.ts.map +0 -1
  225. package/dist/src/core/error-handler.js +0 -212
  226. package/dist/src/core/error-handler.js.map +0 -1
  227. package/dist/src/core/errors/__tests__/error-handling.test.d.ts +0 -5
  228. package/dist/src/core/errors/__tests__/error-handling.test.d.ts.map +0 -1
  229. package/dist/src/core/errors/__tests__/error-handling.test.js +0 -239
  230. package/dist/src/core/errors/__tests__/error-handling.test.js.map +0 -1
  231. package/dist/src/core/frame-manager.d.ts +0 -106
  232. package/dist/src/core/frame-manager.d.ts.map +0 -1
  233. package/dist/src/core/frame-manager.js +0 -387
  234. package/dist/src/core/frame-manager.js.map +0 -1
  235. package/dist/src/core/logger.d.ts +0 -24
  236. package/dist/src/core/logger.d.ts.map +0 -1
  237. package/dist/src/core/logger.js +0 -121
  238. package/dist/src/core/logger.js.map +0 -1
  239. package/dist/src/core/logger.test.d.ts +0 -2
  240. package/dist/src/core/logger.test.d.ts.map +0 -1
  241. package/dist/src/core/logger.test.js +0 -31
  242. package/dist/src/core/logger.test.js.map +0 -1
  243. package/dist/src/core/progress-tracker.d.ts +0 -95
  244. package/dist/src/core/progress-tracker.d.ts.map +0 -1
  245. package/dist/src/core/progress-tracker.js +0 -178
  246. package/dist/src/core/progress-tracker.js.map +0 -1
  247. package/dist/src/core/project-manager.d.ts +0 -130
  248. package/dist/src/core/project-manager.d.ts.map +0 -1
  249. package/dist/src/core/project-manager.js +0 -582
  250. package/dist/src/core/project-manager.js.map +0 -1
  251. package/dist/src/core/update-checker.d.ts +0 -38
  252. package/dist/src/core/update-checker.d.ts.map +0 -1
  253. package/dist/src/core/update-checker.js +0 -156
  254. package/dist/src/core/update-checker.js.map +0 -1
  255. package/dist/src/error-handler.d.ts +0 -42
  256. package/dist/src/error-handler.d.ts.map +0 -1
  257. package/dist/src/error-handler.js +0 -155
  258. package/dist/src/error-handler.js.map +0 -1
  259. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts +0 -5
  260. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.d.ts.map +0 -1
  261. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js +0 -712
  262. package/dist/src/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -1
  263. package/dist/src/frame-manager.d.ts +0 -106
  264. package/dist/src/frame-manager.d.ts.map +0 -1
  265. package/dist/src/frame-manager.js +0 -361
  266. package/dist/src/frame-manager.js.map +0 -1
  267. package/dist/src/integrations/browser-mcp.d.ts +0 -94
  268. package/dist/src/integrations/browser-mcp.d.ts.map +0 -1
  269. package/dist/src/integrations/browser-mcp.js +0 -431
  270. package/dist/src/integrations/browser-mcp.js.map +0 -1
  271. package/dist/src/integrations/linear/__tests__/auth.test.d.ts +0 -5
  272. package/dist/src/integrations/linear/__tests__/auth.test.d.ts.map +0 -1
  273. package/dist/src/integrations/linear/__tests__/auth.test.js +0 -517
  274. package/dist/src/integrations/linear/__tests__/auth.test.js.map +0 -1
  275. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts +0 -5
  276. package/dist/src/integrations/linear/__tests__/sync-service.test.d.ts.map +0 -1
  277. package/dist/src/integrations/linear/__tests__/sync-service.test.js +0 -700
  278. package/dist/src/integrations/linear/__tests__/sync-service.test.js.map +0 -1
  279. package/dist/src/integrations/linear-auth.d.ts +0 -99
  280. package/dist/src/integrations/linear-auth.d.ts.map +0 -1
  281. package/dist/src/integrations/linear-auth.js +0 -319
  282. package/dist/src/integrations/linear-auth.js.map +0 -1
  283. package/dist/src/integrations/linear-auto-sync.d.ts +0 -77
  284. package/dist/src/integrations/linear-auto-sync.d.ts.map +0 -1
  285. package/dist/src/integrations/linear-auto-sync.js +0 -268
  286. package/dist/src/integrations/linear-auto-sync.js.map +0 -1
  287. package/dist/src/integrations/linear-client.d.ts +0 -86
  288. package/dist/src/integrations/linear-client.d.ts.map +0 -1
  289. package/dist/src/integrations/linear-client.js +0 -277
  290. package/dist/src/integrations/linear-client.js.map +0 -1
  291. package/dist/src/integrations/linear-config.d.ts +0 -51
  292. package/dist/src/integrations/linear-config.d.ts.map +0 -1
  293. package/dist/src/integrations/linear-config.js +0 -103
  294. package/dist/src/integrations/linear-config.js.map +0 -1
  295. package/dist/src/integrations/linear-sync.d.ts +0 -97
  296. package/dist/src/integrations/linear-sync.d.ts.map +0 -1
  297. package/dist/src/integrations/linear-sync.js +0 -391
  298. package/dist/src/integrations/linear-sync.js.map +0 -1
  299. package/dist/src/integrations/mcp/__tests__/server.test.d.ts +0 -5
  300. package/dist/src/integrations/mcp/__tests__/server.test.d.ts.map +0 -1
  301. package/dist/src/integrations/mcp/__tests__/server.test.js +0 -790
  302. package/dist/src/integrations/mcp/__tests__/server.test.js.map +0 -1
  303. package/dist/src/logger.d.ts +0 -24
  304. package/dist/src/logger.d.ts.map +0 -1
  305. package/dist/src/logger.js +0 -120
  306. package/dist/src/logger.js.map +0 -1
  307. package/dist/src/mcp/mcp-server.d.ts +0 -40
  308. package/dist/src/mcp/mcp-server.d.ts.map +0 -1
  309. package/dist/src/mcp/mcp-server.js +0 -828
  310. package/dist/src/mcp/mcp-server.js.map +0 -1
  311. package/dist/src/mcp-server.d.ts +0 -32
  312. package/dist/src/mcp-server.d.ts.map +0 -1
  313. package/dist/src/mcp-server.js +0 -441
  314. package/dist/src/mcp-server.js.map +0 -1
  315. package/dist/src/pebbles/pebbles-task-store.d.ts +0 -117
  316. package/dist/src/pebbles/pebbles-task-store.d.ts.map +0 -1
  317. package/dist/src/pebbles/pebbles-task-store.js +0 -335
  318. package/dist/src/pebbles/pebbles-task-store.js.map +0 -1
  319. package/dist/src/pebbles/task-aware-context.d.ts +0 -103
  320. package/dist/src/pebbles/task-aware-context.d.ts.map +0 -1
  321. package/dist/src/pebbles/task-aware-context.js +0 -412
  322. package/dist/src/pebbles/task-aware-context.js.map +0 -1
  323. package/dist/src/railway/index.d.ts +0 -7
  324. package/dist/src/railway/index.d.ts.map +0 -1
  325. package/dist/src/railway/index.js +0 -401
  326. package/dist/src/railway/index.js.map +0 -1
  327. package/dist/src/runway/auth/auth-middleware.d.ts +0 -66
  328. package/dist/src/runway/auth/auth-middleware.d.ts.map +0 -1
  329. package/dist/src/runway/auth/auth-middleware.js +0 -337
  330. package/dist/src/runway/auth/auth-middleware.js.map +0 -1
  331. package/dist/src/runway/server/runway-mcp-server.d.ts +0 -46
  332. package/dist/src/runway/server/runway-mcp-server.d.ts.map +0 -1
  333. package/dist/src/runway/server/runway-mcp-server.js +0 -601
  334. package/dist/src/runway/server/runway-mcp-server.js.map +0 -1
  335. package/dist/src/runway.bak/auth/auth-middleware.d.ts +0 -66
  336. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +0 -1
  337. package/dist/src/runway.bak/auth/auth-middleware.js +0 -337
  338. package/dist/src/runway.bak/auth/auth-middleware.js.map +0 -1
  339. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +0 -46
  340. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +0 -1
  341. package/dist/src/runway.bak/server/runway-mcp-server.js +0 -601
  342. package/dist/src/runway.bak/server/runway-mcp-server.js.map +0 -1
  343. package/dist/src/task-aware-context.d.ts +0 -103
  344. package/dist/src/task-aware-context.d.ts.map +0 -1
  345. package/dist/src/task-aware-context.js +0 -395
  346. package/dist/src/task-aware-context.js.map +0 -1
@@ -0,0 +1,316 @@
1
+ import { Pool } from 'pg';
2
+ import { logger } from '../monitoring/logger.js';
3
+ export class PostgresAdapter {
4
+ pool;
5
+ config;
6
+ isInitialized = false;
7
+ constructor(config) {
8
+ this.config = {
9
+ ...config,
10
+ vectorDimensions: config.vectorDimensions || 1536, // OpenAI ada-002 dimensions
11
+ };
12
+ this.pool = new Pool(this.config);
13
+ }
14
+ async connect() {
15
+ try {
16
+ await this.pool.connect();
17
+ await this.initialize();
18
+ this.isInitialized = true;
19
+ logger.info('PostgreSQL connected successfully');
20
+ }
21
+ catch (error) {
22
+ logger.error('Failed to connect to PostgreSQL', error instanceof Error ? error : undefined);
23
+ throw error;
24
+ }
25
+ }
26
+ async disconnect() {
27
+ await this.pool.end();
28
+ this.isInitialized = false;
29
+ logger.info('PostgreSQL disconnected');
30
+ }
31
+ async execute(query, params) {
32
+ try {
33
+ const result = await this.pool.query(query, params);
34
+ return {
35
+ rows: result.rows,
36
+ rowCount: result.rowCount || 0,
37
+ fields: result.fields?.map((f) => ({
38
+ name: f.name,
39
+ type: f.dataTypeID.toString(),
40
+ })),
41
+ };
42
+ }
43
+ catch (error) {
44
+ logger.error('Query execution failed', error instanceof Error ? error : new Error(String(error)), { query });
45
+ throw error;
46
+ }
47
+ }
48
+ async beginTransaction() {
49
+ await this.execute('BEGIN');
50
+ }
51
+ async commit() {
52
+ await this.execute('COMMIT');
53
+ }
54
+ async rollback() {
55
+ await this.execute('ROLLBACK');
56
+ }
57
+ isConnected() {
58
+ return this.isInitialized;
59
+ }
60
+ async initialize() {
61
+ // Create base schema
62
+ await this.createBaseSchema();
63
+ // Enable extensions if configured
64
+ if (this.config.enableTimescale) {
65
+ await this.enableTimescale();
66
+ }
67
+ if (this.config.enablePgvector) {
68
+ await this.enablePgvector();
69
+ }
70
+ }
71
+ async createBaseSchema() {
72
+ const queries = [
73
+ // Projects table
74
+ `CREATE TABLE IF NOT EXISTS projects (
75
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
76
+ name VARCHAR(255) NOT NULL,
77
+ path TEXT NOT NULL,
78
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
79
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
80
+ metadata JSONB
81
+ )`,
82
+ // Sessions table
83
+ `CREATE TABLE IF NOT EXISTS sessions (
84
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
85
+ project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
86
+ branch VARCHAR(255),
87
+ started_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
88
+ ended_at TIMESTAMP,
89
+ metadata JSONB
90
+ )`,
91
+ // Traces table
92
+ `CREATE TABLE IF NOT EXISTS traces (
93
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
94
+ session_id UUID REFERENCES sessions(id) ON DELETE CASCADE,
95
+ timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
96
+ type VARCHAR(100) NOT NULL,
97
+ data JSONB NOT NULL,
98
+ metadata JSONB,
99
+ INDEX idx_traces_session_timestamp (session_id, timestamp)
100
+ )`,
101
+ // Context frames table
102
+ `CREATE TABLE IF NOT EXISTS context_frames (
103
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
104
+ project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
105
+ branch VARCHAR(255),
106
+ content TEXT NOT NULL,
107
+ summary TEXT,
108
+ timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
109
+ type VARCHAR(100) NOT NULL,
110
+ metadata JSONB,
111
+ INDEX idx_context_project_branch (project_id, branch)
112
+ )`,
113
+ // Decisions table
114
+ `CREATE TABLE IF NOT EXISTS decisions (
115
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
116
+ project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
117
+ session_id UUID REFERENCES sessions(id) ON DELETE CASCADE,
118
+ decision TEXT NOT NULL,
119
+ rationale TEXT,
120
+ timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
121
+ metadata JSONB
122
+ )`,
123
+ ];
124
+ for (const query of queries) {
125
+ await this.execute(query);
126
+ }
127
+ }
128
+ async enableTimescale() {
129
+ try {
130
+ await this.execute('CREATE EXTENSION IF NOT EXISTS timescaledb');
131
+ // Convert traces to hypertable
132
+ await this.execute(`
133
+ SELECT create_hypertable('traces', 'timestamp',
134
+ if_not_exists => TRUE,
135
+ chunk_time_interval => INTERVAL '1 day'
136
+ )
137
+ `);
138
+ // Convert context_frames to hypertable
139
+ await this.execute(`
140
+ SELECT create_hypertable('context_frames', 'timestamp',
141
+ if_not_exists => TRUE,
142
+ chunk_time_interval => INTERVAL '7 days'
143
+ )
144
+ `);
145
+ logger.info('TimescaleDB extension enabled');
146
+ }
147
+ catch (error) {
148
+ logger.warn('Failed to enable TimescaleDB', error instanceof Error ? error : undefined);
149
+ }
150
+ }
151
+ async enablePgvector() {
152
+ try {
153
+ await this.execute('CREATE EXTENSION IF NOT EXISTS vector');
154
+ // Add embedding columns
155
+ await this.execute(`
156
+ ALTER TABLE context_frames
157
+ ADD COLUMN IF NOT EXISTS embedding vector(${this.config.vectorDimensions})
158
+ `);
159
+ await this.execute(`
160
+ ALTER TABLE traces
161
+ ADD COLUMN IF NOT EXISTS embedding vector(${this.config.vectorDimensions})
162
+ `);
163
+ // Create vector indexes
164
+ await this.execute(`
165
+ CREATE INDEX IF NOT EXISTS idx_context_embedding
166
+ ON context_frames
167
+ USING ivfflat (embedding vector_cosine_ops)
168
+ WITH (lists = 100)
169
+ `);
170
+ logger.info('pgvector extension enabled');
171
+ }
172
+ catch (error) {
173
+ logger.warn('Failed to enable pgvector', error instanceof Error ? error : undefined);
174
+ }
175
+ }
176
+ // Data access methods
177
+ async saveTrace(trace) {
178
+ await this.execute(`INSERT INTO traces (id, session_id, timestamp, type, data, metadata)
179
+ VALUES ($1, $2, $3, $4, $5, $6)`, [
180
+ trace.id,
181
+ trace.sessionId,
182
+ trace.timestamp,
183
+ trace.type,
184
+ JSON.stringify(trace.data),
185
+ trace.metadata ? JSON.stringify(trace.metadata) : null,
186
+ ]);
187
+ }
188
+ async saveContext(context) {
189
+ await this.execute(`INSERT INTO context_frames (id, project_id, branch, content, timestamp, type, metadata)
190
+ VALUES ($1, $2, $3, $4, $5, $6, $7)`, [
191
+ context.id,
192
+ context.projectId,
193
+ context.branch || null,
194
+ context.content,
195
+ context.timestamp,
196
+ context.type,
197
+ context.metadata ? JSON.stringify(context.metadata) : null,
198
+ ]);
199
+ }
200
+ async getRecentTraces(sessionId, limit = 100) {
201
+ const result = await this.execute(`SELECT * FROM traces
202
+ WHERE session_id = $1
203
+ ORDER BY timestamp DESC
204
+ LIMIT $2`, [sessionId, limit]);
205
+ return result.rows.map((row) => ({
206
+ id: row.id,
207
+ sessionId: row.session_id,
208
+ timestamp: row.timestamp,
209
+ type: row.type,
210
+ data: row.data,
211
+ metadata: row.metadata,
212
+ }));
213
+ }
214
+ async getRecentContext(projectId, branch, limit = 50) {
215
+ const query = branch
216
+ ? `SELECT * FROM context_frames
217
+ WHERE project_id = $1 AND branch = $2
218
+ ORDER BY timestamp DESC
219
+ LIMIT $3`
220
+ : `SELECT * FROM context_frames
221
+ WHERE project_id = $1
222
+ ORDER BY timestamp DESC
223
+ LIMIT $2`;
224
+ const params = branch ? [projectId, branch, limit] : [projectId, limit];
225
+ const result = await this.execute(query, params);
226
+ return result.rows.map((row) => ({
227
+ id: row.id,
228
+ projectId: row.project_id,
229
+ branch: row.branch,
230
+ content: row.content,
231
+ timestamp: row.timestamp,
232
+ type: row.type,
233
+ metadata: row.metadata,
234
+ }));
235
+ }
236
+ // Hybrid SQLite/PostgreSQL migration helper
237
+ async migrateFromSQLite(sqliteDb) {
238
+ logger.info('Starting migration from SQLite to PostgreSQL');
239
+ try {
240
+ await this.beginTransaction();
241
+ // Migrate projects
242
+ const projects = sqliteDb
243
+ .prepare('SELECT * FROM projects')
244
+ .all();
245
+ for (const project of projects) {
246
+ await this.execute('INSERT INTO projects (id, name, path, created_at, updated_at, metadata) VALUES ($1, $2, $3, $4, $5, $6)', [
247
+ project.id,
248
+ project.name,
249
+ project.path,
250
+ project.created_at,
251
+ project.updated_at,
252
+ project.metadata,
253
+ ]);
254
+ }
255
+ // Migrate sessions
256
+ const sessions = sqliteDb
257
+ .prepare('SELECT * FROM sessions')
258
+ .all();
259
+ for (const session of sessions) {
260
+ await this.execute('INSERT INTO sessions (id, project_id, branch, started_at, ended_at, metadata) VALUES ($1, $2, $3, $4, $5, $6)', [
261
+ session.id,
262
+ session.project_id,
263
+ session.branch,
264
+ session.started_at,
265
+ session.ended_at,
266
+ session.metadata,
267
+ ]);
268
+ }
269
+ // Migrate traces in batches
270
+ const traceCount = sqliteDb
271
+ .prepare('SELECT COUNT(*) as count FROM traces')
272
+ .get();
273
+ const batchSize = 1000;
274
+ for (let offset = 0; offset < traceCount.count; offset += batchSize) {
275
+ const traces = sqliteDb
276
+ .prepare('SELECT * FROM traces LIMIT ? OFFSET ?')
277
+ .all(batchSize, offset);
278
+ for (const trace of traces) {
279
+ await this.execute('INSERT INTO traces (id, session_id, timestamp, type, data, metadata) VALUES ($1, $2, $3, $4, $5, $6)', [
280
+ trace.id,
281
+ trace.session_id,
282
+ trace.timestamp,
283
+ trace.type,
284
+ trace.data,
285
+ trace.metadata,
286
+ ]);
287
+ }
288
+ logger.info(`Migrated ${offset + traces.length}/${traceCount.count} traces`);
289
+ }
290
+ // Migrate context frames
291
+ const contexts = sqliteDb
292
+ .prepare('SELECT * FROM context_frames')
293
+ .all();
294
+ for (const context of contexts) {
295
+ await this.execute('INSERT INTO context_frames (id, project_id, branch, content, summary, timestamp, type, metadata) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)', [
296
+ context.id,
297
+ context.project_id,
298
+ context.branch,
299
+ context.content,
300
+ context.summary,
301
+ context.timestamp,
302
+ context.type,
303
+ context.metadata,
304
+ ]);
305
+ }
306
+ await this.commit();
307
+ logger.info('Migration completed successfully');
308
+ }
309
+ catch (error) {
310
+ await this.rollback();
311
+ logger.error('Migration failed', error instanceof Error ? error : undefined);
312
+ throw error;
313
+ }
314
+ }
315
+ }
316
+ //# sourceMappingURL=postgres-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-adapter.js","sourceRoot":"","sources":["../../../../src/core/persistence/postgres-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Query Parser for StackMemory
3
+ * Handles both natural language and structured queries
4
+ */
5
+ export interface TimeFilter {
6
+ last?: string;
7
+ since?: Date;
8
+ until?: Date;
9
+ between?: [Date, Date];
10
+ specific?: Date;
11
+ }
12
+ export interface ContentFilter {
13
+ topic?: string[];
14
+ files?: string[];
15
+ errors?: string[];
16
+ tools?: string[];
17
+ }
18
+ export interface FrameFilter {
19
+ type?: FrameType[];
20
+ status?: FrameStatus[];
21
+ score?: {
22
+ min?: number;
23
+ max?: number;
24
+ };
25
+ depth?: {
26
+ min?: number;
27
+ max?: number;
28
+ };
29
+ }
30
+ export interface PeopleFilter {
31
+ owner?: string[];
32
+ contributors?: string[];
33
+ team?: string;
34
+ }
35
+ export interface OutputControl {
36
+ limit?: number;
37
+ sort?: 'time' | 'score' | 'relevance';
38
+ include?: ('digests' | 'events' | 'anchors')[];
39
+ format?: 'full' | 'summary' | 'ids';
40
+ }
41
+ export interface StackMemoryQuery {
42
+ time?: TimeFilter;
43
+ content?: ContentFilter;
44
+ frame?: FrameFilter;
45
+ people?: PeopleFilter;
46
+ output?: OutputControl;
47
+ }
48
+ export interface QueryResponse {
49
+ original: string;
50
+ interpreted: StackMemoryQuery;
51
+ expanded: StackMemoryQuery;
52
+ suggestions?: string[];
53
+ validationErrors?: string[];
54
+ }
55
+ export declare enum FrameType {
56
+ TASK = "task",
57
+ DEBUG = "debug",
58
+ FEATURE = "feature",
59
+ ARCHITECTURE = "architecture",
60
+ BUG = "bug",
61
+ REFACTOR = "refactor"
62
+ }
63
+ export declare enum FrameStatus {
64
+ OPEN = "open",
65
+ CLOSED = "closed",
66
+ STALLED = "stalled"
67
+ }
68
+ export declare class QueryParser {
69
+ private shortcuts;
70
+ /**
71
+ * Parse natural language query into structured format
72
+ */
73
+ parseNaturalLanguage(query: string): StackMemoryQuery;
74
+ /**
75
+ * Parse structured query with validation
76
+ */
77
+ parseStructured(query: StackMemoryQuery): StackMemoryQuery;
78
+ /**
79
+ * Parse hybrid query (natural language with structured modifiers)
80
+ */
81
+ parseHybrid(naturalQuery: string, modifiers?: Partial<StackMemoryQuery>): StackMemoryQuery;
82
+ private parseTimePatterns;
83
+ private parseTopicPatterns;
84
+ private parsePeoplePatterns;
85
+ private expandShortcuts;
86
+ private mergeQueries;
87
+ /**
88
+ * Expand query with synonyms and related terms
89
+ */
90
+ expandQuery(query: StackMemoryQuery): StackMemoryQuery;
91
+ /**
92
+ * Main parse method that returns a complete QueryResponse
93
+ */
94
+ parse(query: string | StackMemoryQuery): QueryResponse;
95
+ /**
96
+ * Validate query for errors and inconsistencies
97
+ */
98
+ private validateQuery;
99
+ /**
100
+ * Generate query suggestions based on the interpreted query
101
+ */
102
+ private generateSuggestions;
103
+ }
104
+ //# sourceMappingURL=query-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/query/query-parser.ts"],"names":[],"mappings":"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"}