@stackmemoryai/stackmemory 0.5.5 → 0.5.7

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 (496) hide show
  1. package/dist/agents/core/agent-task-manager.js +4 -0
  2. package/dist/agents/core/agent-task-manager.js.map +1 -1
  3. package/dist/agents/testing-agent.js +4 -0
  4. package/dist/agents/testing-agent.js.map +1 -1
  5. package/dist/agents/verifiers/base-verifier.js +4 -0
  6. package/dist/agents/verifiers/base-verifier.js.map +1 -1
  7. package/dist/agents/verifiers/formatter-verifier.js +4 -0
  8. package/dist/agents/verifiers/formatter-verifier.js.map +1 -1
  9. package/dist/agents/verifiers/llm-judge.js +4 -0
  10. package/dist/agents/verifiers/llm-judge.js.map +1 -1
  11. package/dist/cli/auto-detect.js +4 -0
  12. package/dist/cli/auto-detect.js.map +1 -1
  13. package/dist/cli/browser-test.js +4 -0
  14. package/dist/cli/browser-test.js.map +1 -1
  15. package/dist/cli/claude-sm-danger.js +4 -3
  16. package/dist/cli/claude-sm-danger.js.map +2 -2
  17. package/dist/cli/claude-sm.js +4 -0
  18. package/dist/cli/claude-sm.js.map +2 -2
  19. package/dist/cli/codex-sm.js +4 -0
  20. package/dist/cli/codex-sm.js.map +1 -1
  21. package/dist/cli/commands/api.js +4 -0
  22. package/dist/cli/commands/api.js.map +1 -1
  23. package/dist/cli/commands/auto-background.js +180 -0
  24. package/dist/cli/commands/auto-background.js.map +7 -0
  25. package/dist/cli/commands/cleanup-processes.js +4 -0
  26. package/dist/cli/commands/cleanup-processes.js.map +1 -1
  27. package/dist/cli/commands/clear.js +4 -0
  28. package/dist/cli/commands/clear.js.map +1 -1
  29. package/dist/cli/commands/config.js +4 -0
  30. package/dist/cli/commands/config.js.map +1 -1
  31. package/dist/cli/commands/context-rehydrate.js +4 -0
  32. package/dist/cli/commands/context-rehydrate.js.map +1 -1
  33. package/dist/cli/commands/context.js +4 -0
  34. package/dist/cli/commands/context.js.map +1 -1
  35. package/dist/cli/commands/dashboard.js +4 -0
  36. package/dist/cli/commands/dashboard.js.map +1 -1
  37. package/dist/cli/commands/db.js +4 -0
  38. package/dist/cli/commands/db.js.map +1 -1
  39. package/dist/cli/commands/decision.js +4 -0
  40. package/dist/cli/commands/decision.js.map +1 -1
  41. package/dist/cli/commands/handoff.js +4 -0
  42. package/dist/cli/commands/handoff.js.map +1 -1
  43. package/dist/cli/commands/hooks.js +4 -0
  44. package/dist/cli/commands/hooks.js.map +1 -1
  45. package/dist/cli/commands/linear-unified.js +4 -0
  46. package/dist/cli/commands/linear-unified.js.map +1 -1
  47. package/dist/cli/commands/linear.js +4 -0
  48. package/dist/cli/commands/linear.js.map +1 -1
  49. package/dist/cli/commands/log.js +4 -0
  50. package/dist/cli/commands/log.js.map +1 -1
  51. package/dist/cli/commands/login.js +4 -0
  52. package/dist/cli/commands/login.js.map +1 -1
  53. package/dist/cli/commands/migrate.js +4 -0
  54. package/dist/cli/commands/migrate.js.map +1 -1
  55. package/dist/cli/commands/monitor.js +4 -0
  56. package/dist/cli/commands/monitor.js.map +1 -1
  57. package/dist/cli/commands/onboard.js +4 -0
  58. package/dist/cli/commands/onboard.js.map +1 -1
  59. package/dist/cli/commands/projects.js +4 -0
  60. package/dist/cli/commands/projects.js.map +1 -1
  61. package/dist/cli/commands/quality.js +4 -0
  62. package/dist/cli/commands/quality.js.map +1 -1
  63. package/dist/cli/commands/ralph.js +4 -0
  64. package/dist/cli/commands/ralph.js.map +1 -1
  65. package/dist/cli/commands/search.js +4 -0
  66. package/dist/cli/commands/search.js.map +1 -1
  67. package/dist/cli/commands/service.js +4 -0
  68. package/dist/cli/commands/service.js.map +1 -1
  69. package/dist/cli/commands/session.js +4 -0
  70. package/dist/cli/commands/session.js.map +1 -1
  71. package/dist/cli/commands/shell.js +5 -4
  72. package/dist/cli/commands/shell.js.map +2 -2
  73. package/dist/cli/commands/signup.js +4 -0
  74. package/dist/cli/commands/signup.js.map +1 -1
  75. package/dist/cli/commands/skills.js +4 -0
  76. package/dist/cli/commands/skills.js.map +1 -1
  77. package/dist/cli/commands/storage-tier.js +4 -0
  78. package/dist/cli/commands/storage-tier.js.map +1 -1
  79. package/dist/cli/commands/storage.js +4 -0
  80. package/dist/cli/commands/storage.js.map +1 -1
  81. package/dist/cli/commands/sweep.js +5 -4
  82. package/dist/cli/commands/sweep.js.map +2 -2
  83. package/dist/cli/commands/tasks.js +4 -0
  84. package/dist/cli/commands/tasks.js.map +1 -1
  85. package/dist/cli/commands/test.js +4 -0
  86. package/dist/cli/commands/test.js.map +1 -1
  87. package/dist/cli/commands/workflow.js +4 -0
  88. package/dist/cli/commands/workflow.js.map +1 -1
  89. package/dist/cli/commands/worktree.js +4 -0
  90. package/dist/cli/commands/worktree.js.map +1 -1
  91. package/dist/cli/index.js +6 -0
  92. package/dist/cli/index.js.map +2 -2
  93. package/dist/cli/utils/viewer.js +4 -0
  94. package/dist/cli/utils/viewer.js.map +1 -1
  95. package/dist/core/analytics/team-analytics.js +4 -0
  96. package/dist/core/analytics/team-analytics.js.map +1 -1
  97. package/dist/core/config/config-manager.js +4 -0
  98. package/dist/core/config/config-manager.js.map +1 -1
  99. package/dist/core/config/storage-config.js +4 -0
  100. package/dist/core/config/storage-config.js.map +1 -1
  101. package/dist/core/config/types.js +4 -0
  102. package/dist/core/config/types.js.map +1 -1
  103. package/dist/core/context/auto-context.js +4 -0
  104. package/dist/core/context/auto-context.js.map +1 -1
  105. package/dist/core/context/compaction-handler.js +4 -0
  106. package/dist/core/context/compaction-handler.js.map +1 -1
  107. package/dist/core/context/context-bridge.js +4 -0
  108. package/dist/core/context/context-bridge.js.map +1 -1
  109. package/dist/core/context/dual-stack-manager.js +4 -0
  110. package/dist/core/context/dual-stack-manager.js.map +1 -1
  111. package/dist/core/context/enhanced-rehydration.js +4 -0
  112. package/dist/core/context/enhanced-rehydration.js.map +1 -1
  113. package/dist/core/context/frame-database.js +4 -0
  114. package/dist/core/context/frame-database.js.map +1 -1
  115. package/dist/core/context/frame-digest.js +4 -0
  116. package/dist/core/context/frame-digest.js.map +1 -1
  117. package/dist/core/context/frame-handoff-manager.js +4 -0
  118. package/dist/core/context/frame-handoff-manager.js.map +1 -1
  119. package/dist/core/context/frame-manager.js +4 -0
  120. package/dist/core/context/frame-manager.js.map +1 -1
  121. package/dist/core/context/frame-stack.js +4 -0
  122. package/dist/core/context/frame-stack.js.map +1 -1
  123. package/dist/core/context/frame-types.js +4 -0
  124. package/dist/core/context/incremental-gc.js +4 -0
  125. package/dist/core/context/incremental-gc.js.map +1 -1
  126. package/dist/core/context/index.js +4 -0
  127. package/dist/core/context/index.js.map +1 -1
  128. package/dist/core/context/model-aware-compaction.js +4 -0
  129. package/dist/core/context/model-aware-compaction.js.map +1 -1
  130. package/dist/core/context/permission-manager.js +4 -0
  131. package/dist/core/context/permission-manager.js.map +1 -1
  132. package/dist/core/context/recursive-context-manager.js +4 -0
  133. package/dist/core/context/recursive-context-manager.js.map +1 -1
  134. package/dist/core/context/refactored-frame-manager.js +4 -0
  135. package/dist/core/context/refactored-frame-manager.js.map +1 -1
  136. package/dist/core/context/shared-context-layer.js +4 -0
  137. package/dist/core/context/shared-context-layer.js.map +1 -1
  138. package/dist/core/context/stack-merge-resolver.js +4 -0
  139. package/dist/core/context/stack-merge-resolver.js.map +1 -1
  140. package/dist/core/context/validation.js +4 -0
  141. package/dist/core/context/validation.js.map +1 -1
  142. package/dist/core/database/batch-operations.js +4 -0
  143. package/dist/core/database/batch-operations.js.map +1 -1
  144. package/dist/core/database/connection-pool.js +4 -0
  145. package/dist/core/database/connection-pool.js.map +1 -1
  146. package/dist/core/database/database-adapter.js +4 -0
  147. package/dist/core/database/database-adapter.js.map +1 -1
  148. package/dist/core/database/migration-manager.js +4 -0
  149. package/dist/core/database/migration-manager.js.map +1 -1
  150. package/dist/core/database/paradedb-adapter.js +4 -0
  151. package/dist/core/database/paradedb-adapter.js.map +1 -1
  152. package/dist/core/database/query-cache.js +4 -0
  153. package/dist/core/database/query-cache.js.map +1 -1
  154. package/dist/core/database/query-router.js +4 -0
  155. package/dist/core/database/query-router.js.map +1 -1
  156. package/dist/core/database/sqlite-adapter.js +4 -0
  157. package/dist/core/database/sqlite-adapter.js.map +1 -1
  158. package/dist/core/digest/enhanced-hybrid-digest.js +4 -0
  159. package/dist/core/digest/enhanced-hybrid-digest.js.map +1 -1
  160. package/dist/core/digest/frame-digest-integration.js +4 -0
  161. package/dist/core/digest/frame-digest-integration.js.map +1 -1
  162. package/dist/core/digest/hybrid-digest-generator.js +4 -0
  163. package/dist/core/digest/hybrid-digest-generator.js.map +1 -1
  164. package/dist/core/digest/index.js +4 -0
  165. package/dist/core/digest/index.js.map +1 -1
  166. package/dist/core/digest/types.js +4 -0
  167. package/dist/core/digest/types.js.map +1 -1
  168. package/dist/core/errors/index.js +4 -0
  169. package/dist/core/errors/index.js.map +1 -1
  170. package/dist/core/errors/recovery.js +4 -0
  171. package/dist/core/errors/recovery.js.map +1 -1
  172. package/dist/core/execution/parallel-executor.js +4 -0
  173. package/dist/core/execution/parallel-executor.js.map +1 -1
  174. package/dist/core/frame/workflow-templates.js +4 -0
  175. package/dist/core/frame/workflow-templates.js.map +1 -1
  176. package/dist/core/merge/conflict-detector.js +4 -0
  177. package/dist/core/merge/conflict-detector.js.map +1 -1
  178. package/dist/core/merge/index.js +4 -0
  179. package/dist/core/merge/index.js.map +1 -1
  180. package/dist/core/merge/resolution-engine.js +4 -0
  181. package/dist/core/merge/resolution-engine.js.map +1 -1
  182. package/dist/core/merge/stack-diff.js +4 -0
  183. package/dist/core/merge/stack-diff.js.map +1 -1
  184. package/dist/core/merge/types.js +4 -0
  185. package/dist/core/monitoring/error-handler.js +4 -0
  186. package/dist/core/monitoring/error-handler.js.map +1 -1
  187. package/dist/core/monitoring/logger.js +4 -0
  188. package/dist/core/monitoring/logger.js.map +1 -1
  189. package/dist/core/monitoring/metrics.js +4 -0
  190. package/dist/core/monitoring/metrics.js.map +1 -1
  191. package/dist/core/monitoring/progress-tracker.js +4 -0
  192. package/dist/core/monitoring/progress-tracker.js.map +1 -1
  193. package/dist/core/monitoring/session-monitor.js +4 -0
  194. package/dist/core/monitoring/session-monitor.js.map +1 -1
  195. package/dist/core/performance/context-cache.js +4 -0
  196. package/dist/core/performance/context-cache.js.map +1 -1
  197. package/dist/core/performance/index.js +4 -0
  198. package/dist/core/performance/index.js.map +1 -1
  199. package/dist/core/performance/lazy-context-loader.js +4 -0
  200. package/dist/core/performance/lazy-context-loader.js.map +1 -1
  201. package/dist/core/performance/monitor.js +4 -0
  202. package/dist/core/performance/monitor.js.map +1 -1
  203. package/dist/core/performance/optimized-frame-context.js +4 -0
  204. package/dist/core/performance/optimized-frame-context.js.map +1 -1
  205. package/dist/core/performance/performance-benchmark.js +4 -0
  206. package/dist/core/performance/performance-benchmark.js.map +1 -1
  207. package/dist/core/performance/performance-profiler.js +4 -0
  208. package/dist/core/performance/performance-profiler.js.map +1 -1
  209. package/dist/core/performance/streaming-jsonl-parser.js +4 -0
  210. package/dist/core/performance/streaming-jsonl-parser.js.map +1 -1
  211. package/dist/core/persistence/postgres-adapter.js +4 -0
  212. package/dist/core/persistence/postgres-adapter.js.map +1 -1
  213. package/dist/core/projects/project-isolation.js +4 -0
  214. package/dist/core/projects/project-isolation.js.map +1 -1
  215. package/dist/core/projects/project-manager.js +4 -0
  216. package/dist/core/projects/project-manager.js.map +1 -1
  217. package/dist/core/query/query-parser.js +4 -0
  218. package/dist/core/query/query-parser.js.map +1 -1
  219. package/dist/core/query/query-templates.js +4 -0
  220. package/dist/core/query/query-templates.js.map +1 -1
  221. package/dist/core/retrieval/context-retriever.js +4 -0
  222. package/dist/core/retrieval/context-retriever.js.map +1 -1
  223. package/dist/core/retrieval/graph-retrieval.js +4 -0
  224. package/dist/core/retrieval/graph-retrieval.js.map +1 -1
  225. package/dist/core/retrieval/hierarchical-retrieval.js +4 -0
  226. package/dist/core/retrieval/hierarchical-retrieval.js.map +1 -1
  227. package/dist/core/retrieval/index.js +4 -0
  228. package/dist/core/retrieval/index.js.map +1 -1
  229. package/dist/core/retrieval/llm-context-retrieval.js +4 -0
  230. package/dist/core/retrieval/llm-context-retrieval.js.map +1 -1
  231. package/dist/core/retrieval/retrieval-benchmarks.js +4 -0
  232. package/dist/core/retrieval/retrieval-benchmarks.js.map +1 -1
  233. package/dist/core/retrieval/summary-generator.js +4 -0
  234. package/dist/core/retrieval/summary-generator.js.map +1 -1
  235. package/dist/core/retrieval/types.js +4 -0
  236. package/dist/core/retrieval/types.js.map +1 -1
  237. package/dist/core/session/clear-survival.js +4 -0
  238. package/dist/core/session/clear-survival.js.map +1 -1
  239. package/dist/core/session/enhanced-handoff.js +4 -0
  240. package/dist/core/session/enhanced-handoff.js.map +1 -1
  241. package/dist/core/session/handoff-generator.js +4 -0
  242. package/dist/core/session/handoff-generator.js.map +1 -1
  243. package/dist/core/session/index.js +4 -0
  244. package/dist/core/session/index.js.map +1 -1
  245. package/dist/core/session/session-manager.js +4 -0
  246. package/dist/core/session/session-manager.js.map +1 -1
  247. package/dist/core/skills/index.js +4 -0
  248. package/dist/core/skills/index.js.map +1 -1
  249. package/dist/core/skills/skill-storage.js +4 -0
  250. package/dist/core/skills/skill-storage.js.map +1 -1
  251. package/dist/core/skills/types.js +4 -0
  252. package/dist/core/skills/types.js.map +1 -1
  253. package/dist/core/storage/chromadb-adapter.js +4 -0
  254. package/dist/core/storage/chromadb-adapter.js.map +1 -1
  255. package/dist/core/storage/infinite-storage.js +4 -0
  256. package/dist/core/storage/infinite-storage.js.map +1 -1
  257. package/dist/core/storage/railway-optimized-storage.js +4 -0
  258. package/dist/core/storage/railway-optimized-storage.js.map +1 -1
  259. package/dist/core/storage/remote-storage.js +4 -0
  260. package/dist/core/storage/remote-storage.js.map +1 -1
  261. package/dist/core/storage/two-tier-storage.js +4 -0
  262. package/dist/core/storage/two-tier-storage.js.map +1 -1
  263. package/dist/core/trace/cli-trace-wrapper.js +4 -0
  264. package/dist/core/trace/cli-trace-wrapper.js.map +1 -1
  265. package/dist/core/trace/db-trace-wrapper.js +4 -0
  266. package/dist/core/trace/db-trace-wrapper.js.map +1 -1
  267. package/dist/core/trace/debug-trace.js +4 -0
  268. package/dist/core/trace/debug-trace.js.map +1 -1
  269. package/dist/core/trace/index.js +4 -0
  270. package/dist/core/trace/index.js.map +1 -1
  271. package/dist/core/trace/linear-api-wrapper.js +4 -0
  272. package/dist/core/trace/linear-api-wrapper.js.map +1 -1
  273. package/dist/core/trace/trace-demo.js +4 -0
  274. package/dist/core/trace/trace-demo.js.map +1 -1
  275. package/dist/core/trace/trace-detector.demo.js +4 -0
  276. package/dist/core/trace/trace-detector.demo.js.map +1 -1
  277. package/dist/core/trace/trace-detector.js +4 -0
  278. package/dist/core/trace/trace-detector.js.map +1 -1
  279. package/dist/core/trace/trace-store.js +4 -0
  280. package/dist/core/trace/trace-store.js.map +1 -1
  281. package/dist/core/trace/types.js +4 -0
  282. package/dist/core/trace/types.js.map +1 -1
  283. package/dist/core/types.js +4 -0
  284. package/dist/core/utils/compression.js +4 -0
  285. package/dist/core/utils/compression.js.map +1 -1
  286. package/dist/core/utils/update-checker.js +4 -0
  287. package/dist/core/utils/update-checker.js.map +1 -1
  288. package/dist/core/worktree/worktree-manager.js +4 -0
  289. package/dist/core/worktree/worktree-manager.js.map +1 -1
  290. package/dist/daemon/session-daemon.js +4 -0
  291. package/dist/daemon/session-daemon.js.map +1 -1
  292. package/dist/features/analytics/api/analytics-api.js +4 -0
  293. package/dist/features/analytics/api/analytics-api.js.map +1 -1
  294. package/dist/features/analytics/core/analytics-service.js +4 -0
  295. package/dist/features/analytics/core/analytics-service.js.map +1 -1
  296. package/dist/features/analytics/index.js +4 -0
  297. package/dist/features/analytics/index.js.map +1 -1
  298. package/dist/features/analytics/queries/metrics-queries.js +4 -0
  299. package/dist/features/analytics/queries/metrics-queries.js.map +1 -1
  300. package/dist/features/analytics/types/metrics.js +4 -0
  301. package/dist/features/browser/browser-mcp.js +4 -0
  302. package/dist/features/browser/browser-mcp.js.map +1 -1
  303. package/dist/features/tasks/linear-task-manager.js +4 -0
  304. package/dist/features/tasks/linear-task-manager.js.map +1 -1
  305. package/dist/features/tasks/task-aware-context.js +4 -0
  306. package/dist/features/tasks/task-aware-context.js.map +1 -1
  307. package/dist/features/tui/simple-monitor.js +4 -0
  308. package/dist/features/tui/simple-monitor.js.map +1 -1
  309. package/dist/features/tui/swarm-monitor.js +4 -0
  310. package/dist/features/tui/swarm-monitor.js.map +1 -1
  311. package/dist/features/web/client/stores/task-store.js +4 -0
  312. package/dist/features/web/client/stores/task-store.js.map +1 -1
  313. package/dist/features/web/server/index.js +4 -0
  314. package/dist/features/web/server/index.js.map +1 -1
  315. package/dist/hooks/auto-background.js +146 -0
  316. package/dist/hooks/auto-background.js.map +7 -0
  317. package/dist/hooks/config.js +4 -0
  318. package/dist/hooks/config.js.map +1 -1
  319. package/dist/hooks/daemon.js +4 -0
  320. package/dist/hooks/daemon.js.map +1 -1
  321. package/dist/hooks/events.js +4 -0
  322. package/dist/hooks/events.js.map +1 -1
  323. package/dist/hooks/index.js +5 -0
  324. package/dist/hooks/index.js.map +2 -2
  325. package/dist/index.js +4 -0
  326. package/dist/index.js.map +1 -1
  327. package/dist/integrations/anthropic/client.js +4 -0
  328. package/dist/integrations/anthropic/client.js.map +1 -1
  329. package/dist/integrations/claude-code/agent-bridge.js +4 -0
  330. package/dist/integrations/claude-code/agent-bridge.js.map +1 -1
  331. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +4 -0
  332. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +1 -1
  333. package/dist/integrations/claude-code/lifecycle-hooks.js +4 -0
  334. package/dist/integrations/claude-code/lifecycle-hooks.js.map +1 -1
  335. package/dist/integrations/claude-code/post-task-hooks.js +4 -0
  336. package/dist/integrations/claude-code/post-task-hooks.js.map +1 -1
  337. package/dist/integrations/claude-code/subagent-client-stub.js +4 -0
  338. package/dist/integrations/claude-code/subagent-client-stub.js.map +1 -1
  339. package/dist/integrations/claude-code/subagent-client.js +4 -0
  340. package/dist/integrations/claude-code/subagent-client.js.map +1 -1
  341. package/dist/integrations/claude-code/task-coordinator.js +4 -0
  342. package/dist/integrations/claude-code/task-coordinator.js.map +1 -1
  343. package/dist/integrations/linear/auth.js +4 -0
  344. package/dist/integrations/linear/auth.js.map +1 -1
  345. package/dist/integrations/linear/auto-sync.js +4 -0
  346. package/dist/integrations/linear/auto-sync.js.map +1 -1
  347. package/dist/integrations/linear/client.js +4 -0
  348. package/dist/integrations/linear/client.js.map +1 -1
  349. package/dist/integrations/linear/config.js +4 -0
  350. package/dist/integrations/linear/config.js.map +1 -1
  351. package/dist/integrations/linear/migration.js +4 -0
  352. package/dist/integrations/linear/migration.js.map +1 -1
  353. package/dist/integrations/linear/oauth-server.js +4 -0
  354. package/dist/integrations/linear/oauth-server.js.map +1 -1
  355. package/dist/integrations/linear/rest-client.js +4 -0
  356. package/dist/integrations/linear/rest-client.js.map +1 -1
  357. package/dist/integrations/linear/sync-manager.js +4 -0
  358. package/dist/integrations/linear/sync-manager.js.map +1 -1
  359. package/dist/integrations/linear/sync-service.js +4 -0
  360. package/dist/integrations/linear/sync-service.js.map +1 -1
  361. package/dist/integrations/linear/sync.js +4 -0
  362. package/dist/integrations/linear/sync.js.map +1 -1
  363. package/dist/integrations/linear/types.js +4 -0
  364. package/dist/integrations/linear/unified-sync.js +4 -0
  365. package/dist/integrations/linear/unified-sync.js.map +1 -1
  366. package/dist/integrations/linear/webhook-handler.js +4 -0
  367. package/dist/integrations/linear/webhook-handler.js.map +1 -1
  368. package/dist/integrations/linear/webhook-server.js +4 -0
  369. package/dist/integrations/linear/webhook-server.js.map +1 -1
  370. package/dist/integrations/linear/webhook.js +4 -0
  371. package/dist/integrations/linear/webhook.js.map +1 -1
  372. package/dist/integrations/mcp/handlers/code-execution-handlers.js +4 -0
  373. package/dist/integrations/mcp/handlers/code-execution-handlers.js.map +1 -1
  374. package/dist/integrations/mcp/handlers/context-handlers.js +4 -0
  375. package/dist/integrations/mcp/handlers/context-handlers.js.map +1 -1
  376. package/dist/integrations/mcp/handlers/index.js +4 -0
  377. package/dist/integrations/mcp/handlers/index.js.map +1 -1
  378. package/dist/integrations/mcp/handlers/linear-handlers.js +4 -0
  379. package/dist/integrations/mcp/handlers/linear-handlers.js.map +1 -1
  380. package/dist/integrations/mcp/handlers/skill-handlers.js +4 -0
  381. package/dist/integrations/mcp/handlers/skill-handlers.js.map +1 -1
  382. package/dist/integrations/mcp/handlers/task-handlers.js +4 -0
  383. package/dist/integrations/mcp/handlers/task-handlers.js.map +1 -1
  384. package/dist/integrations/mcp/handlers/trace-handlers.js +4 -0
  385. package/dist/integrations/mcp/handlers/trace-handlers.js.map +1 -1
  386. package/dist/integrations/mcp/index.js +4 -0
  387. package/dist/integrations/mcp/index.js.map +1 -1
  388. package/dist/integrations/mcp/middleware/tool-scoring.js +4 -0
  389. package/dist/integrations/mcp/middleware/tool-scoring.js.map +1 -1
  390. package/dist/integrations/mcp/refactored-server.js +4 -0
  391. package/dist/integrations/mcp/refactored-server.js.map +1 -1
  392. package/dist/integrations/mcp/server.js +4 -0
  393. package/dist/integrations/mcp/server.js.map +1 -1
  394. package/dist/integrations/mcp/tool-definitions-code.js +4 -0
  395. package/dist/integrations/mcp/tool-definitions-code.js.map +1 -1
  396. package/dist/integrations/mcp/tool-definitions.js +4 -0
  397. package/dist/integrations/mcp/tool-definitions.js.map +1 -1
  398. package/dist/integrations/mcp/trace-test.js +4 -0
  399. package/dist/integrations/mcp/trace-test.js.map +1 -1
  400. package/dist/integrations/pg-aiguide/embedding-provider.js +4 -0
  401. package/dist/integrations/pg-aiguide/embedding-provider.js.map +1 -1
  402. package/dist/integrations/pg-aiguide/semantic-search.js +4 -0
  403. package/dist/integrations/pg-aiguide/semantic-search.js.map +1 -1
  404. package/dist/integrations/pg-aiguide/timescale-analytics.js +4 -0
  405. package/dist/integrations/pg-aiguide/timescale-analytics.js.map +1 -1
  406. package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js +4 -0
  407. package/dist/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +1 -1
  408. package/dist/integrations/ralph/context/context-budget-manager.js +4 -0
  409. package/dist/integrations/ralph/context/context-budget-manager.js.map +1 -1
  410. package/dist/integrations/ralph/context/stackmemory-context-loader.js +4 -0
  411. package/dist/integrations/ralph/context/stackmemory-context-loader.js.map +1 -1
  412. package/dist/integrations/ralph/coordination/enhanced-coordination.js +4 -0
  413. package/dist/integrations/ralph/coordination/enhanced-coordination.js.map +1 -1
  414. package/dist/integrations/ralph/index.js +4 -0
  415. package/dist/integrations/ralph/index.js.map +1 -1
  416. package/dist/integrations/ralph/learning/pattern-learner.js +4 -0
  417. package/dist/integrations/ralph/learning/pattern-learner.js.map +1 -1
  418. package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js +4 -0
  419. package/dist/integrations/ralph/lifecycle/iteration-lifecycle.js.map +1 -1
  420. package/dist/integrations/ralph/monitoring/swarm-dashboard.js +4 -0
  421. package/dist/integrations/ralph/monitoring/swarm-dashboard.js.map +1 -1
  422. package/dist/integrations/ralph/monitoring/swarm-registry.js +4 -0
  423. package/dist/integrations/ralph/monitoring/swarm-registry.js.map +1 -1
  424. package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js +4 -0
  425. package/dist/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +1 -1
  426. package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js +4 -0
  427. package/dist/integrations/ralph/patterns/compounding-engineering-pattern.js.map +1 -1
  428. package/dist/integrations/ralph/patterns/extended-coherence-sessions.js +4 -0
  429. package/dist/integrations/ralph/patterns/extended-coherence-sessions.js.map +1 -1
  430. package/dist/integrations/ralph/patterns/oracle-worker-pattern.js +4 -0
  431. package/dist/integrations/ralph/patterns/oracle-worker-pattern.js.map +1 -1
  432. package/dist/integrations/ralph/performance/performance-optimizer.js +4 -0
  433. package/dist/integrations/ralph/performance/performance-optimizer.js.map +1 -1
  434. package/dist/integrations/ralph/ralph-integration-demo.js +4 -0
  435. package/dist/integrations/ralph/ralph-integration-demo.js.map +1 -1
  436. package/dist/integrations/ralph/recovery/crash-recovery.js +4 -0
  437. package/dist/integrations/ralph/recovery/crash-recovery.js.map +1 -1
  438. package/dist/integrations/ralph/state/state-reconciler.js +4 -0
  439. package/dist/integrations/ralph/state/state-reconciler.js.map +1 -1
  440. package/dist/integrations/ralph/swarm/git-workflow-manager.js +4 -0
  441. package/dist/integrations/ralph/swarm/git-workflow-manager.js.map +1 -1
  442. package/dist/integrations/ralph/swarm/swarm-coordinator.js +4 -0
  443. package/dist/integrations/ralph/swarm/swarm-coordinator.js.map +1 -1
  444. package/dist/integrations/ralph/types.js +4 -0
  445. package/dist/integrations/ralph/visualization/ralph-debugger.js +4 -0
  446. package/dist/integrations/ralph/visualization/ralph-debugger.js.map +1 -1
  447. package/dist/mcp/stackmemory-mcp-server.js +4 -0
  448. package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
  449. package/dist/middleware/exponential-rate-limiter.js +4 -0
  450. package/dist/middleware/exponential-rate-limiter.js.map +1 -1
  451. package/dist/models/user.model.js +4 -0
  452. package/dist/models/user.model.js.map +1 -1
  453. package/dist/servers/production/auth-middleware.js +4 -0
  454. package/dist/servers/production/auth-middleware.js.map +1 -1
  455. package/dist/servers/railway/config.js +4 -0
  456. package/dist/servers/railway/config.js.map +1 -1
  457. package/dist/servers/railway/index-enhanced.js +4 -0
  458. package/dist/servers/railway/index-enhanced.js.map +1 -1
  459. package/dist/servers/railway/index.js +4 -0
  460. package/dist/servers/railway/index.js.map +1 -1
  461. package/dist/servers/railway/simple.js +4 -0
  462. package/dist/servers/railway/simple.js.map +1 -1
  463. package/dist/servers/railway/storage-test.js +4 -0
  464. package/dist/servers/railway/storage-test.js.map +1 -1
  465. package/dist/services/config-service.js +4 -0
  466. package/dist/services/config-service.js.map +1 -1
  467. package/dist/services/context-service.js +4 -0
  468. package/dist/services/context-service.js.map +1 -1
  469. package/dist/skills/api-discovery.js +4 -0
  470. package/dist/skills/api-discovery.js.map +1 -1
  471. package/dist/skills/api-skill.js +4 -0
  472. package/dist/skills/api-skill.js.map +1 -1
  473. package/dist/skills/claude-skills.js +4 -0
  474. package/dist/skills/claude-skills.js.map +1 -1
  475. package/dist/skills/dashboard-launcher.js +4 -0
  476. package/dist/skills/dashboard-launcher.js.map +1 -1
  477. package/dist/skills/recursive-agent-orchestrator.js +4 -0
  478. package/dist/skills/recursive-agent-orchestrator.js.map +1 -1
  479. package/dist/skills/repo-ingestion-skill.js +4 -0
  480. package/dist/skills/repo-ingestion-skill.js.map +1 -1
  481. package/dist/skills/security-secrets-scanner.js +4 -0
  482. package/dist/skills/security-secrets-scanner.js.map +1 -1
  483. package/dist/skills/unified-rlm-orchestrator.js +4 -0
  484. package/dist/skills/unified-rlm-orchestrator.js.map +1 -1
  485. package/dist/types/task.js +4 -0
  486. package/dist/utils/env.js +4 -0
  487. package/dist/utils/env.js.map +1 -1
  488. package/dist/utils/formatting.js +4 -0
  489. package/dist/utils/formatting.js.map +1 -1
  490. package/dist/utils/process-cleanup.js +4 -0
  491. package/dist/utils/process-cleanup.js.map +1 -1
  492. package/dist/validation/schemas.js +4 -0
  493. package/dist/validation/schemas.js.map +1 -1
  494. package/package.json +1 -1
  495. package/scripts/install-auto-background-hook.sh +144 -0
  496. package/templates/claude-hooks/auto-background-hook.js +156 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/monitor.ts"],
