@stackmemoryai/stackmemory 0.8.1 → 1.0.0

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 (788) hide show
  1. package/LICENSE +64 -0
  2. package/README.md +15 -3
  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 +0 -1
  10. package/dist/src/cli/codex-sm-danger.js +0 -1
  11. package/dist/src/cli/codex-sm.js +0 -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 +0 -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 +0 -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/index.js +0 -1
  200. package/dist/src/hooks/linear-task-picker.js +0 -1
  201. package/dist/src/hooks/schemas.js +0 -1
  202. package/dist/src/hooks/secure-fs.js +0 -1
  203. package/dist/src/hooks/security-logger.js +0 -1
  204. package/dist/src/hooks/session-summary.js +0 -1
  205. package/dist/src/index.js +0 -1
  206. package/dist/src/integrations/anthropic/client.js +0 -1
  207. package/dist/src/integrations/claude-code/agent-bridge.js +0 -1
  208. package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js +0 -1
  209. package/dist/src/integrations/claude-code/lifecycle-hooks.js +0 -1
  210. package/dist/src/integrations/claude-code/post-task-hooks.js +0 -1
  211. package/dist/src/integrations/claude-code/subagent-client-stub.js +0 -1
  212. package/dist/src/integrations/claude-code/subagent-client.js +0 -1
  213. package/dist/src/integrations/claude-code/task-coordinator.js +0 -1
  214. package/dist/src/integrations/diffmem/client.js +0 -1
  215. package/dist/src/integrations/diffmem/config.js +0 -1
  216. package/dist/src/integrations/diffmem/index.js +0 -1
  217. package/dist/src/integrations/diffmem/types.js +0 -1
  218. package/dist/src/integrations/linear/auth.js +0 -1
  219. package/dist/src/integrations/linear/auto-sync.js +0 -1
  220. package/dist/src/integrations/linear/client.js +0 -1
  221. package/dist/src/integrations/linear/config.js +0 -1
  222. package/dist/src/integrations/linear/migration.js +0 -1
  223. package/dist/src/integrations/linear/oauth-server.js +0 -1
  224. package/dist/src/integrations/linear/rest-client.js +0 -1
  225. package/dist/src/integrations/linear/sync-manager.js +0 -1
  226. package/dist/src/integrations/linear/sync-service.js +0 -1
  227. package/dist/src/integrations/linear/sync.js +0 -1
  228. package/dist/src/integrations/linear/types.js +0 -1
  229. package/dist/src/integrations/linear/unified-sync.js +0 -1
  230. package/dist/src/integrations/linear/webhook-handler.js +0 -1
  231. package/dist/src/integrations/linear/webhook-server.js +0 -1
  232. package/dist/src/integrations/linear/webhook.js +0 -1
  233. package/dist/src/integrations/mcp/handlers/code-execution-handlers.js +0 -1
  234. package/dist/src/integrations/mcp/handlers/context-handlers.js +43 -30
  235. package/dist/src/integrations/mcp/handlers/diffmem-handlers.js +0 -1
  236. package/dist/src/integrations/mcp/handlers/discovery-handlers.js +0 -1
  237. package/dist/src/integrations/mcp/handlers/index.js +1 -3
  238. package/dist/src/integrations/mcp/handlers/linear-handlers.js +24 -61
  239. package/dist/src/integrations/mcp/handlers/skill-handlers.js +0 -1
  240. package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -1
  241. package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -1
  242. package/dist/src/integrations/mcp/index.js +0 -1
  243. package/dist/src/integrations/mcp/middleware/tool-scoring.js +3 -2
  244. package/dist/src/integrations/mcp/pending-utils.js +0 -1
  245. package/dist/src/integrations/mcp/refactored-server.js +0 -1
  246. package/dist/src/integrations/mcp/remote-server.js +0 -1
  247. package/dist/src/integrations/mcp/schemas.js +0 -1
  248. package/dist/src/integrations/mcp/server.js +20 -24
  249. package/dist/src/integrations/mcp/tool-definitions-code.js +0 -1
  250. package/dist/src/integrations/mcp/tool-definitions.js +0 -1
  251. package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -1
  252. package/dist/src/integrations/ralph/context/context-budget-manager.js +0 -1
  253. package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +0 -1
  254. package/dist/src/integrations/ralph/coordination/enhanced-coordination.js +0 -1
  255. package/dist/src/integrations/ralph/index.js +0 -1
  256. package/dist/src/integrations/ralph/learning/pattern-learner.js +0 -1
  257. package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +5 -5
  258. package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +0 -1
  259. package/dist/src/integrations/ralph/monitoring/swarm-registry.js +0 -1
  260. package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -1
  261. package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -1
  262. package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +0 -1
  263. package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +0 -1
  264. package/dist/src/integrations/ralph/performance/performance-optimizer.js +0 -1
  265. package/dist/src/integrations/ralph/recovery/crash-recovery.js +0 -1
  266. package/dist/src/integrations/ralph/state/state-reconciler.js +25 -9
  267. package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +0 -1
  268. package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +0 -1
  269. package/dist/src/integrations/ralph/types.js +0 -1
  270. package/dist/src/integrations/ralph/visualization/ralph-debugger.js +0 -1
  271. package/dist/src/mcp/stackmemory-mcp-server.js +0 -1
  272. package/dist/src/middleware/exponential-rate-limiter.js +0 -1
  273. package/dist/src/models/user.model.js +0 -1
  274. package/dist/src/orchestrators/multimodal/constants.js +0 -1
  275. package/dist/src/orchestrators/multimodal/harness.js +0 -1
  276. package/dist/src/orchestrators/multimodal/providers.js +0 -1
  277. package/dist/src/orchestrators/multimodal/types.js +0 -1
  278. package/dist/src/orchestrators/multimodal/utils.js +0 -1
  279. package/dist/src/servers/production/auth-middleware.js +0 -1
  280. package/dist/src/services/config-service.js +0 -1
  281. package/dist/src/services/context-service.js +0 -1
  282. package/dist/src/skills/api-discovery.js +0 -1
  283. package/dist/src/skills/api-skill.js +0 -1
  284. package/dist/src/skills/claude-skills.js +0 -1
  285. package/dist/src/skills/dashboard-launcher.js +0 -1
  286. package/dist/src/skills/linear-task-runner.js +0 -1
  287. package/dist/src/skills/recursive-agent-orchestrator.js +0 -1
  288. package/dist/src/skills/repo-ingestion-skill.js +0 -1
  289. package/dist/src/skills/spec-generator-skill.js +0 -1
  290. package/dist/src/skills/unified-rlm-orchestrator.js +0 -1
  291. package/dist/src/types/task.js +0 -1
  292. package/dist/src/utils/env.js +0 -1
  293. package/dist/src/utils/formatting.js +0 -1
  294. package/dist/src/utils/process-cleanup.js +0 -1
  295. package/package.json +32 -7
  296. package/dist/scripts/benchmark-performance.js +0 -48
  297. package/dist/scripts/benchmark-performance.js.map +0 -7
  298. package/dist/scripts/check-redis.js +0 -42
  299. package/dist/scripts/check-redis.js.map +0 -7
  300. package/dist/scripts/initialize.js +0 -183
  301. package/dist/scripts/initialize.js.map +0 -7
  302. package/dist/scripts/list-linear-tasks.js +0 -124
  303. package/dist/scripts/list-linear-tasks.js.map +0 -7
  304. package/dist/scripts/measure-handoff-impact.js +0 -340
  305. package/dist/scripts/measure-handoff-impact.js.map +0 -7
  306. package/dist/scripts/query-chromadb.js +0 -160
  307. package/dist/scripts/query-chromadb.js.map +0 -7
  308. package/dist/scripts/show-linear-summary.js +0 -119
  309. package/dist/scripts/show-linear-summary.js.map +0 -7
  310. package/dist/scripts/simple-swarm-demo.js +0 -90
  311. package/dist/scripts/simple-swarm-demo.js.map +0 -7
  312. package/dist/scripts/status.js +0 -155
  313. package/dist/scripts/status.js.map +0 -7
  314. package/dist/scripts/test-chromadb-sync.js +0 -192
  315. package/dist/scripts/test-chromadb-sync.js.map +0 -7
  316. package/dist/scripts/test-ralph-iteration-fix.js +0 -86
  317. package/dist/scripts/test-ralph-iteration-fix.js.map +0 -7
  318. package/dist/scripts/test-ralph-iterations.js +0 -121
  319. package/dist/scripts/test-ralph-iterations.js.map +0 -7
  320. package/dist/scripts/test-redis-storage.js +0 -389
  321. package/dist/scripts/test-redis-storage.js.map +0 -7
  322. package/dist/scripts/test-simple-ralph-state-sync.js +0 -115
  323. package/dist/scripts/test-simple-ralph-state-sync.js.map +0 -7
  324. package/dist/scripts/test-swarm-fixes.js +0 -125
  325. package/dist/scripts/test-swarm-fixes.js.map +0 -7
  326. package/dist/scripts/test-swarm-tui.js +0 -23
  327. package/dist/scripts/test-swarm-tui.js.map +0 -7
  328. package/dist/scripts/test-tui-shortcuts.js +0 -52
  329. package/dist/scripts/test-tui-shortcuts.js.map +0 -7
  330. package/dist/scripts/validate-tui-shortcuts.js +0 -60
  331. package/dist/scripts/validate-tui-shortcuts.js.map +0 -7
  332. package/dist/src/agents/core/agent-task-manager.js.map +0 -7
  333. package/dist/src/agents/verifiers/base-verifier.js.map +0 -7
  334. package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -7
  335. package/dist/src/agents/verifiers/llm-judge.js.map +0 -7
  336. package/dist/src/cli/auto-detect.js.map +0 -7
  337. package/dist/src/cli/claude-sm-danger.js.map +0 -7
  338. package/dist/src/cli/claude-sm.js.map +0 -7
  339. package/dist/src/cli/codex-sm-danger.js.map +0 -7
  340. package/dist/src/cli/codex-sm.js.map +0 -7
  341. package/dist/src/cli/commands/api.js.map +0 -7
  342. package/dist/src/cli/commands/auto-background.js.map +0 -7
  343. package/dist/src/cli/commands/cleanup-processes.js.map +0 -7
  344. package/dist/src/cli/commands/clear.js.map +0 -7
  345. package/dist/src/cli/commands/config.js.map +0 -7
  346. package/dist/src/cli/commands/context-rehydrate.js.map +0 -7
  347. package/dist/src/cli/commands/context.js.map +0 -7
  348. package/dist/src/cli/commands/daemon.js.map +0 -7
  349. package/dist/src/cli/commands/dashboard.js.map +0 -7
  350. package/dist/src/cli/commands/db.js.map +0 -7
  351. package/dist/src/cli/commands/decision.js.map +0 -7
  352. package/dist/src/cli/commands/discovery.js.map +0 -7
  353. package/dist/src/cli/commands/handoff.js.map +0 -7
  354. package/dist/src/cli/commands/hooks.js.map +0 -7
  355. package/dist/src/cli/commands/linear.js.map +0 -7
  356. package/dist/src/cli/commands/log.js.map +0 -7
  357. package/dist/src/cli/commands/login.js.map +0 -7
  358. package/dist/src/cli/commands/migrate.js.map +0 -7
  359. package/dist/src/cli/commands/model.js.map +0 -7
  360. package/dist/src/cli/commands/onboard.js.map +0 -7
  361. package/dist/src/cli/commands/ping.js.map +0 -7
  362. package/dist/src/cli/commands/projects.js.map +0 -7
  363. package/dist/src/cli/commands/ralph.js.map +0 -7
  364. package/dist/src/cli/commands/retrieval.js.map +0 -7
  365. package/dist/src/cli/commands/search.js.map +0 -7
  366. package/dist/src/cli/commands/service.js.map +0 -7
  367. package/dist/src/cli/commands/session.js.map +0 -7
  368. package/dist/src/cli/commands/settings.js +0 -306
  369. package/dist/src/cli/commands/settings.js.map +0 -7
  370. package/dist/src/cli/commands/setup.js.map +0 -7
  371. package/dist/src/cli/commands/shell.js.map +0 -7
  372. package/dist/src/cli/commands/signup.js.map +0 -7
  373. package/dist/src/cli/commands/skills.js.map +0 -7
  374. package/dist/src/cli/commands/sms-notify.js +0 -795
  375. package/dist/src/cli/commands/sms-notify.js.map +0 -7
  376. package/dist/src/cli/commands/storage-tier.js.map +0 -7
  377. package/dist/src/cli/commands/sweep.js.map +0 -7
  378. package/dist/src/cli/commands/tasks.js.map +0 -7
  379. package/dist/src/cli/commands/worktree.js.map +0 -7
  380. package/dist/src/cli/index.js.map +0 -7
  381. package/dist/src/cli/opencode-sm.js.map +0 -7
  382. package/dist/src/cli/utils/viewer.js.map +0 -7
  383. package/dist/src/core/config/config-manager.js.map +0 -7
  384. package/dist/src/core/config/feature-flags.js.map +0 -7
  385. package/dist/src/core/config/storage-config.js.map +0 -7
  386. package/dist/src/core/config/types.js.map +0 -7
  387. package/dist/src/core/context/auto-context.js.map +0 -7
  388. package/dist/src/core/context/dual-stack-manager.js.map +0 -7
  389. package/dist/src/core/context/enhanced-rehydration.js.map +0 -7
  390. package/dist/src/core/context/frame-database.js.map +0 -7
  391. package/dist/src/core/context/frame-digest.js.map +0 -7
  392. package/dist/src/core/context/frame-handoff-manager.js.map +0 -7
  393. package/dist/src/core/context/frame-lifecycle-hooks.js.map +0 -7
  394. package/dist/src/core/context/frame-recovery.js.map +0 -7
  395. package/dist/src/core/context/frame-stack.js.map +0 -7
  396. package/dist/src/core/context/frame-types.js.map +0 -7
  397. package/dist/src/core/context/index.js.map +0 -7
  398. package/dist/src/core/context/permission-manager.js.map +0 -7
  399. package/dist/src/core/context/recursive-context-manager.js.map +0 -7
  400. package/dist/src/core/context/refactored-frame-manager.js.map +0 -7
  401. package/dist/src/core/context/shared-context-layer.js.map +0 -7
  402. package/dist/src/core/context/stack-merge-resolver.js.map +0 -7
  403. package/dist/src/core/context/validation.js.map +0 -7
  404. package/dist/src/core/database/batch-operations.js.map +0 -7
  405. package/dist/src/core/database/connection-pool.js.map +0 -7
  406. package/dist/src/core/database/database-adapter.js.map +0 -7
  407. package/dist/src/core/database/embedding-provider-factory.js.map +0 -7
  408. package/dist/src/core/database/embedding-provider.js.map +0 -7
  409. package/dist/src/core/database/migration-manager.js.map +0 -7
  410. package/dist/src/core/database/ollama-embedding-provider.js.map +0 -7
  411. package/dist/src/core/database/openai-embedding-provider.js.map +0 -7
  412. package/dist/src/core/database/query-cache.js.map +0 -7
  413. package/dist/src/core/database/query-router.js.map +0 -7
  414. package/dist/src/core/database/sqlite-adapter.js.map +0 -7
  415. package/dist/src/core/database/transformers-embedding-provider.js.map +0 -7
  416. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -7
  417. package/dist/src/core/digest/frame-digest-integration.js.map +0 -7
  418. package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -7
  419. package/dist/src/core/digest/index.js.map +0 -7
  420. package/dist/src/core/digest/types.js.map +0 -7
  421. package/dist/src/core/errors/error-utils.js.map +0 -7
  422. package/dist/src/core/errors/index.js.map +0 -7
  423. package/dist/src/core/errors/recovery.js.map +0 -7
  424. package/dist/src/core/execution/parallel-executor.js.map +0 -7
  425. package/dist/src/core/extensions/custom-tools.js.map +0 -7
  426. package/dist/src/core/extensions/index.js.map +0 -7
  427. package/dist/src/core/extensions/loader.js.map +0 -7
  428. package/dist/src/core/extensions/plugin-system.js.map +0 -7
  429. package/dist/src/core/extensions/provider-adapter.js.map +0 -7
  430. package/dist/src/core/extensions/sandbox-runtime.js.map +0 -7
  431. package/dist/src/core/extensions/types.js.map +0 -7
  432. package/dist/src/core/frame/workflow-templates.js.map +0 -7
  433. package/dist/src/core/merge/conflict-detector.js.map +0 -7
  434. package/dist/src/core/merge/index.js.map +0 -7
  435. package/dist/src/core/merge/resolution-engine.js.map +0 -7
  436. package/dist/src/core/merge/stack-diff.js.map +0 -7
  437. package/dist/src/core/merge/types.js.map +0 -7
  438. package/dist/src/core/merge/unified-merge-resolver.js.map +0 -7
  439. package/dist/src/core/models/fallback-monitor.js.map +0 -7
  440. package/dist/src/core/models/model-router.js.map +0 -7
  441. package/dist/src/core/monitoring/error-handler.js.map +0 -7
  442. package/dist/src/core/monitoring/logger.js.map +0 -7
  443. package/dist/src/core/monitoring/metrics.js.map +0 -7
  444. package/dist/src/core/monitoring/progress-tracker.js.map +0 -7
  445. package/dist/src/core/monitoring/session-monitor.js.map +0 -7
  446. package/dist/src/core/performance/context-cache.js.map +0 -7
  447. package/dist/src/core/performance/index.js.map +0 -7
  448. package/dist/src/core/performance/lazy-context-loader.js.map +0 -7
  449. package/dist/src/core/performance/monitor.js.map +0 -7
  450. package/dist/src/core/performance/optimized-frame-context.js.map +0 -7
  451. package/dist/src/core/performance/performance-benchmark.js.map +0 -7
  452. package/dist/src/core/performance/performance-profiler.js.map +0 -7
  453. package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -7
  454. package/dist/src/core/persistence/postgres-adapter.js.map +0 -7
  455. package/dist/src/core/projects/project-isolation.js.map +0 -7
  456. package/dist/src/core/projects/project-manager.js.map +0 -7
  457. package/dist/src/core/query/query-parser.js.map +0 -7
  458. package/dist/src/core/query/query-templates.js.map +0 -7
  459. package/dist/src/core/retrieval/context-retriever.js.map +0 -7
  460. package/dist/src/core/retrieval/index.js.map +0 -7
  461. package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -7
  462. package/dist/src/core/retrieval/llm-provider.js.map +0 -7
  463. package/dist/src/core/retrieval/privacy-filter.js.map +0 -7
  464. package/dist/src/core/retrieval/retrieval-audit.js.map +0 -7
  465. package/dist/src/core/retrieval/summary-generator.js.map +0 -7
  466. package/dist/src/core/retrieval/types.js.map +0 -7
  467. package/dist/src/core/retrieval/unified-context-assembler.js.map +0 -7
  468. package/dist/src/core/security/index.js.map +0 -7
  469. package/dist/src/core/security/input-sanitizer.js.map +0 -7
  470. package/dist/src/core/session/clear-survival.js.map +0 -7
  471. package/dist/src/core/session/enhanced-handoff.js.map +0 -7
  472. package/dist/src/core/session/handoff-generator.js.map +0 -7
  473. package/dist/src/core/session/index.js.map +0 -7
  474. package/dist/src/core/session/session-manager.js.map +0 -7
  475. package/dist/src/core/skills/index.js.map +0 -7
  476. package/dist/src/core/skills/skill-storage.js.map +0 -7
  477. package/dist/src/core/skills/types.js.map +0 -7
  478. package/dist/src/core/storage/chromadb-adapter.js.map +0 -7
  479. package/dist/src/core/storage/infinite-storage.js.map +0 -7
  480. package/dist/src/core/storage/project-registry.js.map +0 -7
  481. package/dist/src/core/storage/remote-storage.js.map +0 -7
  482. package/dist/src/core/storage/storage-tier-manager.js.map +0 -7
  483. package/dist/src/core/storage/two-tier-storage.js.map +0 -7
  484. package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -7
  485. package/dist/src/core/trace/db-trace-wrapper.js.map +0 -7
  486. package/dist/src/core/trace/debug-trace.js.map +0 -7
  487. package/dist/src/core/trace/index.js.map +0 -7
  488. package/dist/src/core/trace/linear-api-wrapper.js.map +0 -7
  489. package/dist/src/core/trace/trace-detector.js.map +0 -7
  490. package/dist/src/core/trace/trace-store.js.map +0 -7
  491. package/dist/src/core/trace/types.js.map +0 -7
  492. package/dist/src/core/types.js.map +0 -7
  493. package/dist/src/core/utils/async-mutex.js.map +0 -7
  494. package/dist/src/core/utils/compression.js.map +0 -7
  495. package/dist/src/core/utils/update-checker.js.map +0 -7
  496. package/dist/src/core/worktree/worktree-manager.js.map +0 -7
  497. package/dist/src/daemon/daemon-config.js.map +0 -7
  498. package/dist/src/daemon/services/context-service.js.map +0 -7
  499. package/dist/src/daemon/services/linear-service.js.map +0 -7
  500. package/dist/src/daemon/services/maintenance-service.js.map +0 -7
  501. package/dist/src/daemon/services/memory-service.js.map +0 -7
  502. package/dist/src/daemon/session-daemon.js.map +0 -7
  503. package/dist/src/daemon/unified-daemon.js.map +0 -7
  504. package/dist/src/features/analytics/api/analytics-api.js.map +0 -7
  505. package/dist/src/features/analytics/core/analytics-service.js.map +0 -7
  506. package/dist/src/features/analytics/index.js.map +0 -7
  507. package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -7
  508. package/dist/src/features/analytics/types/metrics.js.map +0 -7
  509. package/dist/src/features/browser/browser-mcp.js.map +0 -7
  510. package/dist/src/features/sweep/index.js.map +0 -7
  511. package/dist/src/features/sweep/prediction-client.js.map +0 -7
  512. package/dist/src/features/sweep/prompt-builder.js.map +0 -7
  513. package/dist/src/features/sweep/pty-wrapper.js.map +0 -7
  514. package/dist/src/features/sweep/state-watcher.js.map +0 -7
  515. package/dist/src/features/sweep/status-bar.js.map +0 -7
  516. package/dist/src/features/sweep/sweep-server-manager.js.map +0 -7
  517. package/dist/src/features/sweep/tab-interceptor.js.map +0 -7
  518. package/dist/src/features/sweep/types.js.map +0 -7
  519. package/dist/src/features/tasks/linear-task-manager.js.map +0 -7
  520. package/dist/src/features/tasks/task-aware-context.js.map +0 -7
  521. package/dist/src/features/tui/simple-monitor.js.map +0 -7
  522. package/dist/src/features/tui/swarm-monitor.js.map +0 -7
  523. package/dist/src/features/web/client/stores/task-store.js.map +0 -7
  524. package/dist/src/features/web/server/index.js.map +0 -7
  525. package/dist/src/features/workers/tmux-manager.js.map +0 -7
  526. package/dist/src/features/workers/worker-registry.js.map +0 -7
  527. package/dist/src/hooks/auto-background.js.map +0 -7
  528. package/dist/src/hooks/claude-code-whatsapp-hook.js +0 -197
  529. package/dist/src/hooks/claude-code-whatsapp-hook.js.map +0 -7
  530. package/dist/src/hooks/config.js.map +0 -7
  531. package/dist/src/hooks/daemon.js.map +0 -7
  532. package/dist/src/hooks/diffmem-hooks.js.map +0 -7
  533. package/dist/src/hooks/events.js.map +0 -7
  534. package/dist/src/hooks/index.js.map +0 -7
  535. package/dist/src/hooks/linear-task-picker.js.map +0 -7
  536. package/dist/src/hooks/schemas.js.map +0 -7
  537. package/dist/src/hooks/secure-fs.js.map +0 -7
  538. package/dist/src/hooks/security-logger.js.map +0 -7
  539. package/dist/src/hooks/session-summary.js.map +0 -7
  540. package/dist/src/hooks/sms-action-runner.js +0 -371
  541. package/dist/src/hooks/sms-action-runner.js.map +0 -7
  542. package/dist/src/hooks/sms-notify.js +0 -506
  543. package/dist/src/hooks/sms-notify.js.map +0 -7
  544. package/dist/src/hooks/sms-watcher.js +0 -93
  545. package/dist/src/hooks/sms-watcher.js.map +0 -7
  546. package/dist/src/hooks/sms-webhook.js +0 -555
  547. package/dist/src/hooks/sms-webhook.js.map +0 -7
  548. package/dist/src/hooks/whatsapp-commands.js +0 -479
  549. package/dist/src/hooks/whatsapp-commands.js.map +0 -7
  550. package/dist/src/hooks/whatsapp-scheduler.js +0 -317
  551. package/dist/src/hooks/whatsapp-scheduler.js.map +0 -7
  552. package/dist/src/hooks/whatsapp-sync.js +0 -409
  553. package/dist/src/hooks/whatsapp-sync.js.map +0 -7
  554. package/dist/src/index.js.map +0 -7
  555. package/dist/src/integrations/anthropic/client.js.map +0 -7
  556. package/dist/src/integrations/claude-code/agent-bridge.js.map +0 -7
  557. package/dist/src/integrations/claude-code/enhanced-pre-clear-hooks.js.map +0 -7
  558. package/dist/src/integrations/claude-code/lifecycle-hooks.js.map +0 -7
  559. package/dist/src/integrations/claude-code/post-task-hooks.js.map +0 -7
  560. package/dist/src/integrations/claude-code/subagent-client-stub.js.map +0 -7
  561. package/dist/src/integrations/claude-code/subagent-client.js.map +0 -7
  562. package/dist/src/integrations/claude-code/task-coordinator.js.map +0 -7
  563. package/dist/src/integrations/diffmem/client.js.map +0 -7
  564. package/dist/src/integrations/diffmem/config.js.map +0 -7
  565. package/dist/src/integrations/diffmem/index.js.map +0 -7
  566. package/dist/src/integrations/diffmem/types.js.map +0 -7
  567. package/dist/src/integrations/linear/auth.js.map +0 -7
  568. package/dist/src/integrations/linear/auto-sync.js.map +0 -7
  569. package/dist/src/integrations/linear/client.js.map +0 -7
  570. package/dist/src/integrations/linear/config.js.map +0 -7
  571. package/dist/src/integrations/linear/migration.js.map +0 -7
  572. package/dist/src/integrations/linear/oauth-server.js.map +0 -7
  573. package/dist/src/integrations/linear/rest-client.js.map +0 -7
  574. package/dist/src/integrations/linear/sync-manager.js.map +0 -7
  575. package/dist/src/integrations/linear/sync-service.js.map +0 -7
  576. package/dist/src/integrations/linear/sync.js.map +0 -7
  577. package/dist/src/integrations/linear/types.js.map +0 -7
  578. package/dist/src/integrations/linear/unified-sync.js.map +0 -7
  579. package/dist/src/integrations/linear/webhook-handler.js.map +0 -7
  580. package/dist/src/integrations/linear/webhook-server.js.map +0 -7
  581. package/dist/src/integrations/linear/webhook.js.map +0 -7
  582. package/dist/src/integrations/mcp/handlers/code-execution-handlers.js.map +0 -7
  583. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -7
  584. package/dist/src/integrations/mcp/handlers/diffmem-handlers.js.map +0 -7
  585. package/dist/src/integrations/mcp/handlers/discovery-handlers.js.map +0 -7
  586. package/dist/src/integrations/mcp/handlers/index.js.map +0 -7
  587. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -7
  588. package/dist/src/integrations/mcp/handlers/skill-handlers.js.map +0 -7
  589. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -7
  590. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -7
  591. package/dist/src/integrations/mcp/index.js.map +0 -7
  592. package/dist/src/integrations/mcp/middleware/tool-scoring.js.map +0 -7
  593. package/dist/src/integrations/mcp/pending-utils.js.map +0 -7
  594. package/dist/src/integrations/mcp/refactored-server.js.map +0 -7
  595. package/dist/src/integrations/mcp/remote-server.js.map +0 -7
  596. package/dist/src/integrations/mcp/schemas.js.map +0 -7
  597. package/dist/src/integrations/mcp/server.js.map +0 -7
  598. package/dist/src/integrations/mcp/tool-definitions-code.js.map +0 -7
  599. package/dist/src/integrations/mcp/tool-definitions.js.map +0 -7
  600. package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js.map +0 -7
  601. package/dist/src/integrations/ralph/context/context-budget-manager.js.map +0 -7
  602. package/dist/src/integrations/ralph/context/stackmemory-context-loader.js.map +0 -7
  603. package/dist/src/integrations/ralph/coordination/enhanced-coordination.js.map +0 -7
  604. package/dist/src/integrations/ralph/index.js.map +0 -7
  605. package/dist/src/integrations/ralph/learning/pattern-learner.js.map +0 -7
  606. package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js.map +0 -7
  607. package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js.map +0 -7
  608. package/dist/src/integrations/ralph/monitoring/swarm-registry.js.map +0 -7
  609. package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js.map +0 -7
  610. package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js.map +0 -7
  611. package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js.map +0 -7
  612. package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js.map +0 -7
  613. package/dist/src/integrations/ralph/performance/performance-optimizer.js.map +0 -7
  614. package/dist/src/integrations/ralph/recovery/crash-recovery.js.map +0 -7
  615. package/dist/src/integrations/ralph/state/state-reconciler.js.map +0 -7
  616. package/dist/src/integrations/ralph/swarm/git-workflow-manager.js.map +0 -7
  617. package/dist/src/integrations/ralph/swarm/swarm-coordinator.js.map +0 -7
  618. package/dist/src/integrations/ralph/types.js.map +0 -7
  619. package/dist/src/integrations/ralph/visualization/ralph-debugger.js.map +0 -7
  620. package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -7
  621. package/dist/src/middleware/exponential-rate-limiter.js.map +0 -7
  622. package/dist/src/models/user.model.js.map +0 -7
  623. package/dist/src/orchestrators/multimodal/constants.js.map +0 -7
  624. package/dist/src/orchestrators/multimodal/harness.js.map +0 -7
  625. package/dist/src/orchestrators/multimodal/providers.js.map +0 -7
  626. package/dist/src/orchestrators/multimodal/types.js.map +0 -7
  627. package/dist/src/orchestrators/multimodal/utils.js.map +0 -7
  628. package/dist/src/servers/production/auth-middleware.js.map +0 -7
  629. package/dist/src/services/config-service.js.map +0 -7
  630. package/dist/src/services/context-service.js.map +0 -7
  631. package/dist/src/skills/api-discovery.js.map +0 -7
  632. package/dist/src/skills/api-skill.js.map +0 -7
  633. package/dist/src/skills/claude-skills.js.map +0 -7
  634. package/dist/src/skills/dashboard-launcher.js.map +0 -7
  635. package/dist/src/skills/linear-task-runner.js.map +0 -7
  636. package/dist/src/skills/recursive-agent-orchestrator.js.map +0 -7
  637. package/dist/src/skills/repo-ingestion-skill.js.map +0 -7
  638. package/dist/src/skills/spec-generator-skill.js.map +0 -7
  639. package/dist/src/skills/unified-rlm-orchestrator.js.map +0 -7
  640. package/dist/src/types/task.js.map +0 -7
  641. package/dist/src/utils/env.js.map +0 -7
  642. package/dist/src/utils/formatting.js.map +0 -7
  643. package/dist/src/utils/process-cleanup.js.map +0 -7
  644. package/scripts/README-TESTING.md +0 -186
  645. package/scripts/analyze-cli-security.js +0 -288
  646. package/scripts/archive/add-phase-tasks-to-linear.js +0 -163
  647. package/scripts/archive/analyze-linear-duplicates.js +0 -214
  648. package/scripts/archive/analyze-remaining-duplicates.js +0 -230
  649. package/scripts/archive/analyze-sta-duplicates.js +0 -292
  650. package/scripts/archive/analyze-sta-graphql.js +0 -399
  651. package/scripts/archive/cancel-duplicate-tasks.ts +0 -246
  652. package/scripts/archive/check-all-duplicates.ts +0 -419
  653. package/scripts/archive/clean-duplicate-tasks.js +0 -114
  654. package/scripts/archive/cleanup-duplicate-tasks.ts +0 -286
  655. package/scripts/archive/create-phase-tasks.js +0 -387
  656. package/scripts/archive/delete-linear-duplicates.js +0 -182
  657. package/scripts/archive/delete-remaining-duplicates.js +0 -158
  658. package/scripts/archive/delete-sta-duplicates.js +0 -201
  659. package/scripts/archive/delete-sta-oauth.js +0 -201
  660. package/scripts/archive/export-sta-tasks.js +0 -62
  661. package/scripts/archive/install-auto-sync.js +0 -266
  662. package/scripts/archive/install-chromadb-hooks.sh +0 -133
  663. package/scripts/archive/install-enhanced-clear-hooks.sh +0 -431
  664. package/scripts/archive/install-post-task-hooks.sh +0 -289
  665. package/scripts/archive/install-stackmemory-hooks.sh +0 -420
  666. package/scripts/archive/merge-linear-duplicates-safe.ts +0 -362
  667. package/scripts/archive/merge-linear-duplicates.ts +0 -182
  668. package/scripts/archive/remove-sta-tasks.js +0 -70
  669. package/scripts/archive/setup-background-sync.sh +0 -168
  670. package/scripts/archive/setup-claude-auto-triggers.sh +0 -181
  671. package/scripts/archive/setup-claude-autostart.sh +0 -305
  672. package/scripts/archive/setup-git-hooks.sh +0 -25
  673. package/scripts/archive/setup-linear-oauth.sh +0 -46
  674. package/scripts/archive/setup-mcp.sh +0 -113
  675. package/scripts/archive/setup-railway-deployment.sh +0 -81
  676. package/scripts/auto-handoff.sh +0 -262
  677. package/scripts/background-sync-manager.js +0 -478
  678. package/scripts/benchmark-performance.ts +0 -57
  679. package/scripts/check-redis.ts +0 -48
  680. package/scripts/chromadb-auto-loader.sh +0 -128
  681. package/scripts/chromadb-context-loader.js +0 -479
  682. package/scripts/claude-chromadb-hook.js +0 -460
  683. package/scripts/claude-linear-skill.js +0 -455
  684. package/scripts/claude-pre-commit.sh +0 -302
  685. package/scripts/claude-sm-autostart.js +0 -579
  686. package/scripts/claude-with-chromadb.sh +0 -69
  687. package/scripts/clean-linear-backlog.js +0 -273
  688. package/scripts/cleanup-old-sessions.sh +0 -57
  689. package/scripts/create-cleanup-issues.js +0 -302
  690. package/scripts/create-sandbox.sh +0 -269
  691. package/scripts/debug-linear-update.js +0 -174
  692. package/scripts/delete-linear-tasks.js +0 -167
  693. package/scripts/demos/browser-test.ts +0 -39
  694. package/scripts/demos/ralph-integration-demo.ts +0 -245
  695. package/scripts/demos/trace-demo.ts +0 -200
  696. package/scripts/demos/trace-detector.demo.ts +0 -171
  697. package/scripts/demos/trace-test.ts +0 -79
  698. package/scripts/deploy-ralph-swarm.sh +0 -365
  699. package/scripts/deploy.sh +0 -89
  700. package/scripts/deployment/test-deployment.js +0 -194
  701. package/scripts/detect-and-rehydrate.js +0 -162
  702. package/scripts/detect-and-rehydrate.mjs +0 -165
  703. package/scripts/development/create-demo-tasks.js +0 -143
  704. package/scripts/development/debug-frame-test.js +0 -16
  705. package/scripts/development/demo-auto-sync.js +0 -128
  706. package/scripts/development/fix-all-imports.js +0 -213
  707. package/scripts/development/fix-imports.js +0 -229
  708. package/scripts/development/fix-lint-loop.cjs +0 -103
  709. package/scripts/development/fix-project-id.ts +0 -161
  710. package/scripts/development/fix-strict-mode-issues.ts +0 -291
  711. package/scripts/development/reorganize-structure.sh +0 -228
  712. package/scripts/development/test-persistence-direct.js +0 -148
  713. package/scripts/development/test-persistence.js +0 -114
  714. package/scripts/development/test-tasks.js +0 -93
  715. package/scripts/development/update-imports.js +0 -212
  716. package/scripts/fetch-linear-status.js +0 -125
  717. package/scripts/initialize.ts +0 -220
  718. package/scripts/linear-auto-sync.js +0 -262
  719. package/scripts/linear-auto-sync.sh +0 -161
  720. package/scripts/linear-sync-daemon.js +0 -150
  721. package/scripts/linear-task-review.js +0 -237
  722. package/scripts/list-linear-tasks.ts +0 -178
  723. package/scripts/mcp-proxy.js +0 -66
  724. package/scripts/measure-handoff-impact.mjs +0 -395
  725. package/scripts/measure-handoff-impact.ts +0 -450
  726. package/scripts/publish-local.js +0 -74
  727. package/scripts/query-chromadb.ts +0 -201
  728. package/scripts/ralph-integration-test.js +0 -274
  729. package/scripts/reconcile-local-tasks.js +0 -170
  730. package/scripts/recreate-frames-db.js +0 -89
  731. package/scripts/show-linear-summary.ts +0 -172
  732. package/scripts/simple-swarm-demo.ts +0 -114
  733. package/scripts/stackmemory-auto-handoff.sh +0 -231
  734. package/scripts/start-linear-sync-daemon.sh +0 -141
  735. package/scripts/start-temporal-paradox.sh +0 -214
  736. package/scripts/status.ts +0 -224
  737. package/scripts/stop-notify-webhook.sh +0 -19
  738. package/scripts/swarm-monitor.js +0 -509
  739. package/scripts/sync-and-clean-tasks.js +0 -258
  740. package/scripts/sync-linear-graphql.js +0 -303
  741. package/scripts/sync-linear-tasks.js +0 -186
  742. package/scripts/test-auto-triggers.sh +0 -57
  743. package/scripts/test-browser-mcp.js +0 -74
  744. package/scripts/test-chromadb-full.js +0 -115
  745. package/scripts/test-chromadb-hooks.sh +0 -28
  746. package/scripts/test-chromadb-sync.ts +0 -245
  747. package/scripts/test-claude-config.sh +0 -123
  748. package/scripts/test-cli-security.js +0 -293
  749. package/scripts/test-code-execution.js +0 -143
  750. package/scripts/test-hooks-persistence.sh +0 -220
  751. package/scripts/test-installation-scenarios.sh +0 -359
  752. package/scripts/test-installation.sh +0 -224
  753. package/scripts/test-mcp.js +0 -163
  754. package/scripts/test-parallel-swarms.js +0 -443
  755. package/scripts/test-pre-publish-quick.sh +0 -69
  756. package/scripts/test-quality-gates.sh +0 -263
  757. package/scripts/test-ralph-iteration-fix.ts +0 -118
  758. package/scripts/test-ralph-iterations.ts +0 -164
  759. package/scripts/test-redis-storage.ts +0 -490
  760. package/scripts/test-rlm-basic.sh +0 -122
  761. package/scripts/test-rlm-comprehensive.sh +0 -260
  762. package/scripts/test-rlm-e2e.sh +0 -268
  763. package/scripts/test-rlm-simple.js +0 -90
  764. package/scripts/test-rlm.js +0 -110
  765. package/scripts/test-session-handoff.sh +0 -165
  766. package/scripts/test-setup-e2e.sh +0 -154
  767. package/scripts/test-shell-integration.sh +0 -275
  768. package/scripts/test-simple-ralph-state-sync.ts +0 -178
  769. package/scripts/test-swarm-fixes.ts +0 -161
  770. package/scripts/test-swarm-git-workflow.js +0 -338
  771. package/scripts/test-swarm-tui.ts +0 -34
  772. package/scripts/test-tui-shortcuts.ts +0 -66
  773. package/scripts/testing/ab-test-runner.ts +0 -510
  774. package/scripts/testing/collect-metrics.ts +0 -457
  775. package/scripts/testing/quick-effectiveness-demo.js +0 -187
  776. package/scripts/testing/ralph-cli-test.js +0 -88
  777. package/scripts/testing/ralph-integration-validation.js +0 -727
  778. package/scripts/testing/ralph-swarm-test-scenarios.js +0 -613
  779. package/scripts/testing/real-performance-test.js +0 -422
  780. package/scripts/testing/results/real-performance-results.json +0 -90
  781. package/scripts/testing/run-effectiveness-tests.sh +0 -176
  782. package/scripts/testing/simple-effectiveness-test.js +0 -310
  783. package/scripts/testing/test-tier-migration.js +0 -100
  784. package/scripts/update-linear-status.js +0 -268
  785. package/scripts/update-linear-tasks-fixed.js +0 -284
  786. package/scripts/validate-claude-config.sh +0 -155
  787. package/scripts/validate-swarm-implementation.js +0 -467
  788. 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 };