@stackmemoryai/stackmemory 0.8.1 → 1.0.1

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 (792) hide show
  1. package/LICENSE +64 -0
  2. package/README.md +81 -273
  3. package/dist/src/agents/core/agent-task-manager.js +0 -1
  4. package/dist/src/agents/verifiers/base-verifier.js +0 -1
  5. package/dist/src/agents/verifiers/formatter-verifier.js +0 -1
  6. package/dist/src/agents/verifiers/llm-judge.js +0 -1
  7. package/dist/src/cli/auto-detect.js +0 -1
  8. package/dist/src/cli/claude-sm-danger.js +0 -1
  9. package/dist/src/cli/claude-sm.js +9 -1
  10. package/dist/src/cli/codex-sm-danger.js +0 -1
  11. package/dist/src/cli/codex-sm.js +9 -1
  12. package/dist/src/cli/commands/api.js +0 -1
  13. package/dist/src/cli/commands/auto-background.js +0 -1
  14. package/dist/src/cli/commands/cleanup-processes.js +0 -1
  15. package/dist/src/cli/commands/clear.js +0 -1
  16. package/dist/src/cli/commands/config.js +0 -1
  17. package/dist/src/cli/commands/context-rehydrate.js +0 -1
  18. package/dist/src/cli/commands/context.js +0 -1
  19. package/dist/src/cli/commands/daemon.js +0 -1
  20. package/dist/src/cli/commands/dashboard.js +4 -5
  21. package/dist/src/cli/commands/db.js +0 -1
  22. package/dist/src/cli/commands/decision.js +0 -1
  23. package/dist/src/cli/commands/discovery.js +0 -1
  24. package/dist/src/cli/commands/handoff.js +0 -1
  25. package/dist/src/cli/commands/hooks.js +0 -1
  26. package/dist/src/cli/commands/linear.js +0 -1
  27. package/dist/src/cli/commands/log.js +0 -1
  28. package/dist/src/cli/commands/login.js +0 -1
  29. package/dist/src/cli/commands/migrate.js +0 -1
  30. package/dist/src/cli/commands/model.js +0 -1
  31. package/dist/src/cli/commands/onboard.js +0 -1
  32. package/dist/src/cli/commands/ping.js +0 -1
  33. package/dist/src/cli/commands/projects.js +0 -1
  34. package/dist/src/cli/commands/ralph.js +0 -1
  35. package/dist/src/cli/commands/retrieval.js +0 -1
  36. package/dist/src/cli/commands/search.js +0 -1
  37. package/dist/src/cli/commands/service.js +0 -1
  38. package/dist/src/cli/commands/session.js +0 -1
  39. package/dist/src/cli/commands/setup.js +0 -4
  40. package/dist/src/cli/commands/shell.js +0 -1
  41. package/dist/src/cli/commands/signup.js +0 -1
  42. package/dist/src/cli/commands/skills.js +4 -3
  43. package/dist/src/cli/commands/storage-tier.js +0 -1
  44. package/dist/src/cli/commands/sweep.js +0 -1
  45. package/dist/src/cli/commands/tasks.js +0 -1
  46. package/dist/src/cli/commands/worktree.js +10 -5
  47. package/dist/src/cli/index.js +8 -5
  48. package/dist/src/cli/opencode-sm.js +0 -1
  49. package/dist/src/cli/utils/viewer.js +0 -1
  50. package/dist/src/core/config/config-manager.js +0 -1
  51. package/dist/src/core/config/feature-flags.js +0 -1
  52. package/dist/src/core/config/storage-config.js +0 -1
  53. package/dist/src/core/config/types.js +0 -1
  54. package/dist/src/core/context/auto-context.js +0 -1
  55. package/dist/src/core/context/dual-stack-manager.js +0 -1
  56. package/dist/src/core/context/enhanced-rehydration.js +0 -2
  57. package/dist/src/core/context/frame-database.js +60 -6
  58. package/dist/src/core/context/frame-digest.js +0 -1
  59. package/dist/src/core/context/frame-handoff-manager.js +0 -1
  60. package/dist/src/core/context/frame-lifecycle-hooks.js +0 -1
  61. package/dist/src/core/context/frame-recovery.js +0 -1
  62. package/dist/src/core/context/frame-stack.js +0 -1
  63. package/dist/src/core/context/frame-types.js +0 -1
  64. package/dist/src/core/context/index.js +0 -1
  65. package/dist/src/core/context/permission-manager.js +0 -1
  66. package/dist/src/core/context/recursive-context-manager.js +3 -2
  67. package/dist/src/core/context/refactored-frame-manager.js +0 -1
  68. package/dist/src/core/context/shared-context-layer.js +0 -1
  69. package/dist/src/core/context/stack-merge-resolver.js +0 -1
  70. package/dist/src/core/context/validation.js +0 -1
  71. package/dist/src/core/database/batch-operations.js +0 -1
  72. package/dist/src/core/database/connection-pool.js +0 -1
  73. package/dist/src/core/database/database-adapter.js +0 -1
  74. package/dist/src/core/database/embedding-provider-factory.js +0 -1
  75. package/dist/src/core/database/embedding-provider.js +0 -1
  76. package/dist/src/core/database/migration-manager.js +0 -1
  77. package/dist/src/core/database/ollama-embedding-provider.js +0 -1
  78. package/dist/src/core/database/openai-embedding-provider.js +0 -1
  79. package/dist/src/core/database/query-cache.js +0 -1
  80. package/dist/src/core/database/query-router.js +0 -1
  81. package/dist/src/core/database/sqlite-adapter.js +18 -108
  82. package/dist/src/core/database/transformers-embedding-provider.js +0 -1
  83. package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -1
  84. package/dist/src/core/digest/frame-digest-integration.js +0 -1
  85. package/dist/src/core/digest/hybrid-digest-generator.js +0 -1
  86. package/dist/src/core/digest/index.js +0 -1
  87. package/dist/src/core/digest/types.js +0 -1
  88. package/dist/src/core/errors/error-utils.js +0 -1
  89. package/dist/src/core/errors/index.js +0 -1
  90. package/dist/src/core/errors/recovery.js +0 -1
  91. package/dist/src/core/execution/parallel-executor.js +0 -1
  92. package/dist/src/core/extensions/custom-tools.js +0 -1
  93. package/dist/src/core/extensions/index.js +0 -1
  94. package/dist/src/core/extensions/loader.js +0 -1
  95. package/dist/src/core/extensions/plugin-system.js +0 -1
  96. package/dist/src/core/extensions/provider-adapter.js +0 -1
  97. package/dist/src/core/extensions/sandbox-runtime.js +0 -1
  98. package/dist/src/core/extensions/types.js +0 -1
  99. package/dist/src/core/frame/workflow-templates.js +0 -1
  100. package/dist/src/core/merge/conflict-detector.js +0 -1
  101. package/dist/src/core/merge/index.js +0 -1
  102. package/dist/src/core/merge/resolution-engine.js +0 -1
  103. package/dist/src/core/merge/stack-diff.js +0 -1
  104. package/dist/src/core/merge/types.js +0 -1
  105. package/dist/src/core/merge/unified-merge-resolver.js +0 -1
  106. package/dist/src/core/models/fallback-monitor.js +0 -1
  107. package/dist/src/core/models/model-router.js +0 -1
  108. package/dist/src/core/monitoring/error-handler.js +0 -1
  109. package/dist/src/core/monitoring/logger.js +0 -1
  110. package/dist/src/core/monitoring/metrics.js +0 -1
  111. package/dist/src/core/monitoring/progress-tracker.js +0 -1
  112. package/dist/src/core/monitoring/session-monitor.js +0 -1
  113. package/dist/src/core/performance/context-cache.js +0 -1
  114. package/dist/src/core/performance/index.js +0 -1
  115. package/dist/src/core/performance/lazy-context-loader.js +3 -8
  116. package/dist/src/core/performance/monitor.js +0 -1
  117. package/dist/src/core/performance/optimized-frame-context.js +0 -1
  118. package/dist/src/core/performance/performance-benchmark.js +0 -1
  119. package/dist/src/core/performance/performance-profiler.js +0 -1
  120. package/dist/src/core/performance/streaming-jsonl-parser.js +0 -1
  121. package/dist/src/core/persistence/postgres-adapter.js +0 -1
  122. package/dist/src/core/projects/project-isolation.js +0 -1
  123. package/dist/src/core/projects/project-manager.js +0 -1
  124. package/dist/src/core/query/query-parser.js +0 -1
  125. package/dist/src/core/query/query-templates.js +0 -1
  126. package/dist/src/core/retrieval/context-retriever.js +0 -1
  127. package/dist/src/core/retrieval/index.js +0 -1
  128. package/dist/src/core/retrieval/llm-context-retrieval.js +0 -1
  129. package/dist/src/core/retrieval/llm-provider.js +0 -1
  130. package/dist/src/core/retrieval/privacy-filter.js +0 -1
  131. package/dist/src/core/retrieval/retrieval-audit.js +0 -1
  132. package/dist/src/core/retrieval/summary-generator.js +15 -6
  133. package/dist/src/core/retrieval/types.js +0 -1
  134. package/dist/src/core/retrieval/unified-context-assembler.js +0 -1
  135. package/dist/src/core/security/index.js +0 -1
  136. package/dist/src/core/security/input-sanitizer.js +0 -1
  137. package/dist/src/core/session/clear-survival.js +0 -1
  138. package/dist/src/core/session/enhanced-handoff.js +0 -1
  139. package/dist/src/core/session/handoff-generator.js +0 -1
  140. package/dist/src/core/session/index.js +0 -1
  141. package/dist/src/core/session/session-manager.js +0 -1
  142. package/dist/src/core/skills/index.js +0 -1
  143. package/dist/src/core/skills/skill-storage.js +0 -1
  144. package/dist/src/core/skills/types.js +0 -1
  145. package/dist/src/core/storage/chromadb-adapter.js +0 -1
  146. package/dist/src/core/storage/infinite-storage.js +0 -1
  147. package/dist/src/core/storage/project-registry.js +0 -1
  148. package/dist/src/core/storage/remote-storage.js +4 -2
  149. package/dist/src/core/storage/storage-tier-manager.js +0 -1
  150. package/dist/src/core/storage/two-tier-storage.js +0 -1
  151. package/dist/src/core/trace/cli-trace-wrapper.js +0 -1
  152. package/dist/src/core/trace/db-trace-wrapper.js +0 -1
  153. package/dist/src/core/trace/debug-trace.js +0 -1
  154. package/dist/src/core/trace/index.js +0 -1
  155. package/dist/src/core/trace/linear-api-wrapper.js +0 -1
  156. package/dist/src/core/trace/trace-detector.js +0 -1
  157. package/dist/src/core/trace/trace-store.js +4 -5
  158. package/dist/src/core/trace/types.js +0 -1
  159. package/dist/src/core/types.js +0 -1
  160. package/dist/src/core/utils/async-mutex.js +0 -1
  161. package/dist/src/core/utils/compression.js +0 -1
  162. package/dist/src/core/utils/update-checker.js +0 -1
  163. package/dist/src/core/worktree/worktree-manager.js +0 -1
  164. package/dist/src/daemon/daemon-config.js +0 -1
  165. package/dist/src/daemon/services/context-service.js +0 -1
  166. package/dist/src/daemon/services/linear-service.js +0 -1
  167. package/dist/src/daemon/services/maintenance-service.js +0 -1
  168. package/dist/src/daemon/services/memory-service.js +0 -1
  169. package/dist/src/daemon/session-daemon.js +0 -1
  170. package/dist/src/daemon/unified-daemon.js +0 -1
  171. package/dist/src/features/analytics/api/analytics-api.js +0 -1
  172. package/dist/src/features/analytics/core/analytics-service.js +1 -2
  173. package/dist/src/features/analytics/index.js +0 -1
  174. package/dist/src/features/analytics/queries/metrics-queries.js +8 -9
  175. package/dist/src/features/analytics/types/metrics.js +0 -1
  176. package/dist/src/features/browser/browser-mcp.js +0 -1
  177. package/dist/src/features/sweep/index.js +0 -1
  178. package/dist/src/features/sweep/prediction-client.js +0 -1
  179. package/dist/src/features/sweep/prompt-builder.js +0 -1
  180. package/dist/src/features/sweep/pty-wrapper.js +9 -1
  181. package/dist/src/features/sweep/state-watcher.js +0 -1
  182. package/dist/src/features/sweep/status-bar.js +0 -1
  183. package/dist/src/features/sweep/sweep-server-manager.js +0 -1
  184. package/dist/src/features/sweep/tab-interceptor.js +0 -1
  185. package/dist/src/features/sweep/types.js +0 -1
  186. package/dist/src/features/tasks/linear-task-manager.js +0 -1
  187. package/dist/src/features/tasks/task-aware-context.js +0 -1
  188. package/dist/src/features/tui/simple-monitor.js +0 -1
  189. package/dist/src/features/tui/swarm-monitor.js +0 -1
  190. package/dist/src/features/web/client/stores/task-store.js +0 -1
  191. package/dist/src/features/web/server/index.js +0 -1
  192. package/dist/src/features/workers/tmux-manager.js +0 -1
  193. package/dist/src/features/workers/worker-registry.js +0 -1
  194. package/dist/src/hooks/auto-background.js +0 -1
  195. package/dist/src/hooks/config.js +0 -1
  196. package/dist/src/hooks/daemon.js +8 -1
  197. package/dist/src/hooks/diffmem-hooks.js +0 -1
  198. package/dist/src/hooks/events.js +0 -1
  199. package/dist/src/hooks/graphiti-hooks.js +104 -0
  200. package/dist/src/hooks/index.js +0 -1
  201. package/dist/src/hooks/linear-task-picker.js +0 -1
  202. package/dist/src/hooks/schemas.js +0 -1
  203. package/dist/src/hooks/secure-fs.js +0 -1
  204. package/dist/src/hooks/security-logger.js +0 -1
  205. package/dist/src/hooks/session-summary.js +0 -1
  206. package/dist/src/index.js +0 -1
  207. package/dist/src/integrations/anthropic/client.js +0 -1
  208. package/dist/src/integrations/claude-code/agent-bridge.js +0 -1
  209. package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -1
  210. package/dist/src/integrations/claude-code/lifecycle-hooks.js +0 -1
  211. package/dist/src/integrations/claude-code/post-task-hooks.js +0 -1
  212. package/dist/src/integrations/claude-code/subagent-client-stub.js +0 -1
  213. package/dist/src/integrations/claude-code/subagent-client.js +0 -1
  214. package/dist/src/integrations/claude-code/task-coordinator.js +0 -1
  215. package/dist/src/integrations/diffmem/client.js +0 -1
  216. package/dist/src/integrations/diffmem/config.js +0 -1
  217. package/dist/src/integrations/diffmem/index.js +0 -1
  218. package/dist/src/integrations/diffmem/types.js +0 -1
  219. package/dist/src/integrations/graphiti/client.js +103 -0
  220. package/dist/src/integrations/graphiti/config.js +17 -0
  221. package/dist/src/integrations/graphiti/types.js +4 -0
  222. package/dist/src/integrations/linear/auth.js +0 -1
  223. package/dist/src/integrations/linear/auto-sync.js +0 -1
  224. package/dist/src/integrations/linear/client.js +0 -1
  225. package/dist/src/integrations/linear/config.js +0 -1
  226. package/dist/src/integrations/linear/migration.js +0 -1
  227. package/dist/src/integrations/linear/oauth-server.js +0 -1
  228. package/dist/src/integrations/linear/rest-client.js +0 -1
  229. package/dist/src/integrations/linear/sync-manager.js +0 -1
  230. package/dist/src/integrations/linear/sync-service.js +0 -1
  231. package/dist/src/integrations/linear/sync.js +0 -1
  232. package/dist/src/integrations/linear/types.js +0 -1
  233. package/dist/src/integrations/linear/unified-sync.js +0 -1
  234. package/dist/src/integrations/linear/webhook-handler.js +0 -1
  235. package/dist/src/integrations/linear/webhook-server.js +0 -1
  236. package/dist/src/integrations/linear/webhook.js +0 -1
  237. package/dist/src/integrations/mcp/handlers/code-execution-handlers.js +0 -1
  238. package/dist/src/integrations/mcp/handlers/context-handlers.js +43 -30
  239. package/dist/src/integrations/mcp/handlers/diffmem-handlers.js +0 -1
  240. package/dist/src/integrations/mcp/handlers/discovery-handlers.js +0 -1
  241. package/dist/src/integrations/mcp/handlers/index.js +1 -3
  242. package/dist/src/integrations/mcp/handlers/linear-handlers.js +24 -61
  243. package/dist/src/integrations/mcp/handlers/skill-handlers.js +0 -1
  244. package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -1
  245. package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -1
  246. package/dist/src/integrations/mcp/index.js +0 -1
  247. package/dist/src/integrations/mcp/middleware/tool-scoring.js +3 -2
  248. package/dist/src/integrations/mcp/pending-utils.js +0 -1
  249. package/dist/src/integrations/mcp/refactored-server.js +0 -1
  250. package/dist/src/integrations/mcp/remote-server.js +0 -1
  251. package/dist/src/integrations/mcp/schemas.js +0 -1
  252. package/dist/src/integrations/mcp/server.js +20 -24
  253. package/dist/src/integrations/mcp/tool-definitions-code.js +0 -1
  254. package/dist/src/integrations/mcp/tool-definitions.js +0 -1
  255. package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -1
  256. package/dist/src/integrations/ralph/context/context-budget-manager.js +0 -1
  257. package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +0 -1
  258. package/dist/src/integrations/ralph/coordination/enhanced-coordination.js +0 -1
  259. package/dist/src/integrations/ralph/index.js +0 -1
  260. package/dist/src/integrations/ralph/learning/pattern-learner.js +0 -1
  261. package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +5 -5
  262. package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +0 -1
  263. package/dist/src/integrations/ralph/monitoring/swarm-registry.js +0 -1
  264. package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -1
  265. package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -1
  266. package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +0 -1
  267. package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +0 -1
  268. package/dist/src/integrations/ralph/performance/performance-optimizer.js +0 -1
  269. package/dist/src/integrations/ralph/recovery/crash-recovery.js +0 -1
  270. package/dist/src/integrations/ralph/state/state-reconciler.js +25 -9
  271. package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +0 -1
  272. package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +0 -1
  273. package/dist/src/integrations/ralph/types.js +0 -1
  274. package/dist/src/integrations/ralph/visualization/ralph-debugger.js +0 -1
  275. package/dist/src/mcp/stackmemory-mcp-server.js +0 -1
  276. package/dist/src/middleware/exponential-rate-limiter.js +0 -1
  277. package/dist/src/models/user.model.js +0 -1
  278. package/dist/src/orchestrators/multimodal/constants.js +0 -1
  279. package/dist/src/orchestrators/multimodal/harness.js +0 -1
  280. package/dist/src/orchestrators/multimodal/providers.js +0 -1
  281. package/dist/src/orchestrators/multimodal/types.js +0 -1
  282. package/dist/src/orchestrators/multimodal/utils.js +0 -1
  283. package/dist/src/servers/production/auth-middleware.js +0 -1
  284. package/dist/src/services/config-service.js +0 -1
  285. package/dist/src/services/context-service.js +0 -1
  286. package/dist/src/skills/api-discovery.js +0 -1
  287. package/dist/src/skills/api-skill.js +0 -1
  288. package/dist/src/skills/claude-skills.js +0 -1
  289. package/dist/src/skills/dashboard-launcher.js +0 -1
  290. package/dist/src/skills/linear-task-runner.js +0 -1
  291. package/dist/src/skills/recursive-agent-orchestrator.js +0 -1
  292. package/dist/src/skills/repo-ingestion-skill.js +0 -1
  293. package/dist/src/skills/spec-generator-skill.js +0 -1
  294. package/dist/src/skills/unified-rlm-orchestrator.js +0 -1
  295. package/dist/src/types/task.js +0 -1
  296. package/dist/src/utils/env.js +0 -1
  297. package/dist/src/utils/formatting.js +0 -1
  298. package/dist/src/utils/process-cleanup.js +0 -1
  299. package/package.json +32 -7
  300. package/dist/scripts/benchmark-performance.js +0 -48
  301. package/dist/scripts/benchmark-performance.js.map +0 -7
  302. package/dist/scripts/check-redis.js +0 -42
  303. package/dist/scripts/check-redis.js.map +0 -7
  304. package/dist/scripts/initialize.js +0 -183
  305. package/dist/scripts/initialize.js.map +0 -7
  306. package/dist/scripts/list-linear-tasks.js +0 -124
  307. package/dist/scripts/list-linear-tasks.js.map +0 -7
  308. package/dist/scripts/measure-handoff-impact.js +0 -340
  309. package/dist/scripts/measure-handoff-impact.js.map +0 -7
  310. package/dist/scripts/query-chromadb.js +0 -160
  311. package/dist/scripts/query-chromadb.js.map +0 -7
  312. package/dist/scripts/show-linear-summary.js +0 -119
  313. package/dist/scripts/show-linear-summary.js.map +0 -7
  314. package/dist/scripts/simple-swarm-demo.js +0 -90
  315. package/dist/scripts/simple-swarm-demo.js.map +0 -7
  316. package/dist/scripts/status.js +0 -155
  317. package/dist/scripts/status.js.map +0 -7
  318. package/dist/scripts/test-chromadb-sync.js +0 -192
  319. package/dist/scripts/test-chromadb-sync.js.map +0 -7
  320. package/dist/scripts/test-ralph-iteration-fix.js +0 -86
  321. package/dist/scripts/test-ralph-iteration-fix.js.map +0 -7
  322. package/dist/scripts/test-ralph-iterations.js +0 -121
  323. package/dist/scripts/test-ralph-iterations.js.map +0 -7
  324. package/dist/scripts/test-redis-storage.js +0 -389
  325. package/dist/scripts/test-redis-storage.js.map +0 -7
  326. package/dist/scripts/test-simple-ralph-state-sync.js +0 -115
  327. package/dist/scripts/test-simple-ralph-state-sync.js.map +0 -7
  328. package/dist/scripts/test-swarm-fixes.js +0 -125
  329. package/dist/scripts/test-swarm-fixes.js.map +0 -7
  330. package/dist/scripts/test-swarm-tui.js +0 -23
  331. package/dist/scripts/test-swarm-tui.js.map +0 -7
  332. package/dist/scripts/test-tui-shortcuts.js +0 -52
  333. package/dist/scripts/test-tui-shortcuts.js.map +0 -7
  334. package/dist/scripts/validate-tui-shortcuts.js +0 -60
  335. package/dist/scripts/validate-tui-shortcuts.js.map +0 -7
  336. package/dist/src/agents/core/agent-task-manager.js.map +0 -7
  337. package/dist/src/agents/verifiers/base-verifier.js.map +0 -7
  338. package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -7
  339. package/dist/src/agents/verifiers/llm-judge.js.map +0 -7
  340. package/dist/src/cli/auto-detect.js.map +0 -7
  341. package/dist/src/cli/claude-sm-danger.js.map +0 -7
  342. package/dist/src/cli/claude-sm.js.map +0 -7
  343. package/dist/src/cli/codex-sm-danger.js.map +0 -7
  344. package/dist/src/cli/codex-sm.js.map +0 -7
  345. package/dist/src/cli/commands/api.js.map +0 -7
  346. package/dist/src/cli/commands/auto-background.js.map +0 -7
  347. package/dist/src/cli/commands/cleanup-processes.js.map +0 -7
  348. package/dist/src/cli/commands/clear.js.map +0 -7
  349. package/dist/src/cli/commands/config.js.map +0 -7
  350. package/dist/src/cli/commands/context-rehydrate.js.map +0 -7
  351. package/dist/src/cli/commands/context.js.map +0 -7
  352. package/dist/src/cli/commands/daemon.js.map +0 -7
  353. package/dist/src/cli/commands/dashboard.js.map +0 -7
  354. package/dist/src/cli/commands/db.js.map +0 -7
  355. package/dist/src/cli/commands/decision.js.map +0 -7
  356. package/dist/src/cli/commands/discovery.js.map +0 -7
  357. package/dist/src/cli/commands/handoff.js.map +0 -7
  358. package/dist/src/cli/commands/hooks.js.map +0 -7
  359. package/dist/src/cli/commands/linear.js.map +0 -7
  360. package/dist/src/cli/commands/log.js.map +0 -7
  361. package/dist/src/cli/commands/login.js.map +0 -7
  362. package/dist/src/cli/commands/migrate.js.map +0 -7
  363. package/dist/src/cli/commands/model.js.map +0 -7
  364. package/dist/src/cli/commands/onboard.js.map +0 -7
  365. package/dist/src/cli/commands/ping.js.map +0 -7
  366. package/dist/src/cli/commands/projects.js.map +0 -7
  367. package/dist/src/cli/commands/ralph.js.map +0 -7
  368. package/dist/src/cli/commands/retrieval.js.map +0 -7
  369. package/dist/src/cli/commands/search.js.map +0 -7
  370. package/dist/src/cli/commands/service.js.map +0 -7
  371. package/dist/src/cli/commands/session.js.map +0 -7
  372. package/dist/src/cli/commands/settings.js +0 -306
  373. package/dist/src/cli/commands/settings.js.map +0 -7
  374. package/dist/src/cli/commands/setup.js.map +0 -7
  375. package/dist/src/cli/commands/shell.js.map +0 -7
  376. package/dist/src/cli/commands/signup.js.map +0 -7
  377. package/dist/src/cli/commands/skills.js.map +0 -7
  378. package/dist/src/cli/commands/sms-notify.js +0 -795
  379. package/dist/src/cli/commands/sms-notify.js.map +0 -7
  380. package/dist/src/cli/commands/storage-tier.js.map +0 -7
  381. package/dist/src/cli/commands/sweep.js.map +0 -7
  382. package/dist/src/cli/commands/tasks.js.map +0 -7
  383. package/dist/src/cli/commands/worktree.js.map +0 -7
  384. package/dist/src/cli/index.js.map +0 -7
  385. package/dist/src/cli/opencode-sm.js.map +0 -7
  386. package/dist/src/cli/utils/viewer.js.map +0 -7
  387. package/dist/src/core/config/config-manager.js.map +0 -7
  388. package/dist/src/core/config/feature-flags.js.map +0 -7
  389. package/dist/src/core/config/storage-config.js.map +0 -7
  390. package/dist/src/core/config/types.js.map +0 -7
  391. package/dist/src/core/context/auto-context.js.map +0 -7
  392. package/dist/src/core/context/dual-stack-manager.js.map +0 -7
  393. package/dist/src/core/context/enhanced-rehydration.js.map +0 -7
  394. package/dist/src/core/context/frame-database.js.map +0 -7
  395. package/dist/src/core/context/frame-digest.js.map +0 -7
  396. package/dist/src/core/context/frame-handoff-manager.js.map +0 -7
  397. package/dist/src/core/context/frame-lifecycle-hooks.js.map +0 -7
  398. package/dist/src/core/context/frame-recovery.js.map +0 -7
  399. package/dist/src/core/context/frame-stack.js.map +0 -7
  400. package/dist/src/core/context/frame-types.js.map +0 -7
  401. package/dist/src/core/context/index.js.map +0 -7
  402. package/dist/src/core/context/permission-manager.js.map +0 -7
  403. package/dist/src/core/context/recursive-context-manager.js.map +0 -7
  404. package/dist/src/core/context/refactored-frame-manager.js.map +0 -7
  405. package/dist/src/core/context/shared-context-layer.js.map +0 -7
  406. package/dist/src/core/context/stack-merge-resolver.js.map +0 -7
  407. package/dist/src/core/context/validation.js.map +0 -7
  408. package/dist/src/core/database/batch-operations.js.map +0 -7
  409. package/dist/src/core/database/connection-pool.js.map +0 -7
  410. package/dist/src/core/database/database-adapter.js.map +0 -7
  411. package/dist/src/core/database/embedding-provider-factory.js.map +0 -7
  412. package/dist/src/core/database/embedding-provider.js.map +0 -7
  413. package/dist/src/core/database/migration-manager.js.map +0 -7
  414. package/dist/src/core/database/ollama-embedding-provider.js.map +0 -7
  415. package/dist/src/core/database/openai-embedding-provider.js.map +0 -7
  416. package/dist/src/core/database/query-cache.js.map +0 -7
  417. package/dist/src/core/database/query-router.js.map +0 -7
  418. package/dist/src/core/database/sqlite-adapter.js.map +0 -7
  419. package/dist/src/core/database/transformers-embedding-provider.js.map +0 -7
  420. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -7
  421. package/dist/src/core/digest/frame-digest-integration.js.map +0 -7
  422. package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -7
  423. package/dist/src/core/digest/index.js.map +0 -7
  424. package/dist/src/core/digest/types.js.map +0 -7
  425. package/dist/src/core/errors/error-utils.js.map +0 -7
  426. package/dist/src/core/errors/index.js.map +0 -7
  427. package/dist/src/core/errors/recovery.js.map +0 -7
  428. package/dist/src/core/execution/parallel-executor.js.map +0 -7
  429. package/dist/src/core/extensions/custom-tools.js.map +0 -7
  430. package/dist/src/core/extensions/index.js.map +0 -7
  431. package/dist/src/core/extensions/loader.js.map +0 -7
  432. package/dist/src/core/extensions/plugin-system.js.map +0 -7
  433. package/dist/src/core/extensions/provider-adapter.js.map +0 -7
  434. package/dist/src/core/extensions/sandbox-runtime.js.map +0 -7
  435. package/dist/src/core/extensions/types.js.map +0 -7
  436. package/dist/src/core/frame/workflow-templates.js.map +0 -7
  437. package/dist/src/core/merge/conflict-detector.js.map +0 -7
  438. package/dist/src/core/merge/index.js.map +0 -7
  439. package/dist/src/core/merge/resolution-engine.js.map +0 -7
  440. package/dist/src/core/merge/stack-diff.js.map +0 -7
  441. package/dist/src/core/merge/types.js.map +0 -7
  442. package/dist/src/core/merge/unified-merge-resolver.js.map +0 -7
  443. package/dist/src/core/models/fallback-monitor.js.map +0 -7
  444. package/dist/src/core/models/model-router.js.map +0 -7
  445. package/dist/src/core/monitoring/error-handler.js.map +0 -7
  446. package/dist/src/core/monitoring/logger.js.map +0 -7
  447. package/dist/src/core/monitoring/metrics.js.map +0 -7
  448. package/dist/src/core/monitoring/progress-tracker.js.map +0 -7
  449. package/dist/src/core/monitoring/session-monitor.js.map +0 -7
  450. package/dist/src/core/performance/context-cache.js.map +0 -7
  451. package/dist/src/core/performance/index.js.map +0 -7
  452. package/dist/src/core/performance/lazy-context-loader.js.map +0 -7
  453. package/dist/src/core/performance/monitor.js.map +0 -7
  454. package/dist/src/core/performance/optimized-frame-context.js.map +0 -7
  455. package/dist/src/core/performance/performance-benchmark.js.map +0 -7
  456. package/dist/src/core/performance/performance-profiler.js.map +0 -7
  457. package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -7
  458. package/dist/src/core/persistence/postgres-adapter.js.map +0 -7
  459. package/dist/src/core/projects/project-isolation.js.map +0 -7
  460. package/dist/src/core/projects/project-manager.js.map +0 -7
  461. package/dist/src/core/query/query-parser.js.map +0 -7
  462. package/dist/src/core/query/query-templates.js.map +0 -7
  463. package/dist/src/core/retrieval/context-retriever.js.map +0 -7
  464. package/dist/src/core/retrieval/index.js.map +0 -7
  465. package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -7
  466. package/dist/src/core/retrieval/llm-provider.js.map +0 -7
  467. package/dist/src/core/retrieval/privacy-filter.js.map +0 -7
  468. package/dist/src/core/retrieval/retrieval-audit.js.map +0 -7
  469. package/dist/src/core/retrieval/summary-generator.js.map +0 -7
  470. package/dist/src/core/retrieval/types.js.map +0 -7
  471. package/dist/src/core/retrieval/unified-context-assembler.js.map +0 -7
  472. package/dist/src/core/security/index.js.map +0 -7
  473. package/dist/src/core/security/input-sanitizer.js.map +0 -7
  474. package/dist/src/core/session/clear-survival.js.map +0 -7
  475. package/dist/src/core/session/enhanced-handoff.js.map +0 -7
  476. package/dist/src/core/session/handoff-generator.js.map +0 -7
  477. package/dist/src/core/session/index.js.map +0 -7
  478. package/dist/src/core/session/session-manager.js.map +0 -7
  479. package/dist/src/core/skills/index.js.map +0 -7
  480. package/dist/src/core/skills/skill-storage.js.map +0 -7
  481. package/dist/src/core/skills/types.js.map +0 -7
  482. package/dist/src/core/storage/chromadb-adapter.js.map +0 -7
  483. package/dist/src/core/storage/infinite-storage.js.map +0 -7
  484. package/dist/src/core/storage/project-registry.js.map +0 -7
  485. package/dist/src/core/storage/remote-storage.js.map +0 -7
  486. package/dist/src/core/storage/storage-tier-manager.js.map +0 -7
  487. package/dist/src/core/storage/two-tier-storage.js.map +0 -7
  488. package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -7
  489. package/dist/src/core/trace/db-trace-wrapper.js.map +0 -7
  490. package/dist/src/core/trace/debug-trace.js.map +0 -7
  491. package/dist/src/core/trace/index.js.map +0 -7
  492. package/dist/src/core/trace/linear-api-wrapper.js.map +0 -7
  493. package/dist/src/core/trace/trace-detector.js.map +0 -7
  494. package/dist/src/core/trace/trace-store.js.map +0 -7
  495. package/dist/src/core/trace/types.js.map +0 -7
  496. package/dist/src/core/types.js.map +0 -7
  497. package/dist/src/core/utils/async-mutex.js.map +0 -7
  498. package/dist/src/core/utils/compression.js.map +0 -7
  499. package/dist/src/core/utils/update-checker.js.map +0 -7
  500. package/dist/src/core/worktree/worktree-manager.js.map +0 -7
  501. package/dist/src/daemon/daemon-config.js.map +0 -7
  502. package/dist/src/daemon/services/context-service.js.map +0 -7
  503. package/dist/src/daemon/services/linear-service.js.map +0 -7
  504. package/dist/src/daemon/services/maintenance-service.js.map +0 -7
  505. package/dist/src/daemon/services/memory-service.js.map +0 -7
  506. package/dist/src/daemon/session-daemon.js.map +0 -7
  507. package/dist/src/daemon/unified-daemon.js.map +0 -7
  508. package/dist/src/features/analytics/api/analytics-api.js.map +0 -7
  509. package/dist/src/features/analytics/core/analytics-service.js.map +0 -7
  510. package/dist/src/features/analytics/index.js.map +0 -7
  511. package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -7
  512. package/dist/src/features/analytics/types/metrics.js.map +0 -7
  513. package/dist/src/features/browser/browser-mcp.js.map +0 -7
  514. package/dist/src/features/sweep/index.js.map +0 -7
  515. package/dist/src/features/sweep/prediction-client.js.map +0 -7
  516. package/dist/src/features/sweep/prompt-builder.js.map +0 -7
  517. package/dist/src/features/sweep/pty-wrapper.js.map +0 -7
  518. package/dist/src/features/sweep/state-watcher.js.map +0 -7
  519. package/dist/src/features/sweep/status-bar.js.map +0 -7
  520. package/dist/src/features/sweep/sweep-server-manager.js.map +0 -7
  521. package/dist/src/features/sweep/tab-interceptor.js.map +0 -7
  522. package/dist/src/features/sweep/types.js.map +0 -7
  523. package/dist/src/features/tasks/linear-task-manager.js.map +0 -7
  524. package/dist/src/features/tasks/task-aware-context.js.map +0 -7
  525. package/dist/src/features/tui/simple-monitor.js.map +0 -7
  526. package/dist/src/features/tui/swarm-monitor.js.map +0 -7
  527. package/dist/src/features/web/client/stores/task-store.js.map +0 -7
  528. package/dist/src/features/web/server/index.js.map +0 -7
  529. package/dist/src/features/workers/tmux-manager.js.map +0 -7
  530. package/dist/src/features/workers/worker-registry.js.map +0 -7
  531. package/dist/src/hooks/auto-background.js.map +0 -7
  532. package/dist/src/hooks/claude-code-whatsapp-hook.js +0 -197
  533. package/dist/src/hooks/claude-code-whatsapp-hook.js.map +0 -7
  534. package/dist/src/hooks/config.js.map +0 -7
  535. package/dist/src/hooks/daemon.js.map +0 -7
  536. package/dist/src/hooks/diffmem-hooks.js.map +0 -7
  537. package/dist/src/hooks/events.js.map +0 -7
  538. package/dist/src/hooks/index.js.map +0 -7
  539. package/dist/src/hooks/linear-task-picker.js.map +0 -7
  540. package/dist/src/hooks/schemas.js.map +0 -7
  541. package/dist/src/hooks/secure-fs.js.map +0 -7
  542. package/dist/src/hooks/security-logger.js.map +0 -7
  543. package/dist/src/hooks/session-summary.js.map +0 -7
  544. package/dist/src/hooks/sms-action-runner.js +0 -371
  545. package/dist/src/hooks/sms-action-runner.js.map +0 -7
  546. package/dist/src/hooks/sms-notify.js +0 -506
  547. package/dist/src/hooks/sms-notify.js.map +0 -7
  548. package/dist/src/hooks/sms-watcher.js +0 -93
  549. package/dist/src/hooks/sms-watcher.js.map +0 -7
  550. package/dist/src/hooks/sms-webhook.js +0 -555
  551. package/dist/src/hooks/sms-webhook.js.map +0 -7
  552. package/dist/src/hooks/whatsapp-commands.js +0 -479
  553. package/dist/src/hooks/whatsapp-commands.js.map +0 -7
  554. package/dist/src/hooks/whatsapp-scheduler.js +0 -317
  555. package/dist/src/hooks/whatsapp-scheduler.js.map +0 -7
  556. package/dist/src/hooks/whatsapp-sync.js +0 -409
  557. package/dist/src/hooks/whatsapp-sync.js.map +0 -7
  558. package/dist/src/index.js.map +0 -7
  559. package/dist/src/integrations/anthropic/client.js.map +0 -7
  560. package/dist/src/integrations/claude-code/agent-bridge.js.map +0 -7
  561. package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
  562. package/dist/src/integrations/claude-code/lifecycle-hooks.js.map +0 -7
  563. package/dist/src/integrations/claude-code/post-task-hooks.js.map +0 -7
  564. package/dist/src/integrations/claude-code/subagent-client-stub.js.map +0 -7
  565. package/dist/src/integrations/claude-code/subagent-client.js.map +0 -7
  566. package/dist/src/integrations/claude-code/task-coordinator.js.map +0 -7
  567. package/dist/src/integrations/diffmem/client.js.map +0 -7
  568. package/dist/src/integrations/diffmem/config.js.map +0 -7
  569. package/dist/src/integrations/diffmem/index.js.map +0 -7
  570. package/dist/src/integrations/diffmem/types.js.map +0 -7
  571. package/dist/src/integrations/linear/auth.js.map +0 -7
  572. package/dist/src/integrations/linear/auto-sync.js.map +0 -7
  573. package/dist/src/integrations/linear/client.js.map +0 -7
  574. package/dist/src/integrations/linear/config.js.map +0 -7
  575. package/dist/src/integrations/linear/migration.js.map +0 -7
  576. package/dist/src/integrations/linear/oauth-server.js.map +0 -7
  577. package/dist/src/integrations/linear/rest-client.js.map +0 -7
  578. package/dist/src/integrations/linear/sync-manager.js.map +0 -7
  579. package/dist/src/integrations/linear/sync-service.js.map +0 -7
  580. package/dist/src/integrations/linear/sync.js.map +0 -7
  581. package/dist/src/integrations/linear/types.js.map +0 -7
  582. package/dist/src/integrations/linear/unified-sync.js.map +0 -7
  583. package/dist/src/integrations/linear/webhook-handler.js.map +0 -7
  584. package/dist/src/integrations/linear/webhook-server.js.map +0 -7
  585. package/dist/src/integrations/linear/webhook.js.map +0 -7
  586. package/dist/src/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
  587. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -7
  588. package/dist/src/integrations/mcp/handlers/diffmem-handlers.js.map +0 -7
  589. package/dist/src/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
  590. package/dist/src/integrations/mcp/handlers/index.js.map +0 -7
  591. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -7
  592. package/dist/src/integrations/mcp/handlers/skill-handlers.js.map +0 -7
  593. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -7
  594. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -7
  595. package/dist/src/integrations/mcp/index.js.map +0 -7
  596. package/dist/src/integrations/mcp/middleware/tool-scoring.js.map +0 -7
  597. package/dist/src/integrations/mcp/pending-utils.js.map +0 -7
  598. package/dist/src/integrations/mcp/refactored-server.js.map +0 -7
  599. package/dist/src/integrations/mcp/remote-server.js.map +0 -7
  600. package/dist/src/integrations/mcp/schemas.js.map +0 -7
  601. package/dist/src/integrations/mcp/server.js.map +0 -7
  602. package/dist/src/integrations/mcp/tool-definitions-code.js.map +0 -7
  603. package/dist/src/integrations/mcp/tool-definitions.js.map +0 -7
  604. package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
  605. package/dist/src/integrations/ralph/context/context-budget-manager.js.map +0 -7
  606. package/dist/src/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
  607. package/dist/src/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
  608. package/dist/src/integrations/ralph/index.js.map +0 -7
  609. package/dist/src/integrations/ralph/learning/pattern-learner.js.map +0 -7
  610. package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
  611. package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
  612. package/dist/src/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
  613. package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
  614. package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
  615. package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
  616. package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
  617. package/dist/src/integrations/ralph/performance/performance-optimizer.js.map +0 -7
  618. package/dist/src/integrations/ralph/recovery/crash-recovery.js.map +0 -7
  619. package/dist/src/integrations/ralph/state/state-reconciler.js.map +0 -7
  620. package/dist/src/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
  621. package/dist/src/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
  622. package/dist/src/integrations/ralph/types.js.map +0 -7
  623. package/dist/src/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
  624. package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -7
  625. package/dist/src/middleware/exponential-rate-limiter.js.map +0 -7
  626. package/dist/src/models/user.model.js.map +0 -7
  627. package/dist/src/orchestrators/multimodal/constants.js.map +0 -7
  628. package/dist/src/orchestrators/multimodal/harness.js.map +0 -7
  629. package/dist/src/orchestrators/multimodal/providers.js.map +0 -7
  630. package/dist/src/orchestrators/multimodal/types.js.map +0 -7
  631. package/dist/src/orchestrators/multimodal/utils.js.map +0 -7
  632. package/dist/src/servers/production/auth-middleware.js.map +0 -7
  633. package/dist/src/services/config-service.js.map +0 -7
  634. package/dist/src/services/context-service.js.map +0 -7
  635. package/dist/src/skills/api-discovery.js.map +0 -7
  636. package/dist/src/skills/api-skill.js.map +0 -7
  637. package/dist/src/skills/claude-skills.js.map +0 -7
  638. package/dist/src/skills/dashboard-launcher.js.map +0 -7
  639. package/dist/src/skills/linear-task-runner.js.map +0 -7
  640. package/dist/src/skills/recursive-agent-orchestrator.js.map +0 -7
  641. package/dist/src/skills/repo-ingestion-skill.js.map +0 -7
  642. package/dist/src/skills/spec-generator-skill.js.map +0 -7
  643. package/dist/src/skills/unified-rlm-orchestrator.js.map +0 -7
  644. package/dist/src/types/task.js.map +0 -7
  645. package/dist/src/utils/env.js.map +0 -7
  646. package/dist/src/utils/formatting.js.map +0 -7
  647. package/dist/src/utils/process-cleanup.js.map +0 -7
  648. package/scripts/README-TESTING.md +0 -186
  649. package/scripts/analyze-cli-security.js +0 -288
  650. package/scripts/archive/add-phase-tasks-to-linear.js +0 -163
  651. package/scripts/archive/analyze-linear-duplicates.js +0 -214
  652. package/scripts/archive/analyze-remaining-duplicates.js +0 -230
  653. package/scripts/archive/analyze-sta-duplicates.js +0 -292
  654. package/scripts/archive/analyze-sta-graphql.js +0 -399
  655. package/scripts/archive/cancel-duplicate-tasks.ts +0 -246
  656. package/scripts/archive/check-all-duplicates.ts +0 -419
  657. package/scripts/archive/clean-duplicate-tasks.js +0 -114
  658. package/scripts/archive/cleanup-duplicate-tasks.ts +0 -286
  659. package/scripts/archive/create-phase-tasks.js +0 -387
  660. package/scripts/archive/delete-linear-duplicates.js +0 -182
  661. package/scripts/archive/delete-remaining-duplicates.js +0 -158
  662. package/scripts/archive/delete-sta-duplicates.js +0 -201
  663. package/scripts/archive/delete-sta-oauth.js +0 -201
  664. package/scripts/archive/export-sta-tasks.js +0 -62
  665. package/scripts/archive/install-auto-sync.js +0 -266
  666. package/scripts/archive/install-chromadb-hooks.sh +0 -133
  667. package/scripts/archive/install-enhanced-clear-hooks.sh +0 -431
  668. package/scripts/archive/install-post-task-hooks.sh +0 -289
  669. package/scripts/archive/install-stackmemory-hooks.sh +0 -420
  670. package/scripts/archive/merge-linear-duplicates-safe.ts +0 -362
  671. package/scripts/archive/merge-linear-duplicates.ts +0 -182
  672. package/scripts/archive/remove-sta-tasks.js +0 -70
  673. package/scripts/archive/setup-background-sync.sh +0 -168
  674. package/scripts/archive/setup-claude-auto-triggers.sh +0 -181
  675. package/scripts/archive/setup-claude-autostart.sh +0 -305
  676. package/scripts/archive/setup-git-hooks.sh +0 -25
  677. package/scripts/archive/setup-linear-oauth.sh +0 -46
  678. package/scripts/archive/setup-mcp.sh +0 -113
  679. package/scripts/archive/setup-railway-deployment.sh +0 -81
  680. package/scripts/auto-handoff.sh +0 -262
  681. package/scripts/background-sync-manager.js +0 -478
  682. package/scripts/benchmark-performance.ts +0 -57
  683. package/scripts/check-redis.ts +0 -48
  684. package/scripts/chromadb-auto-loader.sh +0 -128
  685. package/scripts/chromadb-context-loader.js +0 -479
  686. package/scripts/claude-chromadb-hook.js +0 -460
  687. package/scripts/claude-linear-skill.js +0 -455
  688. package/scripts/claude-pre-commit.sh +0 -302
  689. package/scripts/claude-sm-autostart.js +0 -579
  690. package/scripts/claude-with-chromadb.sh +0 -69
  691. package/scripts/clean-linear-backlog.js +0 -273
  692. package/scripts/cleanup-old-sessions.sh +0 -57
  693. package/scripts/create-cleanup-issues.js +0 -302
  694. package/scripts/create-sandbox.sh +0 -269
  695. package/scripts/debug-linear-update.js +0 -174
  696. package/scripts/delete-linear-tasks.js +0 -167
  697. package/scripts/demos/browser-test.ts +0 -39
  698. package/scripts/demos/ralph-integration-demo.ts +0 -245
  699. package/scripts/demos/trace-demo.ts +0 -200
  700. package/scripts/demos/trace-detector.demo.ts +0 -171
  701. package/scripts/demos/trace-test.ts +0 -79
  702. package/scripts/deploy-ralph-swarm.sh +0 -365
  703. package/scripts/deploy.sh +0 -89
  704. package/scripts/deployment/test-deployment.js +0 -194
  705. package/scripts/detect-and-rehydrate.js +0 -162
  706. package/scripts/detect-and-rehydrate.mjs +0 -165
  707. package/scripts/development/create-demo-tasks.js +0 -143
  708. package/scripts/development/debug-frame-test.js +0 -16
  709. package/scripts/development/demo-auto-sync.js +0 -128
  710. package/scripts/development/fix-all-imports.js +0 -213
  711. package/scripts/development/fix-imports.js +0 -229
  712. package/scripts/development/fix-lint-loop.cjs +0 -103
  713. package/scripts/development/fix-project-id.ts +0 -161
  714. package/scripts/development/fix-strict-mode-issues.ts +0 -291
  715. package/scripts/development/reorganize-structure.sh +0 -228
  716. package/scripts/development/test-persistence-direct.js +0 -148
  717. package/scripts/development/test-persistence.js +0 -114
  718. package/scripts/development/test-tasks.js +0 -93
  719. package/scripts/development/update-imports.js +0 -212
  720. package/scripts/fetch-linear-status.js +0 -125
  721. package/scripts/initialize.ts +0 -220
  722. package/scripts/linear-auto-sync.js +0 -262
  723. package/scripts/linear-auto-sync.sh +0 -161
  724. package/scripts/linear-sync-daemon.js +0 -150
  725. package/scripts/linear-task-review.js +0 -237
  726. package/scripts/list-linear-tasks.ts +0 -178
  727. package/scripts/mcp-proxy.js +0 -66
  728. package/scripts/measure-handoff-impact.mjs +0 -395
  729. package/scripts/measure-handoff-impact.ts +0 -450
  730. package/scripts/publish-local.js +0 -74
  731. package/scripts/query-chromadb.ts +0 -201
  732. package/scripts/ralph-integration-test.js +0 -274
  733. package/scripts/reconcile-local-tasks.js +0 -170
  734. package/scripts/recreate-frames-db.js +0 -89
  735. package/scripts/show-linear-summary.ts +0 -172
  736. package/scripts/simple-swarm-demo.ts +0 -114
  737. package/scripts/stackmemory-auto-handoff.sh +0 -231
  738. package/scripts/start-linear-sync-daemon.sh +0 -141
  739. package/scripts/start-temporal-paradox.sh +0 -214
  740. package/scripts/status.ts +0 -224
  741. package/scripts/stop-notify-webhook.sh +0 -19
  742. package/scripts/swarm-monitor.js +0 -509
  743. package/scripts/sync-and-clean-tasks.js +0 -258
  744. package/scripts/sync-linear-graphql.js +0 -303
  745. package/scripts/sync-linear-tasks.js +0 -186
  746. package/scripts/test-auto-triggers.sh +0 -57
  747. package/scripts/test-browser-mcp.js +0 -74
  748. package/scripts/test-chromadb-full.js +0 -115
  749. package/scripts/test-chromadb-hooks.sh +0 -28
  750. package/scripts/test-chromadb-sync.ts +0 -245
  751. package/scripts/test-claude-config.sh +0 -123
  752. package/scripts/test-cli-security.js +0 -293
  753. package/scripts/test-code-execution.js +0 -143
  754. package/scripts/test-hooks-persistence.sh +0 -220
  755. package/scripts/test-installation-scenarios.sh +0 -359
  756. package/scripts/test-installation.sh +0 -224
  757. package/scripts/test-mcp.js +0 -163
  758. package/scripts/test-parallel-swarms.js +0 -443
  759. package/scripts/test-pre-publish-quick.sh +0 -69
  760. package/scripts/test-quality-gates.sh +0 -263
  761. package/scripts/test-ralph-iteration-fix.ts +0 -118
  762. package/scripts/test-ralph-iterations.ts +0 -164
  763. package/scripts/test-redis-storage.ts +0 -490
  764. package/scripts/test-rlm-basic.sh +0 -122
  765. package/scripts/test-rlm-comprehensive.sh +0 -260
  766. package/scripts/test-rlm-e2e.sh +0 -268
  767. package/scripts/test-rlm-simple.js +0 -90
  768. package/scripts/test-rlm.js +0 -110
  769. package/scripts/test-session-handoff.sh +0 -165
  770. package/scripts/test-setup-e2e.sh +0 -154
  771. package/scripts/test-shell-integration.sh +0 -275
  772. package/scripts/test-simple-ralph-state-sync.ts +0 -178
  773. package/scripts/test-swarm-fixes.ts +0 -161
  774. package/scripts/test-swarm-git-workflow.js +0 -338
  775. package/scripts/test-swarm-tui.ts +0 -34
  776. package/scripts/test-tui-shortcuts.ts +0 -66
  777. package/scripts/testing/ab-test-runner.ts +0 -510
  778. package/scripts/testing/collect-metrics.ts +0 -457
  779. package/scripts/testing/quick-effectiveness-demo.js +0 -187
  780. package/scripts/testing/ralph-cli-test.js +0 -88
  781. package/scripts/testing/ralph-integration-validation.js +0 -727
  782. package/scripts/testing/ralph-swarm-test-scenarios.js +0 -613
  783. package/scripts/testing/real-performance-test.js +0 -422
  784. package/scripts/testing/results/real-performance-results.json +0 -90
  785. package/scripts/testing/run-effectiveness-tests.sh +0 -176
  786. package/scripts/testing/simple-effectiveness-test.js +0 -310
  787. package/scripts/testing/test-tier-migration.js +0 -100
  788. package/scripts/update-linear-status.js +0 -268
  789. package/scripts/update-linear-tasks-fixed.js +0 -284
  790. package/scripts/validate-claude-config.sh +0 -155
  791. package/scripts/validate-swarm-implementation.js +0 -467
  792. package/scripts/validate-tui-shortcuts.ts +0 -83
