@stackmemoryai/stackmemory 0.3.0 → 0.3.3

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 (736) hide show
  1. package/README.md +52 -272
  2. package/dist/cli/codex-sm.js +48 -19
  3. package/dist/cli/codex-sm.js.map +2 -2
  4. package/dist/cli/commands/clear.js +191 -0
  5. package/dist/cli/commands/clear.js.map +7 -0
  6. package/dist/cli/commands/config.js +152 -1
  7. package/dist/cli/commands/config.js.map +2 -2
  8. package/dist/cli/commands/dashboard.js +178 -0
  9. package/dist/cli/commands/dashboard.js.map +7 -0
  10. package/dist/cli/commands/handoff.js +125 -8
  11. package/dist/cli/commands/handoff.js.map +2 -2
  12. package/dist/cli/commands/linear-create.js +132 -0
  13. package/dist/cli/commands/linear-create.js.map +7 -0
  14. package/dist/cli/commands/linear-list.js +69 -0
  15. package/dist/cli/commands/linear-list.js.map +7 -0
  16. package/dist/cli/commands/linear-migrate.js +40 -0
  17. package/dist/cli/commands/linear-migrate.js.map +7 -0
  18. package/dist/cli/commands/linear.js +185 -36
  19. package/dist/cli/commands/linear.js.map +2 -2
  20. package/dist/cli/commands/monitor.js +309 -0
  21. package/dist/cli/commands/monitor.js.map +7 -0
  22. package/dist/cli/commands/quality.js +414 -0
  23. package/dist/cli/commands/quality.js.map +7 -0
  24. package/dist/cli/commands/storage.js +275 -0
  25. package/dist/cli/commands/storage.js.map +7 -0
  26. package/dist/cli/commands/tui.js +66 -0
  27. package/dist/cli/commands/tui.js.map +7 -0
  28. package/dist/cli/commands/workflow.js +134 -0
  29. package/dist/cli/commands/workflow.js.map +7 -0
  30. package/dist/cli/index.js +105 -9
  31. package/dist/cli/index.js.map +3 -3
  32. package/dist/core/analytics/team-analytics.js +374 -0
  33. package/dist/core/analytics/team-analytics.js.map +7 -0
  34. package/dist/core/context/context-bridge.js +234 -0
  35. package/dist/core/context/context-bridge.js.map +7 -0
  36. package/dist/core/context/dual-stack-manager.js +850 -0
  37. package/dist/core/context/dual-stack-manager.js.map +7 -0
  38. package/dist/core/context/frame-handoff-manager.js +384 -0
  39. package/dist/core/context/frame-handoff-manager.js.map +7 -0
  40. package/dist/core/context/frame-manager.js +132 -12
  41. package/dist/core/context/frame-manager.js.map +2 -2
  42. package/dist/core/context/permission-manager.js +181 -0
  43. package/dist/core/context/permission-manager.js.map +7 -0
  44. package/dist/core/context/shared-context-layer.js +386 -0
  45. package/dist/core/context/shared-context-layer.js.map +7 -0
  46. package/dist/core/context/stack-merge-resolver.js +600 -0
  47. package/dist/core/context/stack-merge-resolver.js.map +7 -0
  48. package/dist/core/context/validation.js +121 -0
  49. package/dist/core/context/validation.js.map +7 -0
  50. package/dist/core/database/connection-pool.js +266 -175
  51. package/dist/core/database/connection-pool.js.map +2 -2
  52. package/dist/core/database/database-adapter.js +51 -0
  53. package/dist/core/database/database-adapter.js.map +7 -0
  54. package/dist/core/database/migration-manager.js +514 -0
  55. package/dist/core/database/migration-manager.js.map +7 -0
  56. package/dist/core/database/paradedb-adapter.js +970 -0
  57. package/dist/core/database/paradedb-adapter.js.map +7 -0
  58. package/dist/core/database/query-router.js +421 -0
  59. package/dist/core/database/query-router.js.map +7 -0
  60. package/dist/core/database/sqlite-adapter.js +547 -0
  61. package/dist/core/database/sqlite-adapter.js.map +7 -0
  62. package/dist/core/errors/index.js +21 -1
  63. package/dist/core/errors/index.js.map +2 -2
  64. package/dist/core/frame/workflow-templates-stub.js +42 -0
  65. package/dist/core/frame/workflow-templates-stub.js.map +7 -0
  66. package/dist/core/frame/workflow-templates.js +276 -0
  67. package/dist/core/frame/workflow-templates.js.map +7 -0
  68. package/dist/core/merge/conflict-detector.js +5 -2
  69. package/dist/core/merge/conflict-detector.js.map +2 -2
  70. package/dist/core/merge/resolution-engine.js +3 -14
  71. package/dist/core/merge/resolution-engine.js.map +2 -2
  72. package/dist/core/merge/stack-diff.js.map +2 -2
  73. package/dist/core/monitoring/logger.js +18 -3
  74. package/dist/core/monitoring/logger.js.map +2 -2
  75. package/dist/core/monitoring/session-monitor.js +296 -0
  76. package/dist/core/monitoring/session-monitor.js.map +7 -0
  77. package/dist/core/retrieval/context-retriever.js +475 -0
  78. package/dist/core/retrieval/context-retriever.js.map +7 -0
  79. package/dist/core/retrieval/graph-retrieval.js +658 -0
  80. package/dist/core/retrieval/graph-retrieval.js.map +7 -0
  81. package/dist/core/retrieval/hierarchical-retrieval.js +652 -0
  82. package/dist/core/retrieval/hierarchical-retrieval.js.map +7 -0
  83. package/dist/core/retrieval/retrieval-benchmarks.js +517 -0
  84. package/dist/core/retrieval/retrieval-benchmarks.js.map +7 -0
  85. package/dist/core/session/clear-survival-stub.js +49 -0
  86. package/dist/core/session/clear-survival-stub.js.map +7 -0
  87. package/dist/core/session/clear-survival.js +426 -0
  88. package/dist/core/session/clear-survival.js.map +7 -0
  89. package/dist/core/session/handoff-generator.js +339 -0
  90. package/dist/core/session/handoff-generator.js.map +7 -0
  91. package/dist/core/session/session-manager.js +61 -26
  92. package/dist/core/session/session-manager.js.map +3 -3
  93. package/dist/core/skills/index.js +3 -0
  94. package/dist/core/skills/index.js.map +7 -0
  95. package/dist/core/skills/skill-storage.js +749 -0
  96. package/dist/core/skills/skill-storage.js.map +7 -0
  97. package/dist/core/skills/types.js +189 -0
  98. package/dist/core/skills/types.js.map +7 -0
  99. package/dist/core/storage/railway-optimized-storage.js +550 -0
  100. package/dist/core/storage/railway-optimized-storage.js.map +7 -0
  101. package/dist/core/storage/remote-storage.js +456 -0
  102. package/dist/core/storage/remote-storage.js.map +7 -0
  103. package/dist/core/trace/trace-detector.js +136 -5
  104. package/dist/core/trace/trace-detector.js.map +2 -2
  105. package/dist/core/trace/trace-store.js.map +2 -2
  106. package/dist/features/tui/components/analytics-panel.js +136 -0
  107. package/dist/features/tui/components/analytics-panel.js.map +7 -0
  108. package/dist/features/tui/components/frame-visualizer.js +377 -0
  109. package/dist/features/tui/components/frame-visualizer.js.map +7 -0
  110. package/dist/features/tui/components/pr-tracker.js +123 -0
  111. package/dist/features/tui/components/pr-tracker.js.map +7 -0
  112. package/dist/features/tui/components/session-monitor.js +286 -0
  113. package/dist/features/tui/components/session-monitor.js.map +7 -0
  114. package/dist/features/tui/components/subagent-fleet.js +388 -0
  115. package/dist/features/tui/components/subagent-fleet.js.map +7 -0
  116. package/dist/features/tui/components/task-board.js +475 -0
  117. package/dist/features/tui/components/task-board.js.map +7 -0
  118. package/dist/features/tui/index.js +397 -0
  119. package/dist/features/tui/index.js.map +7 -0
  120. package/dist/features/tui/services/data-service.js +654 -0
  121. package/dist/features/tui/services/data-service.js.map +7 -0
  122. package/dist/features/tui/services/websocket-client.js +149 -0
  123. package/dist/features/tui/services/websocket-client.js.map +7 -0
  124. package/dist/features/tui/terminal-compat.js +205 -0
  125. package/dist/features/tui/terminal-compat.js.map +7 -0
  126. package/dist/features/tui/types.js +1 -0
  127. package/dist/features/tui/types.js.map +7 -0
  128. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +455 -0
  129. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
  130. package/dist/integrations/claude-code/lifecycle-hooks.js +250 -0
  131. package/dist/integrations/claude-code/lifecycle-hooks.js.map +7 -0
  132. package/dist/integrations/claude-code/post-task-hooks.js +541 -0
  133. package/dist/integrations/claude-code/post-task-hooks.js.map +7 -0
  134. package/dist/integrations/linear/client.js +22 -4
  135. package/dist/integrations/linear/client.js.map +2 -2
  136. package/dist/integrations/linear/migration.js +299 -0
  137. package/dist/integrations/linear/migration.js.map +7 -0
  138. package/dist/integrations/linear/oauth-server.js +396 -0
  139. package/dist/integrations/linear/oauth-server.js.map +7 -0
  140. package/dist/integrations/linear/rest-client.js +199 -0
  141. package/dist/integrations/linear/rest-client.js.map +7 -0
  142. package/dist/integrations/linear/sync.js +14 -2
  143. package/dist/integrations/linear/sync.js.map +2 -2
  144. package/dist/integrations/linear/webhook-handler.js +200 -0
  145. package/dist/integrations/linear/webhook-handler.js.map +7 -0
  146. package/dist/integrations/mcp/handlers/skill-handlers.js +514 -0
  147. package/dist/integrations/mcp/handlers/skill-handlers.js.map +7 -0
  148. package/dist/integrations/mcp/middleware/tool-scoring.js +352 -0
  149. package/dist/integrations/mcp/middleware/tool-scoring.js.map +7 -0
  150. package/dist/integrations/mcp/refactored-server.js +31 -3
  151. package/dist/integrations/mcp/refactored-server.js.map +2 -2
  152. package/dist/integrations/mcp/server.js +25 -7
  153. package/dist/integrations/mcp/server.js.map +2 -2
  154. package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
  155. package/dist/models/user.model.js +3 -0
  156. package/dist/models/user.model.js.map +2 -2
  157. package/dist/services/context-service.js.map +2 -2
  158. package/dist/utils/formatting.js +58 -0
  159. package/dist/utils/formatting.js.map +7 -0
  160. package/package.json +24 -5
  161. package/dist/cli/__tests__/index.test.js +0 -290
  162. package/dist/cli/__tests__/index.test.js.map +0 -7
  163. package/dist/core/config/__tests__/config-manager.test.js +0 -248
  164. package/dist/core/config/__tests__/config-manager.test.js.map +0 -7
  165. package/dist/core/context/__tests__/frame-manager.test.js +0 -879
  166. package/dist/core/context/__tests__/frame-manager.test.js.map +0 -7
  167. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js +0 -379
  168. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js.map +0 -7
  169. package/dist/core/digest/__tests__/frame-digest-integration.test.js +0 -230
  170. package/dist/core/digest/__tests__/frame-digest-integration.test.js.map +0 -7
  171. package/dist/core/errors/__tests__/error-handling.test.js +0 -270
  172. package/dist/core/errors/__tests__/error-handling.test.js.map +0 -7
  173. package/dist/core/merge/__tests__/conflict-scenarios.test.js +0 -414
  174. package/dist/core/merge/__tests__/conflict-scenarios.test.js.map +0 -7
  175. package/dist/core/query/__tests__/query-parser.test.js +0 -301
  176. package/dist/core/query/__tests__/query-parser.test.js.map +0 -7
  177. package/dist/core/query/__tests__/query-templates.test.js +0 -210
  178. package/dist/core/query/__tests__/query-templates.test.js.map +0 -7
  179. package/dist/core/trace/trace-detector.test.js +0 -401
  180. package/dist/core/trace/trace-detector.test.js.map +0 -7
  181. package/dist/features/tasks/__tests__/pebbles-task-store.test.js +0 -747
  182. package/dist/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -7
  183. package/dist/integrations/linear/__tests__/auth.test.js +0 -558
  184. package/dist/integrations/linear/__tests__/auth.test.js.map +0 -7
  185. package/dist/integrations/linear/__tests__/sync-service.test.js +0 -760
  186. package/dist/integrations/linear/__tests__/sync-service.test.js.map +0 -7
  187. package/dist/integrations/mcp/__tests__/server.test.js +0 -798
  188. package/dist/integrations/mcp/__tests__/server.test.js.map +0 -7
  189. package/dist/scripts/benchmark-performance.d.ts +0 -7
  190. package/dist/scripts/benchmark-performance.d.ts.map +0 -1
  191. package/dist/scripts/benchmark-performance.js +0 -44
  192. package/dist/scripts/benchmark-performance.js.map +0 -1
  193. package/dist/scripts/cancel-duplicate-tasks.d.ts +0 -7
  194. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +0 -1
  195. package/dist/scripts/cancel-duplicate-tasks.js +0 -172
  196. package/dist/scripts/cancel-duplicate-tasks.js.map +0 -1
  197. package/dist/scripts/cleanup-duplicate-tasks.d.ts +0 -12
  198. package/dist/scripts/cleanup-duplicate-tasks.d.ts.map +0 -1
  199. package/dist/scripts/cleanup-duplicate-tasks.js +0 -215
  200. package/dist/scripts/cleanup-duplicate-tasks.js.map +0 -1
  201. package/dist/scripts/initialize.d.ts +0 -6
  202. package/dist/scripts/initialize.d.ts.map +0 -1
  203. package/dist/scripts/initialize.js +0 -93
  204. package/dist/scripts/initialize.js.map +0 -1
  205. package/dist/scripts/list-linear-tasks.d.ts +0 -6
  206. package/dist/scripts/list-linear-tasks.d.ts.map +0 -1
  207. package/dist/scripts/list-linear-tasks.js +0 -121
  208. package/dist/scripts/list-linear-tasks.js.map +0 -1
  209. package/dist/scripts/merge-linear-duplicates-safe.d.ts +0 -7
  210. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +0 -1
  211. package/dist/scripts/merge-linear-duplicates-safe.js +0 -267
  212. package/dist/scripts/merge-linear-duplicates-safe.js.map +0 -1
  213. package/dist/scripts/show-linear-summary.d.ts +0 -6
  214. package/dist/scripts/show-linear-summary.d.ts.map +0 -1
  215. package/dist/scripts/show-linear-summary.js +0 -120
  216. package/dist/scripts/show-linear-summary.js.map +0 -1
  217. package/dist/scripts/status.d.ts +0 -6
  218. package/dist/scripts/status.d.ts.map +0 -1
  219. package/dist/scripts/status.js +0 -101
  220. package/dist/scripts/status.js.map +0 -1
  221. package/dist/src/agents/core/agent-task-manager.d.ts +0 -154
  222. package/dist/src/agents/core/agent-task-manager.d.ts.map +0 -1
  223. package/dist/src/agents/core/agent-task-manager.js +0 -504
  224. package/dist/src/agents/core/agent-task-manager.js.map +0 -1
  225. package/dist/src/agents/verifiers/base-verifier.d.ts +0 -112
  226. package/dist/src/agents/verifiers/base-verifier.d.ts.map +0 -1
  227. package/dist/src/agents/verifiers/base-verifier.js +0 -130
  228. package/dist/src/agents/verifiers/base-verifier.js.map +0 -1
  229. package/dist/src/agents/verifiers/formatter-verifier.d.ts +0 -14
  230. package/dist/src/agents/verifiers/formatter-verifier.d.ts.map +0 -1
  231. package/dist/src/agents/verifiers/formatter-verifier.js +0 -107
  232. package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -1
  233. package/dist/src/agents/verifiers/llm-judge.d.ts +0 -46
  234. package/dist/src/agents/verifiers/llm-judge.d.ts.map +0 -1
  235. package/dist/src/agents/verifiers/llm-judge.js +0 -248
  236. package/dist/src/agents/verifiers/llm-judge.js.map +0 -1
  237. package/dist/src/cli/auto-detect.d.ts +0 -61
  238. package/dist/src/cli/auto-detect.d.ts.map +0 -1
  239. package/dist/src/cli/auto-detect.js +0 -350
  240. package/dist/src/cli/auto-detect.js.map +0 -1
  241. package/dist/src/cli/browser-test.d.ts +0 -6
  242. package/dist/src/cli/browser-test.d.ts.map +0 -1
  243. package/dist/src/cli/browser-test.js +0 -32
  244. package/dist/src/cli/browser-test.js.map +0 -1
  245. package/dist/src/cli/claude-sm.d.ts +0 -7
  246. package/dist/src/cli/claude-sm.d.ts.map +0 -1
  247. package/dist/src/cli/claude-sm.js +0 -412
  248. package/dist/src/cli/claude-sm.js.map +0 -1
  249. package/dist/src/cli/commands/agent.d.ts +0 -9
  250. package/dist/src/cli/commands/agent.d.ts.map +0 -1
  251. package/dist/src/cli/commands/agent.js +0 -303
  252. package/dist/src/cli/commands/agent.js.map +0 -1
  253. package/dist/src/cli/commands/config.d.ts +0 -6
  254. package/dist/src/cli/commands/config.d.ts.map +0 -1
  255. package/dist/src/cli/commands/config.js +0 -224
  256. package/dist/src/cli/commands/config.js.map +0 -1
  257. package/dist/src/cli/commands/context.d.ts +0 -7
  258. package/dist/src/cli/commands/context.d.ts.map +0 -1
  259. package/dist/src/cli/commands/context.js +0 -365
  260. package/dist/src/cli/commands/context.js.map +0 -1
  261. package/dist/src/cli/commands/handoff.d.ts +0 -6
  262. package/dist/src/cli/commands/handoff.d.ts.map +0 -1
  263. package/dist/src/cli/commands/handoff.js +0 -212
  264. package/dist/src/cli/commands/handoff.js.map +0 -1
  265. package/dist/src/cli/commands/linear-test.d.ts +0 -6
  266. package/dist/src/cli/commands/linear-test.d.ts.map +0 -1
  267. package/dist/src/cli/commands/linear-test.js +0 -123
  268. package/dist/src/cli/commands/linear-test.js.map +0 -1
  269. package/dist/src/cli/commands/linear.d.ts +0 -6
  270. package/dist/src/cli/commands/linear.d.ts.map +0 -1
  271. package/dist/src/cli/commands/linear.js +0 -393
  272. package/dist/src/cli/commands/linear.js.map +0 -1
  273. package/dist/src/cli/commands/log.d.ts +0 -7
  274. package/dist/src/cli/commands/log.d.ts.map +0 -1
  275. package/dist/src/cli/commands/log.js +0 -168
  276. package/dist/src/cli/commands/log.js.map +0 -1
  277. package/dist/src/cli/commands/onboard.d.ts +0 -8
  278. package/dist/src/cli/commands/onboard.d.ts.map +0 -1
  279. package/dist/src/cli/commands/onboard.js +0 -363
  280. package/dist/src/cli/commands/onboard.js.map +0 -1
  281. package/dist/src/cli/commands/projects.d.ts +0 -8
  282. package/dist/src/cli/commands/projects.d.ts.map +0 -1
  283. package/dist/src/cli/commands/projects.js +0 -220
  284. package/dist/src/cli/commands/projects.js.map +0 -1
  285. package/dist/src/cli/commands/search.d.ts +0 -7
  286. package/dist/src/cli/commands/search.d.ts.map +0 -1
  287. package/dist/src/cli/commands/search.js +0 -162
  288. package/dist/src/cli/commands/search.js.map +0 -1
  289. package/dist/src/cli/commands/session.d.ts +0 -7
  290. package/dist/src/cli/commands/session.d.ts.map +0 -1
  291. package/dist/src/cli/commands/session.js +0 -222
  292. package/dist/src/cli/commands/session.js.map +0 -1
  293. package/dist/src/cli/commands/tasks.d.ts +0 -7
  294. package/dist/src/cli/commands/tasks.d.ts.map +0 -1
  295. package/dist/src/cli/commands/tasks.js +0 -229
  296. package/dist/src/cli/commands/tasks.js.map +0 -1
  297. package/dist/src/cli/commands/webhook.d.ts +0 -3
  298. package/dist/src/cli/commands/webhook.d.ts.map +0 -1
  299. package/dist/src/cli/commands/webhook.js +0 -157
  300. package/dist/src/cli/commands/webhook.js.map +0 -1
  301. package/dist/src/cli/commands/worktree.d.ts +0 -8
  302. package/dist/src/cli/commands/worktree.d.ts.map +0 -1
  303. package/dist/src/cli/commands/worktree.js +0 -339
  304. package/dist/src/cli/commands/worktree.js.map +0 -1
  305. package/dist/src/cli/index.d.ts +0 -8
  306. package/dist/src/cli/index.d.ts.map +0 -1
  307. package/dist/src/cli/index.js +0 -995
  308. package/dist/src/cli/index.js.map +0 -1
  309. package/dist/src/cli/utils/viewer.d.ts +0 -3
  310. package/dist/src/cli/utils/viewer.d.ts.map +0 -1
  311. package/dist/src/cli/utils/viewer.js +0 -91
  312. package/dist/src/cli/utils/viewer.js.map +0 -1
  313. package/dist/src/core/config/config-manager.d.ts +0 -95
  314. package/dist/src/core/config/config-manager.d.ts.map +0 -1
  315. package/dist/src/core/config/config-manager.js +0 -359
  316. package/dist/src/core/config/config-manager.js.map +0 -1
  317. package/dist/src/core/config/types.d.ts +0 -72
  318. package/dist/src/core/config/types.d.ts.map +0 -1
  319. package/dist/src/core/config/types.js +0 -127
  320. package/dist/src/core/config/types.js.map +0 -1
  321. package/dist/src/core/context/auto-context.d.ts +0 -22
  322. package/dist/src/core/context/auto-context.d.ts.map +0 -1
  323. package/dist/src/core/context/auto-context.js +0 -77
  324. package/dist/src/core/context/auto-context.js.map +0 -1
  325. package/dist/src/core/context/compaction-handler.d.ts +0 -119
  326. package/dist/src/core/context/compaction-handler.d.ts.map +0 -1
  327. package/dist/src/core/context/compaction-handler.js +0 -306
  328. package/dist/src/core/context/compaction-handler.js.map +0 -1
  329. package/dist/src/core/context/frame-database.d.ts +0 -59
  330. package/dist/src/core/context/frame-database.d.ts.map +0 -1
  331. package/dist/src/core/context/frame-database.js +0 -333
  332. package/dist/src/core/context/frame-database.js.map +0 -1
  333. package/dist/src/core/context/frame-digest.d.ts +0 -59
  334. package/dist/src/core/context/frame-digest.d.ts.map +0 -1
  335. package/dist/src/core/context/frame-digest.js +0 -264
  336. package/dist/src/core/context/frame-digest.js.map +0 -1
  337. package/dist/src/core/context/frame-manager.d.ts +0 -112
  338. package/dist/src/core/context/frame-manager.d.ts.map +0 -1
  339. package/dist/src/core/context/frame-manager.js +0 -600
  340. package/dist/src/core/context/frame-manager.js.map +0 -1
  341. package/dist/src/core/context/frame-stack.d.ts +0 -85
  342. package/dist/src/core/context/frame-stack.d.ts.map +0 -1
  343. package/dist/src/core/context/frame-stack.js +0 -287
  344. package/dist/src/core/context/frame-stack.js.map +0 -1
  345. package/dist/src/core/context/frame-types.d.ts +0 -67
  346. package/dist/src/core/context/frame-types.d.ts.map +0 -1
  347. package/dist/src/core/context/frame-types.js +0 -6
  348. package/dist/src/core/context/frame-types.js.map +0 -1
  349. package/dist/src/core/context/index.d.ts +0 -11
  350. package/dist/src/core/context/index.d.ts.map +0 -1
  351. package/dist/src/core/context/index.js +0 -14
  352. package/dist/src/core/context/index.js.map +0 -1
  353. package/dist/src/core/context/model-aware-compaction.d.ts +0 -101
  354. package/dist/src/core/context/model-aware-compaction.d.ts.map +0 -1
  355. package/dist/src/core/context/model-aware-compaction.js +0 -616
  356. package/dist/src/core/context/model-aware-compaction.js.map +0 -1
  357. package/dist/src/core/context/refactored-frame-manager.d.ts +0 -99
  358. package/dist/src/core/context/refactored-frame-manager.d.ts.map +0 -1
  359. package/dist/src/core/context/refactored-frame-manager.js +0 -340
  360. package/dist/src/core/context/refactored-frame-manager.js.map +0 -1
  361. package/dist/src/core/database/batch-operations.d.ts +0 -118
  362. package/dist/src/core/database/batch-operations.d.ts.map +0 -1
  363. package/dist/src/core/database/batch-operations.js +0 -339
  364. package/dist/src/core/database/batch-operations.js.map +0 -1
  365. package/dist/src/core/database/connection-pool.d.ts +0 -79
  366. package/dist/src/core/database/connection-pool.d.ts.map +0 -1
  367. package/dist/src/core/database/connection-pool.js +0 -236
  368. package/dist/src/core/database/connection-pool.js.map +0 -1
  369. package/dist/src/core/database/query-cache.d.ts +0 -135
  370. package/dist/src/core/database/query-cache.d.ts.map +0 -1
  371. package/dist/src/core/database/query-cache.js +0 -294
  372. package/dist/src/core/database/query-cache.js.map +0 -1
  373. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts +0 -125
  374. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts.map +0 -1
  375. package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -282
  376. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -1
  377. package/dist/src/core/digest/frame-digest-integration.d.ts +0 -67
  378. package/dist/src/core/digest/frame-digest-integration.d.ts.map +0 -1
  379. package/dist/src/core/digest/frame-digest-integration.js +0 -198
  380. package/dist/src/core/digest/frame-digest-integration.js.map +0 -1
  381. package/dist/src/core/digest/hybrid-digest-generator.d.ts +0 -76
  382. package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +0 -1
  383. package/dist/src/core/digest/hybrid-digest-generator.js +0 -629
  384. package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -1
  385. package/dist/src/core/digest/index.d.ts +0 -9
  386. package/dist/src/core/digest/index.d.ts.map +0 -1
  387. package/dist/src/core/digest/index.js +0 -9
  388. package/dist/src/core/digest/index.js.map +0 -1
  389. package/dist/src/core/digest/types.d.ts +0 -154
  390. package/dist/src/core/digest/types.d.ts.map +0 -1
  391. package/dist/src/core/digest/types.js +0 -18
  392. package/dist/src/core/digest/types.js.map +0 -1
  393. package/dist/src/core/errors/index.d.ts +0 -143
  394. package/dist/src/core/errors/index.d.ts.map +0 -1
  395. package/dist/src/core/errors/index.js +0 -282
  396. package/dist/src/core/errors/index.js.map +0 -1
  397. package/dist/src/core/errors/recovery.d.ts +0 -86
  398. package/dist/src/core/errors/recovery.d.ts.map +0 -1
  399. package/dist/src/core/errors/recovery.js +0 -274
  400. package/dist/src/core/errors/recovery.js.map +0 -1
  401. package/dist/src/core/merge/conflict-detector.d.ts +0 -122
  402. package/dist/src/core/merge/conflict-detector.d.ts.map +0 -1
  403. package/dist/src/core/merge/conflict-detector.js +0 -468
  404. package/dist/src/core/merge/conflict-detector.js.map +0 -1
  405. package/dist/src/core/merge/index.d.ts +0 -9
  406. package/dist/src/core/merge/index.d.ts.map +0 -1
  407. package/dist/src/core/merge/index.js +0 -9
  408. package/dist/src/core/merge/index.js.map +0 -1
  409. package/dist/src/core/merge/resolution-engine.d.ts +0 -120
  410. package/dist/src/core/merge/resolution-engine.d.ts.map +0 -1
  411. package/dist/src/core/merge/resolution-engine.js +0 -573
  412. package/dist/src/core/merge/resolution-engine.js.map +0 -1
  413. package/dist/src/core/merge/stack-diff.d.ts +0 -97
  414. package/dist/src/core/merge/stack-diff.d.ts.map +0 -1
  415. package/dist/src/core/merge/stack-diff.js +0 -516
  416. package/dist/src/core/merge/stack-diff.js.map +0 -1
  417. package/dist/src/core/merge/types.d.ts +0 -110
  418. package/dist/src/core/merge/types.d.ts.map +0 -1
  419. package/dist/src/core/merge/types.js +0 -6
  420. package/dist/src/core/merge/types.js.map +0 -1
  421. package/dist/src/core/monitoring/error-handler.d.ts +0 -46
  422. package/dist/src/core/monitoring/error-handler.d.ts.map +0 -1
  423. package/dist/src/core/monitoring/error-handler.js +0 -212
  424. package/dist/src/core/monitoring/error-handler.js.map +0 -1
  425. package/dist/src/core/monitoring/logger.d.ts +0 -24
  426. package/dist/src/core/monitoring/logger.d.ts.map +0 -1
  427. package/dist/src/core/monitoring/logger.js +0 -126
  428. package/dist/src/core/monitoring/logger.js.map +0 -1
  429. package/dist/src/core/monitoring/metrics.d.ts +0 -10
  430. package/dist/src/core/monitoring/metrics.d.ts.map +0 -1
  431. package/dist/src/core/monitoring/metrics.js +0 -152
  432. package/dist/src/core/monitoring/metrics.js.map +0 -1
  433. package/dist/src/core/monitoring/progress-tracker.d.ts +0 -95
  434. package/dist/src/core/monitoring/progress-tracker.d.ts.map +0 -1
  435. package/dist/src/core/monitoring/progress-tracker.js +0 -178
  436. package/dist/src/core/monitoring/progress-tracker.js.map +0 -1
  437. package/dist/src/core/performance/context-cache.d.ts +0 -109
  438. package/dist/src/core/performance/context-cache.d.ts.map +0 -1
  439. package/dist/src/core/performance/context-cache.js +0 -280
  440. package/dist/src/core/performance/context-cache.js.map +0 -1
  441. package/dist/src/core/performance/index.d.ts +0 -3
  442. package/dist/src/core/performance/index.d.ts.map +0 -1
  443. package/dist/src/core/performance/index.js +0 -3
  444. package/dist/src/core/performance/index.js.map +0 -1
  445. package/dist/src/core/performance/lazy-context-loader.d.ts +0 -93
  446. package/dist/src/core/performance/lazy-context-loader.d.ts.map +0 -1
  447. package/dist/src/core/performance/lazy-context-loader.js +0 -332
  448. package/dist/src/core/performance/lazy-context-loader.js.map +0 -1
  449. package/dist/src/core/performance/monitor.d.ts +0 -48
  450. package/dist/src/core/performance/monitor.d.ts.map +0 -1
  451. package/dist/src/core/performance/monitor.js +0 -226
  452. package/dist/src/core/performance/monitor.js.map +0 -1
  453. package/dist/src/core/performance/optimized-frame-context.d.ts +0 -74
  454. package/dist/src/core/performance/optimized-frame-context.d.ts.map +0 -1
  455. package/dist/src/core/performance/optimized-frame-context.js +0 -330
  456. package/dist/src/core/performance/optimized-frame-context.js.map +0 -1
  457. package/dist/src/core/performance/performance-benchmark.d.ts +0 -50
  458. package/dist/src/core/performance/performance-benchmark.d.ts.map +0 -1
  459. package/dist/src/core/performance/performance-benchmark.js +0 -290
  460. package/dist/src/core/performance/performance-benchmark.js.map +0 -1
  461. package/dist/src/core/performance/performance-profiler.d.ts +0 -151
  462. package/dist/src/core/performance/performance-profiler.d.ts.map +0 -1
  463. package/dist/src/core/performance/performance-profiler.js +0 -346
  464. package/dist/src/core/performance/performance-profiler.js.map +0 -1
  465. package/dist/src/core/performance/streaming-jsonl-parser.d.ts +0 -41
  466. package/dist/src/core/performance/streaming-jsonl-parser.d.ts.map +0 -1
  467. package/dist/src/core/performance/streaming-jsonl-parser.js +0 -193
  468. package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -1
  469. package/dist/src/core/persistence/postgres-adapter.d.ts +0 -31
  470. package/dist/src/core/persistence/postgres-adapter.d.ts.map +0 -1
  471. package/dist/src/core/persistence/postgres-adapter.js +0 -330
  472. package/dist/src/core/persistence/postgres-adapter.js.map +0 -1
  473. package/dist/src/core/projects/project-manager.d.ts +0 -130
  474. package/dist/src/core/projects/project-manager.d.ts.map +0 -1
  475. package/dist/src/core/projects/project-manager.js +0 -709
  476. package/dist/src/core/projects/project-manager.js.map +0 -1
  477. package/dist/src/core/query/query-parser.d.ts +0 -109
  478. package/dist/src/core/query/query-parser.d.ts.map +0 -1
  479. package/dist/src/core/query/query-parser.js +0 -415
  480. package/dist/src/core/query/query-parser.js.map +0 -1
  481. package/dist/src/core/query/query-templates.d.ts +0 -44
  482. package/dist/src/core/query/query-templates.d.ts.map +0 -1
  483. package/dist/src/core/query/query-templates.js +0 -326
  484. package/dist/src/core/query/query-templates.js.map +0 -1
  485. package/dist/src/core/retrieval/index.d.ts +0 -8
  486. package/dist/src/core/retrieval/index.d.ts.map +0 -1
  487. package/dist/src/core/retrieval/index.js +0 -8
  488. package/dist/src/core/retrieval/index.js.map +0 -1
  489. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +0 -73
  490. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +0 -1
  491. package/dist/src/core/retrieval/llm-context-retrieval.js +0 -597
  492. package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -1
  493. package/dist/src/core/retrieval/summary-generator.d.ts +0 -63
  494. package/dist/src/core/retrieval/summary-generator.d.ts.map +0 -1
  495. package/dist/src/core/retrieval/summary-generator.js +0 -622
  496. package/dist/src/core/retrieval/summary-generator.js.map +0 -1
  497. package/dist/src/core/retrieval/types.d.ts +0 -257
  498. package/dist/src/core/retrieval/types.d.ts.map +0 -1
  499. package/dist/src/core/retrieval/types.js +0 -18
  500. package/dist/src/core/retrieval/types.js.map +0 -1
  501. package/dist/src/core/session/index.d.ts +0 -2
  502. package/dist/src/core/session/index.d.ts.map +0 -1
  503. package/dist/src/core/session/index.js +0 -2
  504. package/dist/src/core/session/index.js.map +0 -1
  505. package/dist/src/core/session/session-manager.d.ts +0 -69
  506. package/dist/src/core/session/session-manager.d.ts.map +0 -1
  507. package/dist/src/core/session/session-manager.js +0 -311
  508. package/dist/src/core/session/session-manager.js.map +0 -1
  509. package/dist/src/core/trace/cli-trace-wrapper.d.ts +0 -23
  510. package/dist/src/core/trace/cli-trace-wrapper.d.ts.map +0 -1
  511. package/dist/src/core/trace/cli-trace-wrapper.js +0 -141
  512. package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -1
  513. package/dist/src/core/trace/db-trace-wrapper.d.ts +0 -36
  514. package/dist/src/core/trace/db-trace-wrapper.d.ts.map +0 -1
  515. package/dist/src/core/trace/db-trace-wrapper.js +0 -252
  516. package/dist/src/core/trace/db-trace-wrapper.js.map +0 -1
  517. package/dist/src/core/trace/debug-trace.d.ts +0 -84
  518. package/dist/src/core/trace/debug-trace.d.ts.map +0 -1
  519. package/dist/src/core/trace/debug-trace.js +0 -402
  520. package/dist/src/core/trace/debug-trace.js.map +0 -1
  521. package/dist/src/core/trace/error-test.d.ts +0 -6
  522. package/dist/src/core/trace/error-test.d.ts.map +0 -1
  523. package/dist/src/core/trace/error-test.js +0 -128
  524. package/dist/src/core/trace/error-test.js.map +0 -1
  525. package/dist/src/core/trace/index.d.ts +0 -25
  526. package/dist/src/core/trace/index.d.ts.map +0 -1
  527. package/dist/src/core/trace/index.js +0 -121
  528. package/dist/src/core/trace/index.js.map +0 -1
  529. package/dist/src/core/trace/linear-api-wrapper.d.ts +0 -17
  530. package/dist/src/core/trace/linear-api-wrapper.d.ts.map +0 -1
  531. package/dist/src/core/trace/linear-api-wrapper.js +0 -205
  532. package/dist/src/core/trace/linear-api-wrapper.js.map +0 -1
  533. package/dist/src/core/trace/performance-test.d.ts +0 -6
  534. package/dist/src/core/trace/performance-test.d.ts.map +0 -1
  535. package/dist/src/core/trace/performance-test.js +0 -111
  536. package/dist/src/core/trace/performance-test.js.map +0 -1
  537. package/dist/src/core/trace/trace-demo.d.ts +0 -8
  538. package/dist/src/core/trace/trace-demo.d.ts.map +0 -1
  539. package/dist/src/core/trace/trace-demo.js +0 -154
  540. package/dist/src/core/trace/trace-demo.js.map +0 -1
  541. package/dist/src/core/trace/trace-detector.d.ts +0 -108
  542. package/dist/src/core/trace/trace-detector.d.ts.map +0 -1
  543. package/dist/src/core/trace/trace-detector.demo.d.ts +0 -5
  544. package/dist/src/core/trace/trace-detector.demo.d.ts.map +0 -1
  545. package/dist/src/core/trace/trace-detector.demo.js +0 -145
  546. package/dist/src/core/trace/trace-detector.demo.js.map +0 -1
  547. package/dist/src/core/trace/trace-detector.js +0 -425
  548. package/dist/src/core/trace/trace-detector.js.map +0 -1
  549. package/dist/src/core/trace/trace-store.d.ts +0 -60
  550. package/dist/src/core/trace/trace-store.d.ts.map +0 -1
  551. package/dist/src/core/trace/trace-store.js +0 -323
  552. package/dist/src/core/trace/trace-store.js.map +0 -1
  553. package/dist/src/core/trace/types.d.ts +0 -81
  554. package/dist/src/core/trace/types.d.ts.map +0 -1
  555. package/dist/src/core/trace/types.js +0 -70
  556. package/dist/src/core/trace/types.js.map +0 -1
  557. package/dist/src/core/types.d.ts +0 -35
  558. package/dist/src/core/types.d.ts.map +0 -1
  559. package/dist/src/core/types.js +0 -2
  560. package/dist/src/core/types.js.map +0 -1
  561. package/dist/src/core/utils/update-checker.d.ts +0 -38
  562. package/dist/src/core/utils/update-checker.d.ts.map +0 -1
  563. package/dist/src/core/utils/update-checker.js +0 -213
  564. package/dist/src/core/utils/update-checker.js.map +0 -1
  565. package/dist/src/core/worktree/worktree-manager.d.ts +0 -110
  566. package/dist/src/core/worktree/worktree-manager.d.ts.map +0 -1
  567. package/dist/src/core/worktree/worktree-manager.js +0 -456
  568. package/dist/src/core/worktree/worktree-manager.js.map +0 -1
  569. package/dist/src/features/analytics/api/analytics-api.d.ts +0 -24
  570. package/dist/src/features/analytics/api/analytics-api.d.ts.map +0 -1
  571. package/dist/src/features/analytics/api/analytics-api.js +0 -289
  572. package/dist/src/features/analytics/api/analytics-api.js.map +0 -1
  573. package/dist/src/features/analytics/core/analytics-service.d.ts +0 -29
  574. package/dist/src/features/analytics/core/analytics-service.d.ts.map +0 -1
  575. package/dist/src/features/analytics/core/analytics-service.js +0 -275
  576. package/dist/src/features/analytics/core/analytics-service.js.map +0 -1
  577. package/dist/src/features/analytics/index.d.ts +0 -12
  578. package/dist/src/features/analytics/index.d.ts.map +0 -1
  579. package/dist/src/features/analytics/index.js +0 -11
  580. package/dist/src/features/analytics/index.js.map +0 -1
  581. package/dist/src/features/analytics/queries/metrics-queries.d.ts +0 -11
  582. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +0 -1
  583. package/dist/src/features/analytics/queries/metrics-queries.js +0 -240
  584. package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -1
  585. package/dist/src/features/analytics/types/metrics.d.ts +0 -60
  586. package/dist/src/features/analytics/types/metrics.d.ts.map +0 -1
  587. package/dist/src/features/analytics/types/metrics.js +0 -2
  588. package/dist/src/features/analytics/types/metrics.js.map +0 -1
  589. package/dist/src/features/browser/browser-mcp.d.ts +0 -94
  590. package/dist/src/features/browser/browser-mcp.d.ts.map +0 -1
  591. package/dist/src/features/browser/browser-mcp.js +0 -459
  592. package/dist/src/features/browser/browser-mcp.js.map +0 -1
  593. package/dist/src/features/tasks/pebbles-task-store.d.ts +0 -128
  594. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +0 -1
  595. package/dist/src/features/tasks/pebbles-task-store.js +0 -572
  596. package/dist/src/features/tasks/pebbles-task-store.js.map +0 -1
  597. package/dist/src/features/tasks/task-aware-context.d.ts +0 -103
  598. package/dist/src/features/tasks/task-aware-context.d.ts.map +0 -1
  599. package/dist/src/features/tasks/task-aware-context.js +0 -412
  600. package/dist/src/features/tasks/task-aware-context.js.map +0 -1
  601. package/dist/src/index.d.ts +0 -21
  602. package/dist/src/index.d.ts.map +0 -1
  603. package/dist/src/index.js +0 -9
  604. package/dist/src/index.js.map +0 -1
  605. package/dist/src/integrations/linear/auth.d.ts +0 -99
  606. package/dist/src/integrations/linear/auth.d.ts.map +0 -1
  607. package/dist/src/integrations/linear/auth.js +0 -319
  608. package/dist/src/integrations/linear/auth.js.map +0 -1
  609. package/dist/src/integrations/linear/auto-sync.d.ts +0 -77
  610. package/dist/src/integrations/linear/auto-sync.d.ts.map +0 -1
  611. package/dist/src/integrations/linear/auto-sync.js +0 -268
  612. package/dist/src/integrations/linear/auto-sync.js.map +0 -1
  613. package/dist/src/integrations/linear/client.d.ts +0 -127
  614. package/dist/src/integrations/linear/client.d.ts.map +0 -1
  615. package/dist/src/integrations/linear/client.js +0 -446
  616. package/dist/src/integrations/linear/client.js.map +0 -1
  617. package/dist/src/integrations/linear/config.d.ts +0 -51
  618. package/dist/src/integrations/linear/config.d.ts.map +0 -1
  619. package/dist/src/integrations/linear/config.js +0 -103
  620. package/dist/src/integrations/linear/config.js.map +0 -1
  621. package/dist/src/integrations/linear/sync-manager.d.ts +0 -78
  622. package/dist/src/integrations/linear/sync-manager.d.ts.map +0 -1
  623. package/dist/src/integrations/linear/sync-manager.js +0 -235
  624. package/dist/src/integrations/linear/sync-manager.js.map +0 -1
  625. package/dist/src/integrations/linear/sync-service.d.ts +0 -46
  626. package/dist/src/integrations/linear/sync-service.d.ts.map +0 -1
  627. package/dist/src/integrations/linear/sync-service.js +0 -217
  628. package/dist/src/integrations/linear/sync-service.js.map +0 -1
  629. package/dist/src/integrations/linear/sync.d.ts +0 -125
  630. package/dist/src/integrations/linear/sync.d.ts.map +0 -1
  631. package/dist/src/integrations/linear/sync.js +0 -563
  632. package/dist/src/integrations/linear/sync.js.map +0 -1
  633. package/dist/src/integrations/linear/types.d.ts +0 -90
  634. package/dist/src/integrations/linear/types.d.ts.map +0 -1
  635. package/dist/src/integrations/linear/types.js +0 -2
  636. package/dist/src/integrations/linear/types.js.map +0 -1
  637. package/dist/src/integrations/linear/webhook-server.d.ts +0 -32
  638. package/dist/src/integrations/linear/webhook-server.d.ts.map +0 -1
  639. package/dist/src/integrations/linear/webhook-server.js +0 -190
  640. package/dist/src/integrations/linear/webhook-server.js.map +0 -1
  641. package/dist/src/integrations/linear/webhook.d.ts +0 -108
  642. package/dist/src/integrations/linear/webhook.d.ts.map +0 -1
  643. package/dist/src/integrations/linear/webhook.js +0 -291
  644. package/dist/src/integrations/linear/webhook.js.map +0 -1
  645. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts +0 -39
  646. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts.map +0 -1
  647. package/dist/src/integrations/mcp/handlers/context-handlers.js +0 -266
  648. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -1
  649. package/dist/src/integrations/mcp/handlers/index.d.ts +0 -37
  650. package/dist/src/integrations/mcp/handlers/index.d.ts.map +0 -1
  651. package/dist/src/integrations/mcp/handlers/index.js +0 -134
  652. package/dist/src/integrations/mcp/handlers/index.js.map +0 -1
  653. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts +0 -33
  654. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts.map +0 -1
  655. package/dist/src/integrations/mcp/handlers/linear-handlers.js +0 -251
  656. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -1
  657. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts +0 -42
  658. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts.map +0 -1
  659. package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -238
  660. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -1
  661. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts +0 -41
  662. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts.map +0 -1
  663. package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -298
  664. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -1
  665. package/dist/src/integrations/mcp/index.d.ts +0 -13
  666. package/dist/src/integrations/mcp/index.d.ts.map +0 -1
  667. package/dist/src/integrations/mcp/index.js +0 -17
  668. package/dist/src/integrations/mcp/index.js.map +0 -1
  669. package/dist/src/integrations/mcp/refactored-server.d.ts +0 -76
  670. package/dist/src/integrations/mcp/refactored-server.d.ts.map +0 -1
  671. package/dist/src/integrations/mcp/refactored-server.js +0 -351
  672. package/dist/src/integrations/mcp/refactored-server.js.map +0 -1
  673. package/dist/src/integrations/mcp/server.d.ts +0 -54
  674. package/dist/src/integrations/mcp/server.d.ts.map +0 -1
  675. package/dist/src/integrations/mcp/server.js +0 -1616
  676. package/dist/src/integrations/mcp/server.js.map +0 -1
  677. package/dist/src/integrations/mcp/tool-definitions.d.ts +0 -44
  678. package/dist/src/integrations/mcp/tool-definitions.d.ts.map +0 -1
  679. package/dist/src/integrations/mcp/tool-definitions.js +0 -563
  680. package/dist/src/integrations/mcp/tool-definitions.js.map +0 -1
  681. package/dist/src/integrations/mcp/trace-test.d.ts +0 -5
  682. package/dist/src/integrations/mcp/trace-test.d.ts.map +0 -1
  683. package/dist/src/integrations/mcp/trace-test.js +0 -54
  684. package/dist/src/integrations/mcp/trace-test.js.map +0 -1
  685. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts +0 -48
  686. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts.map +0 -1
  687. package/dist/src/integrations/pg-aiguide/embedding-provider.js +0 -190
  688. package/dist/src/integrations/pg-aiguide/embedding-provider.js.map +0 -1
  689. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts +0 -34
  690. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +0 -1
  691. package/dist/src/integrations/pg-aiguide/semantic-search.js +0 -176
  692. package/dist/src/integrations/pg-aiguide/semantic-search.js.map +0 -1
  693. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts +0 -44
  694. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts.map +0 -1
  695. package/dist/src/integrations/pg-aiguide/timescale-analytics.js +0 -215
  696. package/dist/src/integrations/pg-aiguide/timescale-analytics.js.map +0 -1
  697. package/dist/src/mcp/stackmemory-mcp-server.d.ts +0 -9
  698. package/dist/src/mcp/stackmemory-mcp-server.d.ts.map +0 -1
  699. package/dist/src/mcp/stackmemory-mcp-server.js +0 -519
  700. package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -1
  701. package/dist/src/middleware/exponential-rate-limiter.d.ts +0 -78
  702. package/dist/src/middleware/exponential-rate-limiter.d.ts.map +0 -1
  703. package/dist/src/middleware/exponential-rate-limiter.js +0 -293
  704. package/dist/src/middleware/exponential-rate-limiter.js.map +0 -1
  705. package/dist/src/models/user.model.d.ts +0 -62
  706. package/dist/src/models/user.model.d.ts.map +0 -1
  707. package/dist/src/models/user.model.js +0 -311
  708. package/dist/src/models/user.model.js.map +0 -1
  709. package/dist/src/servers/production/auth-middleware.d.ts +0 -76
  710. package/dist/src/servers/production/auth-middleware.d.ts.map +0 -1
  711. package/dist/src/servers/production/auth-middleware.js +0 -558
  712. package/dist/src/servers/production/auth-middleware.js.map +0 -1
  713. package/dist/src/servers/railway/index.d.ts +0 -7
  714. package/dist/src/servers/railway/index.d.ts.map +0 -1
  715. package/dist/src/servers/railway/index.js +0 -401
  716. package/dist/src/servers/railway/index.js.map +0 -1
  717. package/dist/src/services/config-service.d.ts +0 -44
  718. package/dist/src/services/config-service.d.ts.map +0 -1
  719. package/dist/src/services/config-service.js +0 -61
  720. package/dist/src/services/config-service.js.map +0 -1
  721. package/dist/src/services/context-service.d.ts +0 -17
  722. package/dist/src/services/context-service.d.ts.map +0 -1
  723. package/dist/src/services/context-service.js +0 -173
  724. package/dist/src/services/context-service.js.map +0 -1
  725. package/dist/src/types/task.d.ts +0 -27
  726. package/dist/src/types/task.d.ts.map +0 -1
  727. package/dist/src/types/task.js +0 -2
  728. package/dist/src/types/task.js.map +0 -1
  729. package/dist/src/utils/logger.d.ts +0 -13
  730. package/dist/src/utils/logger.d.ts.map +0 -1
  731. package/dist/src/utils/logger.js +0 -52
  732. package/dist/src/utils/logger.js.map +0 -1
  733. package/dist/src/validation/schemas.d.ts +0 -633
  734. package/dist/src/validation/schemas.d.ts.map +0 -1
  735. package/dist/src/validation/schemas.js +0 -347
  736. package/dist/src/validation/schemas.js.map +0 -1
