@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
@@ -1,156 +0,0 @@
1
- /**
2
- * Update checker for StackMemory
3
- * Checks npm registry for newer versions
4
- */
5
- import { execSync } from 'child_process';
6
- import { existsSync, readFileSync, writeFileSync } from 'fs';
7
- import { join } from 'path';
8
- import { homedir } from 'os';
9
- import { logger } from './logger.js';
10
- export class UpdateChecker {
11
- static CACHE_FILE = join(homedir(), '.stackmemory', 'update-check.json');
12
- static CHECK_INTERVAL = 24 * 60 * 60 * 1000; // 24 hours
13
- static PACKAGE_NAME = '@stackmemoryai/stackmemory';
14
- /**
15
- * Check for updates and display notification if needed
16
- */
17
- static async checkForUpdates(currentVersion, silent = false) {
18
- try {
19
- // Check cache first
20
- const cache = this.loadCache();
21
- const now = Date.now();
22
- // Skip check if we checked recently
23
- if (cache && now - cache.lastChecked < this.CHECK_INTERVAL) {
24
- if (!silent &&
25
- cache.latestVersion &&
26
- cache.latestVersion !== currentVersion) {
27
- this.displayUpdateNotification(currentVersion, cache.latestVersion);
28
- }
29
- return;
30
- }
31
- // Fetch latest version from npm
32
- const latestVersion = await this.fetchLatestVersion();
33
- // Update cache
34
- this.saveCache({
35
- lastChecked: now,
36
- latestVersion,
37
- currentVersion,
38
- });
39
- // Display notification if update available
40
- if (!silent &&
41
- latestVersion &&
42
- this.isNewerVersion(currentVersion, latestVersion)) {
43
- this.displayUpdateNotification(currentVersion, latestVersion);
44
- }
45
- }
46
- catch (error) {
47
- // Silently fail - don't interrupt user workflow
48
- logger.debug('Update check failed:', { error: error.message });
49
- }
50
- }
51
- /**
52
- * Fetch latest version from npm registry
53
- */
54
- static async fetchLatestVersion() {
55
- try {
56
- const output = execSync(`npm view ${this.PACKAGE_NAME} version`, {
57
- encoding: 'utf-8',
58
- stdio: ['pipe', 'pipe', 'ignore'],
59
- }).trim();
60
- return output;
61
- }
62
- catch (error) {
63
- logger.debug('Failed to fetch latest version:', {
64
- error: error.message,
65
- });
66
- return '';
67
- }
68
- }
69
- /**
70
- * Compare version strings
71
- */
72
- static isNewerVersion(current, latest) {
73
- const currentParts = current.split('.').map(Number);
74
- const latestParts = latest.split('.').map(Number);
75
- for (let i = 0; i < 3; i++) {
76
- if (latestParts[i] > currentParts[i])
77
- return true;
78
- if (latestParts[i] < currentParts[i])
79
- return false;
80
- }
81
- return false;
82
- }
83
- /**
84
- * Display update notification
85
- */
86
- static displayUpdateNotification(current, latest) {
87
- console.log('\n' + '─'.repeat(60));
88
- console.log('📦 StackMemory Update Available!');
89
- console.log(` Current: v${current}`);
90
- console.log(` Latest: v${latest}`);
91
- console.log('\n Update with:');
92
- console.log(' npm install -g @stackmemoryai/stackmemory@latest');
93
- console.log('─'.repeat(60) + '\n');
94
- }
95
- /**
96
- * Load update cache
97
- */
98
- static loadCache() {
99
- try {
100
- if (existsSync(this.CACHE_FILE)) {
101
- const data = readFileSync(this.CACHE_FILE, 'utf-8');
102
- return JSON.parse(data);
103
- }
104
- }
105
- catch (error) {
106
- logger.debug('Failed to load update cache:', {
107
- error: error.message,
108
- });
109
- }
110
- return null;
111
- }
112
- /**
113
- * Save update cache
114
- */
115
- static saveCache(cache) {
116
- try {
117
- const dir = join(homedir(), '.stackmemory');
118
- if (!existsSync(dir)) {
119
- // Create directory if it doesn't exist
120
- execSync(`mkdir -p "${dir}"`, { stdio: 'ignore' });
121
- }
122
- writeFileSync(this.CACHE_FILE, JSON.stringify(cache, null, 2));
123
- }
124
- catch (error) {
125
- logger.debug('Failed to save update cache:', {
126
- error: error.message,
127
- });
128
- }
129
- }
130
- /**
131
- * Force check for updates (ignores cache)
132
- */
133
- static async forceCheck(currentVersion) {
134
- try {
135
- const latestVersion = await this.fetchLatestVersion();
136
- // Update cache
137
- this.saveCache({
138
- lastChecked: Date.now(),
139
- latestVersion,
140
- currentVersion,
141
- });
142
- if (latestVersion) {
143
- if (this.isNewerVersion(currentVersion, latestVersion)) {
144
- this.displayUpdateNotification(currentVersion, latestVersion);
145
- }
146
- else {
147
- console.log(`✅ StackMemory is up to date (v${currentVersion})`);
148
- }
149
- }
150
- }
151
- catch (error) {
152
- console.error('❌ Update check failed:', error.message);
153
- }
154
- }
155
- }
156
- //# sourceMappingURL=update-checker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../../src/core/update-checker.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Comprehensive error handling for StackMemory CLI
3
- */
4
- export declare enum ErrorCode {
5
- AUTH_FAILED = "AUTH_FAILED",
6
- TOKEN_EXPIRED = "TOKEN_EXPIRED",
7
- INVALID_CREDENTIALS = "INVALID_CREDENTIALS",
8
- FILE_NOT_FOUND = "FILE_NOT_FOUND",
9
- PERMISSION_DENIED = "PERMISSION_DENIED",
10
- DISK_FULL = "DISK_FULL",
11
- NOT_GIT_REPO = "NOT_GIT_REPO",
12
- GIT_COMMAND_FAILED = "GIT_COMMAND_FAILED",
13
- INVALID_BRANCH = "INVALID_BRANCH",
14
- DB_CONNECTION_FAILED = "DB_CONNECTION_FAILED",
15
- DB_QUERY_FAILED = "DB_QUERY_FAILED",
16
- DB_CORRUPTION = "DB_CORRUPTION",
17
- NETWORK_ERROR = "NETWORK_ERROR",
18
- API_ERROR = "API_ERROR",
19
- TIMEOUT = "TIMEOUT",
20
- INVALID_INPUT = "INVALID_INPUT",
21
- VALIDATION_FAILED = "VALIDATION_FAILED",
22
- UNKNOWN_ERROR = "UNKNOWN_ERROR",
23
- OPERATION_FAILED = "OPERATION_FAILED",
24
- CONFIGURATION_ERROR = "CONFIGURATION_ERROR"
25
- }
26
- export declare class StackMemoryError extends Error {
27
- readonly code: ErrorCode;
28
- readonly context: Record<string, unknown>;
29
- readonly userMessage: string;
30
- readonly recoverable: boolean;
31
- constructor(code: ErrorCode, message: string, userMessage?: string, context?: Record<string, unknown>, recoverable?: boolean, cause?: Error);
32
- private getDefaultUserMessage;
33
- static fromNodeError(nodeError: NodeJS.ErrnoException, context?: Record<string, unknown>): StackMemoryError;
34
- }
35
- export declare class ErrorHandler {
36
- static handle(error: unknown, operation: string): never;
37
- static safeExecute<T>(operation: () => Promise<T> | T, operationName: string, fallback?: T): Promise<T | undefined>;
38
- }
39
- export declare const validateInput: (value: unknown, name: string, validator: (val: unknown) => boolean) => asserts value is NonNullable<unknown>;
40
- export declare const validateEmail: (email: string) => asserts email is string;
41
- export declare const validatePath: (filePath: string) => asserts filePath is string;
42
- //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/error-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,oBAAY,SAAS;IAEnB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAG3C,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IAGvB,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IAGjC,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAG/B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,OAAO,YAAY;IAGnB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IAGvC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;CAC5C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,WAAW,EAAE,OAAO,CAAC;gBAGnC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,WAAW,GAAE,OAAe,EAC5B,KAAK,CAAC,EAAE,KAAK;IAsBf,OAAO,CAAC,qBAAqB;IAqB7B,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,gBAAgB;CAwDhH;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;WAkD1C,WAAW,CAAC,CAAC,EACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,CAAC,GACX,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAY1B;AAGD,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,EAAE,MAAM,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,KAAG,QAAQ,KAAK,IAAI,WAAW,CAAC,OAAO,CAUtI,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,QAAQ,KAAK,IAAI,MAW9D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,QAAQ,QAAQ,IAAI,MAUnE,CAAC"}
@@ -1,155 +0,0 @@
1
- /**
2
- * Comprehensive error handling for StackMemory CLI
3
- */
4
- import { logger } from './logger.js';
5
- export var ErrorCode;
6
- (function (ErrorCode) {
7
- // Authentication errors
8
- ErrorCode["AUTH_FAILED"] = "AUTH_FAILED";
9
- ErrorCode["TOKEN_EXPIRED"] = "TOKEN_EXPIRED";
10
- ErrorCode["INVALID_CREDENTIALS"] = "INVALID_CREDENTIALS";
11
- // File system errors
12
- ErrorCode["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
13
- ErrorCode["PERMISSION_DENIED"] = "PERMISSION_DENIED";
14
- ErrorCode["DISK_FULL"] = "DISK_FULL";
15
- // Git operation errors
16
- ErrorCode["NOT_GIT_REPO"] = "NOT_GIT_REPO";
17
- ErrorCode["GIT_COMMAND_FAILED"] = "GIT_COMMAND_FAILED";
18
- ErrorCode["INVALID_BRANCH"] = "INVALID_BRANCH";
19
- // Database errors
20
- ErrorCode["DB_CONNECTION_FAILED"] = "DB_CONNECTION_FAILED";
21
- ErrorCode["DB_QUERY_FAILED"] = "DB_QUERY_FAILED";
22
- ErrorCode["DB_CORRUPTION"] = "DB_CORRUPTION";
23
- // Network errors
24
- ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
25
- ErrorCode["API_ERROR"] = "API_ERROR";
26
- ErrorCode["TIMEOUT"] = "TIMEOUT";
27
- // Validation errors
28
- ErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
29
- ErrorCode["VALIDATION_FAILED"] = "VALIDATION_FAILED";
30
- // General errors
31
- ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
32
- ErrorCode["OPERATION_FAILED"] = "OPERATION_FAILED";
33
- ErrorCode["CONFIGURATION_ERROR"] = "CONFIGURATION_ERROR";
34
- })(ErrorCode || (ErrorCode = {}));
35
- export class StackMemoryError extends Error {
36
- code;
37
- context;
38
- userMessage;
39
- recoverable;
40
- constructor(code, message, userMessage, context = {}, recoverable = false, cause) {
41
- super(message);
42
- this.name = 'StackMemoryError';
43
- this.code = code;
44
- this.context = context;
45
- this.userMessage = userMessage || this.getDefaultUserMessage(code);
46
- this.recoverable = recoverable;
47
- if (cause && Error.captureStackTrace) {
48
- Error.captureStackTrace(this, StackMemoryError);
49
- }
50
- // Log the error
51
- logger.error(message, cause, {
52
- code,
53
- context,
54
- recoverable,
55
- userMessage: this.userMessage
56
- });
57
- }
58
- getDefaultUserMessage(code) {
59
- switch (code) {
60
- case ErrorCode.AUTH_FAILED:
61
- return 'Authentication failed. Please check your credentials and try again.';
62
- case ErrorCode.NOT_GIT_REPO:
63
- return 'This command requires a git repository. Please run it from within a git repository.';
64
- case ErrorCode.PERMISSION_DENIED:
65
- return 'Permission denied. Please check file permissions or run with appropriate privileges.';
66
- case ErrorCode.NETWORK_ERROR:
67
- return 'Network error. Please check your internet connection and try again.';
68
- case ErrorCode.INVALID_INPUT:
69
- return 'Invalid input provided. Please check your command and try again.';
70
- case ErrorCode.DB_CONNECTION_FAILED:
71
- return 'Database connection failed. Please try again or contact support if the issue persists.';
72
- case ErrorCode.GIT_COMMAND_FAILED:
73
- return 'Git operation failed. Please ensure your repository is in a valid state.';
74
- default:
75
- return 'An unexpected error occurred. Please try again or contact support.';
76
- }
77
- }
78
- static fromNodeError(nodeError, context = {}) {
79
- const code = nodeError.code;
80
- switch (code) {
81
- case 'ENOENT':
82
- return new StackMemoryError(ErrorCode.FILE_NOT_FOUND, `File or directory not found: ${nodeError.path}`, 'The requested file or directory was not found.', { ...context, path: nodeError.path }, false, nodeError);
83
- case 'EACCES':
84
- case 'EPERM':
85
- return new StackMemoryError(ErrorCode.PERMISSION_DENIED, `Permission denied: ${nodeError.path}`, 'Permission denied. Please check file permissions.', { ...context, path: nodeError.path }, true, nodeError);
86
- case 'ENOSPC':
87
- return new StackMemoryError(ErrorCode.DISK_FULL, 'No space left on device', 'Insufficient disk space. Please free up space and try again.', context, true, nodeError);
88
- case 'ETIMEDOUT':
89
- return new StackMemoryError(ErrorCode.TIMEOUT, 'Operation timed out', 'The operation timed out. Please try again.', context, true, nodeError);
90
- default:
91
- return new StackMemoryError(ErrorCode.UNKNOWN_ERROR, nodeError.message, 'An unexpected system error occurred.', { ...context, nodeErrorCode: code }, false, nodeError);
92
- }
93
- }
94
- }
95
- export class ErrorHandler {
96
- static handle(error, operation) {
97
- if (error instanceof StackMemoryError) {
98
- // Already a well-formed StackMemory error
99
- console.error(`❌ ${error.userMessage}`);
100
- if (error.recoverable) {
101
- console.error('💡 This error may be recoverable. Please try again.');
102
- }
103
- process.exit(1);
104
- }
105
- if (error instanceof Error) {
106
- // Convert Node.js error to StackMemoryError
107
- let stackMemoryError;
108
- if ('code' in error && typeof error.code === 'string') {
109
- stackMemoryError = StackMemoryError.fromNodeError(error, { operation });
110
- }
111
- else {
112
- stackMemoryError = new StackMemoryError(ErrorCode.OPERATION_FAILED, `Operation '${operation}' failed: ${error.message}`, `Operation failed: ${error.message}`, { operation }, false, error);
113
- }
114
- console.error(`❌ ${stackMemoryError.userMessage}`);
115
- if (stackMemoryError.recoverable) {
116
- console.error('💡 This error may be recoverable. Please try again.');
117
- }
118
- process.exit(1);
119
- }
120
- // Unknown error type
121
- const unknownError = new StackMemoryError(ErrorCode.UNKNOWN_ERROR, `Unknown error in operation '${operation}': ${String(error)}`, 'An unexpected error occurred.', { operation, errorType: typeof error }, false);
122
- console.error(`❌ ${unknownError.userMessage}`);
123
- process.exit(1);
124
- }
125
- static async safeExecute(operation, operationName, fallback) {
126
- try {
127
- return await operation();
128
- }
129
- catch (error) {
130
- if (fallback !== undefined) {
131
- logger.warn(`Operation '${operationName}' failed, using fallback`, { error: String(error) });
132
- return fallback;
133
- }
134
- ErrorHandler.handle(error, operationName);
135
- }
136
- }
137
- }
138
- // Utility functions for common error scenarios
139
- export const validateInput = (value, name, validator) => {
140
- if (!validator(value)) {
141
- throw new StackMemoryError(ErrorCode.INVALID_INPUT, `Invalid ${name}: ${String(value)}`, `Please provide a valid ${name}.`, { name, value }, true);
142
- }
143
- };
144
- export const validateEmail = (email) => {
145
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
146
- if (!emailRegex.test(email) || email.length > 254) {
147
- throw new StackMemoryError(ErrorCode.INVALID_INPUT, `Invalid email format: ${email}`, 'Please provide a valid email address.', { email }, true);
148
- }
149
- };
150
- export const validatePath = (filePath) => {
151
- if (!filePath || filePath.includes('..') || filePath.includes('\0')) {
152
- throw new StackMemoryError(ErrorCode.INVALID_INPUT, `Invalid path: ${filePath}`, 'Invalid file path provided.', { path: filePath }, true);
153
- }
154
- };
155
- //# sourceMappingURL=error-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/error-handler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for PebblesTaskStore - Git-native JSONL storage with SQLite cache
3
- */
4
- export {};
5
- //# sourceMappingURL=pebbles-task-store.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pebbles-task-store.test.d.ts","sourceRoot":"","sources":["../../../../../src/features/tasks/__tests__/pebbles-task-store.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}