@@ -1,288 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Security Analysis Script for StackMemory CLI/API
5
- * Analyzes code for input validation and security vulnerabilities
6
- */
7
-
8
- import { readFileSync, readdirSync, statSync } from 'fs';
9
- import { join, extname } from 'path';
10
-
11
- const SECURITY_ISSUES = {
12
- CRITICAL: [],
13
- HIGH: [],
14
- MEDIUM: [],
15
- LOW: []
16
- };
17
-
18
- // Color helpers
19
- const red = (str) => `\x1b[31m${str}\x1b[0m`;
20
- const yellow = (str) => `\x1b[33m${str}\x1b[0m`;
21
- const green = (str) => `\x1b[32m${str}\x1b[0m`;
22
- const blue = (str) => `\x1b[34m${str}\x1b[0m`;
23
-
24
- // Security patterns to check
25
- const SECURITY_PATTERNS = {
26
- SQL_INJECTION: {
27
- patterns: [
28
- /\.prepare\s*\(\s*[`"'].*\$\{.*\}.*[`"']\s*\)/g,
29
- /\.prepare\s*\(\s*[`"'].*\+.*[`"']\s*\)/g,
30
- /\.exec\s*\(\s*[^`"'].*\)/g,
31
- /WHERE.*LIKE\s*\?/gi
32
- ],
33
- severity: 'HIGH',
34
- description: 'Potential SQL injection vulnerability'
35
- },
36
- COMMAND_INJECTION: {
37
- patterns: [
38
- /exec\s*\(.*\$\{.*\}/g,
39
- /execSync\s*\(.*\$\{.*\}/g,
40
- /spawn\s*\(.*,\s*\[.*\$\{.*\}/g,
41
- /child_process.*exec/g
42
- ],
43
- severity: 'CRITICAL',
44
- description: 'Potential command injection vulnerability'
45
- },
46
- PATH_TRAVERSAL: {
47
- patterns: [
48
- /\.\.\//g,
49
- /join\s*\(.*process\.cwd\(\).*,.*[^'"]\)/g,
50
- /readFileSync\s*\([^'"].*\)/g
51
- ],
52
- severity: 'HIGH',
53
- description: 'Potential path traversal vulnerability'
54
- },
55
- NO_INPUT_VALIDATION: {
56
- patterns: [
57
- /parseInt\s*\(.*\)\s*(?!.*isNaN)/g,
58
- /JSON\.parse\s*\(.*\)\s*(?!.*try)/g,
59
- /\.action\s*\(\s*async.*\{[\s\S]*?(?!validate|check|verify)[\s\S]*?\}\)/g
60
- ],
61
- severity: 'MEDIUM',
62
- description: 'Missing input validation'
63
- },
64
- HARDCODED_SECRETS: {
65
- patterns: [
66
- /api[_-]?key\s*[:=]\s*["'][^"']+["']/gi,
67
- /secret\s*[:=]\s*["'][^"']+["']/gi,
68
- /token\s*[:=]\s*["'][^"']+["']/gi,
69
- /password\s*[:=]\s*["'][^"']+["']/gi
70
- ],
71
- severity: 'CRITICAL',
72
- description: 'Hardcoded secrets detected'
73
- },
74
- UNSAFE_REGEX: {
75
- patterns: [
76
- /new RegExp\s*\(/g,
77
- /\/\.\*.*\.\*\//g
78
- ],
79
- severity: 'LOW',
80
- description: 'Potentially unsafe regular expression'
81
- }
82
- };
83
-
84
- // Validation patterns found
85
- const VALIDATION_PATTERNS = {
86
- INPUT_SANITIZATION: [
87
- /\.replace\s*\(\/\[.*\]\/g/,
88
- /\.trim\(\)/,
89
- /\.slice\(0,\s*\d+\)/,
90
- /validator\./
91
- ],
92
- ERROR_HANDLING: [
93
- /try\s*\{[\s\S]*?\}\s*catch/,
94
- /\.catch\s*\(/,
95
- /if\s*\(!.*\)\s*\{[\s\S]*?throw/,
96
- /if\s*\(!.*\)\s*\{[\s\S]*?process\.exit/
97
- ],
98
- TYPE_CHECKING: [
99
- /typeof.*===\s*['"]string['"]/,
100
- /instanceof/,
101
- /isNaN\s*\(/,
102
- /Number\.isInteger/
103
- ],
104
- BOUNDS_CHECKING: [
105
- /if\s*\(.*[<>]=?\s*\d+/,
106
- /Math\.(min|max)\s*\(/,
107
- /\.slice\(0,\s*\d+\)/
108
- ],
109
- SQL_PARAMETERIZATION: [
110
- /\.prepare\s*\([\s\S]*?\?\s*[\s\S]*?\)/,
111
- /\.all\s*\(.*\)/,
112
- /\.run\s*\(.*\)/
113
- ]
114
- };
115
-
116
- // Analyze a file
117
- function analyzeFile(filePath) {
118
- const content = readFileSync(filePath, 'utf8');
119
- const lines = content.split('\n');
120
- const fileName = filePath.replace(process.cwd() + '/', '');
121
- const issues = [];
122
- const validations = [];
123
-
124
- // Check for security patterns
125
- for (const [name, config] of Object.entries(SECURITY_PATTERNS)) {
126
- for (const pattern of config.patterns) {
127
- const matches = content.matchAll(pattern);
128
- for (const match of matches) {
129
- const lineNum = content.substring(0, match.index).split('\n').length;
130
- const line = lines[lineNum - 1]?.trim() || '';
131
-
132
- // Skip if it's in a comment
133
- if (line.startsWith('//') || line.startsWith('*')) continue;
134
-
135
- issues.push({
136
- file: fileName,
137
- line: lineNum,
138
- type: name,
139
- severity: config.severity,
140
- description: config.description,
141
- code: line.substring(0, 80)
142
- });
143
- }
144
- }
145
- }
146
-
147
- // Check for validation patterns
148
- for (const [type, patterns] of Object.entries(VALIDATION_PATTERNS)) {
149
- for (const pattern of patterns) {
150
- if (pattern.test(content)) {
151
- validations.push({
152
- file: fileName,
153
- type: type,
154
- found: true
155
- });
156
- }
157
- }
158
- }
159
-
160
- return { issues, validations };
161
- }
162
-
163
- // Recursively find TypeScript files
164
- function findFiles(dir, files = []) {
165
- const items = readdirSync(dir);
166
-
167
- for (const item of items) {
168
- const fullPath = join(dir, item);
169
- const stat = statSync(fullPath);
170
-
171
- if (stat.isDirectory()) {
172
- if (!item.includes('node_modules') && !item.startsWith('.')) {
173
- findFiles(fullPath, files);
174
- }
175
- } else if (extname(item) === '.ts' || extname(item) === '.js') {
176
- files.push(fullPath);
177
- }
178
- }
179
-
180
- return files;
181
- }
182
-
183
- // Main analysis
184
- function main() {
185
- console.log(blue('\nšŸ” StackMemory CLI/API Security Analysis\n'));
186
-
187
- const srcDir = join(process.cwd(), 'src');
188
- const cliFiles = findFiles(join(srcDir, 'cli'));
189
- const apiFiles = findFiles(join(srcDir, 'features', 'analytics', 'api'));
190
- const allFiles = [...cliFiles, ...apiFiles];
191
-
192
- console.log(`Analyzing ${allFiles.length} files...\n`);
193
-
194
- const allIssues = [];
195
- const allValidations = new Map();
196
-
197
- for (const file of allFiles) {
198
- const { issues, validations } = analyzeFile(file);
199
- allIssues.push(...issues);
200
-
201
- for (const validation of validations) {
202
- const key = `${validation.file}:${validation.type}`;
203
- allValidations.set(key, validation);
204
- }
205
- }
206
-
207
- // Group issues by severity
208
- for (const issue of allIssues) {
209
- SECURITY_ISSUES[issue.severity].push(issue);
210
- }
211
-
212
- // Report findings
213
- console.log(red('🚨 CRITICAL Issues:'), SECURITY_ISSUES.CRITICAL.length);
214
- for (const issue of SECURITY_ISSUES.CRITICAL) {
215
- console.log(` ${issue.file}:${issue.line}`);
216
- console.log(` ${issue.description}`);
217
- console.log(` ${yellow(issue.code)}`);
218
- }
219
-
220
- console.log(yellow('\nāš ļø HIGH Priority Issues:'), SECURITY_ISSUES.HIGH.length);
221
- for (const issue of SECURITY_ISSUES.HIGH.slice(0, 10)) {
222
- console.log(` ${issue.file}:${issue.line}`);
223
- console.log(` ${issue.description}`);
224
- }
225
-
226
- console.log(blue('\nšŸ”µ MEDIUM Priority Issues:'), SECURITY_ISSUES.MEDIUM.length);
227
- console.log(green('🟢 LOW Priority Issues:'), SECURITY_ISSUES.LOW.length);
228
-
229
- // Report validation mechanisms found
230
- console.log(green('\nāœ… Validation Mechanisms Found:'));
231
- const validationTypes = {};
232
- for (const validation of allValidations.values()) {
233
- validationTypes[validation.type] = (validationTypes[validation.type] || 0) + 1;
234
- }
235
-
236
- for (const [type, count] of Object.entries(validationTypes)) {
237
- console.log(` ${type}: ${count} occurrences`);
238
- }
239
-
240
- // Specific CLI command analysis
241
- console.log(blue('\nšŸ“‹ CLI Command Analysis:'));
242
- const commands = [
243
- 'init', 'status', 'linear', 'search', 'projects', 'config',
244
- 'analytics', 'tasks', 'context', 'session'
245
- ];
246
-
247
- for (const cmd of commands) {
248
- const cmdFile = allFiles.find(f => f.includes(`commands/${cmd}.ts`));
249
- if (cmdFile) {
250
- const content = readFileSync(cmdFile, 'utf8');
251
- const hasValidation = /validate|check|verify|isValid|sanitize/i.test(content);
252
- const hasErrorHandling = /try\s*\{|\.catch\(|error\s*:/i.test(content);
253
- const usesParams = /\.prepare\s*\([\s\S]*?\?/.test(content);
254
-
255
- console.log(` ${cmd}:`);
256
- console.log(` Input validation: ${hasValidation ? green('āœ“') : red('āœ—')}`);
257
- console.log(` Error handling: ${hasErrorHandling ? green('āœ“') : red('āœ—')}`);
258
- console.log(` SQL parameterized: ${usesParams ? green('āœ“') : yellow('⚠')}`);
259
- }
260
- }
261
-
262
- // Summary and recommendations
263
- console.log(blue('\nšŸ“Š Summary:'));
264
- const total = allIssues.length;
265
- const critical = SECURITY_ISSUES.CRITICAL.length;
266
- const high = SECURITY_ISSUES.HIGH.length;
267
-
268
- if (critical > 0) {
269
- console.log(red(` āŒ ${critical} CRITICAL issues require immediate attention`));
270
- }
271
- if (high > 0) {
272
- console.log(yellow(` āš ļø ${high} HIGH priority issues should be fixed soon`));
273
- }
274
-
275
- console.log(blue('\nšŸ”§ Recommendations:'));
276
- console.log(' 1. Add input validation for all CLI arguments');
277
- console.log(' 2. Use parameterized queries for all SQL operations');
278
- console.log(' 3. Sanitize file paths to prevent traversal attacks');
279
- console.log(' 4. Implement rate limiting for API endpoints');
280
- console.log(' 5. Add comprehensive error handling');
281
- console.log(' 6. Use environment variables for all sensitive data');
282
- console.log(' 7. Implement proper authentication checks');
283
- console.log(' 8. Add input length limits to prevent DoS');
284
-
285
- process.exit(critical > 0 ? 1 : 0);
286
- }
287
-
288
- main();
@@ -1,163 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Add all StackMemory phase tasks to Linear via API
5
- */
6
-
7
- import 'dotenv/config';
8
- import fs from 'fs';
9
- import { LinearRestClient } from '../dist/integrations/linear/rest-client.js';
10
-
11
- const API_KEY = process.env.LINEAR_API_KEY;
12
- if (!API_KEY) {
13
- console.error('āŒ LINEAR_API_KEY environment variable not set');
14
- console.log('Please set LINEAR_API_KEY in your .env file or export it in your shell');
15
- process.exit(1);
16
- }
17
- const DELAY_BETWEEN_TASKS = 5000; // 5 seconds to avoid rate limits
18
-
19
- const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
20
-
21
- async function addTasksToLinear() {
22
- try {
23
- console.log('šŸš€ Starting to add StackMemory phase tasks to Linear...');
24
-
25
- // Read the generated tasks
26
- const tasksFile = `stackmemory-phase-tasks-${new Date().toISOString().split('T')[0]}.json`;
27
- if (!fs.existsSync(tasksFile)) {
28
- throw new Error(`Tasks file not found: ${tasksFile}`);
29
- }
30
-
31
- const taskData = JSON.parse(fs.readFileSync(tasksFile, 'utf8'));
32
- console.log(`šŸ“‹ Found ${taskData.totalTasks} tasks to create`);
33
-
34
- const client = new LinearRestClient(API_KEY);
35
-
36
- // Get team info
37
- console.log('šŸ” Getting team information...');
38
- const team = await client.getTeam();
39
- console.log(`šŸŽÆ Target team: ${team.name} (${team.key})`);
40
-
41
- let created = 0;
42
- let failed = 0;
43
- const results = [];
44
-
45
- // Process each phase
46
- for (const [phaseName, tasks] of Object.entries(taskData.phases)) {
47
- console.log(`\nšŸ“¦ Processing ${phaseName} (${tasks.length} tasks)`);
48
-
49
- for (let i = 0; i < tasks.length; i++) {
50
- const task = tasks[i];
51
- console.log(`\nā³ Creating task ${i + 1}/${tasks.length}: ${task.title}`);
52
-
53
- try {
54
- // Create task via GraphQL
55
- const createQuery = `
56
- mutation CreateIssue($input: IssueCreateInput!) {
57
- issueCreate(input: $input) {
58
- success
59
- issue {
60
- id
61
- identifier
62
- title
63
- state { name }
64
- priority
65
- url
66
- }
67
- }
68
- }
69
- `;
70
-
71
- const taskInput = {
72
- title: task.title.replace('STA-XXX:', '').trim(), // Remove placeholder ID
73
- description: task.description,
74
- teamId: team.id,
75
- priority: task.priority
76
- };
77
-
78
- const response = await client.makeRequest(createQuery, { input: taskInput });
79
-
80
- if (response.data?.issueCreate?.success) {
81
- const createdTask = response.data.issueCreate.issue;
82
- console.log(`āœ… Created: ${createdTask.identifier} - ${createdTask.title}`);
83
- console.log(` URL: ${createdTask.url}`);
84
-
85
- results.push({
86
- original: task.title,
87
- created: createdTask.identifier,
88
- url: createdTask.url,
89
- success: true
90
- });
91
- created++;
92
- } else {
93
- const errors = response.data?.issueCreate?.errors || [{ message: 'Unknown error' }];
94
- throw new Error(errors[0].message);
95
- }
96
-
97
- // Delay to avoid rate limits (except for last task)
98
- if (i < tasks.length - 1) {
99
- console.log(`ā³ Waiting ${DELAY_BETWEEN_TASKS / 1000}s to avoid rate limits...`);
100
- await delay(DELAY_BETWEEN_TASKS);
101
- }
102
-
103
- } catch (error) {
104
- console.log(`āŒ Failed: ${error.message}`);
105
- results.push({
106
- original: task.title,
107
- error: error.message,
108
- success: false
109
- });
110
- failed++;
111
-
112
- // If rate limited, wait longer and continue
113
- if (error.message.includes('usage limit') || error.message.includes('rate limit')) {
114
- console.log('🚫 Hit rate limit. Waiting 60 seconds...');
115
- await delay(60000);
116
- }
117
- }
118
- }
119
- }
120
-
121
- // Summary
122
- console.log('\nšŸ“Š Creation Summary:');
123
- console.log(`āœ… Successfully created: ${created} tasks`);
124
- console.log(`āŒ Failed: ${failed} tasks`);
125
- console.log(`šŸ“ˆ Success rate: ${Math.round((created / (created + failed)) * 100)}%`);
126
-
127
- // Save results
128
- const resultsFile = `linear-task-creation-results-${new Date().toISOString().split('T')[0]}.json`;
129
- fs.writeFileSync(resultsFile, JSON.stringify({
130
- summary: { created, failed, total: created + failed },
131
- results: results,
132
- timestamp: new Date().toISOString()
133
- }, null, 2));
134
-
135
- console.log(`šŸ’¾ Results saved to: ${resultsFile}`);
136
-
137
- if (created > 0) {
138
- console.log('\nšŸŽ‰ Success! StackMemory phase tasks have been added to Linear.');
139
- console.log('šŸ’” Next steps:');
140
- console.log(' 1. Review and organize tasks in Linear workspace');
141
- console.log(' 2. Start with high-priority Phase 2 tasks');
142
- console.log(' 3. Assign tasks to team members');
143
- console.log(' 4. Begin implementation of LLM-driven context retrieval');
144
- }
145
-
146
- if (failed > 0) {
147
- console.log('\nāš ļø Some tasks failed to create. Check the results file for details.');
148
- console.log(' You can retry failed tasks manually using:');
149
- console.log(' node dist/cli/index.js linear:create --api-key <key> --title "..." --description "..."');
150
- }
151
-
152
- } catch (error) {
153
- console.error('šŸ’„ Script failed:', error.message);
154
- process.exit(1);
155
- }
156
- }
157
-
158
- // Run if called directly
159
- if (import.meta.url === `file://${process.argv[1]}`) {
160
- addTasksToLinear().catch(console.error);
161
- }
162
-
163
- export { addTasksToLinear };
@@ -1,214 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Analyze Linear workspace for duplicate tasks to identify what to delete
5
- */
6
-
7
- import 'dotenv/config';
8
- import { LinearRestClient } from '../dist/integrations/linear/rest-client.js';
9
- import fs from 'fs';
10
-
11
- const API_KEY = process.env.LINEAR_API_KEY;
12
- if (!API_KEY) {
13
- console.error('āŒ LINEAR_API_KEY environment variable not set');
14
- console.log('Please set LINEAR_API_KEY in your .env file or export it in your shell');
15
- process.exit(1);
16
- }
17
-
18
- async function analyzeLinearDuplicates() {
19
- try {
20
- console.log('šŸ” Analyzing Linear workspace for duplicates and low-value tasks...\n');
21
-
22
- const client = new LinearRestClient(API_KEY);
23
-
24
- // Fetch all tasks
25
- console.log('šŸ“„ Fetching all tasks from Linear...');
26
- const allTasks = await client.getAllTasks(true);
27
- console.log(`šŸ“Š Total tasks: ${allTasks.length}\n`);
28
-
29
- // Analyze patterns
30
- const duplicates = new Map(); // title pattern -> tasks
31
- const meetingTasks = [];
32
- const todoTasks = [];
33
- const analyticsDashboardTasks = [];
34
- const phaseImportTasks = [];
35
- const completedTasks = [];
36
- const canceledTasks = [];
37
-
38
- // Group tasks by patterns
39
- allTasks.forEach(task => {
40
- const title = task.title;
41
- const state = task.state.type;
42
-
43
- // Check for completed/canceled
44
- if (state === 'completed') {
45
- completedTasks.push(task);
46
- } else if (state === 'canceled') {
47
- canceledTasks.push(task);
48
- }
49
-
50
- // Engineering meetings pattern
51
- if (title.includes('Engineering x') && title.includes('Meeting')) {
52
- meetingTasks.push(task);
53
- }
54
-
55
- // Documentation TODOs pattern
56
- if (title.includes('Complete Documentation TODOs')) {
57
- todoTasks.push(task);
58
- }
59
-
60
- // Task Analytics Dashboard pattern
61
- if (title.includes('Task Analytics Dashboard')) {
62
- analyticsDashboardTasks.push(task);
63
- }
64
-
65
- // Phase tasks with duplicate numbers
66
- if (title.match(/\[STA-\d+\]/)) {
67
- const match = title.match(/\[(STA-\d+)\]/);
68
- if (match) {
69
- const innerRef = match[1];
70
- if (!phaseImportTasks[innerRef]) {
71
- phaseImportTasks[innerRef] = [];
72
- }
73
- phaseImportTasks[innerRef].push(task);
74
- }
75
- }
76
-
77
- // Find exact duplicates by title
78
- const baseTitle = title.replace(/\[.*?\]/g, '').trim();
79
- if (!duplicates.has(baseTitle)) {
80
- duplicates.set(baseTitle, []);
81
- }
82
- duplicates.get(baseTitle).push(task);
83
- });
84
-
85
- // Filter to only show actual duplicates
86
- const trueDuplicates = Array.from(duplicates.entries())
87
- .filter(([_, tasks]) => tasks.length > 1)
88
- .sort((a, b) => b[1].length - a[1].length);
89
-
90
- // Generate report
91
- console.log('šŸ“‹ DUPLICATE ANALYSIS REPORT');
92
- console.log('=' .repeat(60));
93
-
94
- console.log('\nšŸ”„ EXACT DUPLICATES (same title):');
95
- console.log(`Found ${trueDuplicates.length} duplicate groups\n`);
96
- trueDuplicates.slice(0, 10).forEach(([title, tasks]) => {
97
- console.log(` "${title}" - ${tasks.length} copies`);
98
- tasks.slice(0, 3).forEach(task => {
99
- console.log(` • ${task.identifier}: ${task.state.name}`);
100
- });
101
- });
102
-
103
- console.log('\nšŸ¢ ENGINEERING MEETINGS:');
104
- console.log(`Found ${meetingTasks.length} meeting tasks`);
105
- if (meetingTasks.length > 0) {
106
- console.log('Examples:');
107
- meetingTasks.slice(0, 5).forEach(task => {
108
- console.log(` • ${task.identifier}: ${task.title}`);
109
- });
110
- }
111
-
112
- console.log('\nšŸ“ DOCUMENTATION TODO DUPLICATES:');
113
- console.log(`Found ${todoTasks.length} TODO tasks`);
114
- if (todoTasks.length > 0) {
115
- console.log('Examples:');
116
- todoTasks.slice(0, 5).forEach(task => {
117
- console.log(` • ${task.identifier}: ${task.title}`);
118
- });
119
- }
120
-
121
- console.log('\nšŸ“Š TASK ANALYTICS DASHBOARD DUPLICATES:');
122
- console.log(`Found ${analyticsDashboardTasks.length} analytics dashboard tasks`);
123
- if (analyticsDashboardTasks.length > 0) {
124
- console.log('Examples:');
125
- analyticsDashboardTasks.slice(0, 5).forEach(task => {
126
- console.log(` • ${task.identifier}: ${task.title}`);
127
- });
128
- }
129
-
130
- console.log('\nāœ… COMPLETED TASKS (can be archived):');
131
- console.log(`Found ${completedTasks.length} completed tasks`);
132
-
133
- console.log('\nāŒ CANCELED TASKS (can be deleted):');
134
- console.log(`Found ${canceledTasks.length} canceled tasks`);
135
-
136
- // Calculate deletion recommendations
137
- const toDelete = [
138
- ...meetingTasks,
139
- ...todoTasks.slice(1), // Keep one TODO task
140
- ...analyticsDashboardTasks.slice(1), // Keep one dashboard task
141
- ...canceledTasks,
142
- ...completedTasks
143
- ];
144
-
145
- // Remove duplicates from deletion list
146
- const uniqueToDelete = Array.from(new Set(toDelete.map(t => t.id)))
147
- .map(id => toDelete.find(t => t.id === id));
148
-
149
- console.log('\nšŸ—‘ļø DELETION RECOMMENDATIONS');
150
- console.log('=' .repeat(60));
151
- console.log(`Total tasks to delete: ${uniqueToDelete.length}`);
152
- console.log(`Space to be freed: ${uniqueToDelete.length} issues`);
153
- console.log(`Remaining after deletion: ${allTasks.length - uniqueToDelete.length} issues\n`);
154
-
155
- // Group by category for deletion
156
- const deleteCategories = {
157
- 'Engineering Meetings': meetingTasks.map(t => t.identifier),
158
- 'Duplicate TODOs': todoTasks.slice(1).map(t => t.identifier),
159
- 'Duplicate Dashboards': analyticsDashboardTasks.slice(1).map(t => t.identifier),
160
- 'Completed Tasks': completedTasks.map(t => t.identifier),
161
- 'Canceled Tasks': canceledTasks.map(t => t.identifier)
162
- };
163
-
164
- console.log('šŸ“ Tasks to delete by category:\n');
165
- Object.entries(deleteCategories).forEach(([category, tasks]) => {
166
- if (tasks.length > 0) {
167
- console.log(`${category} (${tasks.length} tasks):`);
168
- console.log(` ${tasks.slice(0, 10).join(', ')}${tasks.length > 10 ? '...' : ''}\n`);
169
- }
170
- });
171
-
172
- // Save deletion list to file
173
- const deleteList = {
174
- timestamp: new Date().toISOString(),
175
- summary: {
176
- total: allTasks.length,
177
- toDelete: uniqueToDelete.length,
178
- remaining: allTasks.length - uniqueToDelete.length
179
- },
180
- categories: deleteCategories,
181
- tasks: uniqueToDelete.map(t => ({
182
- id: t.id,
183
- identifier: t.identifier,
184
- title: t.title,
185
- state: t.state.name
186
- }))
187
- };
188
-
189
- const filename = `linear-deletion-list-${new Date().toISOString().split('T')[0]}.json`;
190
- fs.writeFileSync(filename, JSON.stringify(deleteList, null, 2));
191
- console.log(`šŸ’¾ Deletion list saved to: ${filename}\n`);
192
-
193
- console.log('šŸŽÆ NEXT STEPS:');
194
- console.log('1. Review the deletion list above');
195
- console.log('2. Run the delete script to remove these tasks');
196
- console.log('3. Then add the new phase tasks\n');
197
-
198
- console.log('To delete these tasks, run:');
199
- console.log(' node scripts/delete-linear-tasks.js\n');
200
-
201
- return deleteList;
202
-
203
- } catch (error) {
204
- console.error('āŒ Analysis failed:', error.message);
205
- process.exit(1);
206
- }
207
- }
208
-
209
- // Run if called directly
210
- if (import.meta.url === `file://${process.argv[1]}`) {
211
- analyzeLinearDuplicates().catch(console.error);
212
- }
213
-
214
- export { analyzeLinearDuplicates };