@@ -0,0 +1,397 @@
1
+ #!/usr/bin/env node
2
+ import "dotenv/config";
3
+ import blessed from "blessed";
4
+ import contrib from "blessed-contrib";
5
+ import { EventEmitter } from "events";
6
+ import { terminalCompat } from "./terminal-compat.js";
7
+ import { SessionMonitor } from "./components/session-monitor.js";
8
+ import { TaskBoard } from "./components/task-board.js";
9
+ import { FrameVisualizer } from "./components/frame-visualizer.js";
10
+ import { SubagentFleet } from "./components/subagent-fleet.js";
11
+ import { PRTracker } from "./components/pr-tracker.js";
12
+ import { AnalyticsPanel } from "./components/analytics-panel.js";
13
+ import { DataService } from "./services/data-service.js";
14
+ import { WebSocketClient } from "./services/websocket-client.js";
15
+ terminalCompat.configureEnvironment();
16
+ class StackMemoryTUI extends EventEmitter {
17
+ screen;
18
+ grid;
19
+ components;
20
+ dataService;
21
+ wsClient;
22
+ config;
23
+ refreshInterval = null;
24
+ constructor(config = {}) {
25
+ super();
26
+ this.config = {
27
+ refreshInterval: 1e3,
28
+ wsUrl: "ws://localhost:8080",
29
+ theme: "dark",
30
+ ...config
31
+ };
32
+ this.components = /* @__PURE__ */ new Map();
33
+ this.dataService = new DataService();
34
+ this.wsClient = new WebSocketClient(this.config.wsUrl);
35
+ this.screen = this.createScreen();
36
+ this.grid = this.createGrid();
37
+ this.initializeComponents();
38
+ this.setupEventHandlers();
39
+ }
40
+ createScreen() {
41
+ const blessedConfig = terminalCompat.getBlessedConfig();
42
+ const screen = blessed.screen({
43
+ ...blessedConfig,
44
+ autoPadding: true
45
+ });
46
+ const header = blessed.box({
47
+ parent: screen,
48
+ top: 0,
49
+ left: 0,
50
+ width: "100%",
51
+ height: 3,
52
+ content: "{center}\u{1F680} StackMemory TUI Dashboard v1.0.0{/center}",
53
+ tags: true,
54
+ style: {
55
+ fg: "white",
56
+ bg: "blue",
57
+ bold: true
58
+ }
59
+ });
60
+ return screen;
61
+ }
62
+ createGrid() {
63
+ const grid = new contrib.grid({
64
+ rows: 12,
65
+ cols: 12,
66
+ screen: this.screen
67
+ });
68
+ return grid;
69
+ }
70
+ initializeComponents() {
71
+ const sessionMonitor = new SessionMonitor(
72
+ this.grid.set(0, 0, 4, 6, blessed.box, {
73
+ label: "\u{1F4CA} Sessions",
74
+ border: { type: "line" },
75
+ style: { border: { fg: "cyan" } }
76
+ })
77
+ );
78
+ this.components.set("sessions", sessionMonitor);
79
+ const taskBoard = new TaskBoard(
80
+ this.grid.set(0, 6, 4, 6, blessed.box, {
81
+ label: "\u{1F4CB} Linear Tasks",
82
+ border: { type: "line" },
83
+ style: { border: { fg: "green" } }
84
+ })
85
+ );
86
+ this.components.set("tasks", taskBoard);
87
+ const frameContainer = this.grid.set(4, 0, 4, 6, blessed.box, {
88
+ label: "\u{1F5C2}\uFE0F Frame Storage",
89
+ border: { type: "line" },
90
+ style: { border: { fg: "yellow" } }
91
+ });
92
+ const frameTree = contrib.tree({
93
+ parent: frameContainer,
94
+ top: 0,
95
+ left: 0,
96
+ width: "100%-2",
97
+ height: "100%-2",
98
+ style: {
99
+ text: "green",
100
+ selected: {
101
+ bg: "yellow",
102
+ fg: "black"
103
+ }
104
+ },
105
+ template: {
106
+ lines: true
107
+ },
108
+ label: ""
109
+ });
110
+ const frameViz = new FrameVisualizer(frameTree);
111
+ this.components.set("frames", frameViz);
112
+ const subagentFleet = new SubagentFleet(
113
+ this.grid.set(4, 6, 4, 6, blessed.box, {
114
+ label: "\u{1F916} Subagent Fleet",
115
+ border: { type: "line" },
116
+ style: { border: { fg: "magenta" } }
117
+ })
118
+ );
119
+ this.components.set("subagents", subagentFleet);
120
+ const prTracker = new PRTracker(
121
+ this.grid.set(8, 0, 2, 6, blessed.list, {
122
+ label: "\u{1F500} PR/Issues",
123
+ border: { type: "line" },
124
+ style: { border: { fg: "red" } },
125
+ scrollable: true,
126
+ mouse: true
127
+ })
128
+ );
129
+ this.components.set("prs", prTracker);
130
+ const analytics = new AnalyticsPanel(
131
+ this.grid.set(8, 6, 2, 6, contrib.line, {
132
+ label: "\u{1F4C8} Analytics",
133
+ border: { type: "line" },
134
+ style: {
135
+ border: { fg: "white" },
136
+ line: "yellow",
137
+ text: "green",
138
+ baseline: "black"
139
+ },
140
+ showLegend: true,
141
+ wholeNumbersOnly: false
142
+ })
143
+ );
144
+ this.components.set("analytics", analytics);
145
+ const statusBar = blessed.box({
146
+ parent: this.screen,
147
+ bottom: 0,
148
+ left: 0,
149
+ width: "100%",
150
+ height: 2,
151
+ tags: true,
152
+ style: {
153
+ fg: "white",
154
+ bg: "black"
155
+ }
156
+ });
157
+ this.components.set("status", statusBar);
158
+ this.updateStatusBar("Ready");
159
+ }
160
+ setupEventHandlers() {
161
+ this.screen.key(["q", "C-c"], () => {
162
+ this.cleanup();
163
+ process.exit(0);
164
+ });
165
+ this.screen.key(["r", "C-r"], () => {
166
+ this.refresh();
167
+ });
168
+ this.screen.key(["tab"], () => {
169
+ this.focusNext();
170
+ });
171
+ this.screen.key(["S-tab"], () => {
172
+ this.focusPrevious();
173
+ });
174
+ this.screen.key(["1"], () => this.showView("sessions"));
175
+ this.screen.key(["2"], () => this.showView("tasks"));
176
+ this.screen.key(["3"], () => this.showView("frames"));
177
+ this.screen.key(["4"], () => this.showView("subagents"));
178
+ this.screen.key(["5"], () => this.showView("prs"));
179
+ this.screen.key(["6"], () => this.showView("analytics"));
180
+ this.wsClient.on("session:update", (data) => {
181
+ this.components.get("sessions")?.update(data);
182
+ });
183
+ this.wsClient.on("task:update", (data) => {
184
+ this.components.get("tasks")?.update(data);
185
+ });
186
+ this.wsClient.on("frame:update", (data) => {
187
+ this.components.get("frames")?.update(data);
188
+ });
189
+ this.wsClient.on("agent:status", (data) => {
190
+ this.components.get("subagents")?.update(data);
191
+ });
192
+ this.wsClient.on("pr:update", (data) => {
193
+ this.components.get("prs")?.update(data);
194
+ });
195
+ this.dataService.on("data:ready", () => {
196
+ this.updateAll();
197
+ });
198
+ this.dataService.on("error", (error) => {
199
+ this.showError(error.message);
200
+ });
201
+ }
202
+ async updateAll() {
203
+ try {
204
+ const [sessions, tasks, frames, agents, prs, issues, analytics] = await Promise.all([
205
+ this.dataService.getSessions(),
206
+ this.dataService.getTasks(),
207
+ this.dataService.getFrames(),
208
+ this.dataService.getAgents(),
209
+ this.dataService.getPRs(),
210
+ this.dataService.getIssues(),
211
+ this.dataService.getAnalytics()
212
+ ]);
213
+ this.components.get("sessions")?.update(sessions);
214
+ this.components.get("tasks")?.update(tasks);
215
+ this.components.get("frames")?.update(frames);
216
+ this.components.get("subagents")?.update(agents);
217
+ this.components.get("prs")?.update({ prs, issues });
218
+ this.components.get("analytics")?.update(analytics);
219
+ this.updateStatusBar(`Last updated: ${(/* @__PURE__ */ new Date()).toLocaleTimeString()}`);
220
+ this.screen.render();
221
+ } catch (error) {
222
+ this.showError(`Update failed: ${error.message}`);
223
+ }
224
+ }
225
+ refresh() {
226
+ this.updateStatusBar("Refreshing...");
227
+ this.updateAll();
228
+ }
229
+ focusNext() {
230
+ const components = Array.from(this.components.values());
231
+ const currentIndex = components.findIndex((c) => c.hasFocus?.());
232
+ const nextIndex = (currentIndex + 1) % components.length;
233
+ components[nextIndex]?.focus?.();
234
+ this.screen.render();
235
+ }
236
+ focusPrevious() {
237
+ const components = Array.from(this.components.values());
238
+ const currentIndex = components.findIndex((c) => c.hasFocus?.());
239
+ const prevIndex = currentIndex <= 0 ? components.length - 1 : currentIndex - 1;
240
+ components[prevIndex]?.focus?.();
241
+ this.screen.render();
242
+ }
243
+ showView(viewName) {
244
+ const component = this.components.get(viewName);
245
+ if (component) {
246
+ component.focus?.();
247
+ component.show?.();
248
+ this.updateStatusBar(`Viewing: ${viewName}`);
249
+ this.screen.render();
250
+ }
251
+ }
252
+ updateStatusBar(message) {
253
+ const statusBar = this.components.get("status");
254
+ if (statusBar) {
255
+ const shortcuts = "{yellow-fg}[q]{/} Quit | {yellow-fg}[r]{/} Refresh | {yellow-fg}[Tab]{/} Navigate | {yellow-fg}[1-6]{/} Views";
256
+ statusBar.setContent(`{bold}${message}{/} | ${shortcuts}`);
257
+ this.screen.render();
258
+ }
259
+ }
260
+ showError(message) {
261
+ const msg = blessed.message({
262
+ parent: this.screen,
263
+ border: "line",
264
+ height: "shrink",
265
+ width: "half",
266
+ top: "center",
267
+ left: "center",
268
+ label: "{red-fg}Error{/}",
269
+ tags: true,
270
+ hidden: true
271
+ });
272
+ msg.display(message, () => {
273
+ msg.destroy();
274
+ this.screen.render();
275
+ });
276
+ }
277
+ async start() {
278
+ try {
279
+ const termInfo = terminalCompat.getTerminalInfo();
280
+ const warnings = terminalCompat.getWarnings();
281
+ if (warnings.length > 0) {
282
+ console.log("\u26A0\uFE0F Terminal Compatibility Warnings:");
283
+ warnings.forEach((w) => console.log(` \u2022 ${w}`));
284
+ console.log("");
285
+ await new Promise((resolve) => setTimeout(resolve, 2e3));
286
+ }
287
+ if (process.env.DEBUG || process.env.TUI_DEBUG) {
288
+ console.log("\u{1F50D} Terminal Capabilities:");
289
+ console.log(` ${terminalCompat.getCapabilitiesString()}`);
290
+ console.log("");
291
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
292
+ }
293
+ try {
294
+ await this.wsClient.connect();
295
+ } catch (wsError) {
296
+ console.log("\u26A0\uFE0F Running in offline mode (no WebSocket connection)");
297
+ }
298
+ await this.dataService.initialize();
299
+ if (this.config.refreshInterval > 0) {
300
+ this.refreshInterval = setInterval(() => {
301
+ this.updateAll().catch((error) => {
302
+ if (process.env.DEBUG) {
303
+ console.error("Update error:", error);
304
+ }
305
+ });
306
+ }, this.config.refreshInterval);
307
+ }
308
+ await this.updateAll();
309
+ this.screen.render();
310
+ } catch (error) {
311
+ console.error("\n\u274C TUI startup error:", error);
312
+ if (error instanceof Error) {
313
+ console.error("Error details:", error.message);
314
+ if (process.env.DEBUG) {
315
+ console.error("Stack trace:", error.stack);
316
+ }
317
+ }
318
+ throw error;
319
+ }
320
+ }
321
+ cleanup() {
322
+ if (this.refreshInterval) {
323
+ clearInterval(this.refreshInterval);
324
+ }
325
+ this.wsClient.disconnect();
326
+ this.dataService.cleanup();
327
+ }
328
+ }
329
+ const isMainModule = typeof process !== "undefined" && process.argv && process.argv[1] && (import.meta.url === `file://${process.argv[1]}` || process.argv[1].endsWith("/index.js"));
330
+ if (isMainModule) {
331
+ if (!terminalCompat.isCompatible()) {
332
+ console.error("\u274C Terminal is not compatible with TUI mode");
333
+ console.error(
334
+ " Please use the dashboard command instead: stackmemory dashboard --watch"
335
+ );
336
+ process.exit(1);
337
+ }
338
+ process.on("uncaughtException", (error) => {
339
+ console.error("\n\u274C TUI Error:", error.message || error);
340
+ console.error("Error type:", error.constructor.name);
341
+ if (error.stack) {
342
+ console.error("Stack trace:", error.stack);
343
+ }
344
+ console.error(
345
+ "\n\u{1F4A1} Try the simpler dashboard instead: stackmemory dashboard --watch"
346
+ );
347
+ process.exit(1);
348
+ });
349
+ process.on("unhandledRejection", (reason, promise) => {
350
+ console.error("\n\u274C Unhandled promise rejection at:", promise);
351
+ console.error("Reason:", reason);
352
+ if (reason instanceof Error) {
353
+ console.error("Stack trace:", reason.stack);
354
+ }
355
+ console.error(
356
+ "\n\u{1F4A1} Try the simpler dashboard instead: stackmemory dashboard --watch"
357
+ );
358
+ process.exit(1);
359
+ });
360
+ let tui;
361
+ try {
362
+ tui = new StackMemoryTUI({
363
+ refreshInterval: 2e3,
364
+ wsUrl: process.env.STACKMEMORY_WS_URL || "ws://localhost:8080"
365
+ });
366
+ } catch (constructorError) {
367
+ console.error(
368
+ "\n\u274C Failed to create TUI:",
369
+ constructorError.message || constructorError
370
+ );
371
+ if (constructorError.stack) {
372
+ console.error("Stack trace:", constructorError.stack);
373
+ }
374
+ console.error(
375
+ "\n\u{1F4A1} Try the simpler dashboard instead: stackmemory dashboard --watch"
376
+ );
377
+ process.exit(1);
378
+ }
379
+ tui.start().catch((error) => {
380
+ console.error("\n\u274C Failed to start TUI:", error.message || error);
381
+ if (error.stack) {
382
+ console.error("Stack trace:", error.stack);
383
+ }
384
+ console.error(
385
+ "\n\u{1F4A1} Try the simpler dashboard instead: stackmemory dashboard --watch"
386
+ );
387
+ process.exit(1);
388
+ });
389
+ process.on("SIGINT", () => {
390
+ tui.cleanup();
391
+ process.exit(0);
392
+ });
393
+ }
394
+ export {
395
+ StackMemoryTUI
396
+ };
397
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/features/tui/index.ts"],
4
+ "sourcesContent": ["#!/usr/bin/env node\n/**\n * StackMemory TUI Dashboard\n * Interactive monitoring interface for sessions, tasks, frames, and integrations\n */\n\nimport 'dotenv/config';\nimport blessed from 'blessed';\nimport contrib from 'blessed-contrib';\nimport { EventEmitter } from 'events';\nimport { terminalCompat } from './terminal-compat.js';\nimport { SessionMonitor } from './components/session-monitor.js';\nimport { TaskBoard } from './components/task-board.js';\nimport { FrameVisualizer } from './components/frame-visualizer.js';\nimport { SubagentFleet } from './components/subagent-fleet.js';\nimport { PRTracker } from './components/pr-tracker.js';\nimport { AnalyticsPanel } from './components/analytics-panel.js';\nimport { DataService } from './services/data-service.js';\nimport { WebSocketClient } from './services/websocket-client.js';\nimport type { DashboardConfig, SessionData, TaskData } from './types.js';\n\n// Configure terminal environment before creating any blessed elements\nterminalCompat.configureEnvironment();\n\nexport class StackMemoryTUI extends EventEmitter {\n private screen: blessed.Widgets.Screen;\n private grid: any;\n private components: Map<string, any>;\n private dataService: DataService;\n private wsClient: WebSocketClient;\n private config: DashboardConfig;\n private refreshInterval: NodeJS.Timeout | null = null;\n\n constructor(config: DashboardConfig = {}) {\n super();\n this.config = {\n refreshInterval: 1000,\n wsUrl: 'ws://localhost:8080',\n theme: 'dark',\n ...config,\n };\n\n this.components = new Map();\n this.dataService = new DataService();\n this.wsClient = new WebSocketClient(this.config.wsUrl);\n this.screen = this.createScreen();\n this.grid = this.createGrid();\n this.initializeComponents();\n this.setupEventHandlers();\n }\n\n private createScreen(): blessed.Widgets.Screen {\n // Get terminal-specific configuration\n const blessedConfig = terminalCompat.getBlessedConfig();\n\n const screen = blessed.screen({\n ...blessedConfig,\n autoPadding: true,\n });\n\n // Add header\n const header = blessed.box({\n parent: screen,\n top: 0,\n left: 0,\n width: '100%',\n height: 3,\n content: '{center}\uD83D\uDE80 StackMemory TUI Dashboard v1.0.0{/center}',\n tags: true,\n style: {\n fg: 'white',\n bg: 'blue',\n bold: true,\n },\n });\n\n return screen;\n }\n\n private createGrid(): any {\n // Create a 12x12 grid for flexible layout\n const grid = new contrib.grid({\n rows: 12,\n cols: 12,\n screen: this.screen,\n });\n\n return grid;\n }\n\n private initializeComponents(): void {\n // Session Monitor (Top Left - 6x4)\n const sessionMonitor = new SessionMonitor(\n this.grid.set(0, 0, 4, 6, blessed.box, {\n label: '\uD83D\uDCCA Sessions',\n border: { type: 'line' },\n style: { border: { fg: 'cyan' } },\n })\n );\n this.components.set('sessions', sessionMonitor);\n\n // Task Board - Linear Integration (Top Right - 6x4)\n const taskBoard = new TaskBoard(\n this.grid.set(0, 6, 4, 6, blessed.box, {\n label: '\uD83D\uDCCB Linear Tasks',\n border: { type: 'line' },\n style: { border: { fg: 'green' } },\n })\n );\n this.components.set('tasks', taskBoard);\n\n // Frame Visualizer (Middle Left - 6x4)\n // Create a box container first, then add the tree inside\n const frameContainer = this.grid.set(4, 0, 4, 6, blessed.box, {\n label: '\uD83D\uDDC2\uFE0F Frame Storage',\n border: { type: 'line' },\n style: { border: { fg: 'yellow' } },\n });\n\n const frameTree = contrib.tree({\n parent: frameContainer,\n top: 0,\n left: 0,\n width: '100%-2',\n height: '100%-2',\n style: {\n text: 'green',\n selected: {\n bg: 'yellow',\n fg: 'black',\n },\n },\n template: {\n lines: true,\n },\n label: '',\n });\n\n const frameViz = new FrameVisualizer(frameTree);\n this.components.set('frames', frameViz);\n\n // Subagent Fleet (Middle Right - 6x4)\n const subagentFleet = new SubagentFleet(\n this.grid.set(4, 6, 4, 6, blessed.box, {\n label: '\uD83E\uDD16 Subagent Fleet',\n border: { type: 'line' },\n style: { border: { fg: 'magenta' } },\n })\n );\n this.components.set('subagents', subagentFleet);\n\n // PR/Issue Tracker (Bottom Left - 6x2)\n const prTracker = new PRTracker(\n this.grid.set(8, 0, 2, 6, blessed.list, {\n label: '\uD83D\uDD00 PR/Issues',\n border: { type: 'line' },\n style: { border: { fg: 'red' } },\n scrollable: true,\n mouse: true,\n })\n );\n this.components.set('prs', prTracker);\n\n // Analytics Panel (Bottom Right - 6x2)\n const analytics = new AnalyticsPanel(\n this.grid.set(8, 6, 2, 6, contrib.line, {\n label: '\uD83D\uDCC8 Analytics',\n border: { type: 'line' },\n style: {\n border: { fg: 'white' },\n line: 'yellow',\n text: 'green',\n baseline: 'black',\n },\n showLegend: true,\n wholeNumbersOnly: false,\n })\n );\n this.components.set('analytics', analytics);\n\n // Status Bar (Bottom - 12x2)\n const statusBar = blessed.box({\n parent: this.screen,\n bottom: 0,\n left: 0,\n width: '100%',\n height: 2,\n tags: true,\n style: {\n fg: 'white',\n bg: 'black',\n },\n });\n this.components.set('status', statusBar);\n\n this.updateStatusBar('Ready');\n }\n\n private setupEventHandlers(): void {\n // Keyboard shortcuts\n this.screen.key(['q', 'C-c'], () => {\n this.cleanup();\n process.exit(0);\n });\n\n this.screen.key(['r', 'C-r'], () => {\n this.refresh();\n });\n\n this.screen.key(['tab'], () => {\n this.focusNext();\n });\n\n this.screen.key(['S-tab'], () => {\n this.focusPrevious();\n });\n\n // View switching\n this.screen.key(['1'], () => this.showView('sessions'));\n this.screen.key(['2'], () => this.showView('tasks'));\n this.screen.key(['3'], () => this.showView('frames'));\n this.screen.key(['4'], () => this.showView('subagents'));\n this.screen.key(['5'], () => this.showView('prs'));\n this.screen.key(['6'], () => this.showView('analytics'));\n\n // WebSocket events\n this.wsClient.on('session:update', (data: SessionData) => {\n this.components.get('sessions')?.update(data);\n });\n\n this.wsClient.on('task:update', (data: TaskData) => {\n this.components.get('tasks')?.update(data);\n });\n\n this.wsClient.on('frame:update', (data) => {\n this.components.get('frames')?.update(data);\n });\n\n this.wsClient.on('agent:status', (data) => {\n this.components.get('subagents')?.update(data);\n });\n\n this.wsClient.on('pr:update', (data) => {\n this.components.get('prs')?.update(data);\n });\n\n // Data service events\n this.dataService.on('data:ready', () => {\n this.updateAll();\n });\n\n this.dataService.on('error', (error) => {\n this.showError(error.message);\n });\n }\n\n private async updateAll(): Promise<void> {\n try {\n // Fetch latest data\n const [sessions, tasks, frames, agents, prs, issues, analytics] =\n await Promise.all([\n this.dataService.getSessions(),\n this.dataService.getTasks(),\n this.dataService.getFrames(),\n this.dataService.getAgents(),\n this.dataService.getPRs(),\n this.dataService.getIssues(),\n this.dataService.getAnalytics(),\n ]);\n\n // Update components\n this.components.get('sessions')?.update(sessions);\n this.components.get('tasks')?.update(tasks);\n this.components.get('frames')?.update(frames);\n this.components.get('subagents')?.update(agents);\n // PR/Issue tracker expects an object with prs/issues\n this.components.get('prs')?.update({ prs, issues });\n this.components.get('analytics')?.update(analytics);\n\n this.updateStatusBar(`Last updated: ${new Date().toLocaleTimeString()}`);\n this.screen.render();\n } catch (error) {\n this.showError(`Update failed: ${error.message}`);\n }\n }\n\n private refresh(): void {\n this.updateStatusBar('Refreshing...');\n this.updateAll();\n }\n\n private focusNext(): void {\n const components = Array.from(this.components.values());\n const currentIndex = components.findIndex((c) => c.hasFocus?.());\n const nextIndex = (currentIndex + 1) % components.length;\n components[nextIndex]?.focus?.();\n this.screen.render();\n }\n\n private focusPrevious(): void {\n const components = Array.from(this.components.values());\n const currentIndex = components.findIndex((c) => c.hasFocus?.());\n const prevIndex =\n currentIndex <= 0 ? components.length - 1 : currentIndex - 1;\n components[prevIndex]?.focus?.();\n this.screen.render();\n }\n\n private showView(viewName: string): void {\n const component = this.components.get(viewName);\n if (component) {\n component.focus?.();\n component.show?.();\n this.updateStatusBar(`Viewing: ${viewName}`);\n this.screen.render();\n }\n }\n\n private updateStatusBar(message: string): void {\n const statusBar = this.components.get('status');\n if (statusBar) {\n const shortcuts =\n '{yellow-fg}[q]{/} Quit | {yellow-fg}[r]{/} Refresh | {yellow-fg}[Tab]{/} Navigate | {yellow-fg}[1-6]{/} Views';\n statusBar.setContent(`{bold}${message}{/} | ${shortcuts}`);\n this.screen.render();\n }\n }\n\n private showError(message: string): void {\n const msg = blessed.message({\n parent: this.screen,\n border: 'line',\n height: 'shrink',\n width: 'half',\n top: 'center',\n left: 'center',\n label: '{red-fg}Error{/}',\n tags: true,\n hidden: true,\n });\n\n msg.display(message, () => {\n msg.destroy();\n this.screen.render();\n });\n }\n\n public async start(): Promise<void> {\n try {\n // Show terminal compatibility info\n const termInfo = terminalCompat.getTerminalInfo();\n const warnings = terminalCompat.getWarnings();\n\n if (warnings.length > 0) {\n console.log('\u26A0\uFE0F Terminal Compatibility Warnings:');\n warnings.forEach((w) => console.log(` \u2022 ${w}`));\n console.log('');\n\n // Give user time to read warnings\n await new Promise((resolve) => setTimeout(resolve, 2000));\n }\n\n // Show terminal capabilities in debug mode\n if (process.env.DEBUG || process.env.TUI_DEBUG) {\n console.log('\uD83D\uDD0D Terminal Capabilities:');\n console.log(` ${terminalCompat.getCapabilitiesString()}`);\n console.log('');\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n\n // Connect WebSocket (but don't fail if it can't connect)\n try {\n await this.wsClient.connect();\n } catch (wsError) {\n console.log('\u26A0\uFE0F Running in offline mode (no WebSocket connection)');\n }\n\n // Initialize data service\n await this.dataService.initialize();\n\n // Start auto-refresh\n if (this.config.refreshInterval > 0) {\n this.refreshInterval = setInterval(() => {\n this.updateAll().catch((error) => {\n // Silent error handling for refresh failures\n if (process.env.DEBUG) {\n console.error('Update error:', error);\n }\n });\n }, this.config.refreshInterval);\n }\n\n // Initial data load\n await this.updateAll();\n\n // Render screen\n this.screen.render();\n } catch (error) {\n console.error('\\n\u274C TUI startup error:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n if (process.env.DEBUG) {\n console.error('Stack trace:', error.stack);\n }\n }\n throw error;\n }\n }\n\n public cleanup(): void {\n if (this.refreshInterval) {\n clearInterval(this.refreshInterval);\n }\n this.wsClient.disconnect();\n this.dataService.cleanup();\n }\n}\n\n// CLI entry point\n// Check if this file is being run directly\nconst isMainModule =\n typeof process !== 'undefined' &&\n process.argv &&\n process.argv[1] &&\n (import.meta.url === `file://${process.argv[1]}` ||\n process.argv[1].endsWith('/index.js'));\n\nif (isMainModule) {\n // Check terminal compatibility first\n if (!terminalCompat.isCompatible()) {\n console.error('\u274C Terminal is not compatible with TUI mode');\n console.error(\n ' Please use the dashboard command instead: stackmemory dashboard --watch'\n );\n process.exit(1);\n }\n\n // Handle uncaught errors gracefully\n process.on('uncaughtException', (error) => {\n console.error('\\n\u274C TUI Error:', error.message || error);\n console.error('Error type:', error.constructor.name);\n if (error.stack) {\n console.error('Stack trace:', error.stack);\n }\n console.error(\n '\\n\uD83D\uDCA1 Try the simpler dashboard instead: stackmemory dashboard --watch'\n );\n process.exit(1);\n });\n\n process.on('unhandledRejection', (reason, promise) => {\n console.error('\\n\u274C Unhandled promise rejection at:', promise);\n console.error('Reason:', reason);\n if (reason instanceof Error) {\n console.error('Stack trace:', reason.stack);\n }\n console.error(\n '\\n\uD83D\uDCA1 Try the simpler dashboard instead: stackmemory dashboard --watch'\n );\n process.exit(1);\n });\n\n let tui;\n try {\n tui = new StackMemoryTUI({\n refreshInterval: 2000,\n wsUrl: process.env.STACKMEMORY_WS_URL || 'ws://localhost:8080',\n });\n } catch (constructorError) {\n console.error(\n '\\n\u274C Failed to create TUI:',\n constructorError.message || constructorError\n );\n if (constructorError.stack) {\n console.error('Stack trace:', constructorError.stack);\n }\n console.error(\n '\\n\uD83D\uDCA1 Try the simpler dashboard instead: stackmemory dashboard --watch'\n );\n process.exit(1);\n }\n\n tui.start().catch((error) => {\n console.error('\\n\u274C Failed to start TUI:', error.message || error);\n if (error.stack) {\n console.error('Stack trace:', error.stack);\n }\n console.error(\n '\\n\uD83D\uDCA1 Try the simpler dashboard instead: stackmemory dashboard --watch'\n );\n process.exit(1);\n });\n\n process.on('SIGINT', () => {\n tui.cleanup();\n process.exit(0);\n });\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }