@stackmemoryai/stackmemory 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (734) hide show
  1. package/README.md +52 -272
  2. package/dist/cli/commands/clear.js +191 -0
  3. package/dist/cli/commands/clear.js.map +7 -0
  4. package/dist/cli/commands/config.js +152 -1
  5. package/dist/cli/commands/config.js.map +2 -2
  6. package/dist/cli/commands/dashboard.js +178 -0
  7. package/dist/cli/commands/dashboard.js.map +7 -0
  8. package/dist/cli/commands/handoff.js +125 -8
  9. package/dist/cli/commands/handoff.js.map +2 -2
  10. package/dist/cli/commands/linear-create.js +132 -0
  11. package/dist/cli/commands/linear-create.js.map +7 -0
  12. package/dist/cli/commands/linear-list.js +69 -0
  13. package/dist/cli/commands/linear-list.js.map +7 -0
  14. package/dist/cli/commands/linear-migrate.js +40 -0
  15. package/dist/cli/commands/linear-migrate.js.map +7 -0
  16. package/dist/cli/commands/linear.js +185 -36
  17. package/dist/cli/commands/linear.js.map +2 -2
  18. package/dist/cli/commands/monitor.js +309 -0
  19. package/dist/cli/commands/monitor.js.map +7 -0
  20. package/dist/cli/commands/quality.js +414 -0
  21. package/dist/cli/commands/quality.js.map +7 -0
  22. package/dist/cli/commands/storage.js +275 -0
  23. package/dist/cli/commands/storage.js.map +7 -0
  24. package/dist/cli/commands/tui.js +66 -0
  25. package/dist/cli/commands/tui.js.map +7 -0
  26. package/dist/cli/commands/workflow.js +134 -0
  27. package/dist/cli/commands/workflow.js.map +7 -0
  28. package/dist/cli/index.js +104 -8
  29. package/dist/cli/index.js.map +3 -3
  30. package/dist/core/analytics/team-analytics.js +374 -0
  31. package/dist/core/analytics/team-analytics.js.map +7 -0
  32. package/dist/core/context/context-bridge.js +234 -0
  33. package/dist/core/context/context-bridge.js.map +7 -0
  34. package/dist/core/context/dual-stack-manager.js +850 -0
  35. package/dist/core/context/dual-stack-manager.js.map +7 -0
  36. package/dist/core/context/frame-handoff-manager.js +384 -0
  37. package/dist/core/context/frame-handoff-manager.js.map +7 -0
  38. package/dist/core/context/frame-manager.js +132 -12
  39. package/dist/core/context/frame-manager.js.map +2 -2
  40. package/dist/core/context/permission-manager.js +181 -0
  41. package/dist/core/context/permission-manager.js.map +7 -0
  42. package/dist/core/context/shared-context-layer.js +386 -0
  43. package/dist/core/context/shared-context-layer.js.map +7 -0
  44. package/dist/core/context/stack-merge-resolver.js +600 -0
  45. package/dist/core/context/stack-merge-resolver.js.map +7 -0
  46. package/dist/core/context/validation.js +121 -0
  47. package/dist/core/context/validation.js.map +7 -0
  48. package/dist/core/database/connection-pool.js +266 -175
  49. package/dist/core/database/connection-pool.js.map +2 -2
  50. package/dist/core/database/database-adapter.js +51 -0
  51. package/dist/core/database/database-adapter.js.map +7 -0
  52. package/dist/core/database/migration-manager.js +514 -0
  53. package/dist/core/database/migration-manager.js.map +7 -0
  54. package/dist/core/database/paradedb-adapter.js +970 -0
  55. package/dist/core/database/paradedb-adapter.js.map +7 -0
  56. package/dist/core/database/query-router.js +421 -0
  57. package/dist/core/database/query-router.js.map +7 -0
  58. package/dist/core/database/sqlite-adapter.js +547 -0
  59. package/dist/core/database/sqlite-adapter.js.map +7 -0
  60. package/dist/core/errors/index.js +21 -1
  61. package/dist/core/errors/index.js.map +2 -2
  62. package/dist/core/frame/workflow-templates-stub.js +42 -0
  63. package/dist/core/frame/workflow-templates-stub.js.map +7 -0
  64. package/dist/core/frame/workflow-templates.js +276 -0
  65. package/dist/core/frame/workflow-templates.js.map +7 -0
  66. package/dist/core/merge/conflict-detector.js +5 -2
  67. package/dist/core/merge/conflict-detector.js.map +2 -2
  68. package/dist/core/merge/resolution-engine.js +3 -14
  69. package/dist/core/merge/resolution-engine.js.map +2 -2
  70. package/dist/core/merge/stack-diff.js.map +2 -2
  71. package/dist/core/monitoring/logger.js +18 -3
  72. package/dist/core/monitoring/logger.js.map +2 -2
  73. package/dist/core/monitoring/session-monitor.js +296 -0
  74. package/dist/core/monitoring/session-monitor.js.map +7 -0
  75. package/dist/core/retrieval/context-retriever.js +475 -0
  76. package/dist/core/retrieval/context-retriever.js.map +7 -0
  77. package/dist/core/retrieval/graph-retrieval.js +658 -0
  78. package/dist/core/retrieval/graph-retrieval.js.map +7 -0
  79. package/dist/core/retrieval/hierarchical-retrieval.js +652 -0
  80. package/dist/core/retrieval/hierarchical-retrieval.js.map +7 -0
  81. package/dist/core/retrieval/retrieval-benchmarks.js +517 -0
  82. package/dist/core/retrieval/retrieval-benchmarks.js.map +7 -0
  83. package/dist/core/session/clear-survival-stub.js +49 -0
  84. package/dist/core/session/clear-survival-stub.js.map +7 -0
  85. package/dist/core/session/clear-survival.js +426 -0
  86. package/dist/core/session/clear-survival.js.map +7 -0
  87. package/dist/core/session/handoff-generator.js +339 -0
  88. package/dist/core/session/handoff-generator.js.map +7 -0
  89. package/dist/core/session/session-manager.js +61 -26
  90. package/dist/core/session/session-manager.js.map +3 -3
  91. package/dist/core/skills/index.js +3 -0
  92. package/dist/core/skills/index.js.map +7 -0
  93. package/dist/core/skills/skill-storage.js +749 -0
  94. package/dist/core/skills/skill-storage.js.map +7 -0
  95. package/dist/core/skills/types.js +189 -0
  96. package/dist/core/skills/types.js.map +7 -0
  97. package/dist/core/storage/railway-optimized-storage.js +550 -0
  98. package/dist/core/storage/railway-optimized-storage.js.map +7 -0
  99. package/dist/core/storage/remote-storage.js +456 -0
  100. package/dist/core/storage/remote-storage.js.map +7 -0
  101. package/dist/core/trace/trace-detector.js +136 -5
  102. package/dist/core/trace/trace-detector.js.map +2 -2
  103. package/dist/core/trace/trace-store.js.map +2 -2
  104. package/dist/features/tui/components/analytics-panel.js +136 -0
  105. package/dist/features/tui/components/analytics-panel.js.map +7 -0
  106. package/dist/features/tui/components/frame-visualizer.js +377 -0
  107. package/dist/features/tui/components/frame-visualizer.js.map +7 -0
  108. package/dist/features/tui/components/pr-tracker.js +123 -0
  109. package/dist/features/tui/components/pr-tracker.js.map +7 -0
  110. package/dist/features/tui/components/session-monitor.js +286 -0
  111. package/dist/features/tui/components/session-monitor.js.map +7 -0
  112. package/dist/features/tui/components/subagent-fleet.js +388 -0
  113. package/dist/features/tui/components/subagent-fleet.js.map +7 -0
  114. package/dist/features/tui/components/task-board.js +475 -0
  115. package/dist/features/tui/components/task-board.js.map +7 -0
  116. package/dist/features/tui/index.js +397 -0
  117. package/dist/features/tui/index.js.map +7 -0
  118. package/dist/features/tui/services/data-service.js +654 -0
  119. package/dist/features/tui/services/data-service.js.map +7 -0
  120. package/dist/features/tui/services/websocket-client.js +149 -0
  121. package/dist/features/tui/services/websocket-client.js.map +7 -0
  122. package/dist/features/tui/terminal-compat.js +205 -0
  123. package/dist/features/tui/terminal-compat.js.map +7 -0
  124. package/dist/features/tui/types.js +1 -0
  125. package/dist/features/tui/types.js.map +7 -0
  126. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js +455 -0
  127. package/dist/integrations/claude-code/enhanced-pre-clear-hooks.js.map +7 -0
  128. package/dist/integrations/claude-code/lifecycle-hooks.js +250 -0
  129. package/dist/integrations/claude-code/lifecycle-hooks.js.map +7 -0
  130. package/dist/integrations/claude-code/post-task-hooks.js +541 -0
  131. package/dist/integrations/claude-code/post-task-hooks.js.map +7 -0
  132. package/dist/integrations/linear/client.js +22 -4
  133. package/dist/integrations/linear/client.js.map +2 -2
  134. package/dist/integrations/linear/migration.js +299 -0
  135. package/dist/integrations/linear/migration.js.map +7 -0
  136. package/dist/integrations/linear/oauth-server.js +396 -0
  137. package/dist/integrations/linear/oauth-server.js.map +7 -0
  138. package/dist/integrations/linear/rest-client.js +199 -0
  139. package/dist/integrations/linear/rest-client.js.map +7 -0
  140. package/dist/integrations/linear/sync.js +14 -2
  141. package/dist/integrations/linear/sync.js.map +2 -2
  142. package/dist/integrations/linear/webhook-handler.js +200 -0
  143. package/dist/integrations/linear/webhook-handler.js.map +7 -0
  144. package/dist/integrations/mcp/handlers/skill-handlers.js +514 -0
  145. package/dist/integrations/mcp/handlers/skill-handlers.js.map +7 -0
  146. package/dist/integrations/mcp/middleware/tool-scoring.js +352 -0
  147. package/dist/integrations/mcp/middleware/tool-scoring.js.map +7 -0
  148. package/dist/integrations/mcp/refactored-server.js +31 -3
  149. package/dist/integrations/mcp/refactored-server.js.map +2 -2
  150. package/dist/integrations/mcp/server.js +25 -7
  151. package/dist/integrations/mcp/server.js.map +2 -2
  152. package/dist/mcp/stackmemory-mcp-server.js.map +1 -1
  153. package/dist/models/user.model.js +3 -0
  154. package/dist/models/user.model.js.map +2 -2
  155. package/dist/services/context-service.js.map +2 -2
  156. package/dist/utils/formatting.js +58 -0
  157. package/dist/utils/formatting.js.map +7 -0
  158. package/package.json +21 -5
  159. package/dist/cli/__tests__/index.test.js +0 -290
  160. package/dist/cli/__tests__/index.test.js.map +0 -7
  161. package/dist/core/config/__tests__/config-manager.test.js +0 -248
  162. package/dist/core/config/__tests__/config-manager.test.js.map +0 -7
  163. package/dist/core/context/__tests__/frame-manager.test.js +0 -879
  164. package/dist/core/context/__tests__/frame-manager.test.js.map +0 -7
  165. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js +0 -379
  166. package/dist/core/digest/__tests__/enhanced-hybrid-digest.test.js.map +0 -7
  167. package/dist/core/digest/__tests__/frame-digest-integration.test.js +0 -230
  168. package/dist/core/digest/__tests__/frame-digest-integration.test.js.map +0 -7
  169. package/dist/core/errors/__tests__/error-handling.test.js +0 -270
  170. package/dist/core/errors/__tests__/error-handling.test.js.map +0 -7
  171. package/dist/core/merge/__tests__/conflict-scenarios.test.js +0 -414
  172. package/dist/core/merge/__tests__/conflict-scenarios.test.js.map +0 -7
  173. package/dist/core/query/__tests__/query-parser.test.js +0 -301
  174. package/dist/core/query/__tests__/query-parser.test.js.map +0 -7
  175. package/dist/core/query/__tests__/query-templates.test.js +0 -210
  176. package/dist/core/query/__tests__/query-templates.test.js.map +0 -7
  177. package/dist/core/trace/trace-detector.test.js +0 -401
  178. package/dist/core/trace/trace-detector.test.js.map +0 -7
  179. package/dist/features/tasks/__tests__/pebbles-task-store.test.js +0 -747
  180. package/dist/features/tasks/__tests__/pebbles-task-store.test.js.map +0 -7
  181. package/dist/integrations/linear/__tests__/auth.test.js +0 -558
  182. package/dist/integrations/linear/__tests__/auth.test.js.map +0 -7
  183. package/dist/integrations/linear/__tests__/sync-service.test.js +0 -760
  184. package/dist/integrations/linear/__tests__/sync-service.test.js.map +0 -7
  185. package/dist/integrations/mcp/__tests__/server.test.js +0 -798
  186. package/dist/integrations/mcp/__tests__/server.test.js.map +0 -7
  187. package/dist/scripts/benchmark-performance.d.ts +0 -7
  188. package/dist/scripts/benchmark-performance.d.ts.map +0 -1
  189. package/dist/scripts/benchmark-performance.js +0 -44
  190. package/dist/scripts/benchmark-performance.js.map +0 -1
  191. package/dist/scripts/cancel-duplicate-tasks.d.ts +0 -7
  192. package/dist/scripts/cancel-duplicate-tasks.d.ts.map +0 -1
  193. package/dist/scripts/cancel-duplicate-tasks.js +0 -172
  194. package/dist/scripts/cancel-duplicate-tasks.js.map +0 -1
  195. package/dist/scripts/cleanup-duplicate-tasks.d.ts +0 -12
  196. package/dist/scripts/cleanup-duplicate-tasks.d.ts.map +0 -1
  197. package/dist/scripts/cleanup-duplicate-tasks.js +0 -215
  198. package/dist/scripts/cleanup-duplicate-tasks.js.map +0 -1
  199. package/dist/scripts/initialize.d.ts +0 -6
  200. package/dist/scripts/initialize.d.ts.map +0 -1
  201. package/dist/scripts/initialize.js +0 -93
  202. package/dist/scripts/initialize.js.map +0 -1
  203. package/dist/scripts/list-linear-tasks.d.ts +0 -6
  204. package/dist/scripts/list-linear-tasks.d.ts.map +0 -1
  205. package/dist/scripts/list-linear-tasks.js +0 -121
  206. package/dist/scripts/list-linear-tasks.js.map +0 -1
  207. package/dist/scripts/merge-linear-duplicates-safe.d.ts +0 -7
  208. package/dist/scripts/merge-linear-duplicates-safe.d.ts.map +0 -1
  209. package/dist/scripts/merge-linear-duplicates-safe.js +0 -267
  210. package/dist/scripts/merge-linear-duplicates-safe.js.map +0 -1
  211. package/dist/scripts/show-linear-summary.d.ts +0 -6
  212. package/dist/scripts/show-linear-summary.d.ts.map +0 -1
  213. package/dist/scripts/show-linear-summary.js +0 -120
  214. package/dist/scripts/show-linear-summary.js.map +0 -1
  215. package/dist/scripts/status.d.ts +0 -6
  216. package/dist/scripts/status.d.ts.map +0 -1
  217. package/dist/scripts/status.js +0 -101
  218. package/dist/scripts/status.js.map +0 -1
  219. package/dist/src/agents/core/agent-task-manager.d.ts +0 -154
  220. package/dist/src/agents/core/agent-task-manager.d.ts.map +0 -1
  221. package/dist/src/agents/core/agent-task-manager.js +0 -504
  222. package/dist/src/agents/core/agent-task-manager.js.map +0 -1
  223. package/dist/src/agents/verifiers/base-verifier.d.ts +0 -112
  224. package/dist/src/agents/verifiers/base-verifier.d.ts.map +0 -1
  225. package/dist/src/agents/verifiers/base-verifier.js +0 -130
  226. package/dist/src/agents/verifiers/base-verifier.js.map +0 -1
  227. package/dist/src/agents/verifiers/formatter-verifier.d.ts +0 -14
  228. package/dist/src/agents/verifiers/formatter-verifier.d.ts.map +0 -1
  229. package/dist/src/agents/verifiers/formatter-verifier.js +0 -107
  230. package/dist/src/agents/verifiers/formatter-verifier.js.map +0 -1
  231. package/dist/src/agents/verifiers/llm-judge.d.ts +0 -46
  232. package/dist/src/agents/verifiers/llm-judge.d.ts.map +0 -1
  233. package/dist/src/agents/verifiers/llm-judge.js +0 -248
  234. package/dist/src/agents/verifiers/llm-judge.js.map +0 -1
  235. package/dist/src/cli/auto-detect.d.ts +0 -61
  236. package/dist/src/cli/auto-detect.d.ts.map +0 -1
  237. package/dist/src/cli/auto-detect.js +0 -350
  238. package/dist/src/cli/auto-detect.js.map +0 -1
  239. package/dist/src/cli/browser-test.d.ts +0 -6
  240. package/dist/src/cli/browser-test.d.ts.map +0 -1
  241. package/dist/src/cli/browser-test.js +0 -32
  242. package/dist/src/cli/browser-test.js.map +0 -1
  243. package/dist/src/cli/claude-sm.d.ts +0 -7
  244. package/dist/src/cli/claude-sm.d.ts.map +0 -1
  245. package/dist/src/cli/claude-sm.js +0 -412
  246. package/dist/src/cli/claude-sm.js.map +0 -1
  247. package/dist/src/cli/commands/agent.d.ts +0 -9
  248. package/dist/src/cli/commands/agent.d.ts.map +0 -1
  249. package/dist/src/cli/commands/agent.js +0 -303
  250. package/dist/src/cli/commands/agent.js.map +0 -1
  251. package/dist/src/cli/commands/config.d.ts +0 -6
  252. package/dist/src/cli/commands/config.d.ts.map +0 -1
  253. package/dist/src/cli/commands/config.js +0 -224
  254. package/dist/src/cli/commands/config.js.map +0 -1
  255. package/dist/src/cli/commands/context.d.ts +0 -7
  256. package/dist/src/cli/commands/context.d.ts.map +0 -1
  257. package/dist/src/cli/commands/context.js +0 -365
  258. package/dist/src/cli/commands/context.js.map +0 -1
  259. package/dist/src/cli/commands/handoff.d.ts +0 -6
  260. package/dist/src/cli/commands/handoff.d.ts.map +0 -1
  261. package/dist/src/cli/commands/handoff.js +0 -212
  262. package/dist/src/cli/commands/handoff.js.map +0 -1
  263. package/dist/src/cli/commands/linear-test.d.ts +0 -6
  264. package/dist/src/cli/commands/linear-test.d.ts.map +0 -1
  265. package/dist/src/cli/commands/linear-test.js +0 -123
  266. package/dist/src/cli/commands/linear-test.js.map +0 -1
  267. package/dist/src/cli/commands/linear.d.ts +0 -6
  268. package/dist/src/cli/commands/linear.d.ts.map +0 -1
  269. package/dist/src/cli/commands/linear.js +0 -393
  270. package/dist/src/cli/commands/linear.js.map +0 -1
  271. package/dist/src/cli/commands/log.d.ts +0 -7
  272. package/dist/src/cli/commands/log.d.ts.map +0 -1
  273. package/dist/src/cli/commands/log.js +0 -168
  274. package/dist/src/cli/commands/log.js.map +0 -1
  275. package/dist/src/cli/commands/onboard.d.ts +0 -8
  276. package/dist/src/cli/commands/onboard.d.ts.map +0 -1
  277. package/dist/src/cli/commands/onboard.js +0 -363
  278. package/dist/src/cli/commands/onboard.js.map +0 -1
  279. package/dist/src/cli/commands/projects.d.ts +0 -8
  280. package/dist/src/cli/commands/projects.d.ts.map +0 -1
  281. package/dist/src/cli/commands/projects.js +0 -220
  282. package/dist/src/cli/commands/projects.js.map +0 -1
  283. package/dist/src/cli/commands/search.d.ts +0 -7
  284. package/dist/src/cli/commands/search.d.ts.map +0 -1
  285. package/dist/src/cli/commands/search.js +0 -162
  286. package/dist/src/cli/commands/search.js.map +0 -1
  287. package/dist/src/cli/commands/session.d.ts +0 -7
  288. package/dist/src/cli/commands/session.d.ts.map +0 -1
  289. package/dist/src/cli/commands/session.js +0 -222
  290. package/dist/src/cli/commands/session.js.map +0 -1
  291. package/dist/src/cli/commands/tasks.d.ts +0 -7
  292. package/dist/src/cli/commands/tasks.d.ts.map +0 -1
  293. package/dist/src/cli/commands/tasks.js +0 -229
  294. package/dist/src/cli/commands/tasks.js.map +0 -1
  295. package/dist/src/cli/commands/webhook.d.ts +0 -3
  296. package/dist/src/cli/commands/webhook.d.ts.map +0 -1
  297. package/dist/src/cli/commands/webhook.js +0 -157
  298. package/dist/src/cli/commands/webhook.js.map +0 -1
  299. package/dist/src/cli/commands/worktree.d.ts +0 -8
  300. package/dist/src/cli/commands/worktree.d.ts.map +0 -1
  301. package/dist/src/cli/commands/worktree.js +0 -339
  302. package/dist/src/cli/commands/worktree.js.map +0 -1
  303. package/dist/src/cli/index.d.ts +0 -8
  304. package/dist/src/cli/index.d.ts.map +0 -1
  305. package/dist/src/cli/index.js +0 -995
  306. package/dist/src/cli/index.js.map +0 -1
  307. package/dist/src/cli/utils/viewer.d.ts +0 -3
  308. package/dist/src/cli/utils/viewer.d.ts.map +0 -1
  309. package/dist/src/cli/utils/viewer.js +0 -91
  310. package/dist/src/cli/utils/viewer.js.map +0 -1
  311. package/dist/src/core/config/config-manager.d.ts +0 -95
  312. package/dist/src/core/config/config-manager.d.ts.map +0 -1
  313. package/dist/src/core/config/config-manager.js +0 -359
  314. package/dist/src/core/config/config-manager.js.map +0 -1
  315. package/dist/src/core/config/types.d.ts +0 -72
  316. package/dist/src/core/config/types.d.ts.map +0 -1
  317. package/dist/src/core/config/types.js +0 -127
  318. package/dist/src/core/config/types.js.map +0 -1
  319. package/dist/src/core/context/auto-context.d.ts +0 -22
  320. package/dist/src/core/context/auto-context.d.ts.map +0 -1
  321. package/dist/src/core/context/auto-context.js +0 -77
  322. package/dist/src/core/context/auto-context.js.map +0 -1
  323. package/dist/src/core/context/compaction-handler.d.ts +0 -119
  324. package/dist/src/core/context/compaction-handler.d.ts.map +0 -1
  325. package/dist/src/core/context/compaction-handler.js +0 -306
  326. package/dist/src/core/context/compaction-handler.js.map +0 -1
  327. package/dist/src/core/context/frame-database.d.ts +0 -59
  328. package/dist/src/core/context/frame-database.d.ts.map +0 -1
  329. package/dist/src/core/context/frame-database.js +0 -333
  330. package/dist/src/core/context/frame-database.js.map +0 -1
  331. package/dist/src/core/context/frame-digest.d.ts +0 -59
  332. package/dist/src/core/context/frame-digest.d.ts.map +0 -1
  333. package/dist/src/core/context/frame-digest.js +0 -264
  334. package/dist/src/core/context/frame-digest.js.map +0 -1
  335. package/dist/src/core/context/frame-manager.d.ts +0 -112
  336. package/dist/src/core/context/frame-manager.d.ts.map +0 -1
  337. package/dist/src/core/context/frame-manager.js +0 -600
  338. package/dist/src/core/context/frame-manager.js.map +0 -1
  339. package/dist/src/core/context/frame-stack.d.ts +0 -85
  340. package/dist/src/core/context/frame-stack.d.ts.map +0 -1
  341. package/dist/src/core/context/frame-stack.js +0 -287
  342. package/dist/src/core/context/frame-stack.js.map +0 -1
  343. package/dist/src/core/context/frame-types.d.ts +0 -67
  344. package/dist/src/core/context/frame-types.d.ts.map +0 -1
  345. package/dist/src/core/context/frame-types.js +0 -6
  346. package/dist/src/core/context/frame-types.js.map +0 -1
  347. package/dist/src/core/context/index.d.ts +0 -11
  348. package/dist/src/core/context/index.d.ts.map +0 -1
  349. package/dist/src/core/context/index.js +0 -14
  350. package/dist/src/core/context/index.js.map +0 -1
  351. package/dist/src/core/context/model-aware-compaction.d.ts +0 -101
  352. package/dist/src/core/context/model-aware-compaction.d.ts.map +0 -1
  353. package/dist/src/core/context/model-aware-compaction.js +0 -616
  354. package/dist/src/core/context/model-aware-compaction.js.map +0 -1
  355. package/dist/src/core/context/refactored-frame-manager.d.ts +0 -99
  356. package/dist/src/core/context/refactored-frame-manager.d.ts.map +0 -1
  357. package/dist/src/core/context/refactored-frame-manager.js +0 -340
  358. package/dist/src/core/context/refactored-frame-manager.js.map +0 -1
  359. package/dist/src/core/database/batch-operations.d.ts +0 -118
  360. package/dist/src/core/database/batch-operations.d.ts.map +0 -1
  361. package/dist/src/core/database/batch-operations.js +0 -339
  362. package/dist/src/core/database/batch-operations.js.map +0 -1
  363. package/dist/src/core/database/connection-pool.d.ts +0 -79
  364. package/dist/src/core/database/connection-pool.d.ts.map +0 -1
  365. package/dist/src/core/database/connection-pool.js +0 -236
  366. package/dist/src/core/database/connection-pool.js.map +0 -1
  367. package/dist/src/core/database/query-cache.d.ts +0 -135
  368. package/dist/src/core/database/query-cache.d.ts.map +0 -1
  369. package/dist/src/core/database/query-cache.js +0 -294
  370. package/dist/src/core/database/query-cache.js.map +0 -1
  371. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts +0 -125
  372. package/dist/src/core/digest/enhanced-hybrid-digest.d.ts.map +0 -1
  373. package/dist/src/core/digest/enhanced-hybrid-digest.js +0 -282
  374. package/dist/src/core/digest/enhanced-hybrid-digest.js.map +0 -1
  375. package/dist/src/core/digest/frame-digest-integration.d.ts +0 -67
  376. package/dist/src/core/digest/frame-digest-integration.d.ts.map +0 -1
  377. package/dist/src/core/digest/frame-digest-integration.js +0 -198
  378. package/dist/src/core/digest/frame-digest-integration.js.map +0 -1
  379. package/dist/src/core/digest/hybrid-digest-generator.d.ts +0 -76
  380. package/dist/src/core/digest/hybrid-digest-generator.d.ts.map +0 -1
  381. package/dist/src/core/digest/hybrid-digest-generator.js +0 -629
  382. package/dist/src/core/digest/hybrid-digest-generator.js.map +0 -1
  383. package/dist/src/core/digest/index.d.ts +0 -9
  384. package/dist/src/core/digest/index.d.ts.map +0 -1
  385. package/dist/src/core/digest/index.js +0 -9
  386. package/dist/src/core/digest/index.js.map +0 -1
  387. package/dist/src/core/digest/types.d.ts +0 -154
  388. package/dist/src/core/digest/types.d.ts.map +0 -1
  389. package/dist/src/core/digest/types.js +0 -18
  390. package/dist/src/core/digest/types.js.map +0 -1
  391. package/dist/src/core/errors/index.d.ts +0 -143
  392. package/dist/src/core/errors/index.d.ts.map +0 -1
  393. package/dist/src/core/errors/index.js +0 -282
  394. package/dist/src/core/errors/index.js.map +0 -1
  395. package/dist/src/core/errors/recovery.d.ts +0 -86
  396. package/dist/src/core/errors/recovery.d.ts.map +0 -1
  397. package/dist/src/core/errors/recovery.js +0 -274
  398. package/dist/src/core/errors/recovery.js.map +0 -1
  399. package/dist/src/core/merge/conflict-detector.d.ts +0 -122
  400. package/dist/src/core/merge/conflict-detector.d.ts.map +0 -1
  401. package/dist/src/core/merge/conflict-detector.js +0 -468
  402. package/dist/src/core/merge/conflict-detector.js.map +0 -1
  403. package/dist/src/core/merge/index.d.ts +0 -9
  404. package/dist/src/core/merge/index.d.ts.map +0 -1
  405. package/dist/src/core/merge/index.js +0 -9
  406. package/dist/src/core/merge/index.js.map +0 -1
  407. package/dist/src/core/merge/resolution-engine.d.ts +0 -120
  408. package/dist/src/core/merge/resolution-engine.d.ts.map +0 -1
  409. package/dist/src/core/merge/resolution-engine.js +0 -573
  410. package/dist/src/core/merge/resolution-engine.js.map +0 -1
  411. package/dist/src/core/merge/stack-diff.d.ts +0 -97
  412. package/dist/src/core/merge/stack-diff.d.ts.map +0 -1
  413. package/dist/src/core/merge/stack-diff.js +0 -516
  414. package/dist/src/core/merge/stack-diff.js.map +0 -1
  415. package/dist/src/core/merge/types.d.ts +0 -110
  416. package/dist/src/core/merge/types.d.ts.map +0 -1
  417. package/dist/src/core/merge/types.js +0 -6
  418. package/dist/src/core/merge/types.js.map +0 -1
  419. package/dist/src/core/monitoring/error-handler.d.ts +0 -46
  420. package/dist/src/core/monitoring/error-handler.d.ts.map +0 -1
  421. package/dist/src/core/monitoring/error-handler.js +0 -212
  422. package/dist/src/core/monitoring/error-handler.js.map +0 -1
  423. package/dist/src/core/monitoring/logger.d.ts +0 -24
  424. package/dist/src/core/monitoring/logger.d.ts.map +0 -1
  425. package/dist/src/core/monitoring/logger.js +0 -126
  426. package/dist/src/core/monitoring/logger.js.map +0 -1
  427. package/dist/src/core/monitoring/metrics.d.ts +0 -10
  428. package/dist/src/core/monitoring/metrics.d.ts.map +0 -1
  429. package/dist/src/core/monitoring/metrics.js +0 -152
  430. package/dist/src/core/monitoring/metrics.js.map +0 -1
  431. package/dist/src/core/monitoring/progress-tracker.d.ts +0 -95
  432. package/dist/src/core/monitoring/progress-tracker.d.ts.map +0 -1
  433. package/dist/src/core/monitoring/progress-tracker.js +0 -178
  434. package/dist/src/core/monitoring/progress-tracker.js.map +0 -1
  435. package/dist/src/core/performance/context-cache.d.ts +0 -109
  436. package/dist/src/core/performance/context-cache.d.ts.map +0 -1
  437. package/dist/src/core/performance/context-cache.js +0 -280
  438. package/dist/src/core/performance/context-cache.js.map +0 -1
  439. package/dist/src/core/performance/index.d.ts +0 -3
  440. package/dist/src/core/performance/index.d.ts.map +0 -1
  441. package/dist/src/core/performance/index.js +0 -3
  442. package/dist/src/core/performance/index.js.map +0 -1
  443. package/dist/src/core/performance/lazy-context-loader.d.ts +0 -93
  444. package/dist/src/core/performance/lazy-context-loader.d.ts.map +0 -1
  445. package/dist/src/core/performance/lazy-context-loader.js +0 -332
  446. package/dist/src/core/performance/lazy-context-loader.js.map +0 -1
  447. package/dist/src/core/performance/monitor.d.ts +0 -48
  448. package/dist/src/core/performance/monitor.d.ts.map +0 -1
  449. package/dist/src/core/performance/monitor.js +0 -226
  450. package/dist/src/core/performance/monitor.js.map +0 -1
  451. package/dist/src/core/performance/optimized-frame-context.d.ts +0 -74
  452. package/dist/src/core/performance/optimized-frame-context.d.ts.map +0 -1
  453. package/dist/src/core/performance/optimized-frame-context.js +0 -330
  454. package/dist/src/core/performance/optimized-frame-context.js.map +0 -1
  455. package/dist/src/core/performance/performance-benchmark.d.ts +0 -50
  456. package/dist/src/core/performance/performance-benchmark.d.ts.map +0 -1
  457. package/dist/src/core/performance/performance-benchmark.js +0 -290
  458. package/dist/src/core/performance/performance-benchmark.js.map +0 -1
  459. package/dist/src/core/performance/performance-profiler.d.ts +0 -151
  460. package/dist/src/core/performance/performance-profiler.d.ts.map +0 -1
  461. package/dist/src/core/performance/performance-profiler.js +0 -346
  462. package/dist/src/core/performance/performance-profiler.js.map +0 -1
  463. package/dist/src/core/performance/streaming-jsonl-parser.d.ts +0 -41
  464. package/dist/src/core/performance/streaming-jsonl-parser.d.ts.map +0 -1
  465. package/dist/src/core/performance/streaming-jsonl-parser.js +0 -193
  466. package/dist/src/core/performance/streaming-jsonl-parser.js.map +0 -1
  467. package/dist/src/core/persistence/postgres-adapter.d.ts +0 -31
  468. package/dist/src/core/persistence/postgres-adapter.d.ts.map +0 -1
  469. package/dist/src/core/persistence/postgres-adapter.js +0 -330
  470. package/dist/src/core/persistence/postgres-adapter.js.map +0 -1
  471. package/dist/src/core/projects/project-manager.d.ts +0 -130
  472. package/dist/src/core/projects/project-manager.d.ts.map +0 -1
  473. package/dist/src/core/projects/project-manager.js +0 -709
  474. package/dist/src/core/projects/project-manager.js.map +0 -1
  475. package/dist/src/core/query/query-parser.d.ts +0 -109
  476. package/dist/src/core/query/query-parser.d.ts.map +0 -1
  477. package/dist/src/core/query/query-parser.js +0 -415
  478. package/dist/src/core/query/query-parser.js.map +0 -1
  479. package/dist/src/core/query/query-templates.d.ts +0 -44
  480. package/dist/src/core/query/query-templates.d.ts.map +0 -1
  481. package/dist/src/core/query/query-templates.js +0 -326
  482. package/dist/src/core/query/query-templates.js.map +0 -1
  483. package/dist/src/core/retrieval/index.d.ts +0 -8
  484. package/dist/src/core/retrieval/index.d.ts.map +0 -1
  485. package/dist/src/core/retrieval/index.js +0 -8
  486. package/dist/src/core/retrieval/index.js.map +0 -1
  487. package/dist/src/core/retrieval/llm-context-retrieval.d.ts +0 -73
  488. package/dist/src/core/retrieval/llm-context-retrieval.d.ts.map +0 -1
  489. package/dist/src/core/retrieval/llm-context-retrieval.js +0 -597
  490. package/dist/src/core/retrieval/llm-context-retrieval.js.map +0 -1
  491. package/dist/src/core/retrieval/summary-generator.d.ts +0 -63
  492. package/dist/src/core/retrieval/summary-generator.d.ts.map +0 -1
  493. package/dist/src/core/retrieval/summary-generator.js +0 -622
  494. package/dist/src/core/retrieval/summary-generator.js.map +0 -1
  495. package/dist/src/core/retrieval/types.d.ts +0 -257
  496. package/dist/src/core/retrieval/types.d.ts.map +0 -1
  497. package/dist/src/core/retrieval/types.js +0 -18
  498. package/dist/src/core/retrieval/types.js.map +0 -1
  499. package/dist/src/core/session/index.d.ts +0 -2
  500. package/dist/src/core/session/index.d.ts.map +0 -1
  501. package/dist/src/core/session/index.js +0 -2
  502. package/dist/src/core/session/index.js.map +0 -1
  503. package/dist/src/core/session/session-manager.d.ts +0 -69
  504. package/dist/src/core/session/session-manager.d.ts.map +0 -1
  505. package/dist/src/core/session/session-manager.js +0 -311
  506. package/dist/src/core/session/session-manager.js.map +0 -1
  507. package/dist/src/core/trace/cli-trace-wrapper.d.ts +0 -23
  508. package/dist/src/core/trace/cli-trace-wrapper.d.ts.map +0 -1
  509. package/dist/src/core/trace/cli-trace-wrapper.js +0 -141
  510. package/dist/src/core/trace/cli-trace-wrapper.js.map +0 -1
  511. package/dist/src/core/trace/db-trace-wrapper.d.ts +0 -36
  512. package/dist/src/core/trace/db-trace-wrapper.d.ts.map +0 -1
  513. package/dist/src/core/trace/db-trace-wrapper.js +0 -252
  514. package/dist/src/core/trace/db-trace-wrapper.js.map +0 -1
  515. package/dist/src/core/trace/debug-trace.d.ts +0 -84
  516. package/dist/src/core/trace/debug-trace.d.ts.map +0 -1
  517. package/dist/src/core/trace/debug-trace.js +0 -402
  518. package/dist/src/core/trace/debug-trace.js.map +0 -1
  519. package/dist/src/core/trace/error-test.d.ts +0 -6
  520. package/dist/src/core/trace/error-test.d.ts.map +0 -1
  521. package/dist/src/core/trace/error-test.js +0 -128
  522. package/dist/src/core/trace/error-test.js.map +0 -1
  523. package/dist/src/core/trace/index.d.ts +0 -25
  524. package/dist/src/core/trace/index.d.ts.map +0 -1
  525. package/dist/src/core/trace/index.js +0 -121
  526. package/dist/src/core/trace/index.js.map +0 -1
  527. package/dist/src/core/trace/linear-api-wrapper.d.ts +0 -17
  528. package/dist/src/core/trace/linear-api-wrapper.d.ts.map +0 -1
  529. package/dist/src/core/trace/linear-api-wrapper.js +0 -205
  530. package/dist/src/core/trace/linear-api-wrapper.js.map +0 -1
  531. package/dist/src/core/trace/performance-test.d.ts +0 -6
  532. package/dist/src/core/trace/performance-test.d.ts.map +0 -1
  533. package/dist/src/core/trace/performance-test.js +0 -111
  534. package/dist/src/core/trace/performance-test.js.map +0 -1
  535. package/dist/src/core/trace/trace-demo.d.ts +0 -8
  536. package/dist/src/core/trace/trace-demo.d.ts.map +0 -1
  537. package/dist/src/core/trace/trace-demo.js +0 -154
  538. package/dist/src/core/trace/trace-demo.js.map +0 -1
  539. package/dist/src/core/trace/trace-detector.d.ts +0 -108
  540. package/dist/src/core/trace/trace-detector.d.ts.map +0 -1
  541. package/dist/src/core/trace/trace-detector.demo.d.ts +0 -5
  542. package/dist/src/core/trace/trace-detector.demo.d.ts.map +0 -1
  543. package/dist/src/core/trace/trace-detector.demo.js +0 -145
  544. package/dist/src/core/trace/trace-detector.demo.js.map +0 -1
  545. package/dist/src/core/trace/trace-detector.js +0 -425
  546. package/dist/src/core/trace/trace-detector.js.map +0 -1
  547. package/dist/src/core/trace/trace-store.d.ts +0 -60
  548. package/dist/src/core/trace/trace-store.d.ts.map +0 -1
  549. package/dist/src/core/trace/trace-store.js +0 -323
  550. package/dist/src/core/trace/trace-store.js.map +0 -1
  551. package/dist/src/core/trace/types.d.ts +0 -81
  552. package/dist/src/core/trace/types.d.ts.map +0 -1
  553. package/dist/src/core/trace/types.js +0 -70
  554. package/dist/src/core/trace/types.js.map +0 -1
  555. package/dist/src/core/types.d.ts +0 -35
  556. package/dist/src/core/types.d.ts.map +0 -1
  557. package/dist/src/core/types.js +0 -2
  558. package/dist/src/core/types.js.map +0 -1
  559. package/dist/src/core/utils/update-checker.d.ts +0 -38
  560. package/dist/src/core/utils/update-checker.d.ts.map +0 -1
  561. package/dist/src/core/utils/update-checker.js +0 -213
  562. package/dist/src/core/utils/update-checker.js.map +0 -1
  563. package/dist/src/core/worktree/worktree-manager.d.ts +0 -110
  564. package/dist/src/core/worktree/worktree-manager.d.ts.map +0 -1
  565. package/dist/src/core/worktree/worktree-manager.js +0 -456
  566. package/dist/src/core/worktree/worktree-manager.js.map +0 -1
  567. package/dist/src/features/analytics/api/analytics-api.d.ts +0 -24
  568. package/dist/src/features/analytics/api/analytics-api.d.ts.map +0 -1
  569. package/dist/src/features/analytics/api/analytics-api.js +0 -289
  570. package/dist/src/features/analytics/api/analytics-api.js.map +0 -1
  571. package/dist/src/features/analytics/core/analytics-service.d.ts +0 -29
  572. package/dist/src/features/analytics/core/analytics-service.d.ts.map +0 -1
  573. package/dist/src/features/analytics/core/analytics-service.js +0 -275
  574. package/dist/src/features/analytics/core/analytics-service.js.map +0 -1
  575. package/dist/src/features/analytics/index.d.ts +0 -12
  576. package/dist/src/features/analytics/index.d.ts.map +0 -1
  577. package/dist/src/features/analytics/index.js +0 -11
  578. package/dist/src/features/analytics/index.js.map +0 -1
  579. package/dist/src/features/analytics/queries/metrics-queries.d.ts +0 -11
  580. package/dist/src/features/analytics/queries/metrics-queries.d.ts.map +0 -1
  581. package/dist/src/features/analytics/queries/metrics-queries.js +0 -240
  582. package/dist/src/features/analytics/queries/metrics-queries.js.map +0 -1
  583. package/dist/src/features/analytics/types/metrics.d.ts +0 -60
  584. package/dist/src/features/analytics/types/metrics.d.ts.map +0 -1
  585. package/dist/src/features/analytics/types/metrics.js +0 -2
  586. package/dist/src/features/analytics/types/metrics.js.map +0 -1
  587. package/dist/src/features/browser/browser-mcp.d.ts +0 -94
  588. package/dist/src/features/browser/browser-mcp.d.ts.map +0 -1
  589. package/dist/src/features/browser/browser-mcp.js +0 -459
  590. package/dist/src/features/browser/browser-mcp.js.map +0 -1
  591. package/dist/src/features/tasks/pebbles-task-store.d.ts +0 -128
  592. package/dist/src/features/tasks/pebbles-task-store.d.ts.map +0 -1
  593. package/dist/src/features/tasks/pebbles-task-store.js +0 -572
  594. package/dist/src/features/tasks/pebbles-task-store.js.map +0 -1
  595. package/dist/src/features/tasks/task-aware-context.d.ts +0 -103
  596. package/dist/src/features/tasks/task-aware-context.d.ts.map +0 -1
  597. package/dist/src/features/tasks/task-aware-context.js +0 -412
  598. package/dist/src/features/tasks/task-aware-context.js.map +0 -1
  599. package/dist/src/index.d.ts +0 -21
  600. package/dist/src/index.d.ts.map +0 -1
  601. package/dist/src/index.js +0 -9
  602. package/dist/src/index.js.map +0 -1
  603. package/dist/src/integrations/linear/auth.d.ts +0 -99
  604. package/dist/src/integrations/linear/auth.d.ts.map +0 -1
  605. package/dist/src/integrations/linear/auth.js +0 -319
  606. package/dist/src/integrations/linear/auth.js.map +0 -1
  607. package/dist/src/integrations/linear/auto-sync.d.ts +0 -77
  608. package/dist/src/integrations/linear/auto-sync.d.ts.map +0 -1
  609. package/dist/src/integrations/linear/auto-sync.js +0 -268
  610. package/dist/src/integrations/linear/auto-sync.js.map +0 -1
  611. package/dist/src/integrations/linear/client.d.ts +0 -127
  612. package/dist/src/integrations/linear/client.d.ts.map +0 -1
  613. package/dist/src/integrations/linear/client.js +0 -446
  614. package/dist/src/integrations/linear/client.js.map +0 -1
  615. package/dist/src/integrations/linear/config.d.ts +0 -51
  616. package/dist/src/integrations/linear/config.d.ts.map +0 -1
  617. package/dist/src/integrations/linear/config.js +0 -103
  618. package/dist/src/integrations/linear/config.js.map +0 -1
  619. package/dist/src/integrations/linear/sync-manager.d.ts +0 -78
  620. package/dist/src/integrations/linear/sync-manager.d.ts.map +0 -1
  621. package/dist/src/integrations/linear/sync-manager.js +0 -235
  622. package/dist/src/integrations/linear/sync-manager.js.map +0 -1
  623. package/dist/src/integrations/linear/sync-service.d.ts +0 -46
  624. package/dist/src/integrations/linear/sync-service.d.ts.map +0 -1
  625. package/dist/src/integrations/linear/sync-service.js +0 -217
  626. package/dist/src/integrations/linear/sync-service.js.map +0 -1
  627. package/dist/src/integrations/linear/sync.d.ts +0 -125
  628. package/dist/src/integrations/linear/sync.d.ts.map +0 -1
  629. package/dist/src/integrations/linear/sync.js +0 -563
  630. package/dist/src/integrations/linear/sync.js.map +0 -1
  631. package/dist/src/integrations/linear/types.d.ts +0 -90
  632. package/dist/src/integrations/linear/types.d.ts.map +0 -1
  633. package/dist/src/integrations/linear/types.js +0 -2
  634. package/dist/src/integrations/linear/types.js.map +0 -1
  635. package/dist/src/integrations/linear/webhook-server.d.ts +0 -32
  636. package/dist/src/integrations/linear/webhook-server.d.ts.map +0 -1
  637. package/dist/src/integrations/linear/webhook-server.js +0 -190
  638. package/dist/src/integrations/linear/webhook-server.js.map +0 -1
  639. package/dist/src/integrations/linear/webhook.d.ts +0 -108
  640. package/dist/src/integrations/linear/webhook.d.ts.map +0 -1
  641. package/dist/src/integrations/linear/webhook.js +0 -291
  642. package/dist/src/integrations/linear/webhook.js.map +0 -1
  643. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts +0 -39
  644. package/dist/src/integrations/mcp/handlers/context-handlers.d.ts.map +0 -1
  645. package/dist/src/integrations/mcp/handlers/context-handlers.js +0 -266
  646. package/dist/src/integrations/mcp/handlers/context-handlers.js.map +0 -1
  647. package/dist/src/integrations/mcp/handlers/index.d.ts +0 -37
  648. package/dist/src/integrations/mcp/handlers/index.d.ts.map +0 -1
  649. package/dist/src/integrations/mcp/handlers/index.js +0 -134
  650. package/dist/src/integrations/mcp/handlers/index.js.map +0 -1
  651. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts +0 -33
  652. package/dist/src/integrations/mcp/handlers/linear-handlers.d.ts.map +0 -1
  653. package/dist/src/integrations/mcp/handlers/linear-handlers.js +0 -251
  654. package/dist/src/integrations/mcp/handlers/linear-handlers.js.map +0 -1
  655. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts +0 -42
  656. package/dist/src/integrations/mcp/handlers/task-handlers.d.ts.map +0 -1
  657. package/dist/src/integrations/mcp/handlers/task-handlers.js +0 -238
  658. package/dist/src/integrations/mcp/handlers/task-handlers.js.map +0 -1
  659. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts +0 -41
  660. package/dist/src/integrations/mcp/handlers/trace-handlers.d.ts.map +0 -1
  661. package/dist/src/integrations/mcp/handlers/trace-handlers.js +0 -298
  662. package/dist/src/integrations/mcp/handlers/trace-handlers.js.map +0 -1
  663. package/dist/src/integrations/mcp/index.d.ts +0 -13
  664. package/dist/src/integrations/mcp/index.d.ts.map +0 -1
  665. package/dist/src/integrations/mcp/index.js +0 -17
  666. package/dist/src/integrations/mcp/index.js.map +0 -1
  667. package/dist/src/integrations/mcp/refactored-server.d.ts +0 -76
  668. package/dist/src/integrations/mcp/refactored-server.d.ts.map +0 -1
  669. package/dist/src/integrations/mcp/refactored-server.js +0 -351
  670. package/dist/src/integrations/mcp/refactored-server.js.map +0 -1
  671. package/dist/src/integrations/mcp/server.d.ts +0 -54
  672. package/dist/src/integrations/mcp/server.d.ts.map +0 -1
  673. package/dist/src/integrations/mcp/server.js +0 -1616
  674. package/dist/src/integrations/mcp/server.js.map +0 -1
  675. package/dist/src/integrations/mcp/tool-definitions.d.ts +0 -44
  676. package/dist/src/integrations/mcp/tool-definitions.d.ts.map +0 -1
  677. package/dist/src/integrations/mcp/tool-definitions.js +0 -563
  678. package/dist/src/integrations/mcp/tool-definitions.js.map +0 -1
  679. package/dist/src/integrations/mcp/trace-test.d.ts +0 -5
  680. package/dist/src/integrations/mcp/trace-test.d.ts.map +0 -1
  681. package/dist/src/integrations/mcp/trace-test.js +0 -54
  682. package/dist/src/integrations/mcp/trace-test.js.map +0 -1
  683. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts +0 -48
  684. package/dist/src/integrations/pg-aiguide/embedding-provider.d.ts.map +0 -1
  685. package/dist/src/integrations/pg-aiguide/embedding-provider.js +0 -190
  686. package/dist/src/integrations/pg-aiguide/embedding-provider.js.map +0 -1
  687. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts +0 -34
  688. package/dist/src/integrations/pg-aiguide/semantic-search.d.ts.map +0 -1
  689. package/dist/src/integrations/pg-aiguide/semantic-search.js +0 -176
  690. package/dist/src/integrations/pg-aiguide/semantic-search.js.map +0 -1
  691. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts +0 -44
  692. package/dist/src/integrations/pg-aiguide/timescale-analytics.d.ts.map +0 -1
  693. package/dist/src/integrations/pg-aiguide/timescale-analytics.js +0 -215
  694. package/dist/src/integrations/pg-aiguide/timescale-analytics.js.map +0 -1
  695. package/dist/src/mcp/stackmemory-mcp-server.d.ts +0 -9
  696. package/dist/src/mcp/stackmemory-mcp-server.d.ts.map +0 -1
  697. package/dist/src/mcp/stackmemory-mcp-server.js +0 -519
  698. package/dist/src/mcp/stackmemory-mcp-server.js.map +0 -1
  699. package/dist/src/middleware/exponential-rate-limiter.d.ts +0 -78
  700. package/dist/src/middleware/exponential-rate-limiter.d.ts.map +0 -1
  701. package/dist/src/middleware/exponential-rate-limiter.js +0 -293
  702. package/dist/src/middleware/exponential-rate-limiter.js.map +0 -1
  703. package/dist/src/models/user.model.d.ts +0 -62
  704. package/dist/src/models/user.model.d.ts.map +0 -1
  705. package/dist/src/models/user.model.js +0 -311
  706. package/dist/src/models/user.model.js.map +0 -1
  707. package/dist/src/servers/production/auth-middleware.d.ts +0 -76
  708. package/dist/src/servers/production/auth-middleware.d.ts.map +0 -1
  709. package/dist/src/servers/production/auth-middleware.js +0 -558
  710. package/dist/src/servers/production/auth-middleware.js.map +0 -1
  711. package/dist/src/servers/railway/index.d.ts +0 -7
  712. package/dist/src/servers/railway/index.d.ts.map +0 -1
  713. package/dist/src/servers/railway/index.js +0 -401
  714. package/dist/src/servers/railway/index.js.map +0 -1
  715. package/dist/src/services/config-service.d.ts +0 -44
  716. package/dist/src/services/config-service.d.ts.map +0 -1
  717. package/dist/src/services/config-service.js +0 -61
  718. package/dist/src/services/config-service.js.map +0 -1
  719. package/dist/src/services/context-service.d.ts +0 -17
  720. package/dist/src/services/context-service.d.ts.map +0 -1
  721. package/dist/src/services/context-service.js +0 -173
  722. package/dist/src/services/context-service.js.map +0 -1
  723. package/dist/src/types/task.d.ts +0 -27
  724. package/dist/src/types/task.d.ts.map +0 -1
  725. package/dist/src/types/task.js +0 -2
  726. package/dist/src/types/task.js.map +0 -1
  727. package/dist/src/utils/logger.d.ts +0 -13
  728. package/dist/src/utils/logger.d.ts.map +0 -1
  729. package/dist/src/utils/logger.js +0 -52
  730. package/dist/src/utils/logger.js.map +0 -1
  731. package/dist/src/validation/schemas.d.ts +0 -633
  732. package/dist/src/validation/schemas.d.ts.map +0 -1
  733. package/dist/src/validation/schemas.js +0 -347
  734. package/dist/src/validation/schemas.js.map +0 -1
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/integrations/linear/__tests__/sync-service.test.ts"],
4
- "sourcesContent": ["/**\n * Tests for LinearSyncService - Bidirectional sync with Linear\n */\n\nimport { describe, it, expect, beforeEach, afterEach, vi, Mock } from 'vitest';\nimport { LinearSyncService, SyncResult } from '../sync-service.js';\nimport { LinearClient } from '../client.js';\nimport { ContextService } from '../../../services/context-service.js';\nimport { ConfigService } from '../../../services/config-service.js';\nimport { TaskStatus, TaskPriority, Task } from '../../../types/task.js';\n\n// Create mock instances that can be configured\nconst mockLinearClientInstance = {\n getIssues: vi.fn(),\n updateIssue: vi.fn(),\n createIssue: vi.fn(),\n};\n\nconst mockContextServiceInstance = {\n getTaskByExternalId: vi.fn(),\n updateTask: vi.fn(),\n createTask: vi.fn(),\n getTask: vi.fn(),\n deleteTask: vi.fn(),\n getAllTasks: vi.fn(),\n};\n\nconst mockConfigServiceInstance = {\n getConfig: vi.fn(),\n};\n\n// Mock dependencies using class syntax\nvi.mock('../client.js', () => ({\n LinearClient: class {\n getIssues = mockLinearClientInstance.getIssues;\n updateIssue = mockLinearClientInstance.updateIssue;\n createIssue = mockLinearClientInstance.createIssue;\n },\n}));\n\nvi.mock('../../../services/context-service.js', () => ({\n ContextService: class {\n getTaskByExternalId = mockContextServiceInstance.getTaskByExternalId;\n updateTask = mockContextServiceInstance.updateTask;\n createTask = mockContextServiceInstance.createTask;\n getTask = mockContextServiceInstance.getTask;\n deleteTask = mockContextServiceInstance.deleteTask;\n getAllTasks = mockContextServiceInstance.getAllTasks;\n },\n}));\n\nvi.mock('../../../services/config-service.js', () => ({\n ConfigService: class {\n getConfig = mockConfigServiceInstance.getConfig;\n },\n}));\n\nvi.mock('../../../utils/logger.js', () => ({\n Logger: class {\n info = vi.fn();\n error = vi.fn();\n debug = vi.fn();\n warn = vi.fn();\n },\n}));\n\ndescribe('LinearSyncService', () => {\n let syncService: LinearSyncService;\n let originalEnv: NodeJS.ProcessEnv;\n\n beforeEach(() => {\n // Store original environment\n originalEnv = process.env;\n\n // Set required environment variable\n process.env.LINEAR_API_KEY = 'test-api-key';\n\n // Reset mock functions\n mockLinearClientInstance.getIssues.mockReset();\n mockLinearClientInstance.updateIssue.mockReset();\n mockLinearClientInstance.createIssue.mockReset();\n mockContextServiceInstance.getTaskByExternalId.mockReset();\n mockContextServiceInstance.updateTask.mockReset();\n mockContextServiceInstance.createTask.mockReset();\n mockContextServiceInstance.getTask.mockReset();\n mockContextServiceInstance.deleteTask.mockReset();\n mockContextServiceInstance.getAllTasks.mockReset();\n mockConfigServiceInstance.getConfig.mockReset();\n\n // Create sync service instance\n syncService = new LinearSyncService();\n });\n\n afterEach(() => {\n // Restore environment\n process.env = originalEnv;\n });\n\n // Aliases for cleaner test code\n const mockLinearClient = mockLinearClientInstance;\n const mockContextService = mockContextServiceInstance;\n const mockConfigService = mockConfigServiceInstance;\n\n describe('Initialization', () => {\n it('should initialize with Linear API key from environment', () => {\n // syncService is already created in beforeEach, just verify it works\n expect(syncService).toBeDefined();\n });\n\n it('should throw error when LINEAR_API_KEY is not set', () => {\n delete process.env.LINEAR_API_KEY;\n\n expect(() => {\n new LinearSyncService();\n }).toThrow('LINEAR_API_KEY environment variable not set');\n });\n\n it('should initialize services correctly', () => {\n // Just verify the service is created successfully\n expect(syncService).toBeDefined();\n });\n });\n\n describe('syncAllIssues', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should sync all issues from Linear successfully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Test Issue 1',\n description: 'Description 1',\n state: { type: 'unstarted' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }],\n updatedAt: new Date().toISOString(),\n },\n {\n id: 'issue-2',\n identifier: 'STA-2',\n title: 'Test Issue 2',\n description: 'Description 2',\n state: { type: 'completed' },\n priority: 3,\n url: 'https://linear.app/issue-2',\n team: { id: 'team-1', key: 'STA' },\n labels: [],\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockResolvedValue(null); // No existing tasks\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(2);\n expect(result.updated).toBe(0);\n expect(result.errors).toHaveLength(0);\n expect(mockContextService.createTask).toHaveBeenCalledTimes(2);\n });\n\n it('should update existing tasks when they have changes', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Title',\n description: 'Updated Description',\n state: { type: 'completed' },\n priority: 3,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'feature' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Partial<Task> = {\n id: 'local-task-1',\n title: 'Old Title',\n description: 'Old Description',\n status: 'todo',\n priority: 'high',\n externalId: 'issue-1',\n };\n\n mockLinearClient.getIssues.mockResolvedValue([mockIssue]);\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(1);\n expect(mockContextService.updateTask).toHaveBeenCalledWith(\n 'local-task-1',\n expect.objectContaining({\n title: 'Updated Title',\n description: 'Updated Description',\n status: 'done',\n priority: 'medium',\n })\n );\n });\n\n it('should skip tasks without changes', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same Title',\n description: 'Same Description',\n state: { type: 'unstarted' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Partial<Task> = {\n id: 'local-task-1',\n title: 'Same Title',\n description: 'Same Description',\n status: 'todo',\n priority: 'high',\n tags: ['bug'],\n externalId: 'issue-1',\n };\n\n mockLinearClient.getIssues.mockResolvedValue([mockIssue]);\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(0);\n expect(mockContextService.updateTask).not.toHaveBeenCalled();\n });\n\n it('should handle sync errors gracefully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Test Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockRejectedValue(\n new Error('Database error')\n );\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Failed to sync STA-1');\n });\n\n it('should throw error when Linear team ID is not configured', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {},\n });\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toContain('Linear team ID not configured');\n });\n\n it('should handle Linear API errors', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: { teamId: 'test-team-id' },\n },\n });\n\n mockLinearClient.getIssues.mockRejectedValue(\n new Error('Linear API error')\n );\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toContain('Linear API error');\n });\n });\n\n describe('syncIssueToLocal', () => {\n it('should create new local task from Linear issue', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'New Issue',\n description: 'Issue description',\n state: { type: 'unstarted', id: 'state-1', name: 'Todo' },\n priority: 1,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'bug' }, { name: 'urgent' }],\n project: { id: 'proj-1', name: 'Main Project' },\n assignee: { id: 'user-1', name: 'John Doe' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n const result = await syncService.syncIssueToLocal(mockIssue);\n\n expect(result).toBe('created');\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({\n title: 'New Issue',\n description: 'Issue description',\n status: 'todo',\n priority: 'urgent',\n externalId: 'issue-1',\n externalIdentifier: 'STA-1',\n externalUrl: 'https://linear.app/issue-1',\n tags: ['bug', 'urgent'],\n metadata: {\n linear: {\n stateId: 'state-1',\n stateName: 'Todo',\n assigneeId: 'user-1',\n assigneeName: 'John Doe',\n },\n },\n })\n );\n });\n\n it('should update existing local task', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Issue',\n description: 'Updated description',\n state: { type: 'started', id: 'state-2', name: 'In Progress' },\n priority: 2,\n url: 'https://linear.app/issue-1',\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'feature' }],\n updatedAt: new Date().toISOString(),\n };\n\n const existingTask: Task = {\n id: 'local-1',\n title: 'Old Title',\n description: 'Old description',\n status: 'todo',\n priority: 'low',\n tags: ['old-tag'],\n externalId: 'issue-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existingTask);\n\n const result = await syncService.syncIssueToLocal(mockIssue);\n\n expect(result).toBe('updated');\n expect(mockContextService.updateTask).toHaveBeenCalledWith(\n 'local-1',\n expect.objectContaining({\n title: 'Updated Issue',\n description: 'Updated description',\n status: 'in_progress',\n priority: 'high',\n externalId: 'issue-1',\n externalIdentifier: 'STA-1',\n externalUrl: 'https://linear.app/issue-1',\n tags: ['feature'],\n metadata: {\n linear: {\n stateId: 'state-2',\n stateName: 'In Progress',\n assigneeId: undefined,\n assigneeName: undefined,\n },\n },\n })\n );\n });\n\n it('should handle sync errors and rethrow', async () => {\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Error Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockRejectedValue(\n new Error('Database error')\n );\n\n await expect(syncService.syncIssueToLocal(mockIssue)).rejects.toThrow(\n 'Database error'\n );\n });\n });\n\n describe('syncLocalToLinear', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should create new Linear issue from local task', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Local Task',\n description: 'Local description',\n status: 'todo',\n priority: 'high',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n const mockCreatedIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Local Task',\n url: 'https://linear.app/issue-1',\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockResolvedValue(mockCreatedIssue);\n\n const result = await syncService.syncLocalToLinear('local-1');\n\n expect(result).toEqual(mockCreatedIssue);\n expect(mockLinearClient.createIssue).toHaveBeenCalledWith({\n title: 'Local Task',\n description: 'Local description',\n teamId: 'test-team-id',\n priority: 2, // high -> 2\n });\n expect(mockContextService.updateTask).toHaveBeenCalledWith('local-1', {\n externalId: 'issue-1',\n });\n });\n\n it('should update existing Linear issue', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Updated Local Task',\n description: 'Updated description',\n status: 'in_progress',\n priority: 'medium',\n tags: [],\n externalId: 'issue-1',\n metadata: {\n linear: {\n stateId: 'state-1',\n projectId: 'proj-1',\n assigneeId: 'user-1',\n },\n },\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n const mockUpdatedIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Updated Local Task',\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.updateIssue.mockResolvedValue(mockUpdatedIssue);\n\n const result = await syncService.syncLocalToLinear('local-1');\n\n expect(result).toEqual(mockUpdatedIssue);\n expect(mockLinearClient.updateIssue).toHaveBeenCalledWith('issue-1', {\n title: 'Updated Local Task',\n description: 'Updated description',\n priority: 3, // medium -> 3\n stateId: 'state-1',\n });\n });\n\n it('should throw error for non-existent task', async () => {\n mockContextService.getTask.mockResolvedValue(null);\n\n await expect(\n syncService.syncLocalToLinear('non-existent')\n ).rejects.toThrow('Task non-existent not found');\n });\n\n it('should handle Linear API errors', async () => {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Task',\n description: 'Test task description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockRejectedValue(\n new Error('Linear API error')\n );\n\n await expect(syncService.syncLocalToLinear('local-1')).rejects.toThrow(\n 'Linear API error'\n );\n });\n });\n\n describe('removeLocalIssue', () => {\n it('should remove local task by Linear identifier', async () => {\n const mockTasks: Task[] = [\n {\n id: 'local-1',\n title: 'Task 1',\n description: 'Task 1 description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n {\n id: 'local-2',\n title: 'Task 2',\n description: 'Task 2 description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-2',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ];\n\n mockContextService.getAllTasks.mockResolvedValue(mockTasks);\n\n await syncService.removeLocalIssue('STA-1');\n\n expect(mockContextService.deleteTask).toHaveBeenCalledWith('local-1');\n });\n\n it('should handle non-existent identifier gracefully', async () => {\n mockContextService.getAllTasks.mockResolvedValue([]);\n\n await expect(\n syncService.removeLocalIssue('NON-EXISTENT')\n ).resolves.not.toThrow();\n expect(mockContextService.deleteTask).not.toHaveBeenCalled();\n });\n\n it('should handle deletion errors', async () => {\n const mockTasks: Task[] = [\n {\n id: 'local-1',\n title: 'Task',\n description: 'Task description',\n status: 'todo',\n priority: 'medium',\n tags: [],\n externalIdentifier: 'STA-1',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ];\n\n mockContextService.getAllTasks.mockResolvedValue(mockTasks);\n mockContextService.deleteTask.mockRejectedValue(\n new Error('Delete error')\n );\n\n await expect(syncService.removeLocalIssue('STA-1')).rejects.toThrow(\n 'Delete error'\n );\n });\n });\n\n describe('Status and Priority Mapping', () => {\n beforeEach(() => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: {\n linear: {\n teamId: 'test-team-id',\n },\n },\n });\n });\n\n it('should map Linear states to task statuses correctly', async () => {\n const testCases = [\n { linearState: 'backlog', expectedStatus: 'todo' },\n { linearState: 'triage', expectedStatus: 'todo' },\n { linearState: 'unstarted', expectedStatus: 'todo' },\n { linearState: 'todo', expectedStatus: 'todo' },\n { linearState: 'started', expectedStatus: 'in_progress' },\n { linearState: 'in_progress', expectedStatus: 'in_progress' },\n { linearState: 'completed', expectedStatus: 'done' },\n { linearState: 'done', expectedStatus: 'done' },\n { linearState: 'canceled', expectedStatus: 'cancelled' },\n { linearState: 'cancelled', expectedStatus: 'cancelled' },\n { linearState: 'unknown', expectedStatus: 'todo' },\n ];\n\n for (const { linearState, expectedStatus } of testCases) {\n const mockIssue = {\n id: 'test-issue',\n identifier: 'TEST-1',\n title: 'Test',\n state: { type: linearState },\n team: { id: 'team-1', key: 'TEST' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({ status: expectedStatus })\n );\n\n mockContextService.createTask.mockClear();\n mockContextService.getTaskByExternalId.mockClear();\n }\n });\n\n it('should map Linear priorities to task priorities correctly', async () => {\n const testCases = [\n { linearPriority: 1, expectedPriority: 'urgent' },\n { linearPriority: 2, expectedPriority: 'high' },\n { linearPriority: 3, expectedPriority: 'medium' },\n { linearPriority: 4, expectedPriority: 'low' },\n { linearPriority: undefined, expectedPriority: undefined },\n ];\n\n for (const { linearPriority, expectedPriority } of testCases) {\n const mockIssue = {\n id: 'test-issue',\n identifier: 'TEST-1',\n title: 'Test',\n state: { type: 'unstarted' },\n priority: linearPriority,\n team: { id: 'team-1', key: 'TEST' },\n updatedAt: new Date().toISOString(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.createTask).toHaveBeenCalledWith(\n expect.objectContaining({ priority: expectedPriority })\n );\n\n mockContextService.createTask.mockClear();\n mockContextService.getTaskByExternalId.mockClear();\n }\n });\n\n it('should map task priorities to Linear priorities correctly', async () => {\n const testCases = [\n { taskPriority: 'urgent' as TaskPriority, expectedLinearPriority: 1 },\n { taskPriority: 'high' as TaskPriority, expectedLinearPriority: 2 },\n { taskPriority: 'medium' as TaskPriority, expectedLinearPriority: 3 },\n { taskPriority: 'low' as TaskPriority, expectedLinearPriority: 4 },\n { taskPriority: undefined, expectedLinearPriority: 0 },\n ];\n\n for (const { taskPriority, expectedLinearPriority } of testCases) {\n const mockTask: Task = {\n id: 'local-1',\n title: 'Test Task',\n description: 'Test description',\n status: 'todo',\n priority: taskPriority,\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTask.mockResolvedValue(mockTask);\n mockLinearClient.createIssue.mockResolvedValue({\n id: 'created',\n identifier: 'TEST-1',\n });\n\n await syncService.syncLocalToLinear('local-1');\n\n expect(mockLinearClient.createIssue).toHaveBeenCalledWith(\n expect.objectContaining({ priority: expectedLinearPriority })\n );\n\n mockLinearClient.createIssue.mockClear();\n mockContextService.getTask.mockClear();\n mockContextService.updateTask.mockClear();\n }\n });\n });\n\n describe('Change Detection', () => {\n it('should detect changes in title', async () => {\n const existing: Task = {\n id: '1',\n title: 'Old Title',\n description: 'Same',\n status: 'todo',\n priority: 'medium',\n tags: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'New Title',\n description: 'Same',\n state: { type: 'unstarted' },\n priority: 2,\n team: { id: 'team-1', key: 'STA' },\n labels: [],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).toHaveBeenCalled();\n });\n\n it('should detect changes in tags', async () => {\n const existing: Task = {\n id: '1',\n title: 'Same',\n description: 'Same',\n status: 'todo',\n priority: 'medium',\n tags: ['old-tag'],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same',\n description: 'Same',\n state: { type: 'unstarted' },\n priority: 2,\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'new-tag' }],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).toHaveBeenCalled();\n });\n\n it('should not update when no changes detected', async () => {\n const existing: Task = {\n id: '1',\n title: 'Same Title',\n description: 'Same Description',\n status: 'todo',\n priority: 'high', // Linear priority 2 maps to 'high'\n tags: ['tag1'],\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n\n mockContextService.getTaskByExternalId.mockResolvedValue(existing);\n\n const mockIssue = {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Same Title',\n description: 'Same Description',\n state: { type: 'unstarted' },\n priority: 2, // Maps to 'high'\n team: { id: 'team-1', key: 'STA' },\n labels: [{ name: 'tag1' }],\n updatedAt: new Date().toISOString(),\n };\n\n await syncService.syncIssueToLocal(mockIssue);\n\n expect(mockContextService.updateTask).not.toHaveBeenCalled();\n });\n });\n\n describe('Error Recovery and Edge Cases', () => {\n it('should handle partial sync failures gracefully', async () => {\n const mockIssues = [\n {\n id: 'issue-1',\n identifier: 'STA-1',\n title: 'Good Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n {\n id: 'issue-2',\n identifier: 'STA-2',\n title: 'Bad Issue',\n state: { type: 'unstarted' },\n team: { id: 'team-1', key: 'STA' },\n updatedAt: new Date().toISOString(),\n },\n ];\n\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue(mockIssues);\n mockContextService.getTaskByExternalId.mockResolvedValue(null);\n\n // First issue succeeds, second fails\n mockContextService.createTask\n .mockResolvedValueOnce('success')\n .mockRejectedValueOnce(new Error('Creation failed'));\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(1);\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Failed to sync STA-2');\n });\n\n it('should handle empty issues list', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue([]);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.created).toBe(0);\n expect(result.updated).toBe(0);\n expect(result.errors).toHaveLength(0);\n });\n\n it('should handle malformed Linear issues', async () => {\n const malformedIssue = {\n // Missing required fields\n id: 'issue-1',\n title: null,\n state: null,\n team: null,\n };\n\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n mockLinearClient.getIssues.mockResolvedValue([malformedIssue]);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n });\n\n it('should handle network timeouts gracefully', async () => {\n mockConfigService.getConfig.mockResolvedValue({\n integrations: { linear: { teamId: 'test-team-id' } },\n });\n\n const timeoutError = new Error('Request timeout');\n timeoutError.name = 'TimeoutError';\n\n mockLinearClient.getIssues.mockRejectedValue(timeoutError);\n\n const result = await syncService.syncAllIssues();\n\n expect(result.errors).toHaveLength(1);\n expect(result.errors[0]).toContain('Request timeout');\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": []
7
- }