4
4
  "sourcesContent": ["/**\n * Monitor command for StackMemory\n * Real-time monitoring of context and frame activity\n */\n\n/**\n * Monitor command for StackMemory\n * Runs background monitoring daemon for automatic triggers\n */\n\nimport { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { SessionMonitor } from '../../core/monitoring/session-monitor.js';\nimport { FrameManager } from '../../core/context/frame-manager.js';\nimport Database from 'better-sqlite3';\n// getProjectRoot function will be defined below\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\nimport { spawn } from 'child_process';\n\nexport function createMonitorCommand(): Command {\n const cmd = new Command('monitor')\n .description('Run background monitoring for automatic triggers')\n .option('--start', 'Start monitoring daemon')\n .option('--stop', 'Stop monitoring daemon')\n .option('--status', 'Check monitor status')\n .option('--config', 'Show monitor configuration')\n .option('--activity', 'Update activity timestamp')\n .option('--daemon', 'Run as daemon (background process)')\n .option('--foreground', 'Run in foreground (for testing)')\n .option('--interval <seconds>', 'Check interval in seconds', '30')\n .option('--idle <minutes>', 'Idle timeout in minutes', '5')\n .action(async (options) => {\n const spinner = ora();\n\n try {\n const projectRoot = await getProjectRoot();\n const dbPath = path.join(\n projectRoot,\n '.stackmemory',\n 'db',\n 'stackmemory.db'\n );\n\n // Check if StackMemory is initialized\n try {\n await fs.access(dbPath);\n } catch {\n console.error(chalk.red('\u2717 StackMemory not initialized'));\n console.log(chalk.yellow('Run: stackmemory init'));\n process.exit(1);\n }\n\n if (options.start) {\n await startMonitor(projectRoot, options, spinner);\n } else if (options.stop) {\n await stopMonitor(projectRoot, spinner);\n } else if (options.status) {\n await showStatus(projectRoot);\n } else if (options.config) {\n await showConfig(projectRoot);\n } else if (options.activity) {\n await updateActivity(projectRoot);\n } else if (options.daemon) {\n await runDaemon(projectRoot, options);\n } else if (options.foreground) {\n await runForeground(projectRoot, options);\n } else {\n // Default: show status\n await showStatus(projectRoot);\n }\n } catch (error: unknown) {\n spinner.fail(chalk.red(`Error: ${error}`));\n process.exit(1);\n }\n });\n\n return cmd;\n}\n\n/**\n * Start monitoring daemon\n */\nasync function startMonitor(projectRoot: string, options: any, spinner: any) {\n spinner.start('Starting monitor daemon...');\n\n const pidFile = path.join(projectRoot, '.stackmemory', 'monitor.pid');\n\n // Check if already running\n try {\n const pid = await fs.readFile(pidFile, 'utf-8');\n // Check if process is actually running\n try {\n process.kill(parseInt(pid), 0);\n spinner.fail(chalk.yellow('Monitor already running'));\n console.log(chalk.gray(`PID: ${pid}`));\n return;\n } catch {\n // Process not running, clean up stale PID file\n await fs.unlink(pidFile).catch(() => {});\n }\n } catch {\n // No PID file\n }\n\n // Spawn daemon process\n const daemon = spawn(\n process.execPath,\n [\n process.argv[1],\n 'monitor',\n '--daemon',\n '--interval',\n options.interval || '30',\n '--idle',\n options.idle || '5',\n ],\n {\n cwd: projectRoot,\n detached: true,\n stdio: ['ignore', 'ignore', 'ignore'],\n }\n );\n\n // Store PID\n await fs.writeFile(pidFile, daemon.pid!.toString(), 'utf-8');\n\n daemon.unref();\n\n spinner.succeed(chalk.green('\u2705 Monitor daemon started'));\n console.log(chalk.gray(`PID: ${daemon.pid}`));\n console.log(chalk.gray(`Check interval: ${options.interval || 30}s`));\n console.log(chalk.gray(`Idle timeout: ${options.idle || 5}min`));\n\n console.log(chalk.bold('\\n\uD83D\uDD0D Monitoring:'));\n console.log(' \u2022 Context usage (warns at 60%, saves at 85%)');\n console.log(' \u2022 Idle detection (handoff after 5min)');\n console.log(' \u2022 Session end (auto-save on exit)');\n\n console.log(chalk.gray('\\nStop with: stackmemory monitor --stop'));\n}\n\n/**\n * Stop monitoring daemon\n */\nasync function stopMonitor(projectRoot: string, spinner: ora.Ora) {\n spinner.start('Stopping monitor daemon...');\n\n const pidFile = path.join(projectRoot, '.stackmemory', 'monitor.pid');\n\n try {\n const pid = parseInt(await fs.readFile(pidFile, 'utf-8'));\n\n // Send termination signal\n process.kill(pid, 'SIGTERM');\n\n // Clean up PID file\n await fs.unlink(pidFile);\n\n spinner.succeed(chalk.green('\u2705 Monitor daemon stopped'));\n } catch (error: unknown) {\n spinner.fail(chalk.yellow('Monitor not running'));\n }\n}\n\n/**\n * Show monitor status\n */\nasync function showStatus(projectRoot: string) {\n const pidFile = path.join(projectRoot, '.stackmemory', 'monitor.pid');\n const statusFile = path.join(projectRoot, '.stackmemory', 'monitor.status');\n\n console.log(chalk.bold('\\n\uD83D\uDCCA Monitor Status\\n'));\n\n // Check if daemon is running\n let isRunning = false;\n let pid: number | undefined;\n\n try {\n pid = parseInt(await fs.readFile(pidFile, 'utf-8'));\n process.kill(pid, 0);\n isRunning = true;\n } catch {\n // Not running\n }\n\n if (isRunning && pid) {\n console.log(chalk.green('\u2705 Monitor is running'));\n console.log(chalk.gray(`PID: ${pid}`));\n\n // Try to read status file\n try {\n const status = JSON.parse(await fs.readFile(statusFile, 'utf-8'));\n\n console.log(chalk.bold('\\nLast Check:'));\n console.log(` Time: ${new Date(status.lastCheck).toLocaleString()}`);\n console.log(` Context: ${Math.round(status.contextPercentage * 100)}%`);\n console.log(\n ` Status: ${getStatusEmoji(status.contextStatus)} ${status.contextStatus}`\n );\n\n if (status.lastActivity) {\n const idleMinutes = Math.round(\n (Date.now() - new Date(status.lastActivity).getTime()) / 60000\n );\n console.log(` Idle: ${idleMinutes} minutes`);\n }\n\n if (status.lastLedgerSave) {\n console.log(chalk.bold('\\nLast Ledger Save:'));\n console.log(` ${new Date(status.lastLedgerSave).toLocaleString()}`);\n }\n\n if (status.lastHandoff) {\n console.log(chalk.bold('\\nLast Handoff:'));\n console.log(` ${new Date(status.lastHandoff).toLocaleString()}`);\n }\n } catch {\n // No status file or invalid\n }\n } else {\n console.log(chalk.yellow('\u26A0\uFE0F Monitor is not running'));\n console.log(chalk.gray('Start with: stackmemory monitor --start'));\n }\n}\n\n/**\n * Show monitor configuration\n */\nasync function showConfig(projectRoot: string) {\n const configFile = path.join(projectRoot, '.stackmemory', 'config.json');\n\n console.log(chalk.bold('\\n\u2699\uFE0F Monitor Configuration\\n'));\n\n try {\n const config = JSON.parse(await fs.readFile(configFile, 'utf-8'));\n const monitorConfig = config.monitor || {};\n\n console.log('Context Thresholds:');\n console.log(\n ` Warning: ${(monitorConfig.contextWarningThreshold || 0.6) * 100}%`\n );\n console.log(\n ` Critical: ${(monitorConfig.contextCriticalThreshold || 0.7) * 100}%`\n );\n console.log(\n ` Auto-save: ${(monitorConfig.contextAutoSaveThreshold || 0.85) * 100}%`\n );\n\n console.log('\\nTimings:');\n console.log(\n ` Check interval: ${monitorConfig.checkIntervalSeconds || 30}s`\n );\n console.log(` Idle timeout: ${monitorConfig.idleTimeoutMinutes || 5}min`);\n\n console.log('\\nAuto Actions:');\n console.log(\n ` Auto-save ledger: ${monitorConfig.autoSaveLedger !== false ? '\u2705' : '\u274C'}`\n );\n console.log(\n ` Auto-generate handoff: ${monitorConfig.autoGenerateHandoff !== false ? '\u2705' : '\u274C'}`\n );\n console.log(\n ` Session-end handoff: ${monitorConfig.sessionEndHandoff !== false ? '\u2705' : '\u274C'}`\n );\n } catch {\n console.log(chalk.gray('Using default configuration'));\n console.log('\\nDefaults:');\n console.log(' Warning at 60%, Critical at 70%, Auto-save at 85%');\n console.log(' Check every 30s, Idle timeout 5min');\n console.log(' All auto-actions enabled');\n }\n}\n\n/**\n * Update activity timestamp\n */\nasync function updateActivity(projectRoot: string) {\n const activityFile = path.join(\n projectRoot,\n '.stackmemory',\n 'monitor.activity'\n );\n await fs.mkdir(path.dirname(activityFile), { recursive: true });\n await fs.writeFile(activityFile, new Date().toISOString(), 'utf-8');\n // Silent update - no output\n}\n\n/**\n * Run as daemon (background process)\n */\nasync function runDaemon(projectRoot: string, options: any) {\n const dbPath = path.join(projectRoot, '.stackmemory', 'db', 'stackmemory.db');\n const db = new Database(dbPath);\n\n const frameManager = new FrameManager(db, 'current');\n\n const monitor = new SessionMonitor(frameManager, db, projectRoot, {\n checkIntervalSeconds: parseInt(options.interval) || 30,\n idleTimeoutMinutes: parseInt(options.idle) || 5,\n autoSaveLedger: true,\n autoGenerateHandoff: true,\n sessionEndHandoff: true,\n });\n\n // Write status periodically\n const statusFile = path.join(projectRoot, '.stackmemory', 'monitor.status');\n const activityFile = path.join(\n projectRoot,\n '.stackmemory',\n 'monitor.activity'\n );\n\n monitor.on('context:usage', async (data) => {\n // Check for activity file updates\n try {\n const activityTime = await fs.readFile(activityFile, 'utf-8');\n monitor.updateActivity();\n } catch {\n // No activity file\n }\n\n // Write status\n const status = {\n lastCheck: new Date().toISOString(),\n contextPercentage: data.percentage,\n contextStatus: data.status,\n lastActivity: monitor.getStatus().lastActivity,\n };\n\n await fs.writeFile(statusFile, JSON.stringify(status, null, 2), 'utf-8');\n });\n\n monitor.on('context:ledger_saved', async () => {\n const status = JSON.parse(await fs.readFile(statusFile, 'utf-8'));\n status.lastLedgerSave = new Date().toISOString();\n await fs.writeFile(statusFile, JSON.stringify(status, null, 2), 'utf-8');\n });\n\n monitor.on('handoff:generated', async () => {\n const status = JSON.parse(await fs.readFile(statusFile, 'utf-8'));\n status.lastHandoff = new Date().toISOString();\n await fs.writeFile(statusFile, JSON.stringify(status, null, 2), 'utf-8');\n });\n\n // Start monitoring\n await monitor.start();\n\n // Keep process alive\n process.on('SIGTERM', async () => {\n await monitor.stop();\n process.exit(0);\n });\n}\n\n/**\n * Run in foreground (for testing)\n */\nasync function runForeground(projectRoot: string, options: any) {\n console.log(chalk.bold('\uD83D\uDD0D Running monitor in foreground...\\n'));\n\n const dbPath = path.join(projectRoot, '.stackmemory', 'db', 'stackmemory.db');\n const db = new Database(dbPath);\n\n const frameManager = new FrameManager(db, 'current');\n\n const monitor = new SessionMonitor(frameManager, db, projectRoot, {\n checkIntervalSeconds: parseInt(options.interval) || 30,\n idleTimeoutMinutes: parseInt(options.idle) || 5,\n autoSaveLedger: true,\n autoGenerateHandoff: true,\n sessionEndHandoff: true,\n });\n\n // Log all events\n monitor.on('context:usage', (data) => {\n console.log(\n `[${new Date().toLocaleTimeString()}] Context: ${Math.round(data.percentage * 100)}% (${data.status})`\n );\n });\n\n monitor.on('context:warning', () => {\n console.log(chalk.yellow('\u26A0\uFE0F Context warning threshold reached'));\n });\n\n monitor.on('context:high', () => {\n console.log(chalk.yellow('\uD83D\uDFE1 Context high - considering auto-save'));\n });\n\n monitor.on('context:ledger_saved', (data) => {\n console.log(\n chalk.green(`\u2705 Ledger saved (${data.compression}x compression)`)\n );\n });\n\n monitor.on('handoff:generated', (data) => {\n console.log(chalk.green(`\uD83D\uDCCB Handoff generated (${data.trigger})`));\n });\n\n // Start monitoring\n await monitor.start();\n\n console.log('Press Ctrl+C to stop\\n');\n\n // Handle exit\n process.on('SIGINT', async () => {\n console.log('\\nStopping monitor...');\n await monitor.stop();\n process.exit(0);\n });\n}\n\n// Helper functions\n\nasync function getProjectRoot(): Promise<string> {\n return process.cwd();\n}\n\nfunction getStatusEmoji(status: string): string {\n switch (status) {\n case 'ok':\n return '\uD83D\uDFE2';\n case 'warning':\n return '\uD83D\uDFE1';\n case 'high':\n return '\uD83D\uDFE0';\n case 'critical':\n return '\uD83D\uDD34';\n default:\n return '\u26AB';\n }\n}\n\n// Export for use in main CLI\nexport default createMonitorCommand();\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const __filename = __fileURLToPath(import.meta.url);
5
+ const __dirname = __pathDirname(__filename);
2
6
  import inquirer from "inquirer";
3
7
  import chalk from "chalk";
4
8
  import { homedir } from "os";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/onboard.ts"],
4
4
  "sourcesContent": ["#!/usr/bin/env node\n/**\n * StackMemory Onboarding CLI\n * Interactive setup for new StackMemory installations\n */\n\nimport { Command } from 'commander';\nimport inquirer from 'inquirer';\nimport chalk from 'chalk';\nimport { homedir } from 'os';\nimport { join } from 'path';\nimport { existsSync, mkdirSync, writeFileSync } from 'fs';\nimport { execSync, execFileSync } from 'child_process';\nimport { WorktreeManager } from '../../core/worktree/worktree-manager.js';\nimport { ProjectManager } from '../../core/projects/project-manager.js';\nimport { logger } from '../../core/monitoring/logger.js';\n\ninterface OnboardingConfig {\n setupType: 'basic' | 'advanced';\n enableWorktrees: boolean;\n worktreeIsolation: boolean;\n enableProjects: boolean;\n scanProjects: boolean;\n enableLinear: boolean;\n linearApiKey?: string;\n enableAnalytics: boolean;\n defaultContextPath: string;\n storageMode: 'local' | 'hosted';\n databaseUrl?: string;\n}\n\nexport function registerOnboardingCommand(program: Command): void {\n program\n .command('onboard')\n .alias('setup')\n .description('Interactive setup for StackMemory')\n .option('--reset', 'Reset all configurations and start fresh')\n .action(async (options) => {\n console.log(chalk.cyan('\\n\uD83D\uDE80 Welcome to StackMemory Setup!\\n'));\n\n // Check if already configured\n const configPath = join(homedir(), '.stackmemory');\n if (existsSync(configPath) && !options.reset) {\n const { proceed } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'proceed',\n message:\n 'StackMemory is already configured. Do you want to reconfigure?',\n default: false,\n },\n ]);\n\n if (!proceed) {\n console.log(chalk.yellow('\\nSetup cancelled.'));\n return;\n }\n }\n\n try {\n const config = await runOnboarding();\n await applyConfiguration(config);\n\n console.log(\n chalk.green('\\n\u2705 StackMemory setup completed successfully!\\n')\n );\n showNextSteps(config);\n } catch (error: unknown) {\n logger.error('Onboarding failed', error as Error);\n console.error(\n chalk.red('\\n\u274C Setup failed:'),\n (error as Error).message\n );\n process.exit(1);\n }\n });\n}\n\nasync function runOnboarding(): Promise<OnboardingConfig> {\n // Basic or Advanced Setup\n const { setupType } = await inquirer.prompt([\n {\n type: 'list',\n name: 'setupType',\n message: 'Choose your setup type:',\n choices: [\n { name: 'Basic (Recommended for most users)', value: 'basic' },\n { name: 'Advanced (Full customization)', value: 'advanced' },\n ],\n default: 'basic',\n },\n ]);\n\n let config: OnboardingConfig = {\n setupType,\n enableWorktrees: false,\n worktreeIsolation: true,\n enableProjects: true,\n scanProjects: false,\n enableLinear: false,\n enableAnalytics: true,\n defaultContextPath: join(homedir(), '.stackmemory'),\n storageMode: 'local',\n };\n\n // Choose storage mode\n const { storageMode } = await inquirer.prompt([\n {\n type: 'list',\n name: 'storageMode',\n message: 'Where should StackMemory store data?',\n choices: [\n { name: 'Local (free, SQLite in ~/.stackmemory)', value: 'local' },\n { name: 'Hosted (paid, managed Postgres)', value: 'hosted' },\n ],\n default: 'local',\n },\n ]);\n config.storageMode = storageMode;\n\n if (storageMode === 'hosted') {\n const { hasAccount } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'hasAccount',\n message: 'Do you already have a hosted account & connection string?',\n default: false,\n },\n ]);\n\n if (!hasAccount) {\n try {\n const signupUrl = 'https://stackmemory.ai/hosted';\n console.log(chalk.gray(`Opening signup page: ${signupUrl}`));\n // Lazy load open to avoid ES module issues\n const mod = await import('open');\n await mod.default(signupUrl);\n } catch (e) {\n console.log(chalk.yellow('Could not open browser automatically. Please sign up and obtain your DATABASE_URL.'));\n }\n }\n\n const { databaseUrl } = await inquirer.prompt([\n {\n type: 'password',\n name: 'databaseUrl',\n message: 'Paste your DATABASE_URL (postgres://...)',\n validate: (input: string) =>\n input.startsWith('postgres://') || input.startsWith('postgresql://')\n ? true\n : 'Must start with postgres:// or postgresql://',\n },\n ]);\n config.databaseUrl = databaseUrl;\n }\n\n if (setupType === 'basic') {\n // Basic setup with sensible defaults\n const basicAnswers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'enableWorktrees',\n message:\n 'Enable Git worktree support? (Recommended for multi-branch workflows)',\n default: false,\n },\n {\n type: 'confirm',\n name: 'scanProjects',\n message: 'Scan and organize your existing projects?',\n default: true,\n },\n {\n type: 'confirm',\n name: 'enableLinear',\n message: 'Connect to Linear for task management?',\n default: false,\n },\n ]);\n\n config = { ...config, ...basicAnswers };\n\n if (basicAnswers.enableLinear) {\n const { linearApiKey } = await inquirer.prompt([\n {\n type: 'password',\n name: 'linearApiKey',\n message: 'Enter your Linear API key:',\n validate: (input: string) =>\n input.length > 0 || 'API key is required',\n },\n ]);\n config.linearApiKey = linearApiKey;\n }\n } else {\n // Advanced setup with all options\n const advancedAnswers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'enableWorktrees',\n message: 'Enable Git worktree support?',\n default: false,\n },\n ]);\n\n if (advancedAnswers.enableWorktrees) {\n const worktreeAnswers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'worktreeIsolation',\n message: 'Isolate contexts between worktrees? (Recommended)',\n default: true,\n },\n {\n type: 'confirm',\n name: 'autoDetect',\n message: 'Auto-detect worktrees when switching directories?',\n default: true,\n },\n {\n type: 'confirm',\n name: 'shareGlobal',\n message: 'Share global context across worktrees?',\n default: false,\n },\n {\n type: 'number',\n name: 'syncInterval',\n message: 'Context sync interval in minutes (0 to disable):',\n default: 15,\n validate: (input: number) => input >= 0 || 'Must be 0 or positive',\n },\n ]);\n\n config = { ...config, ...advancedAnswers, ...worktreeAnswers };\n }\n\n const projectAnswers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'enableProjects',\n message: 'Enable automatic project management?',\n default: true,\n },\n ]);\n\n if (projectAnswers.enableProjects) {\n const projectDetailAnswers: any = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'scanProjects',\n message: 'Scan for existing projects now?',\n default: true,\n },\n {\n type: 'checkbox',\n name: 'scanPaths',\n message: 'Select directories to scan:',\n choices: [\n { name: '~/Dev', value: join(homedir(), 'Dev'), checked: true },\n { name: '~/dev', value: join(homedir(), 'dev'), checked: true },\n {\n name: '~/Projects',\n value: join(homedir(), 'Projects'),\n checked: true,\n },\n {\n name: '~/projects',\n value: join(homedir(), 'projects'),\n checked: true,\n },\n { name: '~/Work', value: join(homedir(), 'Work'), checked: false },\n { name: '~/code', value: join(homedir(), 'code'), checked: true },\n {\n name: '~/Documents/GitHub',\n value: join(homedir(), 'Documents/GitHub'),\n checked: false,\n },\n ],\n when: (): boolean => projectDetailAnswers.scanProjects,\n },\n ]);\n\n config = { ...config, ...projectAnswers, ...projectDetailAnswers };\n }\n\n const integrationAnswers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'enableLinear',\n message: 'Enable Linear integration?',\n default: false,\n },\n {\n type: 'password',\n name: 'linearApiKey',\n message: 'Linear API key:',\n when: (answers: any) => answers.enableLinear,\n validate: (input: string) => input.length > 0 || 'API key is required',\n },\n {\n type: 'confirm',\n name: 'enableAnalytics',\n message: 'Enable usage analytics? (Local only)',\n default: true,\n },\n {\n type: 'input',\n name: 'defaultContextPath',\n message: 'Default context storage path:',\n default: join(homedir(), '.stackmemory'),\n validate: (input: string) => input.length > 0 || 'Path is required',\n },\n ]);\n\n config = { ...config, ...integrationAnswers };\n }\n\n return config;\n}\n\nasync function applyConfiguration(config: OnboardingConfig): Promise<void> {\n const configPath = join(homedir(), '.stackmemory');\n\n // Create base directory structure\n console.log(chalk.gray('\\nCreating directory structure...'));\n const dirs = [\n configPath,\n join(configPath, 'contexts'),\n join(configPath, 'projects'),\n join(configPath, 'worktrees'),\n join(configPath, 'bin'),\n join(configPath, 'logs'),\n join(configPath, 'analytics'),\n ];\n\n for (const dir of dirs) {\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n }\n\n // Configure git worktree support\n if (config.enableWorktrees) {\n console.log(chalk.gray('Configuring worktree support...'));\n const worktreeManager = WorktreeManager.getInstance();\n worktreeManager.saveConfig({\n enabled: true,\n autoDetect: true,\n isolateContexts: config.worktreeIsolation,\n shareGlobalContext: false,\n syncInterval: 15,\n });\n\n // Detect current worktrees\n const worktrees = worktreeManager.detectWorktrees();\n if (worktrees.length > 0) {\n console.log(chalk.green(` \u2713 Found ${worktrees.length} worktree(s)`));\n worktrees.forEach((wt) => {\n console.log(chalk.gray(` - ${wt.branch} at ${wt.path}`));\n });\n }\n }\n\n // Scan and organize projects\n if (config.enableProjects && config.scanProjects) {\n console.log(chalk.gray('Scanning for projects...'));\n const projectManager = ProjectManager.getInstance();\n\n const scanPaths = (config as any).scanPaths || [\n join(homedir(), 'Dev'),\n join(homedir(), 'dev'),\n join(homedir(), 'Projects'),\n join(homedir(), 'projects'),\n join(homedir(), 'code'),\n ];\n\n await projectManager.scanAndCategorizeAllProjects(\n scanPaths.filter((p: string) => existsSync(p))\n );\n\n const projects = projectManager.getAllProjects();\n console.log(chalk.green(` \u2713 Found ${projects.length} project(s)`));\n\n // Show summary\n const byType: Record<string, number> = {};\n projects.forEach((p) => {\n byType[p.accountType] = (byType[p.accountType] || 0) + 1;\n });\n\n Object.entries(byType).forEach(([type, count]) => {\n console.log(chalk.gray(` - ${type}: ${count} project(s)`));\n });\n }\n\n // Configure Linear integration\n if (config.enableLinear && config.linearApiKey) {\n console.log(chalk.gray('Configuring Linear integration...'));\n const linearConfig = {\n apiKey: config.linearApiKey,\n autoSync: true,\n syncInterval: 300000, // 5 minutes\n };\n\n writeFileSync(\n join(configPath, 'linear-config.json'),\n JSON.stringify(linearConfig, null, 2)\n );\n console.log(chalk.green(' \u2713 Linear configured'));\n }\n\n // Save main configuration\n const mainConfig = {\n version: '1.0.0',\n setupCompleted: new Date().toISOString(),\n features: {\n worktrees: config.enableWorktrees,\n projects: config.enableProjects,\n linear: config.enableLinear,\n analytics: config.enableAnalytics,\n },\n paths: {\n default: config.defaultContextPath,\n },\n database: {\n mode: config.storageMode,\n ...(config.databaseUrl ? { url: config.databaseUrl } : {}),\n },\n };\n\n writeFileSync(\n join(configPath, 'config.json'),\n JSON.stringify(mainConfig, null, 2)\n );\n\n // If hosted selected, persist a simple env file suggestion\n if (config.storageMode === 'hosted' && config.databaseUrl) {\n try {\n const envFile = join(configPath, 'railway.env');\n writeFileSync(envFile, `# StackMemory hosted DB\\nDATABASE_URL=${config.databaseUrl}\\n`);\n console.log(chalk.green(' \u2713 Saved hosted DB settings to ~/.stackmemory/railway.env'));\n console.log(chalk.gray(' Tip: export DATABASE_URL from this file in your shell profile.'));\n } catch (e) {\n console.log(chalk.yellow(' \u26A0 Could not write hosted DB env file'));\n }\n }\n\n // Create claude-sm symlink for easy access\n const binPath = '/usr/local/bin/claude-sm';\n const sourcePath = join(configPath, 'bin', 'stackmemory');\n\n try {\n // Create wrapper script\n const wrapperScript = `#!/bin/bash\n# StackMemory CLI wrapper with worktree support\nCURRENT_DIR=$(pwd)\n\n# Auto-detect worktree if enabled\nif [ -f ~/.stackmemory/worktree-config.json ]; then\n WORKTREE_ENABLED=$(grep '\"enabled\": true' ~/.stackmemory/worktree-config.json)\n if [ ! -z \"$WORKTREE_ENABLED\" ]; then\n # Check if we're in a git worktree\n if git worktree list &>/dev/null; then\n export SM_WORKTREE_PATH=\"$CURRENT_DIR\"\n fi\n fi\nfi\n\n# Run StackMemory with context\nexec stackmemory \"$@\"\n`;\n\n writeFileSync(sourcePath, wrapperScript);\n execFileSync('chmod', ['+x', sourcePath]);\n\n // Create symlink if it doesn't exist\n if (!existsSync(binPath)) {\n execFileSync('ln', ['-s', sourcePath, binPath]);\n console.log(chalk.green(' \u2713 Created claude-sm command'));\n }\n } catch (error: unknown) {\n console.log(\n chalk.yellow(' \u26A0 Could not create claude-sm symlink (may need sudo)')\n );\n }\n\n // Create codex-sm symlink for easy access\n const codexBinPath = '/usr/local/bin/codex-sm';\n const codexSourcePath = join(configPath, 'bin', 'codex-sm');\n\n try {\n // Create Codex wrapper script (based on scripts/codex-wrapper.sh)\n const codexWrapper = `#!/bin/bash\n# Codex CLI wrapper with StackMemory integration\n# Usage: codex-sm [--auto-sync] [--sync-interval=MINUTES] [args...]\n\n# Flags\nAUTO_SYNC=false\nSYNC_INTERVAL=5\nfor arg in \"$@\"; do\n case $arg in\n --auto-sync)\n AUTO_SYNC=true\n shift\n ;;\n --sync-interval=*)\n SYNC_INTERVAL=\"\\${arg#*=}\"\n shift\n ;;\n esac\ndone\n\n# Auto-initialize StackMemory if in git repo without it\nif [ -d \".git\" ] && [ ! -d \".stackmemory\" ]; then\n echo \"\uD83D\uDCE6 Initializing StackMemory for this project...\"\n stackmemory init --silent 2>/dev/null || true\nfi\n\n# Load existing context if available\nif [ -d \".stackmemory\" ]; then\n echo \"\uD83E\uDDE0 Loading StackMemory context...\"\n stackmemory status --brief 2>/dev/null || true\nfi\n\n# Start Linear auto-sync in background if requested\nSYNC_PID=\"\"\nif [ \"$AUTO_SYNC\" = true ] && [ -n \"$LINEAR_API_KEY\" ]; then\n echo \"\uD83D\uDD04 Starting Linear auto-sync (${SYNC_INTERVAL}min intervals)...\"\n (\n while true; do\n sleep $((SYNC_INTERVAL * 60))\n if [ -d \".stackmemory\" ]; then\n stackmemory linear sync --quiet 2>/dev/null || true\n fi\n done\n ) &\n SYNC_PID=$!\nfi\n\ncleanup() {\n echo \"\"\n echo \"\uD83D\uDCDD Saving StackMemory context...\"\n\n # Kill auto-sync if running\n if [ -n \"$SYNC_PID\" ] && kill -0 $SYNC_PID 2>/dev/null; then\n echo \"\uD83D\uDED1 Stopping auto-sync...\"\n kill $SYNC_PID 2>/dev/null || true\n fi\n\n # Save project status and final sync\n if [ -d \".stackmemory\" ]; then\n stackmemory status 2>/dev/null\n if [ -n \"$LINEAR_API_KEY\" ]; then\n echo \"\uD83D\uDD04 Final Linear sync...\"\n stackmemory linear sync 2>/dev/null\n fi\n echo \"\u2705 StackMemory context saved\"\n fi\n}\n\ntrap cleanup EXIT INT TERM\n\n# Run Codex CLI\nif command -v codex &> /dev/null; then\n codex \"$@\"\nelif command -v codex-cli &> /dev/null; then\n codex-cli \"$@\"\nelse\n echo \"\u274C Codex CLI not found. Please install it first.\"\n echo \" See: https://github.com/openai/codex-cli\"\n exit 1\nfi\n`;\n\n writeFileSync(codexSourcePath, codexWrapper);\n execFileSync('chmod', ['+x', codexSourcePath]);\n\n // Create symlink if it doesn't exist\n if (!existsSync(codexBinPath)) {\n execFileSync('ln', ['-s', codexSourcePath, codexBinPath]);\n console.log(chalk.green(' \u2713 Created codex-sm command'));\n }\n } catch (error: unknown) {\n console.log(\n chalk.yellow(' \u26A0 Could not create codex-sm symlink (may need sudo)')\n );\n }\n}\n\nfunction showNextSteps(config: OnboardingConfig): void {\n console.log(chalk.cyan('\uD83C\uDF89 Next Steps:\\n'));\n\n console.log('1. Initialize StackMemory in your project:');\n console.log(chalk.gray(' cd your-project'));\n console.log(chalk.gray(' stackmemory init\\n'));\n\n if (config.enableWorktrees) {\n console.log('2. Create a new worktree:');\n console.log(\n chalk.gray(\n ' git worktree add -b feature/new-feature ../project-feature'\n )\n );\n console.log(chalk.gray(' cd ../project-feature'));\n console.log(\n chalk.gray(\n ' stackmemory status # Isolated context for this worktree\\n'\n )\n );\n }\n\n console.log('3. Use with Claude:');\n console.log(chalk.gray(' claude-sm # Or use stackmemory directly\\n'));\n\n console.log('4. Use with Codex:');\n console.log(chalk.gray(' codex-sm # Codex + StackMemory integration\\n'));\n\n if (config.enableLinear) {\n console.log('5. Sync with Linear:');\n console.log(chalk.gray(' stackmemory linear sync\\n'));\n }\n\n console.log('For more help:');\n console.log(chalk.gray(' stackmemory --help'));\n console.log(chalk.gray(' stackmemory projects --help'));\n if (config.enableWorktrees) {\n console.log(chalk.gray(' stackmemory worktree --help'));\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const __filename = __fileURLToPath(import.meta.url);
5
+ const __dirname = __pathDirname(__filename);
2
6
  import { ProjectManager } from "../../core/projects/project-manager.js";
3
7
  import chalk from "chalk";
4
8
  import Table from "cli-table3";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/projects.ts"],
4
4
  "sourcesContent": ["#!/usr/bin/env node\n/**\n * Project Management CLI Commands\n * Auto-manages multi-project across GitHub orgs\n */\n\nimport { Command } from 'commander';\nimport { ProjectManager } from '../../core/projects/project-manager.js';\nimport chalk from 'chalk';\n// @ts-ignore - No types available for cli-table3\nimport Table from 'cli-table3';\n\nexport function registerProjectCommands(program: Command): void {\n const projects = program\n .command('projects')\n .description('Manage multi-project organization');\n\n // Auto-detect current project\n projects\n .command('detect')\n .description('Auto-detect current project')\n .action(async () => {\n const manager = ProjectManager.getInstance();\n const project = await manager.detectProject();\n\n console.log(chalk.green('\u2713 Project detected:'));\n console.log(chalk.cyan(' Name:'), project.name);\n console.log(\n chalk.cyan(' Organization:'),\n project.organization || 'none'\n );\n console.log(chalk.cyan(' Account Type:'), project.accountType);\n console.log(chalk.cyan(' Private:'), project.isPrivate ? 'Yes' : 'No');\n console.log(\n chalk.cyan(' Language:'),\n project.primaryLanguage || 'unknown'\n );\n console.log(chalk.cyan(' Framework:'), project.framework || 'unknown');\n console.log(chalk.cyan(' ID:'), project.id);\n });\n\n // Scan all projects\n projects\n .command('scan')\n .description('Scan and auto-categorize all Git projects')\n .option('-p, --paths <paths...>', 'Custom paths to scan')\n .action(async (options) => {\n const manager = ProjectManager.getInstance();\n\n console.log(chalk.yellow('\uD83D\uDD0D Scanning for Git repositories...'));\n await manager.scanAndCategorizeAllProjects(options.paths);\n\n const allProjects = manager.getAllProjects();\n console.log(chalk.green(`\u2713 Found ${allProjects.length} projects`));\n\n // Show summary\n const byType: Record<string, number> = {};\n const byOrg: Record<string, number> = {};\n\n for (const project of allProjects) {\n byType[project.accountType] = (byType[project.accountType] || 0) + 1;\n if (project.organization) {\n byOrg[project.organization] = (byOrg[project.organization] || 0) + 1;\n }\n }\n\n console.log('\\n\uD83D\uDCCA Summary by Account Type:');\n for (const [type, count] of Object.entries(byType)) {\n console.log(` ${type}: ${count} projects`);\n }\n\n console.log('\\n\uD83C\uDFE2 Top Organizations:');\n const topOrgs = Object.entries(byOrg)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5);\n for (const [org, count] of topOrgs) {\n console.log(` ${org}: ${count} projects`);\n }\n });\n\n // List all projects\n projects\n .command('list')\n .description('List all discovered projects')\n .option(\n '-t, --type <type>',\n 'Filter by account type (personal/work/opensource/client)'\n )\n .option('-o, --org <org>', 'Filter by organization')\n .option('-l, --language <lang>', 'Filter by language')\n .action((options) => {\n const manager = ProjectManager.getInstance();\n let projectList = manager.getAllProjects();\n\n // Apply filters\n if (options.type) {\n projectList = projectList.filter((p) => p.accountType === options.type);\n }\n if (options.org) {\n projectList = projectList.filter((p) => p.organization === options.org);\n }\n if (options.language) {\n projectList = projectList.filter((p) =>\n p.primaryLanguage\n ?.toLowerCase()\n .includes(options.language.toLowerCase())\n );\n }\n\n if (projectList.length === 0) {\n console.log(chalk.yellow('No projects found matching criteria'));\n return;\n }\n\n // Create table\n const table = new Table({\n head: [\n 'Name',\n 'Organization',\n 'Type',\n 'Language',\n 'Framework',\n 'Last Accessed',\n ],\n style: { head: ['cyan'] },\n });\n\n for (const project of projectList.slice(0, 20)) {\n table.push([\n project.name,\n project.organization || '-',\n project.accountType,\n project.primaryLanguage || '-',\n project.framework || '-',\n new Date(project.lastAccessed).toLocaleDateString(),\n ]);\n }\n\n console.log(table.toString());\n\n if (projectList.length > 20) {\n console.log(\n chalk.gray(`\\n... and ${projectList.length - 20} more projects`)\n );\n }\n });\n\n // Show organizations\n projects\n .command('orgs')\n .description('List all detected organizations')\n .action(() => {\n const manager = ProjectManager.getInstance();\n const allProjects = manager.getAllProjects();\n\n const orgMap: Record<string, { count: number; types: Set<string> }> = {};\n\n for (const project of allProjects) {\n if (project.organization) {\n if (!orgMap[project.organization]) {\n orgMap[project.organization] = { count: 0, types: new Set() };\n }\n orgMap[project.organization]!.count++;\n orgMap[project.organization]!.types.add(project.accountType);\n }\n }\n\n const table = new Table({\n head: ['Organization', 'Projects', 'Account Types'],\n style: { head: ['cyan'] },\n });\n\n const sorted = Object.entries(orgMap).sort(\n (a, b) => b[1].count - a[1].count\n );\n\n for (const [org, data] of sorted) {\n table.push([\n org,\n data.count.toString(),\n Array.from(data.types).join(', '),\n ]);\n }\n\n console.log(table.toString());\n });\n\n // Configure organization\n projects\n .command('config-org <name>')\n .description('Configure an organization')\n .option(\n '-t, --type <type>',\n 'Organization type (company/personal/opensource/client)'\n )\n .option(\n '-a, --account <account>',\n 'Account type (personal/work/opensource/client)'\n )\n .option('-d, --domain <domain>', 'Add domain pattern')\n .action((name, options) => {\n const manager = ProjectManager.getInstance();\n\n manager.saveOrganization({\n name,\n type: options.type || 'company',\n accountType: options.account || 'work',\n domains: options.domain ? [options.domain] : [],\n githubOrgs: [name],\n autoPatterns: [],\n });\n\n console.log(chalk.green(`\u2713 Organization '${name}' configured`));\n });\n\n // Show project report\n projects\n .command('report')\n .description('Generate project statistics report')\n .action(() => {\n const manager = ProjectManager.getInstance();\n const report = manager.generateReport();\n\n console.log(chalk.cyan('\\n\uD83D\uDCCA Project Statistics:\\n'));\n console.log(report);\n });\n\n // Switch context based on project\n projects\n .command('switch <path>')\n .description('Switch to a different project context')\n .action(async (projectPath) => {\n const manager = ProjectManager.getInstance();\n const project = await manager.detectProject(projectPath);\n\n console.log(chalk.green(`\u2713 Switched to project: ${project.name}`));\n console.log(\n chalk.cyan(` Organization: ${project.organization || 'none'}`)\n );\n console.log(chalk.cyan(` Account Type: ${project.accountType}`));\n });\n\n // Auto-organize projects by patterns\n projects\n .command('organize')\n .description('Auto-organize projects into accounts')\n .action(async () => {\n const manager = ProjectManager.getInstance();\n\n console.log(chalk.yellow('\uD83D\uDD04 Auto-organizing projects...'));\n\n // First scan\n await manager.scanAndCategorizeAllProjects();\n\n const allProjects = manager.getAllProjects();\n const organized: Record<string, string[]> = {\n personal: [],\n work: [],\n opensource: [],\n client: [],\n };\n\n for (const project of allProjects) {\n organized[project.accountType]?.push(project.name);\n }\n\n console.log(chalk.green('\\n\u2713 Projects organized by account type:\\n'));\n\n for (const [type, projects] of Object.entries(organized)) {\n if (projects.length > 0) {\n console.log(\n chalk.cyan(`${type.toUpperCase()} (${projects.length} projects):`)\n );\n for (const proj of projects.slice(0, 5)) {\n console.log(` - ${proj}`);\n }\n if (projects.length > 5) {\n console.log(chalk.gray(` ... and ${projects.length - 5} more`));\n }\n console.log();\n }\n }\n });\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;AAOA,SAAS,sBAAsB;AAC/B,OAAO,WAAW;AAElB,OAAO,WAAW;AAEX,SAAS,wBAAwB,SAAwB;AAC9D,QAAM,WAAW,QACd,QAAQ,UAAU,EAClB,YAAY,mCAAmC;AAGlD,WACG,QAAQ,QAAQ,EAChB,YAAY,6BAA6B,EACzC,OAAO,YAAY;AAClB,UAAM,UAAU,eAAe,YAAY;AAC3C,UAAM,UAAU,MAAM,QAAQ,cAAc;AAE5C,YAAQ,IAAI,MAAM,MAAM,0BAAqB,CAAC;AAC9C,YAAQ,IAAI,MAAM,KAAK,SAAS,GAAG,QAAQ,IAAI;AAC/C,YAAQ;AAAA,MACN,MAAM,KAAK,iBAAiB;AAAA,MAC5B,QAAQ,gBAAgB;AAAA,IAC1B;AACA,YAAQ,IAAI,MAAM,KAAK,iBAAiB,GAAG,QAAQ,WAAW;AAC9D,YAAQ,IAAI,MAAM,KAAK,YAAY,GAAG,QAAQ,YAAY,QAAQ,IAAI;AACtE,YAAQ;AAAA,MACN,MAAM,KAAK,aAAa;AAAA,MACxB,QAAQ,mBAAmB;AAAA,IAC7B;AACA,YAAQ,IAAI,MAAM,KAAK,cAAc,GAAG,QAAQ,aAAa,SAAS;AACtE,YAAQ,IAAI,MAAM,KAAK,OAAO,GAAG,QAAQ,EAAE;AAAA,EAC7C,CAAC;AAGH,WACG,QAAQ,MAAM,EACd,YAAY,2CAA2C,EACvD,OAAO,0BAA0B,sBAAsB,EACvD,OAAO,OAAO,YAAY;AACzB,UAAM,UAAU,eAAe,YAAY;AAE3C,YAAQ,IAAI,MAAM,OAAO,4CAAqC,CAAC;AAC/D,UAAM,QAAQ,6BAA6B,QAAQ,KAAK;AAExD,UAAM,cAAc,QAAQ,eAAe;AAC3C,YAAQ,IAAI,MAAM,MAAM,gBAAW,YAAY,MAAM,WAAW,CAAC;AAGjE,UAAM,SAAiC,CAAC;AACxC,UAAM,QAAgC,CAAC;AAEvC,eAAW,WAAW,aAAa;AACjC,aAAO,QAAQ,WAAW,KAAK,OAAO,QAAQ,WAAW,KAAK,KAAK;AACnE,UAAI,QAAQ,cAAc;AACxB,cAAM,QAAQ,YAAY,KAAK,MAAM,QAAQ,YAAY,KAAK,KAAK;AAAA,MACrE;AAAA,IACF;AAEA,YAAQ,IAAI,sCAA+B;AAC3C,eAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,cAAQ,IAAI,KAAK,IAAI,KAAK,KAAK,WAAW;AAAA,IAC5C;AAEA,YAAQ,IAAI,gCAAyB;AACrC,UAAM,UAAU,OAAO,QAAQ,KAAK,EACjC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAC1B,MAAM,GAAG,CAAC;AACb,eAAW,CAAC,KAAK,KAAK,KAAK,SAAS;AAClC,cAAQ,IAAI,KAAK,GAAG,KAAK,KAAK,WAAW;AAAA,IAC3C;AAAA,EACF,CAAC;AAGH,WACG,QAAQ,MAAM,EACd,YAAY,8BAA8B,EAC1C;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,OAAO,mBAAmB,wBAAwB,EAClD,OAAO,yBAAyB,oBAAoB,EACpD,OAAO,CAAC,YAAY;AACnB,UAAM,UAAU,eAAe,YAAY;AAC3C,QAAI,cAAc,QAAQ,eAAe;AAGzC,QAAI,QAAQ,MAAM;AAChB,oBAAc,YAAY,OAAO,CAAC,MAAM,EAAE,gBAAgB,QAAQ,IAAI;AAAA,IACxE;AACA,QAAI,QAAQ,KAAK;AACf,oBAAc,YAAY,OAAO,CAAC,MAAM,EAAE,iBAAiB,QAAQ,GAAG;AAAA,IACxE;AACA,QAAI,QAAQ,UAAU;AACpB,oBAAc,YAAY;AAAA,QAAO,CAAC,MAChC,EAAE,iBACE,YAAY,EACb,SAAS,QAAQ,SAAS,YAAY,CAAC;AAAA,MAC5C;AAAA,IACF;AAEA,QAAI,YAAY,WAAW,GAAG;AAC5B,cAAQ,IAAI,MAAM,OAAO,qCAAqC,CAAC;AAC/D;AAAA,IACF;AAGA,UAAM,QAAQ,IAAI,MAAM;AAAA,MACtB,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;AAAA,IAC1B,CAAC;AAED,eAAW,WAAW,YAAY,MAAM,GAAG,EAAE,GAAG;AAC9C,YAAM,KAAK;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,gBAAgB;AAAA,QACxB,QAAQ;AAAA,QACR,QAAQ,mBAAmB;AAAA,QAC3B,QAAQ,aAAa;AAAA,QACrB,IAAI,KAAK,QAAQ,YAAY,EAAE,mBAAmB;AAAA,MACpD,CAAC;AAAA,IACH;AAEA,YAAQ,IAAI,MAAM,SAAS,CAAC;AAE5B,QAAI,YAAY,SAAS,IAAI;AAC3B,cAAQ;AAAA,QACN,MAAM,KAAK;AAAA,UAAa,YAAY,SAAS,EAAE,gBAAgB;AAAA,MACjE;AAAA,IACF;AAAA,EACF,CAAC;AAGH,WACG,QAAQ,MAAM,EACd,YAAY,iCAAiC,EAC7C,OAAO,MAAM;AACZ,UAAM,UAAU,eAAe,YAAY;AAC3C,UAAM,cAAc,QAAQ,eAAe;AAE3C,UAAM,SAAgE,CAAC;AAEvE,eAAW,WAAW,aAAa;AACjC,UAAI,QAAQ,cAAc;AACxB,YAAI,CAAC,OAAO,QAAQ,YAAY,GAAG;AACjC,iBAAO,QAAQ,YAAY,IAAI,EAAE,OAAO,GAAG,OAAO,oBAAI,IAAI,EAAE;AAAA,QAC9D;AACA,eAAO,QAAQ,YAAY,EAAG;AAC9B,eAAO,QAAQ,YAAY,EAAG,MAAM,IAAI,QAAQ,WAAW;AAAA,MAC7D;AAAA,IACF;AAEA,UAAM,QAAQ,IAAI,MAAM;AAAA,MACtB,MAAM,CAAC,gBAAgB,YAAY,eAAe;AAAA,MAClD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;AAAA,IAC1B,CAAC;AAED,UAAM,SAAS,OAAO,QAAQ,MAAM,EAAE;AAAA,MACpC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;AAAA,IAC9B;AAEA,eAAW,CAAC,KAAK,IAAI,KAAK,QAAQ;AAChC,YAAM,KAAK;AAAA,QACT;AAAA,QACA,KAAK,MAAM,SAAS;AAAA,QACpB,MAAM,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI;AAAA,MAClC,CAAC;AAAA,IACH;AAEA,YAAQ,IAAI,MAAM,SAAS,CAAC;AAAA,EAC9B,CAAC;AAGH,WACG,QAAQ,mBAAmB,EAC3B,YAAY,2BAA2B,EACvC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,OAAO,yBAAyB,oBAAoB,EACpD,OAAO,CAAC,MAAM,YAAY;AACzB,UAAM,UAAU,eAAe,YAAY;AAE3C,YAAQ,iBAAiB;AAAA,MACvB;AAAA,MACA,MAAM,QAAQ,QAAQ;AAAA,MACtB,aAAa,QAAQ,WAAW;AAAA,MAChC,SAAS,QAAQ,SAAS,CAAC,QAAQ,MAAM,IAAI,CAAC;AAAA,MAC9C,YAAY,CAAC,IAAI;AAAA,MACjB,cAAc,CAAC;AAAA,IACjB,CAAC;AAED,YAAQ,IAAI,MAAM,MAAM,wBAAmB,IAAI,cAAc,CAAC;AAAA,EAChE,CAAC;AAGH,WACG,QAAQ,QAAQ,EAChB,YAAY,oCAAoC,EAChD,OAAO,MAAM;AACZ,UAAM,UAAU,eAAe,YAAY;AAC3C,UAAM,SAAS,QAAQ,eAAe;AAEtC,YAAQ,IAAI,MAAM,KAAK,mCAA4B,CAAC;AACpD,YAAQ,IAAI,MAAM;AAAA,EACpB,CAAC;AAGH,WACG,QAAQ,eAAe,EACvB,YAAY,uCAAuC,EACnD,OAAO,OAAO,gBAAgB;AAC7B,UAAM,UAAU,eAAe,YAAY;AAC3C,UAAM,UAAU,MAAM,QAAQ,cAAc,WAAW;AAEvD,YAAQ,IAAI,MAAM,MAAM,+BAA0B,QAAQ,IAAI,EAAE,CAAC;AACjE,YAAQ;AAAA,MACN,MAAM,KAAK,mBAAmB,QAAQ,gBAAgB,MAAM,EAAE;AAAA,IAChE;AACA,YAAQ,IAAI,MAAM,KAAK,mBAAmB,QAAQ,WAAW,EAAE,CAAC;AAAA,EAClE,CAAC;AAGH,WACG,QAAQ,UAAU,EAClB,YAAY,sCAAsC,EAClD,OAAO,YAAY;AAClB,UAAM,UAAU,eAAe,YAAY;AAE3C,YAAQ,IAAI,MAAM,OAAO,uCAAgC,CAAC;AAG1D,UAAM,QAAQ,6BAA6B;AAE3C,UAAM,cAAc,QAAQ,eAAe;AAC3C,UAAM,YAAsC;AAAA,MAC1C,UAAU,CAAC;AAAA,MACX,MAAM,CAAC;AAAA,MACP,YAAY,CAAC;AAAA,MACb,QAAQ,CAAC;AAAA,IACX;AAEA,eAAW,WAAW,aAAa;AACjC,gBAAU,QAAQ,WAAW,GAAG,KAAK,QAAQ,IAAI;AAAA,IACnD;AAEA,YAAQ,IAAI,MAAM,MAAM,gDAA2C,CAAC;AAEpE,eAAW,CAAC,MAAMA,SAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AACxD,UAAIA,UAAS,SAAS,GAAG;AACvB,gBAAQ;AAAA,UACN,MAAM,KAAK,GAAG,KAAK,YAAY,CAAC,KAAKA,UAAS,MAAM,aAAa;AAAA,QACnE;AACA,mBAAW,QAAQA,UAAS,MAAM,GAAG,CAAC,GAAG;AACvC,kBAAQ,IAAI,OAAO,IAAI,EAAE;AAAA,QAC3B;AACA,YAAIA,UAAS,SAAS,GAAG;AACvB,kBAAQ,IAAI,MAAM,KAAK,aAAaA,UAAS,SAAS,CAAC,OAAO,CAAC;AAAA,QACjE;AACA,gBAAQ,IAAI;AAAA,MACd;AAAA,IACF;AAAA,EACF,CAAC;AACL;",
6
6
  "names": ["projects"]
7
7
  }
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env node
2
+ import { fileURLToPath as __fileURLToPath } from 'url';
3
+ import { dirname as __pathDirname } from 'path';
4
+ const __filename = __fileURLToPath(import.meta.url);
5
+ const __dirname = __pathDirname(__filename);
2
6
  import { Command } from "commander";
3
7
  import chalk from "chalk";
4
8
  import ora from "ora";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/quality.ts"],
4
4
  "sourcesContent": ["#!/usr/bin/env node\n\n/**\n * Quality command for StackMemory\n * Manages post-task quality gates and code review automation\n */\n\nimport { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport inquirer from 'inquirer';\nimport {\n PostTaskHooks,\n PostTaskConfig,\n QualityGateResult,\n} from '../../integrations/claude-code/post-task-hooks.js';\nimport { FrameManager } from '../../core/context/frame-manager.js';\nimport Database from 'better-sqlite3';\n// getProjectRoot function will be defined below\nimport * as fs from 'fs/promises';\nimport * as path from 'path';\n\nexport function createQualityCommand(): Command {\n const cmd = new Command('quality')\n .description('Manage post-task quality gates and automation')\n .option('--enable', 'Enable quality gates')\n .option('--disable', 'Disable quality gates')\n .option('--status', 'Show quality gate status')\n .option('--config', 'Configure quality gates')\n .option('--run', 'Run quality gates manually')\n .option('--history', 'Show quality gate history')\n .option('--setup', 'Interactive setup wizard')\n .action(async (options) => {\n const spinner = ora();\n\n try {\n const projectRoot = await getProjectRoot();\n const dbPath = path.join(\n projectRoot,\n '.stackmemory',\n 'db',\n 'stackmemory.db'\n );\n\n // Check if StackMemory is initialized\n try {\n await fs.access(dbPath);\n } catch {\n console.error(chalk.red('\u2717 StackMemory not initialized'));\n console.log(chalk.yellow('Run: stackmemory init'));\n process.exit(1);\n }\n\n const db = new Database(dbPath);\n const frameManager = new FrameManager(db);\n\n if (options.enable) {\n await enableQualityGates(projectRoot, frameManager, db, spinner);\n } else if (options.disable) {\n await disableQualityGates(projectRoot, spinner);\n } else if (options.status) {\n await showStatus(projectRoot, frameManager, db);\n } else if (options.config) {\n await configureQualityGates(projectRoot);\n } else if (options.run) {\n await runQualityGates(projectRoot, frameManager, db, spinner);\n } else if (options.history) {\n await showHistory(frameManager);\n } else if (options.setup) {\n await setupWizard(projectRoot, frameManager, db);\n } else {\n // Default: show status\n await showStatus(projectRoot, frameManager, db);\n }\n } catch (error: unknown) {\n spinner.fail(chalk.red(`Error: ${error}`));\n process.exit(1);\n }\n });\n\n return cmd;\n}\n\n/**\n * Enable quality gates\n */\nasync function enableQualityGates(\n projectRoot: string,\n frameManager: FrameManager,\n db: any,\n spinner: any\n) {\n spinner.start('Enabling quality gates...');\n\n try {\n // Load or create config\n const config = await loadConfig(projectRoot);\n config.qualityGates = {\n ...config.qualityGates,\n runTests: true,\n runCodeReview: true,\n runLinter: true,\n };\n\n // Initialize hooks\n const hooks = new PostTaskHooks(frameManager, db, config);\n await hooks.initialize();\n\n // Save config\n await saveConfig(projectRoot, config);\n\n // Create systemd-style service file for persistence\n await createServiceFile(projectRoot);\n\n spinner.succeed(chalk.green('\u2705 Quality gates enabled'));\n\n console.log(chalk.bold('\\n\uD83D\uDD0D Quality Gates Active:'));\n console.log(' \u2022 Auto-run tests after code changes');\n console.log(' \u2022 Auto-run linter on file saves');\n console.log(' \u2022 Auto-trigger code review on task completion');\n console.log(' \u2022 Real-time file change monitoring');\n\n console.log(chalk.gray('\\nDisable with: stackmemory quality --disable'));\n } catch (error: unknown) {\n spinner.fail(chalk.red(`Failed to enable quality gates: ${error}`));\n }\n}\n\n/**\n * Disable quality gates\n */\nasync function disableQualityGates(projectRoot: string, spinner: ora.Ora) {\n spinner.start('Disabling quality gates...');\n\n try {\n const config = await loadConfig(projectRoot);\n config.qualityGates = {\n ...config.qualityGates,\n runTests: false,\n runCodeReview: false,\n runLinter: false,\n };\n\n await saveConfig(projectRoot, config);\n\n // Remove service file\n const serviceFile = path.join(\n projectRoot,\n '.stackmemory',\n 'quality.service'\n );\n try {\n await fs.unlink(serviceFile);\n } catch {\n // Service file doesn't exist\n }\n\n spinner.succeed(chalk.green('\u2705 Quality gates disabled'));\n } catch (error: unknown) {\n spinner.fail(chalk.red(`Failed to disable quality gates: ${error}`));\n }\n}\n\n/**\n * Show quality gate status\n */\nasync function showStatus(\n projectRoot: string,\n frameManager: FrameManager,\n db: Database\n) {\n console.log(chalk.bold('\\n\uD83D\uDCCA Quality Gates Status\\n'));\n\n try {\n const config = await loadConfig(projectRoot);\n\n // Overall status\n const isEnabled =\n config.qualityGates?.runTests ||\n config.qualityGates?.runCodeReview ||\n config.qualityGates?.runLinter;\n console.log(\n `Status: ${isEnabled ? chalk.green('\u2705 Enabled') : chalk.yellow('\u26A0\uFE0F Disabled')}`\n );\n\n // Individual gates\n console.log('\\nGates:');\n console.log(\n ` Tests: ${config.qualityGates?.runTests ? '\u2705' : '\u274C'} ${getTestCommand(config)}`\n );\n console.log(\n ` Linter: ${config.qualityGates?.runLinter ? '\u2705' : '\u274C'} ${getLintCommand(config)}`\n );\n console.log(\n ` Code Review: ${config.qualityGates?.runCodeReview ? '\u2705' : '\u274C'}`\n );\n console.log(\n ` Coverage: ${config.qualityGates?.requireTestCoverage ? '\u2705' : '\u274C'}`\n );\n\n // Detected frameworks\n if (config.testFrameworks?.detected.length) {\n console.log('\\nDetected Frameworks:');\n config.testFrameworks.detected.forEach((fw) => {\n console.log(` \u2022 ${fw}`);\n });\n }\n\n // Recent quality results\n const recentResults = await getRecentQualityResults(frameManager);\n if (recentResults.length > 0) {\n console.log('\\nRecent Results:');\n recentResults.slice(0, 3).forEach((result) => {\n const icon = result.passed ? '\u2705' : '\u274C';\n console.log(\n ` ${icon} ${result.frameName} (${new Date(result.timestamp).toLocaleString()})`\n );\n });\n }\n } catch (error: unknown) {\n console.error(chalk.red('Failed to get status:', error));\n }\n}\n\n/**\n * Configure quality gates\n */\nasync function configureQualityGates(projectRoot: string) {\n console.log(chalk.bold('\\n\u2699\uFE0F Quality Gates Configuration\\n'));\n\n try {\n const config = await loadConfig(projectRoot);\n\n const answers = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'runTests',\n message: 'Auto-run tests after code changes?',\n default: config.qualityGates?.runTests ?? true,\n },\n {\n type: 'confirm',\n name: 'runLinter',\n message: 'Auto-run linter on file changes?',\n default: config.qualityGates?.runLinter ?? true,\n },\n {\n type: 'confirm',\n name: 'runCodeReview',\n message: 'Auto-trigger code review on task completion?',\n default: config.qualityGates?.runCodeReview ?? true,\n },\n {\n type: 'confirm',\n name: 'requireTestCoverage',\n message: 'Require test coverage checks?',\n default: config.qualityGates?.requireTestCoverage ?? false,\n },\n {\n type: 'confirm',\n name: 'blockOnFailure',\n message: 'Block further work when quality gates fail?',\n default: config.qualityGates?.blockOnFailure ?? false,\n },\n {\n type: 'input',\n name: 'testCommand',\n message: 'Custom test command (leave empty for auto-detect):',\n default: config.testFrameworks?.testCommand || '',\n },\n {\n type: 'input',\n name: 'lintCommand',\n message: 'Custom lint command (leave empty for auto-detect):',\n default: config.testFrameworks?.lintCommand || '',\n },\n ]);\n\n // Update config\n config.qualityGates = {\n runTests: answers.runTests,\n runLinter: answers.runLinter,\n runCodeReview: answers.runCodeReview,\n requireTestCoverage: answers.requireTestCoverage,\n blockOnFailure: answers.blockOnFailure,\n };\n\n config.testFrameworks = {\n ...config.testFrameworks,\n testCommand: answers.testCommand || config.testFrameworks?.testCommand,\n lintCommand: answers.lintCommand || config.testFrameworks?.lintCommand,\n };\n\n await saveConfig(projectRoot, config);\n\n console.log(chalk.green('\\n\u2705 Configuration saved'));\n console.log(chalk.gray('Enable with: stackmemory quality --enable'));\n } catch (error: unknown) {\n console.error(chalk.red('Configuration failed:', error));\n }\n}\n\n/**\n * Run quality gates manually\n */\nasync function runQualityGates(\n projectRoot: string,\n frameManager: FrameManager,\n db: any,\n spinner: any\n) {\n spinner.start('Running quality gates...');\n\n try {\n const config = await loadConfig(projectRoot);\n const hooks = new PostTaskHooks(frameManager, db, config);\n\n // Simulate a task completion event\n const mockEvent = {\n taskType: 'task_complete' as const,\n frameId: 'manual-run',\n frameName: 'Manual quality gate run',\n files: await getRecentlyModifiedFiles(projectRoot),\n changes: { added: 0, removed: 0, modified: 1 },\n metadata: { trigger: 'manual' },\n };\n\n // Run quality gates\n const results = await (hooks as any).runQualityGates(mockEvent);\n\n spinner.succeed(chalk.green('\u2705 Quality gates completed'));\n\n // Show results\n console.log(chalk.bold('\\n\uD83D\uDCCB Quality Gate Results:\\n'));\n\n results.forEach((result: QualityGateResult) => {\n const icon = result.passed ? '\u2705' : '\u274C';\n const duration =\n result.duration < 1000\n ? `${result.duration}ms`\n : `${Math.round(result.duration / 1000)}s`;\n\n console.log(`${icon} ${result.gate} (${duration})`);\n\n if (!result.passed && result.issues) {\n result.issues.slice(0, 3).forEach((issue) => {\n console.log(\n ` ${issue.severity === 'error' ? '\u274C' : '\u26A0\uFE0F'} ${issue.message}`\n );\n });\n if (result.issues.length > 3) {\n console.log(\n chalk.gray(` ... and ${result.issues.length - 3} more issues`)\n );\n }\n }\n });\n\n const allPassed = results.every((r: QualityGateResult) => r.passed);\n if (allPassed) {\n console.log(chalk.green('\\n\uD83C\uDF89 All quality gates passed!'));\n } else {\n console.log(\n chalk.yellow('\\n\u26A0\uFE0F Some quality gates failed. See details above.')\n );\n }\n } catch (error: unknown) {\n spinner.fail(chalk.red(`Quality gates failed: ${error}`));\n }\n}\n\n/**\n * Show quality gate history\n */\nasync function showHistory(frameManager: FrameManager) {\n console.log(chalk.bold('\\n\uD83D\uDCC8 Quality Gate History\\n'));\n\n try {\n const results = await getRecentQualityResults(frameManager);\n\n if (results.length === 0) {\n console.log(chalk.gray('No quality gate history found'));\n return;\n }\n\n results.slice(0, 10).forEach((result, index) => {\n const icon = result.passed ? '\u2705' : '\u274C';\n const date = new Date(result.timestamp).toLocaleDateString();\n const time = new Date(result.timestamp).toLocaleTimeString();\n\n console.log(`${icon} ${result.frameName}`);\n console.log(chalk.gray(` ${date} ${time} - ${result.duration}ms`));\n\n if (result.gates) {\n result.gates.forEach((gate: any) => {\n const gateIcon = gate.passed ? ' \u2713' : ' \u2717';\n console.log(chalk.gray(`${gateIcon} ${gate.gate}`));\n });\n }\n\n if (index < results.length - 1) console.log('');\n });\n } catch (error: unknown) {\n console.error(chalk.red('Failed to get history:', error));\n }\n}\n\n/**\n * Setup wizard\n */\nasync function setupWizard(\n projectRoot: string,\n frameManager: FrameManager,\n db: Database\n) {\n console.log(chalk.bold('\uD83E\uDDD9 Quality Gates Setup Wizard\\n'));\n\n console.log(\n 'This wizard will help you configure automatic quality gates for your project.'\n );\n console.log(\n 'Quality gates run automatically after Claude completes tasks.\\n'\n );\n\n // Detect project type\n const packageJsonPath = path.join(projectRoot, 'package.json');\n let projectType = 'unknown';\n const detectedFrameworks: string[] = [];\n\n try {\n const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));\n const deps = {\n ...packageJson.dependencies,\n ...packageJson.devDependencies,\n };\n\n if (deps.react) projectType = 'React';\n else if (deps.vue) projectType = 'Vue';\n else if (deps.angular) projectType = 'Angular';\n else if (deps.express) projectType = 'Node.js API';\n else if (deps.nextjs) projectType = 'Next.js';\n\n if (deps.jest) detectedFrameworks.push('Jest');\n if (deps.vitest) detectedFrameworks.push('Vitest');\n if (deps.playwright) detectedFrameworks.push('Playwright');\n if (deps.eslint) detectedFrameworks.push('ESLint');\n } catch {\n // No package.json or invalid\n }\n\n console.log(`\uD83D\uDCE6 Detected project: ${chalk.cyan(projectType)}`);\n if (detectedFrameworks.length) {\n console.log(\n `\uD83D\uDD27 Detected tools: ${chalk.cyan(detectedFrameworks.join(', '))}`\n );\n }\n console.log('');\n\n const { proceed } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'proceed',\n message: 'Continue with setup?',\n default: true,\n },\n ]);\n\n if (!proceed) {\n console.log(chalk.gray('Setup cancelled'));\n return;\n }\n\n // Configure quality gates\n await configureQualityGates(projectRoot);\n\n // Enable quality gates\n const { enable } = await inquirer.prompt([\n {\n type: 'confirm',\n name: 'enable',\n message: 'Enable quality gates now?',\n default: true,\n },\n ]);\n\n if (enable) {\n const spinner = ora();\n await enableQualityGates(projectRoot, frameManager, db, spinner);\n }\n\n console.log(chalk.bold('\\n\uD83C\uDF89 Setup Complete!\\n'));\n console.log(\n 'Quality gates will now run automatically after Claude completes tasks.'\n );\n console.log('Check status with: stackmemory quality --status');\n}\n\n// Helper functions\n\nasync function getProjectRoot(): Promise<string> {\n return process.cwd();\n}\n\nasync function loadConfig(\n projectRoot: string\n): Promise<Partial<PostTaskConfig>> {\n const configPath = path.join(projectRoot, '.stackmemory', 'config.json');\n\n try {\n const content = await fs.readFile(configPath, 'utf-8');\n return JSON.parse(content);\n } catch {\n return {};\n }\n}\n\nasync function saveConfig(\n projectRoot: string,\n config: Partial<PostTaskConfig>\n): Promise<void> {\n const configPath = path.join(projectRoot, '.stackmemory', 'config.json');\n await fs.mkdir(path.dirname(configPath), { recursive: true });\n await fs.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');\n}\n\nfunction getTestCommand(config: Partial<PostTaskConfig>): string {\n if (config.testFrameworks?.testCommand) {\n return chalk.gray(`(${config.testFrameworks.testCommand})`);\n }\n return chalk.gray('(auto-detect)');\n}\n\nfunction getLintCommand(config: Partial<PostTaskConfig>): string {\n if (config.testFrameworks?.lintCommand) {\n return chalk.gray(`(${config.testFrameworks.lintCommand})`);\n }\n return chalk.gray('(auto-detect)');\n}\n\nasync function getRecentQualityResults(\n frameManager: FrameManager\n): Promise<any[]> {\n // This would query the frame metadata for quality gate results\n // For now, return empty array\n return [];\n}\n\nasync function getRecentlyModifiedFiles(\n projectRoot: string\n): Promise<string[]> {\n try {\n const { execFileSync } = await import('child_process');\n const output = execFileSync('git', ['diff', '--name-only', 'HEAD~1'], {\n cwd: projectRoot,\n encoding: 'utf-8',\n });\n return output\n .trim()\n .split('\\n')\n .filter((f) => f.length > 0);\n } catch {\n return [];\n }\n}\n\nasync function createServiceFile(projectRoot: string): Promise<void> {\n const serviceContent = `# StackMemory Quality Gates Service\n# This file indicates quality gates are enabled\n# Created: ${new Date().toISOString()}\n`;\n\n const servicePath = path.join(projectRoot, '.stackmemory', 'quality.service');\n await fs.writeFile(servicePath, serviceContent, 'utf-8');\n}\n\n// Export for use in main CLI\nexport default createQualityCommand();\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,7 @@
1
+ import { fileURLToPath as __fileURLToPath } from 'url';
2
+ import { dirname as __pathDirname } from 'path';
3
+ const __filename = __fileURLToPath(import.meta.url);
4
+ const __dirname = __pathDirname(__filename);
1
5
  import { Command } from "commander";
2
6
  import { logger } from "../../core/monitoring/logger.js";
3
7
  import { RalphLoop } from "../../../scripts/ralph-loop-implementation.js";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/ralph.ts"],
4
4
  "sourcesContent": ["/**\n * Ralph Wiggum Loop Commands\n * CLI interface for Ralph-StackMemory integration\n */\n\nimport { Command } from 'commander';\nimport { logger } from '../../core/monitoring/logger.js';\nimport { RalphLoop } from '../../../scripts/ralph-loop-implementation.js';\nimport { stackMemoryContextLoader } from '../../integrations/ralph/context/stackmemory-context-loader.js';\nimport { patternLearner } from '../../integrations/ralph/learning/pattern-learner.js';\nimport { multiLoopOrchestrator } from '../../integrations/ralph/orchestration/multi-loop-orchestrator.js';\nimport { swarmCoordinator } from '../../integrations/ralph/swarm/swarm-coordinator.js';\nimport { ralphDebugger } from '../../integrations/ralph/visualization/ralph-debugger.js';\nimport { existsSync, readFileSync, writeFileSync } from 'fs';\nimport { trace } from '../../core/trace/index.js';\n\nexport function createRalphCommand(): Command {\n const ralph = new Command('ralph').description(\n 'Ralph Wiggum Loop integration with StackMemory'\n );\n\n // Initialize a new Ralph loop\n ralph\n .command('init')\n .description('Initialize a new Ralph Wiggum loop')\n .argument('<task>', 'Task description')\n .option(\n '-c, --criteria <criteria>',\n 'Completion criteria (comma separated)'\n )\n .option('--max-iterations <n>', 'Maximum iterations', '50')\n .option('--use-context', 'Load relevant context from StackMemory')\n .option(\n '--learn-from-similar',\n 'Apply patterns from similar completed tasks'\n )\n .action(async (task, options) => {\n return trace.command('ralph-init', { task, ...options }, async () => {\n try {\n console.log('\uD83C\uDFAD Initializing Ralph Wiggum loop...');\n\n // Use basic Ralph loop for now (StackMemory integration requires DB setup)\n const loop = new RalphLoop({\n baseDir: '.ralph',\n maxIterations: parseInt(options.maxIterations),\n verbose: true,\n });\n\n // Parse criteria\n const criteria = options.criteria\n ? options.criteria\n .split(',')\n .map((c: string) => `- ${c.trim()}`)\n .join('\\n')\n : '- All tests pass\\n- Code works correctly\\n- No lint errors';\n\n // Load StackMemory context if requested\n let enhancedTask = task;\n\n if (options.useContext || options.learnFromSimilar) {\n try {\n await stackMemoryContextLoader.initialize();\n\n const contextResponse =\n await stackMemoryContextLoader.loadInitialContext({\n task,\n usePatterns: true,\n useSimilarTasks: options.learnFromSimilar,\n maxTokens: 3000,\n });\n\n if (contextResponse.context) {\n enhancedTask = `${task}\\n\\n${contextResponse.context}`;\n console.log(\n `\uD83D\uDCDA Loaded context from ${contextResponse.sources.length} sources`\n );\n console.log(\n `\uD83C\uDFAF Context tokens: ${contextResponse.metadata.totalTokens}`\n );\n }\n } catch (error: unknown) {\n console.log(\n `\u26A0\uFE0F Context loading failed: ${(error as Error).message}`\n );\n console.log('Proceeding without context...');\n }\n }\n\n await loop.initialize(enhancedTask, criteria);\n\n console.log('\u2705 Ralph loop initialized!');\n console.log(`\uD83D\uDCCB Task: ${task}`);\n console.log(`\uD83C\uDFAF Max iterations: ${options.maxIterations}`);\n console.log(`\uD83D\uDCC1 Loop directory: .ralph/`);\n console.log('\\nNext steps:');\n console.log(' stackmemory ralph run # Start the loop');\n console.log(' stackmemory ralph status # Check status');\n } catch (error: unknown) {\n logger.error('Failed to initialize Ralph loop', error as Error);\n console.error('\u274C Initialization failed:', (error as Error).message);\n process.exit(1);\n }\n });\n });\n\n // Run the Ralph loop\n ralph\n .command('run')\n .description('Run the Ralph Wiggum loop')\n .option('--verbose', 'Verbose output')\n .option('--pause-on-error', 'Pause on validation errors')\n .action(async (options) => {\n return trace.command('ralph-run', options, async () => {\n try {\n if (!existsSync('.ralph')) {\n console.error(\n '\u274C No Ralph loop found. Run \"stackmemory ralph init\" first.'\n );\n return;\n }\n\n console.log('\uD83C\uDFAD Starting Ralph Wiggum loop...');\n\n const loop = new RalphLoop({\n baseDir: '.ralph',\n verbose: options.verbose,\n });\n\n await loop.run();\n } catch (error: unknown) {\n logger.error('Failed to run Ralph loop', error as Error);\n console.error('\u274C Loop execution failed:', (error as Error).message);\n process.exit(1);\n }\n });\n });\n\n // Show loop status\n ralph\n .command('status')\n .description('Show current Ralph loop status')\n .option('--detailed', 'Show detailed iteration history')\n .action(async (options) => {\n return trace.command('ralph-status', options, async () => {\n try {\n if (!existsSync('.ralph')) {\n console.log('\u274C No Ralph loop found in current directory');\n return;\n }\n\n // Get basic status from files\n\n // Read status from files\n const task = readFileSync('.ralph/task.md', 'utf8');\n const iteration = parseInt(\n readFileSync('.ralph/iteration.txt', 'utf8') || '0'\n );\n const isComplete = existsSync('.ralph/work-complete.txt');\n const feedback = existsSync('.ralph/feedback.txt')\n ? readFileSync('.ralph/feedback.txt', 'utf8')\n : '';\n\n console.log('\uD83C\uDFAD Ralph Loop Status:');\n console.log(` Task: ${task.substring(0, 80)}...`);\n console.log(` Iteration: ${iteration}`);\n console.log(\n ` Status: ${isComplete ? '\u2705 COMPLETE' : '\uD83D\uDD04 IN PROGRESS'}`\n );\n\n if (feedback) {\n console.log(` Last feedback: ${feedback.substring(0, 100)}...`);\n }\n\n if (options.detailed && existsSync('.ralph/progress.jsonl')) {\n console.log('\\n\uD83D\uDCCA Iteration History:');\n const progressLines = readFileSync('.ralph/progress.jsonl', 'utf8')\n .split('\\n')\n .filter(Boolean)\n .map((line) => JSON.parse(line));\n\n progressLines.forEach((p: any) => {\n const progress = p as {\n iteration: number;\n validation?: { testsPass: boolean };\n changes: number;\n errors: number;\n };\n const status = progress.validation?.testsPass ? '\u2705' : '\u274C';\n console.log(\n ` ${progress.iteration}: ${status} ${progress.changes} changes, ${progress.errors} errors`\n );\n });\n }\n\n // TODO: Show StackMemory integration status when available\n } catch (error: unknown) {\n logger.error('Failed to get Ralph status', error as Error);\n console.error('\u274C Status check failed:', (error as Error).message);\n }\n });\n });\n\n // Resume a crashed or paused loop\n ralph\n .command('resume')\n .description('Resume a crashed or paused Ralph loop')\n .option('--from-stackmemory', 'Restore from StackMemory backup')\n .action(async (options) => {\n return trace.command('ralph-resume', options, async () => {\n try {\n console.log('\uD83D\uDD04 Resuming Ralph loop...');\n\n const loop = new RalphLoop({ baseDir: '.ralph', verbose: true });\n\n if (options.fromStackmemory) {\n console.log('\uD83D\uDCDA StackMemory restore feature coming soon...');\n }\n\n await loop.run(); // Resume by continuing the loop\n } catch (error: unknown) {\n logger.error('Failed to resume Ralph loop', error as Error);\n console.error('\u274C Resume failed:', (error as Error).message);\n process.exit(1);\n }\n });\n });\n\n // Stop the current loop\n ralph\n .command('stop')\n .description('Stop the current Ralph loop')\n .option('--save-progress', 'Save current progress to StackMemory')\n .action(async (options) => {\n return trace.command('ralph-stop', options, async () => {\n try {\n if (!existsSync('.ralph')) {\n console.log('\u274C No active Ralph loop found');\n return;\n }\n\n console.log('\uD83D\uDED1 Stopping Ralph loop...');\n\n if (options.saveProgress) {\n console.log('\uD83D\uDCBE StackMemory progress save feature coming soon...');\n }\n\n // Create stop signal file\n writeFileSync('.ralph/stop-signal.txt', new Date().toISOString());\n console.log('\u2705 Stop signal sent');\n } catch (error: unknown) {\n logger.error('Failed to stop Ralph loop', error as Error);\n console.error('\u274C Stop failed:', (error as Error).message);\n }\n });\n });\n\n // Clean up loop artifacts\n ralph\n .command('clean')\n .description('Clean up Ralph loop artifacts')\n .option('--keep-history', 'Keep iteration history')\n .action(async (options) => {\n return trace.command('ralph-clean', options, async () => {\n try {\n // Clean up Ralph directory\n if (!options.keepHistory && existsSync('.ralph/history')) {\n const { execSync } = await import('child_process');\n execSync('rm -rf .ralph/history');\n }\n\n // Remove working files but keep task definition\n if (existsSync('.ralph/work-complete.txt')) {\n const fs = await import('fs');\n fs.unlinkSync('.ralph/work-complete.txt');\n }\n\n console.log('\uD83E\uDDF9 Ralph loop artifacts cleaned');\n } catch (error: unknown) {\n logger.error('Failed to clean Ralph artifacts', error as Error);\n console.error('\u274C Cleanup failed:', (error as Error).message);\n }\n });\n });\n\n // Debug and diagnostics\n ralph\n .command('debug')\n .description('Debug Ralph loop state and diagnostics')\n .option('--reconcile', 'Force state reconciliation')\n .option('--validate-context', 'Validate context budget')\n .action(async (options) => {\n return trace.command('ralph-debug', options, async () => {\n try {\n console.log('\uD83D\uDD0D Ralph Loop Debug Information:');\n\n if (options.reconcile) {\n console.log('\uD83D\uDD27 State reconciliation feature coming soon...');\n }\n\n if (options.validateContext) {\n console.log('\uD83D\uDCCA Context validation feature coming soon...');\n }\n\n // Show file structure\n if (existsSync('.ralph')) {\n console.log('\\n\uD83D\uDCC1 Ralph directory structure:');\n const { execSync } = await import('child_process');\n try {\n const tree = execSync('find .ralph -type f | head -20', {\n encoding: 'utf8',\n });\n console.log(tree);\n } catch {\n console.log(' (Unable to show directory tree)');\n }\n }\n } catch (error: unknown) {\n logger.error('Ralph debug failed', error as Error);\n console.error('\u274C Debug failed:', (error as Error).message);\n }\n });\n });\n\n // Swarm coordination commands\n ralph\n .command('swarm')\n .description('Launch a swarm of specialized agents')\n .argument('<project>', 'Project description')\n .option(\n '--agents <agents>',\n 'Comma-separated list of agent roles (architect,developer,tester,etc)',\n 'developer,tester'\n )\n .option('--max-agents <n>', 'Maximum number of agents', '5')\n .action(async (project, options) => {\n return trace.command('ralph-swarm', { project, ...options }, async () => {\n try {\n console.log('\uD83E\uDDBE Launching Ralph swarm...');\n\n await swarmCoordinator.initialize();\n\n const agentRoles = options.agents\n .split(',')\n .map((r: string) => r.trim());\n const agentSpecs = agentRoles.map((role: string) => ({\n role: role as any,\n conflictResolution: 'defer_to_expertise',\n collaborationPreferences: [],\n }));\n\n const swarmId = await swarmCoordinator.launchSwarm(\n project,\n agentSpecs\n );\n\n console.log(`\u2705 Swarm launched with ID: ${swarmId}`);\n console.log(`\uD83D\uDC65 ${agentSpecs.length} agents working on: ${project}`);\n console.log('\\nNext steps:');\n console.log(\n ' stackmemory ralph swarm-status <swarmId> # Check progress'\n );\n console.log(\n ' stackmemory ralph swarm-stop <swarmId> # Stop swarm'\n );\n } catch (error: unknown) {\n logger.error('Swarm launch failed', error as Error);\n console.error('\u274C Swarm launch failed:', (error as Error).message);\n }\n });\n });\n\n // Swarm status command\n ralph\n .command('swarm-status')\n .description('Check status of all active swarms or a specific swarm')\n .argument('[swarmId]', 'Optional specific swarm ID to check')\n .option('--detailed', 'Show detailed agent information')\n .action(async (swarmId, options) => {\n return trace.command(\n 'ralph-swarm-status',\n { swarmId, ...options },\n async () => {\n try {\n await swarmCoordinator.initialize();\n\n if (swarmId) {\n // Show status for specific swarm\n const status = swarmCoordinator.getSwarmStatus(swarmId);\n if (!status) {\n console.log(`\u274C Swarm ${swarmId} not found`);\n return;\n }\n\n console.log(`\uD83E\uDDBE Swarm Status: ${swarmId}`);\n console.log(` Status: ${status.state}`);\n console.log(` Agents: ${status.activeAgents} active`);\n console.log(\n ` Started: ${new Date(status.startTime).toLocaleString()}`\n );\n\n if (options.detailed && status.agents) {\n console.log('\\n\uD83D\uDC65 Agent Details:');\n status.agents.forEach((agent: any) => {\n console.log(\n ` - ${agent.role}: ${agent.status} (${agent.task})`\n );\n });\n }\n } else {\n // Show all active swarms\n const activeSwarms = swarmCoordinator.getAllActiveSwarms();\n\n if (activeSwarms.length === 0) {\n console.log('\uD83D\uDCCA No active swarms');\n return;\n }\n\n console.log(`\uD83D\uDCCA Active Swarms: ${activeSwarms.length}`);\n activeSwarms.forEach((swarm: any) => {\n console.log(`\\n\uD83C\uDD94 ${swarm.id}`);\n console.log(\n ` Description: ${swarm.description?.substring(0, 60)}...`\n );\n console.log(` Agents: ${swarm.agentCount}`);\n console.log(` Status: ${swarm.status}`);\n console.log(\n ` Running for: ${Math.round((Date.now() - swarm.startTime) / 1000)}s`\n );\n });\n\n console.log('\\nCommands:');\n console.log(\n ' stackmemory ralph swarm-status <id> # Check specific swarm'\n );\n console.log(\n ' stackmemory ralph swarm-killall # Stop all swarms'\n );\n }\n } catch (error: unknown) {\n logger.error('Failed to get swarm status', error as Error);\n console.error('\u274C Status check failed:', (error as Error).message);\n }\n }\n );\n });\n\n // Oracle/Worker pattern command\n ralph\n .command('oracle-worker')\n .description(\n 'Launch Oracle/Worker pattern swarm for cost-effective execution'\n )\n .argument('<project>', 'Project description for Oracle planning')\n .option(\n '--oracle <model>',\n 'Oracle model (default: claude-3-opus)',\n 'claude-3-opus-20240229'\n )\n .option(\n '--workers <models>',\n 'Comma-separated worker models',\n 'claude-3-haiku-20240307'\n )\n .option('--budget <amount>', 'Cost budget in USD', '10.0')\n .option('--max-workers <count>', 'Maximum worker agents', '5')\n .option('--hints <hints>', 'Comma-separated planning hints')\n .action(async (project: string, options: any) => {\n return trace.command(\n 'ralph-oracle-worker',\n { project, ...options },\n async () => {\n try {\n console.log('\uD83E\uDDE0 Launching Oracle/Worker swarm...');\n console.log(`\uD83D\uDCCB Project: ${project}`);\n console.log(`\uD83D\uDCB0 Budget: $${options.budget}`);\n\n // Import Oracle/Worker pattern\n const { OracleWorkerCoordinator, defaultModelConfigs } =\n await import('../../../integrations/ralph/patterns/oracle-worker-pattern.js');\n\n // Parse worker models\n const workerModels = options.workers\n .split(',')\n .map((model: string) => {\n const found = defaultModelConfigs.worker.find((w: any) =>\n w.model.includes(model.trim())\n );\n return found || defaultModelConfigs.worker[0];\n });\n\n // Configure Oracle/Worker coordinator\n const coordinator = new OracleWorkerCoordinator({\n oracle: defaultModelConfigs.oracle[0],\n workers: workerModels,\n reviewers: defaultModelConfigs.reviewer,\n maxWorkers: parseInt(options.maxWorkers),\n coordinationInterval: 30000,\n costBudget: parseFloat(options.budget),\n });\n\n await coordinator.initialize();\n\n // Parse hints if provided\n const hints = options.hints\n ? options.hints.split(',').map((h: string) => h.trim())\n : undefined;\n\n // Launch Oracle/Worker swarm\n const swarmId = await coordinator.launchOracleWorkerSwarm(\n project,\n hints\n );\n\n console.log(`\u2705 Oracle/Worker swarm launched: ${swarmId}`);\n console.log('\\n\uD83D\uDCCA Pattern Benefits:');\n console.log(' \u2022 Oracle handles strategic planning & review');\n console.log(' \u2022 Workers execute parallelizable tasks');\n console.log(' \u2022 Cost-optimized model selection');\n console.log(' \u2022 Scalable multi-agent coordination');\n\n console.log('\\nNext steps:');\n console.log(\n ` stackmemory ralph swarm-status ${swarmId} # Check progress`\n );\n console.log(\n ` stackmemory ralph swarm-stop ${swarmId} # Stop swarm`\n );\n } catch (error: any) {\n logger.error('Oracle/Worker swarm failed', error);\n console.error(`\u274C Oracle/Worker failed: ${error.message}`);\n throw error;\n }\n }\n );\n });\n\n // Claude Code Agent integration command\n ralph\n .command('claude-swarm')\n .description('Launch swarm using Claude Code specialized agents')\n .argument('<project>', 'Project description for Claude Code agents')\n .option(\n '--oracle <agent>',\n 'Oracle agent (default: staff-architect)',\n 'staff-architect'\n )\n .option(\n '--workers <agents>',\n 'Comma-separated worker agents',\n 'general-purpose,code-reviewer'\n )\n .option(\n '--reviewers <agents>',\n 'Comma-separated reviewer agents',\n 'code-reviewer'\n )\n .option('--budget <amount>', 'Cost budget in USD', '10.0')\n .option(\n '--complexity <level>',\n 'Project complexity (low|medium|high|very_high)',\n 'medium'\n )\n .option('--list-agents', 'List available Claude Code agents')\n .action(async (project: string, options: any) => {\n return trace.command(\n 'ralph-claude-swarm',\n { project, ...options },\n async () => {\n try {\n // Import Claude Code bridge\n const { ClaudeCodeAgentBridge, CLAUDE_CODE_AGENTS } =\n await import('../../integrations/claude-code/agent-bridge.js');\n\n // Handle list agents option\n if (options.listAgents) {\n console.log('\\n\uD83E\uDD16 Available Claude Code Agents:\\n');\n\n const oracles = Object.values(CLAUDE_CODE_AGENTS).filter(\n (a) => a.type === 'oracle'\n );\n const workers = Object.values(CLAUDE_CODE_AGENTS).filter(\n (a) => a.type === 'worker'\n );\n const reviewers = Object.values(CLAUDE_CODE_AGENTS).filter(\n (a) => a.type === 'reviewer'\n );\n\n console.log('\uD83E\uDDE0 ORACLE AGENTS (Strategic Planning):');\n oracles.forEach((agent) => {\n console.log(` ${agent.name}: ${agent.description}`);\n console.log(\n ` Capabilities: ${agent.capabilities.slice(0, 3).join(', ')}...`\n );\n });\n\n console.log('\\n\u26A1 WORKER AGENTS (Task Execution):');\n workers.forEach((agent) => {\n console.log(` ${agent.name}: ${agent.description}`);\n console.log(\n ` Capabilities: ${agent.capabilities.slice(0, 3).join(', ')}...`\n );\n });\n\n console.log('\\n\uD83D\uDD0D REVIEWER AGENTS (Quality Assurance):');\n reviewers.forEach((agent) => {\n console.log(` ${agent.name}: ${agent.description}`);\n console.log(\n ` Capabilities: ${agent.capabilities.slice(0, 3).join(', ')}...`\n );\n });\n\n console.log('\\nUsage Examples:');\n console.log(\n ' stackmemory ralph claude-swarm \"Build REST API\" --oracle staff-architect --workers general-purpose,debugger'\n );\n console.log(\n ' stackmemory ralph claude-swarm \"Add user auth\" --complexity high --workers general-purpose,qa-workflow-validator'\n );\n return;\n }\n\n console.log('\uD83E\uDDE0 Launching Claude Code Agent Swarm...');\n console.log(`\uD83D\uDCCB Project: ${project}`);\n console.log(`\uD83C\uDFAF Oracle: ${options.oracle}`);\n console.log(`\u26A1 Workers: ${options.workers}`);\n console.log(`\uD83D\uDD0D Reviewers: ${options.reviewers}`);\n console.log(`\uD83D\uDCB0 Budget: $${options.budget}`);\n console.log(`\uD83D\uDCCA Complexity: ${options.complexity}`);\n\n // Initialize Claude Code bridge\n const bridge = new ClaudeCodeAgentBridge();\n await bridge.initialize();\n\n // Parse agent lists\n const workerAgents = options.workers\n .split(',')\n .map((s: string) => s.trim());\n const reviewerAgents = options.reviewers\n .split(',')\n .map((s: string) => s.trim());\n\n // Launch Claude Code swarm\n const swarmId = await bridge.launchClaudeCodeSwarm(project, {\n oracleAgent: options.oracle,\n workerAgents,\n reviewerAgents,\n budget: parseFloat(options.budget),\n complexity: options.complexity as any,\n });\n\n console.log(`\u2705 Claude Code swarm launched: ${swarmId}`);\n console.log('\\n\uD83D\uDCCA Claude Code Benefits:');\n console.log(' \u2022 Specialized agents with proven capabilities');\n console.log(' \u2022 Seamless integration with Claude Code tools');\n console.log(' \u2022 Optimal agent selection for each task type');\n console.log(' \u2022 Built-in quality assurance and review processes');\n\n console.log('\\nActive Agents:');\n console.log(` \uD83E\uDDE0 Oracle: ${options.oracle} (strategic planning)`);\n workerAgents.forEach((agent: string) => {\n const agentConfig = CLAUDE_CODE_AGENTS[agent];\n console.log(\n ` \u26A1 Worker: ${agent} (${agentConfig?.specializations.join(', ') || 'execution'})`\n );\n });\n reviewerAgents.forEach((agent: string) => {\n const agentConfig = CLAUDE_CODE_AGENTS[agent];\n console.log(\n ` \uD83D\uDD0D Reviewer: ${agent} (${agentConfig?.specializations.join(', ') || 'review'})`\n );\n });\n\n console.log('\\nNext steps:');\n console.log(\n ` stackmemory ralph swarm-status ${swarmId} # Check progress`\n );\n console.log(\n ` stackmemory ralph swarm-stop ${swarmId} # Stop swarm`\n );\n console.log(\n ' stackmemory ralph claude-swarm --list-agents # See all available agents'\n );\n } catch (error: any) {\n logger.error('Claude Code swarm failed', error);\n console.error(`\u274C Claude Code swarm failed: ${error.message}`);\n throw error;\n }\n }\n );\n });\n\n // Swarm killall command\n ralph\n .command('swarm-killall')\n .description('Stop all active swarms and cleanup resources')\n .option('--force', 'Force kill without saving state')\n .action(async (options) => {\n return trace.command('ralph-swarm-killall', options, async () => {\n try {\n await swarmCoordinator.initialize();\n\n const activeSwarms = swarmCoordinator.getAllActiveSwarms();\n\n if (activeSwarms.length === 0) {\n console.log('\uD83D\uDCCA No active swarms to stop');\n return;\n }\n\n console.log(`\uD83D\uDED1 Stopping ${activeSwarms.length} active swarm(s)...`);\n\n let stoppedCount = 0;\n let failedCount = 0;\n\n for (const swarm of activeSwarms) {\n try {\n console.log(` Stopping ${swarm.id}...`);\n\n if (options.force) {\n await swarmCoordinator.forceStopSwarm(swarm.id);\n } else {\n await swarmCoordinator.stopSwarm(swarm.id);\n }\n\n stoppedCount++;\n console.log(` \u2705 Stopped ${swarm.id}`);\n } catch (error: unknown) {\n failedCount++;\n console.error(\n ` \u274C Failed to stop ${swarm.id}: ${(error as Error).message}`\n );\n }\n }\n\n // Cleanup git branches if any\n try {\n const { execSync } = await import('child_process');\n const branches = execSync('git branch | grep \"swarm/\"', {\n encoding: 'utf8',\n })\n .split('\\n')\n .filter(Boolean)\n .map((b) => b.trim());\n\n if (branches.length > 0) {\n console.log(\n `\\n\uD83D\uDD00 Cleaning up ${branches.length} swarm branches...`\n );\n for (const branch of branches) {\n try {\n execSync(`git branch -D ${branch}`, { stdio: 'ignore' });\n console.log(` Deleted ${branch}`);\n } catch {\n // Ignore branch deletion errors\n }\n }\n }\n } catch {\n // No swarm branches to clean\n }\n\n console.log(`\\n\uD83D\uDCCA Summary:`);\n console.log(` \u2705 Stopped: ${stoppedCount} swarms`);\n if (failedCount > 0) {\n console.log(` \u274C Failed: ${failedCount} swarms`);\n }\n\n // Final cleanup\n await swarmCoordinator.cleanup();\n console.log('\uD83E\uDDF9 Cleanup completed');\n } catch (error: unknown) {\n logger.error('Swarm killall failed', error as Error);\n console.error('\u274C Killall failed:', (error as Error).message);\n }\n });\n });\n\n // Multi-loop orchestration for complex tasks\n ralph\n .command('orchestrate')\n .description('Orchestrate multiple Ralph loops for complex tasks')\n .argument('<description>', 'Complex task description')\n .option('--criteria <criteria>', 'Success criteria (comma separated)')\n .option('--max-loops <n>', 'Maximum parallel loops', '3')\n .option('--sequential', 'Force sequential execution')\n .action(async (description, options) => {\n return trace.command(\n 'ralph-orchestrate',\n { description, ...options },\n async () => {\n try {\n console.log('\uD83C\uDFAD Orchestrating complex task...');\n\n await multiLoopOrchestrator.initialize();\n\n const criteria = options.criteria\n ? options.criteria.split(',').map((c: string) => c.trim())\n : [\n 'Task completed successfully',\n 'All components working',\n 'Tests pass',\n ];\n\n const result = await multiLoopOrchestrator.orchestrateComplexTask(\n description,\n criteria,\n {\n maxLoops: parseInt(options.maxLoops),\n forceSequential: options.sequential,\n }\n );\n\n console.log('\u2705 Orchestration completed!');\n console.log(\n `\uD83D\uDCCA Results: ${result.completedLoops.length} successful, ${result.failedLoops.length} failed`\n );\n console.log(\n `\u23F1\uFE0F Total duration: ${Math.round(result.totalDuration / 1000)}s`\n );\n\n if (result.insights.length > 0) {\n console.log('\\n\uD83D\uDCA1 Insights:');\n result.insights.forEach((insight) =>\n console.log(` \u2022 ${insight}`)\n );\n }\n } catch (error: unknown) {\n logger.error('Orchestration failed', error as Error);\n console.error('\u274C Orchestration failed:', (error as Error).message);\n }\n }\n );\n });\n\n // Pattern learning command\n ralph\n .command('learn')\n .description('Learn patterns from completed loops')\n .option('--task-type <type>', 'Learn patterns for specific task type')\n .action(async (options) => {\n return trace.command('ralph-learn', options, async () => {\n try {\n console.log('\uD83E\uDDE0 Learning patterns from completed loops...');\n\n await patternLearner.initialize();\n\n const patterns = options.taskType\n ? await patternLearner.learnForTaskType(options.taskType)\n : await patternLearner.learnFromCompletedLoops();\n\n console.log(`\u2705 Learned ${patterns.length} patterns`);\n\n if (patterns.length > 0) {\n console.log('\\n\uD83D\uDCCA Top patterns:');\n patterns.slice(0, 5).forEach((pattern) => {\n console.log(\n ` \u2022 ${pattern.pattern} (${Math.round(pattern.confidence * 100)}% confidence)`\n );\n });\n }\n } catch (error: unknown) {\n logger.error('Pattern learning failed', error as Error);\n console.error(\n '\u274C Pattern learning failed:',\n (error as Error).message\n );\n }\n });\n });\n\n // Enhanced debug command with visualization\n ralph\n .command('debug-enhanced')\n .description('Advanced debugging with visualization')\n .option('--loop-id <id>', 'Specific loop to debug')\n .option('--generate-report', 'Generate comprehensive debug report')\n .option('--timeline', 'Generate timeline visualization')\n .action(async (options) => {\n return trace.command('ralph-debug-enhanced', options, async () => {\n try {\n if (!existsSync('.ralph') && !options.loopId) {\n console.log(\n '\u274C No Ralph loop found. Run a loop first or specify --loop-id'\n );\n return;\n }\n\n console.log('\uD83D\uDD0D Starting enhanced debugging...');\n\n await ralphDebugger.initialize();\n\n const loopId = options.loopId || 'current';\n await ralphDebugger.startDebugSession(loopId, '.ralph');\n\n if (options.generateReport) {\n const report = await ralphDebugger.generateDebugReport(loopId);\n console.log(`\uD83D\uDCCB Debug report generated: ${report.exportPath}`);\n }\n\n if (options.timeline) {\n const timelinePath =\n await ralphDebugger.generateLoopTimeline(loopId);\n console.log(`\uD83D\uDCCA Timeline visualization: ${timelinePath}`);\n }\n\n console.log('\uD83D\uDD0D Debug analysis complete');\n } catch (error: unknown) {\n logger.error('Enhanced debugging failed', error as Error);\n console.error('\u274C Debug failed:', (error as Error).message);\n }\n });\n });\n\n // TUI command for real-time monitoring\n ralph\n .command('tui')\n .description('Launch TUI monitor for active swarms')\n .option('--swarm-id <id>', 'Monitor specific swarm ID')\n .option('--simple', 'Use simple text mode instead of full TUI')\n .option('--force-tui', 'Force full TUI even with compatibility issues')\n .action(async (options) => {\n try {\n // Detect terminal compatibility\n const isGhostty =\n process.env.TERM_PROGRAM === 'ghostty' ||\n process.env.TERM?.includes('ghostty');\n const isBasicTerm =\n process.env.TERM === 'dumb' || process.env.TERM === 'unknown';\n const hasCompatibilityIssues = isGhostty || isBasicTerm;\n\n // Default behavior: use simple mode for problematic terminals unless forced\n const useSimpleMode =\n options.simple || (hasCompatibilityIssues && !options.forceTui);\n\n if (useSimpleMode) {\n console.log('\uD83E\uDDBE Starting Simple Swarm Monitor (Text Mode)');\n if (hasCompatibilityIssues && !options.simple) {\n console.log(\n `\u26A0\uFE0F Detected ${isGhostty ? 'Ghostty' : 'basic'} terminal - using text mode for compatibility`\n );\n console.log(\n ' Use --force-tui to override, or --simple to explicitly use text mode'\n );\n }\n\n const { SimpleSwarmMonitor } =\n await import('../../features/tui/simple-monitor.js');\n const monitor = new SimpleSwarmMonitor();\n monitor.start();\n } else {\n console.log('\uD83E\uDDBE Starting Full TUI Monitor');\n const { SwarmTUI } =\n await import('../../features/tui/swarm-monitor.js');\n\n const tui = new SwarmTUI();\n\n // Initialize with optional swarm ID\n await tui.initialize(undefined, options.swarmId);\n tui.start();\n }\n } catch (error: unknown) {\n logger.error('TUI launch failed', error as Error);\n console.error('\u274C TUI failed:', (error as Error).message);\n console.log('\uD83D\uDCA1 Try: stackmemory ralph tui --simple');\n process.exit(1);\n }\n });\n\n return ralph;\n}\n\nexport default createRalphCommand;\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,3 +1,7 @@
1
+ import { fileURLToPath as __fileURLToPath } from 'url';
2
+ import { dirname as __pathDirname } from 'path';
3
+ const __filename = __fileURLToPath(import.meta.url);
4
+ const __dirname = __pathDirname(__filename);
1
5
  import { Command } from "commander";
2
6
  import Database from "better-sqlite3";
3
7
  import { join } from "path";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cli/commands/search.ts"],
4
4
  "sourcesContent": ["/**\n * Search Command for StackMemory CLI\n * Search across tasks and context\n */\n\nimport { Command } from 'commander';\nimport Database from 'better-sqlite3';\nimport { join } from 'path';\nimport { existsSync } from 'fs';\n\nexport function createSearchCommand(): Command {\n const search = new Command('search')\n .alias('find')\n .description('Search across tasks and context')\n .argument('<query>', 'Search query')\n .option('-t, --tasks', 'Search only tasks')\n .option('-c, --context', 'Search only context')\n .option('-l, --limit <n>', 'Limit results', '20')\n .action(async (query, options) => {\n const projectRoot = process.cwd();\n const dbPath = join(projectRoot, '.stackmemory', 'context.db');\n\n if (!existsSync(dbPath)) {\n console.log(\n '\u274C StackMemory not initialized. Run \"stackmemory init\" first.'\n );\n return;\n }\n\n const db = new Database(dbPath);\n const limit = parseInt(options.limit);\n const searchTasks = !options.context || options.tasks;\n const searchContext = !options.tasks || options.context;\n\n console.log(`\\n\uD83D\uDD0D Searching for \"${query}\"...\\n`);\n\n let totalResults = 0;\n\n // Search tasks\n if (searchTasks) {\n try {\n const tasks = db\n .prepare(\n `\n SELECT id, title, description, status, priority, created_at\n FROM task_cache \n WHERE title LIKE ? OR description LIKE ?\n ORDER BY created_at DESC\n LIMIT ?\n `\n )\n .all(`%${query}%`, `%${query}%`, limit) as any[];\n\n if (tasks.length > 0) {\n console.log(`\uD83D\uDCCB Tasks (${tasks.length})\\n`);\n\n const priorityIcon: Record<string, string> = {\n urgent: '\uD83D\uDD34',\n high: '\uD83D\uDFE0',\n medium: '\uD83D\uDFE1',\n low: '\uD83D\uDFE2',\n };\n const statusIcon: Record<string, string> = {\n pending: '\u23F3',\n in_progress: '\uD83D\uDD04',\n completed: '\u2705',\n blocked: '\uD83D\uDEAB',\n };\n\n tasks.forEach((task) => {\n const pIcon = priorityIcon[task.priority] || '\u26AA';\n const sIcon = statusIcon[task.status] || '\u26AA';\n console.log(`${sIcon} ${pIcon} ${task.title}`);\n\n // Highlight match in description\n if (task.description) {\n const desc = task.description.split('\\n')[0];\n const matchIdx = desc\n .toLowerCase()\n .indexOf(query.toLowerCase());\n if (matchIdx >= 0) {\n const start = Math.max(0, matchIdx - 20);\n const end = Math.min(\n desc.length,\n matchIdx + query.length + 20\n );\n const snippet =\n (start > 0 ? '...' : '') +\n desc.slice(start, end) +\n (end < desc.length ? '...' : '');\n console.log(` ${snippet}`);\n }\n }\n });\n console.log('');\n totalResults += tasks.length;\n }\n } catch (error: unknown) {\n // Task table might not exist\n }\n }\n\n // Search context/frames\n if (searchContext) {\n try {\n const contexts = db\n .prepare(\n `\n SELECT id, type, name, metadata, created_at\n FROM frames \n WHERE name LIKE ? OR metadata LIKE ?\n ORDER BY created_at DESC\n LIMIT ?\n `\n )\n .all(`%${query}%`, `%${query}%`, limit) as any[];\n\n if (contexts.length > 0) {\n console.log(`\uD83D\uDCC1 Context Frames (${contexts.length})\\n`);\n\n const typeIcon: Record<string, string> = {\n session: '\uD83D\uDD37',\n task: '\uD83D\uDCCB',\n command: '\u26A1',\n file: '\uD83D\uDCC4',\n decision: '\uD83D\uDCA1',\n };\n\n contexts.forEach((ctx) => {\n const icon = typeIcon[ctx.type] || '\uD83D\uDCE6';\n const date = new Date(ctx.created_at * 1000).toLocaleDateString();\n console.log(\n `${icon} [${ctx.type}] ${ctx.name || ctx.id.slice(0, 10)}`\n );\n console.log(` Created: ${date}`);\n });\n console.log('');\n totalResults += contexts.length;\n }\n } catch (error: unknown) {\n // Frames table might not exist\n }\n }\n\n // Search decisions/observations in events\n if (searchContext) {\n try {\n const events = db\n .prepare(\n `\n SELECT id, type, data, timestamp\n FROM events \n WHERE data LIKE ?\n ORDER BY timestamp DESC\n LIMIT ?\n `\n )\n .all(`%${query}%`, limit) as any[];\n\n if (events.length > 0) {\n console.log(`\uD83D\uDCDD Events (${events.length})\\n`);\n\n events.forEach((evt) => {\n const date = new Date(evt.timestamp * 1000).toLocaleDateString();\n let data: any = {};\n try {\n data = JSON.parse(evt.data);\n } catch {}\n\n const summary =\n data.content || data.message || data.decision || evt.type;\n console.log(`\u26A1 [${evt.type}] ${String(summary).slice(0, 60)}`);\n console.log(` ${date}`);\n });\n console.log('');\n totalResults += events.length;\n }\n } catch (error: unknown) {\n // Events table might not exist\n }\n }\n\n db.close();\n\n if (totalResults === 0) {\n console.log('No results found.\\n');\n } else {\n console.log(`Found ${totalResults} results.\\n`);\n }\n });\n\n return search;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }