@stackmemoryai/stackmemory 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/README.md +262 -83
  2. package/dist/scripts/cancel-duplicate-tasks.d.ts +7 -0
  3. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +1 -0
  4. package/dist/scripts/cancel-duplicate-tasks.js +172 -0
  5. package/dist/scripts/cancel-duplicate-tasks.js.map +1 -0
  6. package/dist/scripts/list-linear-tasks.d.ts +6 -0
  7. package/dist/scripts/list-linear-tasks.d.ts.map +1 -0
  8. package/dist/scripts/list-linear-tasks.js +121 -0
  9. package/dist/scripts/list-linear-tasks.js.map +1 -0
  10. package/dist/scripts/merge-linear-duplicates-safe.d.ts +7 -0
  11. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +1 -0
  12. package/dist/scripts/merge-linear-duplicates-safe.js +267 -0
  13. package/dist/scripts/merge-linear-duplicates-safe.js.map +1 -0
  14. package/dist/scripts/show-linear-summary.d.ts +6 -0
  15. package/dist/scripts/show-linear-summary.d.ts.map +1 -0
  16. package/dist/scripts/show-linear-summary.js +120 -0
  17. package/dist/scripts/show-linear-summary.js.map +1 -0
  18. package/dist/scripts/status.js +6 -2
  19. package/dist/scripts/status.js.map +1 -1
  20. package/dist/src/cli/auto-detect.d.ts +61 -0
  21. package/dist/src/cli/auto-detect.d.ts.map +1 -0
  22. package/dist/src/cli/auto-detect.js +350 -0
  23. package/dist/src/cli/auto-detect.js.map +1 -0
  24. package/dist/src/cli/claude-sm.d.ts +7 -0
  25. package/dist/src/cli/claude-sm.d.ts.map +1 -0
  26. package/dist/src/cli/claude-sm.js +357 -0
  27. package/dist/src/cli/claude-sm.js.map +1 -0
  28. package/dist/src/cli/commands/config.d.ts +6 -0
  29. package/dist/src/cli/commands/config.d.ts.map +1 -0
  30. package/dist/src/cli/commands/config.js +224 -0
  31. package/dist/src/cli/commands/config.js.map +1 -0
  32. package/dist/src/cli/commands/context.d.ts +7 -0
  33. package/dist/src/cli/commands/context.d.ts.map +1 -0
  34. package/dist/src/cli/commands/context.js +365 -0
  35. package/dist/src/cli/commands/context.js.map +1 -0
  36. package/dist/src/cli/commands/linear-test.d.ts +6 -0
  37. package/dist/src/cli/commands/linear-test.d.ts.map +1 -0
  38. package/dist/src/cli/commands/linear-test.js +123 -0
  39. package/dist/src/cli/commands/linear-test.js.map +1 -0
  40. package/dist/src/cli/commands/linear.d.ts +6 -0
  41. package/dist/src/cli/commands/linear.d.ts.map +1 -0
  42. package/dist/src/cli/commands/linear.js +393 -0
  43. package/dist/src/cli/commands/linear.js.map +1 -0
  44. package/dist/src/cli/commands/log.d.ts +7 -0
  45. package/dist/src/cli/commands/log.d.ts.map +1 -0
  46. package/dist/src/cli/commands/log.js +168 -0
  47. package/dist/src/cli/commands/log.js.map +1 -0
  48. package/dist/src/cli/commands/onboard.d.ts +8 -0
  49. package/dist/src/cli/commands/onboard.d.ts.map +1 -0
  50. package/dist/src/cli/commands/onboard.js +363 -0
  51. package/dist/src/cli/commands/onboard.js.map +1 -0
  52. package/dist/src/cli/commands/projects.js +1 -1
  53. package/dist/src/cli/commands/projects.js.map +1 -1
  54. package/dist/src/cli/commands/search.d.ts +7 -0
  55. package/dist/src/cli/commands/search.d.ts.map +1 -0
  56. package/dist/src/cli/commands/search.js +162 -0
  57. package/dist/src/cli/commands/search.js.map +1 -0
  58. package/dist/src/cli/commands/session.d.ts +7 -0
  59. package/dist/src/cli/commands/session.d.ts.map +1 -0
  60. package/dist/src/cli/commands/session.js +222 -0
  61. package/dist/src/cli/commands/session.js.map +1 -0
  62. package/dist/src/cli/commands/tasks.d.ts +7 -0
  63. package/dist/src/cli/commands/tasks.d.ts.map +1 -0
  64. package/dist/src/cli/commands/tasks.js +229 -0
  65. package/dist/src/cli/commands/tasks.js.map +1 -0
  66. package/dist/src/cli/commands/webhook.d.ts +3 -0
  67. package/dist/src/cli/commands/webhook.d.ts.map +1 -0
  68. package/dist/src/cli/commands/webhook.js +157 -0
  69. package/dist/src/cli/commands/webhook.js.map +1 -0
  70. package/dist/src/cli/commands/worktree.d.ts +8 -0
  71. package/dist/src/cli/commands/worktree.d.ts.map +1 -0
  72. package/dist/src/cli/commands/worktree.js +339 -0
  73. package/dist/src/cli/commands/worktree.js.map +1 -0
  74. package/dist/src/cli/index.d.ts +2 -1
  75. package/dist/src/cli/index.d.ts.map +1 -1
  76. package/dist/src/cli/index.js +337 -50
  77. package/dist/src/cli/index.js.map +1 -1
  78. package/dist/src/cli/utils/viewer.d.ts.map +1 -1
  79. package/dist/src/cli/utils/viewer.js +3 -1
  80. package/dist/src/cli/utils/viewer.js.map +1 -1
  81. package/dist/src/core/config/config-manager.d.ts +95 -0
  82. package/dist/src/core/config/config-manager.d.ts.map +1 -0
  83. package/dist/src/core/config/config-manager.js +359 -0
  84. package/dist/src/core/config/config-manager.js.map +1 -0
  85. package/dist/src/core/config/types.d.ts +72 -0
  86. package/dist/src/core/config/types.d.ts.map +1 -0
  87. package/dist/src/core/config/types.js +127 -0
  88. package/dist/src/core/config/types.js.map +1 -0
  89. package/dist/src/core/context/auto-context.d.ts +22 -0
  90. package/dist/src/core/context/auto-context.d.ts.map +1 -0
  91. package/dist/src/core/context/auto-context.js +77 -0
  92. package/dist/src/core/context/auto-context.js.map +1 -0
  93. package/dist/src/core/context/compaction-handler.d.ts +119 -0
  94. package/dist/src/core/context/compaction-handler.d.ts.map +1 -0
  95. package/dist/src/core/context/compaction-handler.js +306 -0
  96. package/dist/src/core/context/compaction-handler.js.map +1 -0
  97. package/dist/src/core/context/frame-manager.d.ts +4 -0
  98. package/dist/src/core/context/frame-manager.d.ts.map +1 -1
  99. package/dist/src/core/context/frame-manager.js +350 -144
  100. package/dist/src/core/context/frame-manager.js.map +1 -1
  101. package/dist/src/core/context/model-aware-compaction.d.ts +101 -0
  102. package/dist/src/core/context/model-aware-compaction.d.ts.map +1 -0
  103. package/dist/src/core/context/model-aware-compaction.js +616 -0
  104. package/dist/src/core/context/model-aware-compaction.js.map +1 -0
  105. package/dist/src/core/errors/index.d.ts +135 -0
  106. package/dist/src/core/errors/index.d.ts.map +1 -0
  107. package/dist/src/core/errors/index.js +274 -0
  108. package/dist/src/core/errors/index.js.map +1 -0
  109. package/dist/src/core/errors/recovery.d.ts +86 -0
  110. package/dist/src/core/errors/recovery.d.ts.map +1 -0
  111. package/dist/src/core/errors/recovery.js +274 -0
  112. package/dist/src/core/errors/recovery.js.map +1 -0
  113. package/dist/src/core/projects/project-manager.d.ts.map +1 -1
  114. package/dist/src/core/projects/project-manager.js +240 -122
  115. package/dist/src/core/projects/project-manager.js.map +1 -1
  116. package/dist/src/core/query/query-parser.d.ts +104 -0
  117. package/dist/src/core/query/query-parser.d.ts.map +1 -0
  118. package/dist/src/core/query/query-parser.js +347 -0
  119. package/dist/src/core/query/query-parser.js.map +1 -0
  120. package/dist/src/core/retrieval/index.d.ts +8 -0
  121. package/dist/src/core/retrieval/index.d.ts.map +1 -0
  122. package/dist/src/core/retrieval/index.js +8 -0
  123. package/dist/src/core/retrieval/index.js.map +1 -0
  124. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +71 -0
  125. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +1 -0
  126. package/dist/src/core/retrieval/llm-context-retrieval.js +545 -0
  127. package/dist/src/core/retrieval/llm-context-retrieval.js.map +1 -0
  128. package/dist/src/core/retrieval/summary-generator.d.ts +63 -0
  129. package/dist/src/core/retrieval/summary-generator.d.ts.map +1 -0
  130. package/dist/src/core/retrieval/summary-generator.js +622 -0
  131. package/dist/src/core/retrieval/summary-generator.js.map +1 -0
  132. package/dist/src/core/retrieval/types.d.ts +257 -0
  133. package/dist/src/core/retrieval/types.d.ts.map +1 -0
  134. package/dist/src/core/retrieval/types.js +18 -0
  135. package/dist/src/core/retrieval/types.js.map +1 -0
  136. package/dist/src/core/session/index.d.ts +2 -0
  137. package/dist/src/core/session/index.d.ts.map +1 -0
  138. package/dist/src/core/session/index.js +2 -0
  139. package/dist/src/core/session/index.js.map +1 -0
  140. package/dist/src/core/session/session-manager.d.ts +69 -0
  141. package/dist/src/core/session/session-manager.d.ts.map +1 -0
  142. package/dist/src/core/session/session-manager.js +311 -0
  143. package/dist/src/core/session/session-manager.js.map +1 -0
  144. package/dist/src/core/trace/trace-detector.d.ts +108 -0
  145. package/dist/src/core/trace/trace-detector.d.ts.map +1 -0
  146. package/dist/src/core/trace/trace-detector.demo.d.ts +5 -0
  147. package/dist/src/core/trace/trace-detector.demo.d.ts.map +1 -0
  148. package/dist/src/core/trace/trace-detector.demo.js +145 -0
  149. package/dist/src/core/trace/trace-detector.demo.js.map +1 -0
  150. package/dist/src/core/trace/trace-detector.js +425 -0
  151. package/dist/src/core/trace/trace-detector.js.map +1 -0
  152. package/dist/src/core/trace/trace-store.d.ts +60 -0
  153. package/dist/src/core/trace/trace-store.d.ts.map +1 -0
  154. package/dist/src/core/trace/trace-store.js +323 -0
  155. package/dist/src/core/trace/trace-store.js.map +1 -0
  156. package/dist/src/core/trace/types.d.ts +81 -0
  157. package/dist/src/core/trace/types.d.ts.map +1 -0
  158. package/dist/src/core/trace/types.js +70 -0
  159. package/dist/src/core/trace/types.js.map +1 -0
  160. package/dist/src/core/utils/update-checker.d.ts.map +1 -1
  161. package/dist/src/core/utils/update-checker.js +82 -25
  162. package/dist/src/core/utils/update-checker.js.map +1 -1
  163. package/dist/src/core/worktree/worktree-manager.d.ts +110 -0
  164. package/dist/src/core/worktree/worktree-manager.d.ts.map +1 -0
  165. package/dist/src/core/worktree/worktree-manager.js +456 -0
  166. package/dist/src/core/worktree/worktree-manager.js.map +1 -0
  167. package/dist/src/features/analytics/core/analytics-service.d.ts +6 -0
  168. package/dist/src/features/analytics/core/analytics-service.d.ts.map +1 -1
  169. package/dist/src/features/analytics/core/analytics-service.js +125 -10
  170. package/dist/src/features/analytics/core/analytics-service.js.map +1 -1
  171. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +1 -1
  172. package/dist/src/features/analytics/queries/metrics-queries.js +220 -163
  173. package/dist/src/features/analytics/queries/metrics-queries.js.map +1 -1
  174. package/dist/src/features/browser/browser-mcp.d.ts.map +1 -1
  175. package/dist/src/features/browser/browser-mcp.js +3 -0
  176. package/dist/src/features/browser/browser-mcp.js.map +1 -1
  177. package/dist/src/features/tasks/pebbles-task-store.d.ts +4 -0
  178. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +1 -1
  179. package/dist/src/features/tasks/pebbles-task-store.js +299 -141
  180. package/dist/src/features/tasks/pebbles-task-store.js.map +1 -1
  181. package/dist/src/integrations/linear/client.d.ts +28 -1
  182. package/dist/src/integrations/linear/client.d.ts.map +1 -1
  183. package/dist/src/integrations/linear/client.js +87 -0
  184. package/dist/src/integrations/linear/client.js.map +1 -1
  185. package/dist/src/integrations/linear/sync-manager.d.ts +76 -0
  186. package/dist/src/integrations/linear/sync-manager.d.ts.map +1 -0
  187. package/dist/src/integrations/linear/sync-manager.js +223 -0
  188. package/dist/src/integrations/linear/sync-manager.js.map +1 -0
  189. package/dist/src/integrations/linear/sync-service.d.ts +25 -0
  190. package/dist/src/integrations/linear/sync-service.d.ts.map +1 -0
  191. package/dist/src/integrations/linear/sync-service.js +198 -0
  192. package/dist/src/integrations/linear/sync-service.js.map +1 -0
  193. package/dist/src/integrations/linear/sync.d.ts +23 -1
  194. package/dist/src/integrations/linear/sync.d.ts.map +1 -1
  195. package/dist/src/integrations/linear/sync.js +156 -9
  196. package/dist/src/integrations/linear/sync.js.map +1 -1
  197. package/dist/src/integrations/linear/types.d.ts +75 -0
  198. package/dist/src/integrations/linear/types.d.ts.map +1 -0
  199. package/dist/src/integrations/linear/types.js +2 -0
  200. package/dist/src/integrations/linear/types.js.map +1 -0
  201. package/dist/src/integrations/linear/webhook-server.d.ts +32 -0
  202. package/dist/src/integrations/linear/webhook-server.d.ts.map +1 -0
  203. package/dist/src/integrations/linear/webhook-server.js +188 -0
  204. package/dist/src/integrations/linear/webhook-server.js.map +1 -0
  205. package/dist/src/integrations/linear/webhook.d.ts +95 -0
  206. package/dist/src/integrations/linear/webhook.d.ts.map +1 -0
  207. package/dist/src/integrations/linear/webhook.js +204 -0
  208. package/dist/src/integrations/linear/webhook.js.map +1 -0
  209. package/dist/src/integrations/mcp/server.d.ts +14 -0
  210. package/dist/src/integrations/mcp/server.d.ts.map +1 -1
  211. package/dist/src/integrations/mcp/server.js +849 -61
  212. package/dist/src/integrations/mcp/server.js.map +1 -1
  213. package/dist/src/integrations/mcp/trace-test.d.ts +5 -0
  214. package/dist/src/integrations/mcp/trace-test.d.ts.map +1 -0
  215. package/dist/src/integrations/mcp/trace-test.js +54 -0
  216. package/dist/src/integrations/mcp/trace-test.js.map +1 -0
  217. package/dist/src/servers/production/auth-middleware.d.ts +2 -2
  218. package/dist/src/servers/production/auth-middleware.d.ts.map +1 -1
  219. package/dist/src/servers/production/auth-middleware.js +1 -1
  220. package/dist/src/servers/production/auth-middleware.js.map +1 -1
  221. package/dist/src/services/config-service.d.ts +44 -0
  222. package/dist/src/services/config-service.d.ts.map +1 -0
  223. package/dist/src/services/config-service.js +61 -0
  224. package/dist/src/services/config-service.js.map +1 -0
  225. package/dist/src/services/context-service.d.ts +17 -0
  226. package/dist/src/services/context-service.d.ts.map +1 -0
  227. package/dist/src/services/context-service.js +88 -0
  228. package/dist/src/services/context-service.js.map +1 -0
  229. package/dist/src/types/task.d.ts +27 -0
  230. package/dist/src/types/task.d.ts.map +1 -0
  231. package/dist/src/types/task.js +2 -0
  232. package/dist/src/types/task.js.map +1 -0
  233. package/dist/src/utils/logger.d.ts +13 -0
  234. package/dist/src/utils/logger.d.ts.map +1 -0
  235. package/dist/src/utils/logger.js +52 -0
  236. package/dist/src/utils/logger.js.map +1 -0
  237. package/package.json +24 -10
  238. package/dist/attention-scoring/src/attention-tracker.d.ts +0 -79
  239. package/dist/attention-scoring/src/attention-tracker.d.ts.map +0 -1
  240. package/dist/attention-scoring/src/attention-tracker.js +0 -488
  241. package/dist/attention-scoring/src/attention-tracker.js.map +0 -1
  242. package/dist/attention-scoring/src/mcp-integration.d.ts +0 -56
  243. package/dist/attention-scoring/src/mcp-integration.d.ts.map +0 -1
  244. package/dist/attention-scoring/src/mcp-integration.js +0 -369
  245. package/dist/attention-scoring/src/mcp-integration.js.map +0 -1
  246. package/dist/index.js +0 -382
  247. package/dist/p2p-sync/src/p2p-sync.d.ts +0 -81
  248. package/dist/p2p-sync/src/p2p-sync.d.ts.map +0 -1
  249. package/dist/p2p-sync/src/p2p-sync.js +0 -457
  250. package/dist/p2p-sync/src/p2p-sync.js.map +0 -1
  251. package/dist/p2p-sync/src/team-context-sync.d.ts +0 -99
  252. package/dist/p2p-sync/src/team-context-sync.d.ts.map +0 -1
  253. package/dist/p2p-sync/src/team-context-sync.js +0 -491
  254. package/dist/p2p-sync/src/team-context-sync.js.map +0 -1
  255. package/dist/src/analytics/api/analytics-api.d.ts +0 -24
  256. package/dist/src/analytics/api/analytics-api.d.ts.map +0 -1
  257. package/dist/src/analytics/api/analytics-api.js +0 -279
  258. package/dist/src/analytics/api/analytics-api.js.map +0 -1
  259. package/dist/src/analytics/core/analytics-service.d.ts +0 -23
  260. package/dist/src/analytics/core/analytics-service.d.ts.map +0 -1
  261. package/dist/src/analytics/core/analytics-service.js +0 -160
  262. package/dist/src/analytics/core/analytics-service.js.map +0 -1
  263. package/dist/src/analytics/index.d.ts +0 -12
  264. package/dist/src/analytics/index.d.ts.map +0 -1
  265. package/dist/src/analytics/index.js +0 -11
  266. package/dist/src/analytics/index.js.map +0 -1
  267. package/dist/src/analytics/queries/metrics-queries.d.ts +0 -11
  268. package/dist/src/analytics/queries/metrics-queries.d.ts.map +0 -1
  269. package/dist/src/analytics/queries/metrics-queries.js +0 -179
  270. package/dist/src/analytics/queries/metrics-queries.js.map +0 -1
  271. package/dist/src/analytics/types/metrics.d.ts +0 -60
  272. package/dist/src/analytics/types/metrics.d.ts.map +0 -1
  273. package/dist/src/analytics/types/metrics.js +0 -2
  274. package/dist/src/analytics/types/metrics.js.map +0 -1
  275. package/dist/src/beads/beads-task-store.d.ts +0 -117
  276. package/dist/src/beads/beads-task-store.d.ts.map +0 -1
  277. package/dist/src/beads/beads-task-store.js +0 -318
  278. package/dist/src/beads/beads-task-store.js.map +0 -1
  279. package/dist/src/beads/task-aware-context.d.ts +0 -103
  280. package/dist/src/beads/task-aware-context.d.ts.map +0 -1
  281. package/dist/src/beads/task-aware-context.js +0 -395
  282. package/dist/src/beads/task-aware-context.js.map +0 -1
  283. package/dist/src/beads-task-store.d.ts +0 -117
  284. package/dist/src/beads-task-store.d.ts.map +0 -1
  285. package/dist/src/beads-task-store.js +0 -318
  286. package/dist/src/beads-task-store.js.map +0 -1
  287. package/dist/src/cli/analytics-viewer.d.ts +0 -3
  288. package/dist/src/cli/analytics-viewer.d.ts.map +0 -1
  289. package/dist/src/cli/analytics-viewer.js +0 -89
  290. package/dist/src/cli/analytics-viewer.js.map +0 -1
  291. package/dist/src/cli/cli.d.ts +0 -7
  292. package/dist/src/cli/cli.d.ts.map +0 -1
  293. package/dist/src/cli/cli.js +0 -704
  294. package/dist/src/cli/cli.js.map +0 -1
  295. package/dist/src/cli/project-commands.d.ts +0 -8
  296. package/dist/src/cli/project-commands.d.ts.map +0 -1
  297. package/dist/src/cli/project-commands.js +0 -212
  298. package/dist/src/cli/project-commands.js.map +0 -1
  299. package/dist/src/cli.d.ts +0 -7
  300. package/dist/src/cli.d.ts.map +0 -1
  301. package/dist/src/cli.js +0 -73
  302. package/dist/src/cli.js.map +0 -1
  303. package/dist/src/core/error-handler.d.ts +0 -46
  304. package/dist/src/core/error-handler.d.ts.map +0 -1
  305. package/dist/src/core/error-handler.js +0 -212
  306. package/dist/src/core/error-handler.js.map +0 -1
  307. package/dist/src/core/frame-manager.d.ts +0 -106
  308. package/dist/src/core/frame-manager.d.ts.map +0 -1
  309. package/dist/src/core/frame-manager.js +0 -387
  310. package/dist/src/core/frame-manager.js.map +0 -1
  311. package/dist/src/core/logger.d.ts +0 -24
  312. package/dist/src/core/logger.d.ts.map +0 -1
  313. package/dist/src/core/logger.js +0 -121
  314. package/dist/src/core/logger.js.map +0 -1
  315. package/dist/src/core/logger.test.d.ts +0 -2
  316. package/dist/src/core/logger.test.d.ts.map +0 -1
  317. package/dist/src/core/logger.test.js +0 -31
  318. package/dist/src/core/logger.test.js.map +0 -1
  319. package/dist/src/core/progress-tracker.d.ts +0 -95
  320. package/dist/src/core/progress-tracker.d.ts.map +0 -1
  321. package/dist/src/core/progress-tracker.js +0 -178
  322. package/dist/src/core/progress-tracker.js.map +0 -1
  323. package/dist/src/core/project-manager.d.ts +0 -130
  324. package/dist/src/core/project-manager.d.ts.map +0 -1
  325. package/dist/src/core/project-manager.js +0 -582
  326. package/dist/src/core/project-manager.js.map +0 -1
  327. package/dist/src/core/update-checker.d.ts +0 -38
  328. package/dist/src/core/update-checker.d.ts.map +0 -1
  329. package/dist/src/core/update-checker.js +0 -156
  330. package/dist/src/core/update-checker.js.map +0 -1
  331. package/dist/src/error-handler.d.ts +0 -42
  332. package/dist/src/error-handler.d.ts.map +0 -1
  333. package/dist/src/error-handler.js +0 -155
  334. package/dist/src/error-handler.js.map +0 -1
  335. package/dist/src/frame-manager.d.ts +0 -106
  336. package/dist/src/frame-manager.d.ts.map +0 -1
  337. package/dist/src/frame-manager.js +0 -361
  338. package/dist/src/frame-manager.js.map +0 -1
  339. package/dist/src/integrations/browser-mcp.d.ts +0 -94
  340. package/dist/src/integrations/browser-mcp.d.ts.map +0 -1
  341. package/dist/src/integrations/browser-mcp.js +0 -431
  342. package/dist/src/integrations/browser-mcp.js.map +0 -1
  343. package/dist/src/integrations/linear-auth.d.ts +0 -99
  344. package/dist/src/integrations/linear-auth.d.ts.map +0 -1
  345. package/dist/src/integrations/linear-auth.js +0 -319
  346. package/dist/src/integrations/linear-auth.js.map +0 -1
  347. package/dist/src/integrations/linear-auto-sync.d.ts +0 -77
  348. package/dist/src/integrations/linear-auto-sync.d.ts.map +0 -1
  349. package/dist/src/integrations/linear-auto-sync.js +0 -268
  350. package/dist/src/integrations/linear-auto-sync.js.map +0 -1
  351. package/dist/src/integrations/linear-client.d.ts +0 -86
  352. package/dist/src/integrations/linear-client.d.ts.map +0 -1
  353. package/dist/src/integrations/linear-client.js +0 -277
  354. package/dist/src/integrations/linear-client.js.map +0 -1
  355. package/dist/src/integrations/linear-config.d.ts +0 -51
  356. package/dist/src/integrations/linear-config.d.ts.map +0 -1
  357. package/dist/src/integrations/linear-config.js +0 -103
  358. package/dist/src/integrations/linear-config.js.map +0 -1
  359. package/dist/src/integrations/linear-sync.d.ts +0 -97
  360. package/dist/src/integrations/linear-sync.d.ts.map +0 -1
  361. package/dist/src/integrations/linear-sync.js +0 -391
  362. package/dist/src/integrations/linear-sync.js.map +0 -1
  363. package/dist/src/logger.d.ts +0 -24
  364. package/dist/src/logger.d.ts.map +0 -1
  365. package/dist/src/logger.js +0 -120
  366. package/dist/src/logger.js.map +0 -1
  367. package/dist/src/mcp/mcp-server.d.ts +0 -40
  368. package/dist/src/mcp/mcp-server.d.ts.map +0 -1
  369. package/dist/src/mcp/mcp-server.js +0 -828
  370. package/dist/src/mcp/mcp-server.js.map +0 -1
  371. package/dist/src/mcp-server.d.ts +0 -32
  372. package/dist/src/mcp-server.d.ts.map +0 -1
  373. package/dist/src/mcp-server.js +0 -441
  374. package/dist/src/mcp-server.js.map +0 -1
  375. package/dist/src/pebbles/pebbles-task-store.d.ts +0 -117
  376. package/dist/src/pebbles/pebbles-task-store.d.ts.map +0 -1
  377. package/dist/src/pebbles/pebbles-task-store.js +0 -335
  378. package/dist/src/pebbles/pebbles-task-store.js.map +0 -1
  379. package/dist/src/pebbles/task-aware-context.d.ts +0 -103
  380. package/dist/src/pebbles/task-aware-context.d.ts.map +0 -1
  381. package/dist/src/pebbles/task-aware-context.js +0 -412
  382. package/dist/src/pebbles/task-aware-context.js.map +0 -1
  383. package/dist/src/railway/index.d.ts +0 -7
  384. package/dist/src/railway/index.d.ts.map +0 -1
  385. package/dist/src/railway/index.js +0 -401
  386. package/dist/src/railway/index.js.map +0 -1
  387. package/dist/src/runway/auth/auth-middleware.d.ts +0 -66
  388. package/dist/src/runway/auth/auth-middleware.d.ts.map +0 -1
  389. package/dist/src/runway/auth/auth-middleware.js +0 -337
  390. package/dist/src/runway/auth/auth-middleware.js.map +0 -1
  391. package/dist/src/runway/server/runway-mcp-server.d.ts +0 -46
  392. package/dist/src/runway/server/runway-mcp-server.d.ts.map +0 -1
  393. package/dist/src/runway/server/runway-mcp-server.js +0 -601
  394. package/dist/src/runway/server/runway-mcp-server.js.map +0 -1
  395. package/dist/src/runway.bak/auth/auth-middleware.d.ts +0 -66
  396. package/dist/src/runway.bak/auth/auth-middleware.d.ts.map +0 -1
  397. package/dist/src/runway.bak/auth/auth-middleware.js +0 -337
  398. package/dist/src/runway.bak/auth/auth-middleware.js.map +0 -1
  399. package/dist/src/runway.bak/server/runway-mcp-server.d.ts +0 -46
  400. package/dist/src/runway.bak/server/runway-mcp-server.d.ts.map +0 -1
  401. package/dist/src/runway.bak/server/runway-mcp-server.js +0 -601
  402. package/dist/src/runway.bak/server/runway-mcp-server.js.map +0 -1
  403. package/dist/src/task-aware-context.d.ts +0 -103
  404. package/dist/src/task-aware-context.d.ts.map +0 -1
  405. package/dist/src/task-aware-context.js +0 -395
  406. package/dist/src/task-aware-context.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-handler.js","sourceRoot":"","sources":["../../../../src/core/context/compaction-handler.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Manages nested frames representing the call stack of work
4
4
  */
5
5
  import Database from 'better-sqlite3';
6
+ import { FrameQueryMode } from '../session/index.js';
6
7
  export type FrameType = 'task' | 'subtask' | 'tool_scope' | 'review' | 'write' | 'debug';
7
8
  export type FrameState = 'active' | 'closed';
8
9
  export interface Frame {
@@ -52,9 +53,12 @@ export interface Event {
52
53
  export declare class FrameManager {
53
54
  private db;
54
55
  private currentRunId;
56
+ private sessionId;
55
57
  private projectId;
56
58
  private activeStack;
59
+ private queryMode;
57
60
  constructor(db: Database.Database, projectId: string, runId?: string);
61
+ setQueryMode(mode: FrameQueryMode): void;
58
62
  private initializeSchema;
59
63
  private loadActiveStack;
60
64
  private buildStackOrder;
@@ -1 +1 @@
1
- {"version":3,"file":"frame-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/context/frame-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,OAAO,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EACA,MAAM,GACN,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,MAAM,GACN,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EACN,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,aAAa,GACb,UAAU,GACV,YAAY,GACZ,UAAU,GACV,aAAa,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAgB;gBAEvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAQpE,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,MAAM;IAyDV;;OAEG;IACI,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAgExE,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACI,QAAQ,CACb,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;IA+BT;;OAEG;IACI,SAAS,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAU,EACpB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAClC,OAAO,CAAC,EAAE,MAAM,GACf,MAAM;IA+BT;;OAEG;IACI,kBAAkB,CAAC,SAAS,GAAE,MAAW,GAAG,YAAY,EAAE;IAqBjE;;OAEG;IACI,kBAAkB,IAAI,KAAK,EAAE;IAO7B,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAIvC,aAAa,IAAI,MAAM;IAI9B,OAAO,CAAC,aAAa;IAKd,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAmB5C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAc/D,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;CAQ3B"}
1
+ {"version":3,"file":"frame-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/context/frame-manager.ts"],"names":[],"mappings":"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"}
@@ -4,87 +4,181 @@
4
4
  */
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
  import { logger } from '../monitoring/logger.js';
7
- import { StackMemoryError, ErrorCode } from '../monitoring/error-handler.js';
7
+ import { DatabaseError, FrameError, ErrorCode, createErrorHandler, } from '../errors/index.js';
8
+ import { sessionManager, FrameQueryMode } from '../session/index.js';
8
9
  export class FrameManager {
9
10
  db;
10
11
  currentRunId;
12
+ sessionId;
11
13
  projectId;
12
14
  activeStack = []; // Stack of active frame IDs
15
+ queryMode = FrameQueryMode.PROJECT_ACTIVE;
13
16
  constructor(db, projectId, runId) {
14
17
  this.db = db;
15
18
  this.projectId = projectId;
16
- this.currentRunId = runId || uuidv4();
19
+ // Use session manager for run ID if available
20
+ const session = sessionManager.getCurrentSession();
21
+ if (session) {
22
+ this.currentRunId = session.runId;
23
+ this.sessionId = session.sessionId;
24
+ }
25
+ else {
26
+ this.currentRunId = runId || uuidv4();
27
+ this.sessionId = this.currentRunId; // Fallback for legacy behavior
28
+ }
17
29
  this.initializeSchema();
18
30
  this.loadActiveStack();
19
31
  }
32
+ setQueryMode(mode) {
33
+ this.queryMode = mode;
34
+ this.loadActiveStack(); // Reload with new mode
35
+ }
20
36
  initializeSchema() {
21
- // Enhanced frames table matching architecture
22
- this.db.exec(`
23
- CREATE TABLE IF NOT EXISTS frames (
24
- frame_id TEXT PRIMARY KEY,
25
- run_id TEXT NOT NULL,
26
- project_id TEXT NOT NULL,
27
- parent_frame_id TEXT REFERENCES frames(frame_id),
28
- depth INTEGER NOT NULL DEFAULT 0,
29
- type TEXT NOT NULL,
30
- name TEXT NOT NULL,
31
- state TEXT DEFAULT 'active',
32
- inputs TEXT DEFAULT '{}',
33
- outputs TEXT DEFAULT '{}',
34
- digest_text TEXT,
35
- digest_json TEXT DEFAULT '{}',
36
- created_at INTEGER DEFAULT (unixepoch()),
37
- closed_at INTEGER
38
- );
37
+ const errorHandler = createErrorHandler({
38
+ operation: 'initializeSchema',
39
+ projectId: this.projectId,
40
+ runId: this.currentRunId,
41
+ });
42
+ try {
43
+ // Enhanced frames table matching architecture
44
+ this.db.exec(`
45
+ CREATE TABLE IF NOT EXISTS frames (
46
+ frame_id TEXT PRIMARY KEY,
47
+ run_id TEXT NOT NULL,
48
+ project_id TEXT NOT NULL,
49
+ parent_frame_id TEXT REFERENCES frames(frame_id),
50
+ depth INTEGER NOT NULL DEFAULT 0,
51
+ type TEXT NOT NULL,
52
+ name TEXT NOT NULL,
53
+ state TEXT DEFAULT 'active',
54
+ inputs TEXT DEFAULT '{}',
55
+ outputs TEXT DEFAULT '{}',
56
+ digest_text TEXT,
57
+ digest_json TEXT DEFAULT '{}',
58
+ created_at INTEGER DEFAULT (unixepoch()),
59
+ closed_at INTEGER
60
+ );
39
61
 
40
- CREATE TABLE IF NOT EXISTS events (
41
- event_id TEXT PRIMARY KEY,
42
- run_id TEXT NOT NULL,
43
- frame_id TEXT NOT NULL,
44
- seq INTEGER NOT NULL,
45
- event_type TEXT NOT NULL,
46
- payload TEXT NOT NULL,
47
- ts INTEGER DEFAULT (unixepoch()),
48
- FOREIGN KEY(frame_id) REFERENCES frames(frame_id)
49
- );
62
+ CREATE TABLE IF NOT EXISTS events (
63
+ event_id TEXT PRIMARY KEY,
64
+ run_id TEXT NOT NULL,
65
+ frame_id TEXT NOT NULL,
66
+ seq INTEGER NOT NULL,
67
+ event_type TEXT NOT NULL,
68
+ payload TEXT NOT NULL,
69
+ ts INTEGER DEFAULT (unixepoch()),
70
+ FOREIGN KEY(frame_id) REFERENCES frames(frame_id)
71
+ );
50
72
 
51
- CREATE TABLE IF NOT EXISTS anchors (
52
- anchor_id TEXT PRIMARY KEY,
53
- frame_id TEXT NOT NULL,
54
- project_id TEXT NOT NULL,
55
- type TEXT NOT NULL,
56
- text TEXT NOT NULL,
57
- priority INTEGER DEFAULT 0,
58
- created_at INTEGER DEFAULT (unixepoch()),
59
- metadata TEXT DEFAULT '{}',
60
- FOREIGN KEY(frame_id) REFERENCES frames(frame_id)
61
- );
73
+ CREATE TABLE IF NOT EXISTS anchors (
74
+ anchor_id TEXT PRIMARY KEY,
75
+ frame_id TEXT NOT NULL,
76
+ project_id TEXT NOT NULL,
77
+ type TEXT NOT NULL,
78
+ text TEXT NOT NULL,
79
+ priority INTEGER DEFAULT 0,
80
+ created_at INTEGER DEFAULT (unixepoch()),
81
+ metadata TEXT DEFAULT '{}',
82
+ FOREIGN KEY(frame_id) REFERENCES frames(frame_id)
83
+ );
62
84
 
63
- CREATE INDEX IF NOT EXISTS idx_frames_run ON frames(run_id);
64
- CREATE INDEX IF NOT EXISTS idx_frames_parent ON frames(parent_frame_id);
65
- CREATE INDEX IF NOT EXISTS idx_frames_state ON frames(state);
66
- CREATE INDEX IF NOT EXISTS idx_events_frame ON events(frame_id);
67
- CREATE INDEX IF NOT EXISTS idx_events_seq ON events(frame_id, seq);
68
- CREATE INDEX IF NOT EXISTS idx_anchors_frame ON anchors(frame_id);
69
- `);
85
+ CREATE INDEX IF NOT EXISTS idx_frames_run ON frames(run_id);
86
+ CREATE INDEX IF NOT EXISTS idx_frames_parent ON frames(parent_frame_id);
87
+ CREATE INDEX IF NOT EXISTS idx_frames_state ON frames(state);
88
+ CREATE INDEX IF NOT EXISTS idx_events_frame ON events(frame_id);
89
+ CREATE INDEX IF NOT EXISTS idx_events_seq ON events(frame_id, seq);
90
+ CREATE INDEX IF NOT EXISTS idx_anchors_frame ON anchors(frame_id);
91
+ `);
92
+ }
93
+ catch (error) {
94
+ const dbError = errorHandler(error, {
95
+ operation: 'initializeSchema',
96
+ schema: 'frames',
97
+ });
98
+ if (dbError instanceof DatabaseError) {
99
+ throw new DatabaseError('Failed to initialize frame database schema', ErrorCode.DB_MIGRATION_FAILED, {
100
+ projectId: this.projectId,
101
+ operation: 'initializeSchema',
102
+ originalError: error,
103
+ }, error instanceof Error ? error : undefined);
104
+ }
105
+ throw dbError;
106
+ }
70
107
  }
71
108
  loadActiveStack() {
72
- // Load currently active frames for this run
73
- const activeFrames = this.db
74
- .prepare(`
75
- SELECT frame_id, parent_frame_id, depth
76
- FROM frames
77
- WHERE run_id = ? AND state = 'active'
78
- ORDER BY depth ASC
79
- `)
80
- .all(this.currentRunId);
81
- // Rebuild stack order
82
- this.activeStack = this.buildStackOrder(activeFrames);
83
- logger.info('Loaded active stack', {
109
+ const errorHandler = createErrorHandler({
110
+ operation: 'loadActiveStack',
84
111
  runId: this.currentRunId,
85
- stackDepth: this.activeStack.length,
86
- activeFrames: this.activeStack,
112
+ projectId: this.projectId,
87
113
  });
114
+ try {
115
+ let query;
116
+ let params;
117
+ // Build query based on query mode
118
+ switch (this.queryMode) {
119
+ case FrameQueryMode.ALL_ACTIVE:
120
+ query = `
121
+ SELECT frame_id, parent_frame_id, depth
122
+ FROM frames
123
+ WHERE state = 'active'
124
+ ORDER BY created_at DESC, depth ASC
125
+ `;
126
+ params = [];
127
+ break;
128
+ case FrameQueryMode.PROJECT_ACTIVE:
129
+ query = `
130
+ SELECT frame_id, parent_frame_id, depth, run_id
131
+ FROM frames
132
+ WHERE state = 'active' AND project_id = ?
133
+ ORDER BY created_at DESC, depth ASC
134
+ `;
135
+ params = [this.projectId];
136
+ break;
137
+ case FrameQueryMode.HISTORICAL:
138
+ query = `
139
+ SELECT frame_id, parent_frame_id, depth
140
+ FROM frames
141
+ WHERE project_id = ?
142
+ ORDER BY created_at DESC, depth ASC
143
+ `;
144
+ params = [this.projectId];
145
+ break;
146
+ case FrameQueryMode.CURRENT_SESSION:
147
+ default:
148
+ query = `
149
+ SELECT frame_id, parent_frame_id, depth
150
+ FROM frames
151
+ WHERE run_id = ? AND state = 'active'
152
+ ORDER BY depth ASC
153
+ `;
154
+ params = [this.currentRunId];
155
+ break;
156
+ }
157
+ const activeFrames = this.db.prepare(query).all(...params);
158
+ // Rebuild stack order
159
+ this.activeStack = this.buildStackOrder(activeFrames);
160
+ logger.info('Loaded active stack', {
161
+ runId: this.currentRunId,
162
+ stackDepth: this.activeStack.length,
163
+ activeFrames: this.activeStack,
164
+ queryMode: this.queryMode,
165
+ });
166
+ }
167
+ catch (error) {
168
+ const dbError = errorHandler(error, {
169
+ query: 'Frame loading query',
170
+ runId: this.currentRunId,
171
+ queryMode: this.queryMode,
172
+ });
173
+ if (dbError instanceof DatabaseError) {
174
+ throw new DatabaseError('Failed to load active frame stack', ErrorCode.DB_QUERY_FAILED, {
175
+ runId: this.currentRunId,
176
+ projectId: this.projectId,
177
+ operation: 'loadActiveStack',
178
+ }, error instanceof Error ? error : undefined);
179
+ }
180
+ throw dbError;
181
+ }
88
182
  }
89
183
  buildStackOrder(frames) {
90
184
  const stack = [];
@@ -123,13 +217,25 @@ export class FrameManager {
123
217
  inputs: options.inputs || {},
124
218
  created_at: Math.floor(Date.now() / 1000),
125
219
  };
126
- this.db
127
- .prepare(`
128
- INSERT INTO frames (
129
- frame_id, run_id, project_id, parent_frame_id, depth, type, name, state, inputs, created_at
130
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
131
- `)
132
- .run(frame.frame_id, frame.run_id, frame.project_id, frame.parent_frame_id, frame.depth, frame.type, frame.name, frame.state, JSON.stringify(frame.inputs), frame.created_at);
220
+ try {
221
+ this.db
222
+ .prepare(`
223
+ INSERT INTO frames (
224
+ frame_id, run_id, project_id, parent_frame_id, depth, type, name, state, inputs, created_at
225
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
226
+ `)
227
+ .run(frame.frame_id, frame.run_id, frame.project_id, frame.parent_frame_id, frame.depth, frame.type, frame.name, frame.state, JSON.stringify(frame.inputs), frame.created_at);
228
+ }
229
+ catch (error) {
230
+ throw new DatabaseError(`Failed to create frame: ${options.name}`, ErrorCode.DB_QUERY_FAILED, {
231
+ frameId,
232
+ frameType: options.type,
233
+ frameName: options.name,
234
+ parentFrameId,
235
+ depth,
236
+ operation: 'createFrame',
237
+ }, error instanceof Error ? error : undefined);
238
+ }
133
239
  // Push to active stack
134
240
  this.activeStack.push(frameId);
135
241
  logger.info('Created frame', {
@@ -148,12 +254,20 @@ export class FrameManager {
148
254
  closeFrame(frameId, outputs) {
149
255
  const targetFrameId = frameId || this.getCurrentFrameId();
150
256
  if (!targetFrameId) {
151
- throw new StackMemoryError(ErrorCode.OPERATION_FAILED, 'No active frame to close');
257
+ throw new FrameError('No active frame to close', ErrorCode.FRAME_INVALID_STATE, {
258
+ operation: 'closeFrame',
259
+ activeStack: this.activeStack,
260
+ stackDepth: this.activeStack.length,
261
+ });
152
262
  }
153
263
  // Get frame details
154
264
  const frame = this.getFrame(targetFrameId);
155
265
  if (!frame) {
156
- throw new StackMemoryError(ErrorCode.OPERATION_FAILED, `Frame not found: ${targetFrameId}`);
266
+ throw new FrameError(`Frame not found: ${targetFrameId}`, ErrorCode.FRAME_NOT_FOUND, {
267
+ frameId: targetFrameId,
268
+ operation: 'closeFrame',
269
+ runId: this.currentRunId,
270
+ });
157
271
  }
158
272
  if (frame.state === 'closed') {
159
273
  logger.warn('Attempted to close already closed frame', {
@@ -164,18 +278,27 @@ export class FrameManager {
164
278
  // Generate digest before closing
165
279
  const digest = this.generateDigest(targetFrameId);
166
280
  const finalOutputs = { ...outputs, ...digest.structured };
167
- // Update frame to closed state
168
- this.db
169
- .prepare(`
170
- UPDATE frames
171
- SET state = 'closed',
172
- outputs = ?,
173
- digest_text = ?,
174
- digest_json = ?,
175
- closed_at = unixepoch()
176
- WHERE frame_id = ?
177
- `)
178
- .run(JSON.stringify(finalOutputs), digest.text, JSON.stringify(digest.structured), targetFrameId);
281
+ try {
282
+ // Update frame to closed state
283
+ this.db
284
+ .prepare(`
285
+ UPDATE frames
286
+ SET state = 'closed',
287
+ outputs = ?,
288
+ digest_text = ?,
289
+ digest_json = ?,
290
+ closed_at = unixepoch()
291
+ WHERE frame_id = ?
292
+ `)
293
+ .run(JSON.stringify(finalOutputs), digest.text, JSON.stringify(digest.structured), targetFrameId);
294
+ }
295
+ catch (error) {
296
+ throw new DatabaseError(`Failed to close frame: ${targetFrameId}`, ErrorCode.DB_QUERY_FAILED, {
297
+ frameId: targetFrameId,
298
+ frameName: frame.name,
299
+ operation: 'closeFrame',
300
+ }, error instanceof Error ? error : undefined);
301
+ }
179
302
  // Remove from active stack
180
303
  this.activeStack = this.activeStack.filter((id) => id !== targetFrameId);
181
304
  // Close all child frames recursively
@@ -189,15 +312,31 @@ export class FrameManager {
189
312
  });
190
313
  }
191
314
  closeChildFrames(parentFrameId) {
192
- const children = this.db
193
- .prepare(`
194
- SELECT frame_id FROM frames
195
- WHERE parent_frame_id = ? AND state = 'active'
196
- `)
197
- .all(parentFrameId);
198
- children.forEach((child) => {
199
- this.closeFrame(child.frame_id);
200
- });
315
+ try {
316
+ const children = this.db
317
+ .prepare(`
318
+ SELECT frame_id FROM frames
319
+ WHERE parent_frame_id = ? AND state = 'active'
320
+ `)
321
+ .all(parentFrameId);
322
+ children.forEach((child) => {
323
+ try {
324
+ this.closeFrame(child.frame_id);
325
+ }
326
+ catch (error) {
327
+ logger.error('Failed to close child frame', error instanceof Error ? error : new Error(String(error)), {
328
+ parentFrameId,
329
+ childFrameId: child.frame_id,
330
+ });
331
+ }
332
+ });
333
+ }
334
+ catch (error) {
335
+ throw new DatabaseError(`Failed to close child frames for parent: ${parentFrameId}`, ErrorCode.DB_QUERY_FAILED, {
336
+ parentFrameId,
337
+ operation: 'closeChildFrames',
338
+ }, error instanceof Error ? error : undefined);
339
+ }
201
340
  }
202
341
  /**
203
342
  * Generate digest for a frame
@@ -207,7 +346,11 @@ export class FrameManager {
207
346
  const events = this.getFrameEvents(frameId);
208
347
  const anchors = this.getFrameAnchors(frameId);
209
348
  if (!frame) {
210
- throw new StackMemoryError(ErrorCode.OPERATION_FAILED, `Cannot generate digest: frame not found ${frameId}`);
349
+ throw new FrameError(`Cannot generate digest: frame not found ${frameId}`, ErrorCode.FRAME_NOT_FOUND, {
350
+ frameId,
351
+ operation: 'generateDigest',
352
+ runId: this.currentRunId,
353
+ });
211
354
  }
212
355
  // Extract key information
213
356
  const decisions = anchors.filter((a) => a.type === 'DECISION');
@@ -257,16 +400,31 @@ export class FrameManager {
257
400
  addEvent(eventType, payload, frameId) {
258
401
  const targetFrameId = frameId || this.getCurrentFrameId();
259
402
  if (!targetFrameId) {
260
- throw new StackMemoryError(ErrorCode.OPERATION_FAILED, 'No active frame for event');
403
+ throw new FrameError('No active frame for event', ErrorCode.FRAME_INVALID_STATE, {
404
+ operation: 'addEvent',
405
+ eventType,
406
+ activeStack: this.activeStack,
407
+ });
261
408
  }
262
409
  const eventId = uuidv4();
263
410
  const seq = this.getNextEventSequence(targetFrameId);
264
- this.db
265
- .prepare(`
266
- INSERT INTO events (event_id, run_id, frame_id, seq, event_type, payload)
267
- VALUES (?, ?, ?, ?, ?, ?)
268
- `)
269
- .run(eventId, this.currentRunId, targetFrameId, seq, eventType, JSON.stringify(payload));
411
+ try {
412
+ this.db
413
+ .prepare(`
414
+ INSERT INTO events (event_id, run_id, frame_id, seq, event_type, payload)
415
+ VALUES (?, ?, ?, ?, ?, ?)
416
+ `)
417
+ .run(eventId, this.currentRunId, targetFrameId, seq, eventType, JSON.stringify(payload));
418
+ }
419
+ catch (error) {
420
+ throw new DatabaseError(`Failed to add event to frame: ${targetFrameId}`, ErrorCode.DB_QUERY_FAILED, {
421
+ eventId,
422
+ frameId: targetFrameId,
423
+ eventType,
424
+ seq,
425
+ operation: 'addEvent',
426
+ }, error instanceof Error ? error : undefined);
427
+ }
270
428
  return eventId;
271
429
  }
272
430
  /**
@@ -275,15 +433,30 @@ export class FrameManager {
275
433
  addAnchor(type, text, priority = 0, metadata = {}, frameId) {
276
434
  const targetFrameId = frameId || this.getCurrentFrameId();
277
435
  if (!targetFrameId) {
278
- throw new StackMemoryError(ErrorCode.OPERATION_FAILED, 'No active frame for anchor');
436
+ throw new FrameError('No active frame for anchor', ErrorCode.FRAME_INVALID_STATE, {
437
+ operation: 'addAnchor',
438
+ anchorType: type,
439
+ text: text.substring(0, 100),
440
+ activeStack: this.activeStack,
441
+ });
279
442
  }
280
443
  const anchorId = uuidv4();
281
- this.db
282
- .prepare(`
283
- INSERT INTO anchors (anchor_id, frame_id, project_id, type, text, priority, metadata)
284
- VALUES (?, ?, ?, ?, ?, ?, ?)
285
- `)
286
- .run(anchorId, targetFrameId, this.projectId, type, text, priority, JSON.stringify(metadata));
444
+ try {
445
+ this.db
446
+ .prepare(`
447
+ INSERT INTO anchors (anchor_id, frame_id, project_id, type, text, priority, metadata)
448
+ VALUES (?, ?, ?, ?, ?, ?, ?)
449
+ `)
450
+ .run(anchorId, targetFrameId, this.projectId, type, text, priority, JSON.stringify(metadata));
451
+ }
452
+ catch (error) {
453
+ throw new DatabaseError(`Failed to add anchor to frame: ${targetFrameId}`, ErrorCode.DB_QUERY_FAILED, {
454
+ anchorId,
455
+ frameId: targetFrameId,
456
+ anchorType: type,
457
+ operation: 'addAnchor',
458
+ }, error instanceof Error ? error : undefined);
459
+ }
287
460
  return anchorId;
288
461
  }
289
462
  /**
@@ -329,49 +502,82 @@ export class FrameManager {
329
502
  return frame?.depth || 0;
330
503
  }
331
504
  getFrame(frameId) {
332
- const row = this.db
333
- .prepare(`
334
- SELECT * FROM frames WHERE frame_id = ?
335
- `)
336
- .get(frameId);
337
- if (!row)
338
- return undefined;
339
- return {
340
- ...row,
341
- inputs: JSON.parse(row.inputs || '{}'),
342
- outputs: JSON.parse(row.outputs || '{}'),
343
- digest_json: JSON.parse(row.digest_json || '{}'),
344
- };
505
+ try {
506
+ const row = this.db
507
+ .prepare(`
508
+ SELECT * FROM frames WHERE frame_id = ?
509
+ `)
510
+ .get(frameId);
511
+ if (!row)
512
+ return undefined;
513
+ return {
514
+ ...row,
515
+ inputs: JSON.parse(row.inputs || '{}'),
516
+ outputs: JSON.parse(row.outputs || '{}'),
517
+ digest_json: JSON.parse(row.digest_json || '{}'),
518
+ };
519
+ }
520
+ catch (error) {
521
+ throw new DatabaseError(`Failed to get frame: ${frameId}`, ErrorCode.DB_QUERY_FAILED, {
522
+ frameId,
523
+ operation: 'getFrame',
524
+ }, error instanceof Error ? error : undefined);
525
+ }
345
526
  }
346
527
  getFrameEvents(frameId, limit) {
347
- const query = limit
348
- ? `SELECT * FROM events WHERE frame_id = ? ORDER BY seq DESC LIMIT ?`
349
- : `SELECT * FROM events WHERE frame_id = ? ORDER BY seq ASC`;
350
- const params = limit ? [frameId, limit] : [frameId];
351
- const rows = this.db.prepare(query).all(...params);
352
- return rows.map((row) => ({
353
- ...row,
354
- payload: JSON.parse(row.payload),
355
- }));
528
+ try {
529
+ const query = limit
530
+ ? `SELECT * FROM events WHERE frame_id = ? ORDER BY seq DESC LIMIT ?`
531
+ : `SELECT * FROM events WHERE frame_id = ? ORDER BY seq ASC`;
532
+ const params = limit ? [frameId, limit] : [frameId];
533
+ const rows = this.db.prepare(query).all(...params);
534
+ return rows.map((row) => ({
535
+ ...row,
536
+ payload: JSON.parse(row.payload),
537
+ }));
538
+ }
539
+ catch (error) {
540
+ throw new DatabaseError(`Failed to get frame events: ${frameId}`, ErrorCode.DB_QUERY_FAILED, {
541
+ frameId,
542
+ limit,
543
+ operation: 'getFrameEvents',
544
+ }, error instanceof Error ? error : undefined);
545
+ }
356
546
  }
357
547
  getFrameAnchors(frameId) {
358
- const rows = this.db
359
- .prepare(`
360
- SELECT * FROM anchors WHERE frame_id = ? ORDER BY priority DESC, created_at ASC
361
- `)
362
- .all(frameId);
363
- return rows.map((row) => ({
364
- ...row,
365
- metadata: JSON.parse(row.metadata || '{}'),
366
- }));
548
+ try {
549
+ const rows = this.db
550
+ .prepare(`
551
+ SELECT * FROM anchors WHERE frame_id = ? ORDER BY priority DESC, created_at ASC
552
+ `)
553
+ .all(frameId);
554
+ return rows.map((row) => ({
555
+ ...row,
556
+ metadata: JSON.parse(row.metadata || '{}'),
557
+ }));
558
+ }
559
+ catch (error) {
560
+ throw new DatabaseError(`Failed to get frame anchors: ${frameId}`, ErrorCode.DB_QUERY_FAILED, {
561
+ frameId,
562
+ operation: 'getFrameAnchors',
563
+ }, error instanceof Error ? error : undefined);
564
+ }
367
565
  }
368
566
  getNextEventSequence(frameId) {
369
- const result = this.db
370
- .prepare(`
371
- SELECT MAX(seq) as max_seq FROM events WHERE frame_id = ?
372
- `)
373
- .get(frameId);
374
- return (result.max_seq || 0) + 1;
567
+ try {
568
+ const result = this.db
569
+ .prepare(`
570
+ SELECT MAX(seq) as max_seq FROM events WHERE frame_id = ?
571
+ `)
572
+ .get(frameId);
573
+ return (result.max_seq || 0) + 1;
574
+ }
575
+ catch (error) {
576
+ throw new DatabaseError(`Failed to get next event sequence for frame: ${frameId}`, ErrorCode.DB_QUERY_FAILED, {
577
+ frameId,
578
+ operation: 'getNextEventSequence',
579
+ }, error instanceof Error ? error : undefined);
580
+ }
375
581
  }
376
582
  extractConstraints(inputs) {
377
583
  return inputs.constraints;