@piecemaker-legal/piecemaker 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @piecemaker-legal/piecemaker might be problematic. Click here for more details.

Files changed (294) hide show
  1. package/dist/assets/{abnfDiagram-N423BO3Z-DjEx6DRO.js → abnfDiagram-VCTEODGH-Bq08d4tF.js} +1 -1
  2. package/dist/assets/arc-CSZbqu1r.js +1 -0
  3. package/dist/assets/architectureDiagram-5GKGNRK7-BcrS6ofq.js +36 -0
  4. package/dist/assets/blockDiagram-I7D4REHJ-BvSX4yoF.js +129 -0
  5. package/dist/assets/c4Diagram-7LVT6UL2-CXK-d04Y.js +38 -0
  6. package/dist/assets/channel-BbMVYMvP.js +1 -0
  7. package/dist/assets/{chunk-2Q5K7J3B-6stdrDbe.js → chunk-2Q5K7J3B-DUK32XTd.js} +1 -1
  8. package/dist/assets/{chunk-5VM5RSS4-BDB8AQ_I.js → chunk-5VM5RSS4-xcfsmCCM.js} +1 -1
  9. package/dist/assets/{chunk-2GRJ4B5K-BZJJc1-J.js → chunk-F27PBJKO-Bl-zXe5B.js} +1 -1
  10. package/dist/assets/chunk-IMKFNOWR-Ic2a0Sso.js +231 -0
  11. package/dist/assets/{chunk-JWPE2WC7-DjFkIZqh.js → chunk-JWPE2WC7-CiP7qRxa.js} +1 -1
  12. package/dist/assets/chunk-POPQ4Y6H-DqfRvKlI.js +1 -0
  13. package/dist/assets/{chunk-6Q2QTUOP-RhjQ-NDz.js → chunk-SVP7TREG-CoJ2e0Hm.js} +1 -1
  14. package/dist/assets/chunk-TICWLB2K-LywV-hKX.js +206 -0
  15. package/dist/assets/{chunk-XXDRQBXY-CMMVEsX3.js → chunk-XXDRQBXY-ChY1W_iW.js} +1 -1
  16. package/dist/assets/classDiagram-ZZMXUADV-C1424FXG.js +1 -0
  17. package/dist/assets/classDiagram-v2-VYDZK3BY-C1424FXG.js +1 -0
  18. package/dist/assets/cose-bilkent-JH36ORCC-B6-EP1SC.js +1 -0
  19. package/dist/assets/cynefin-OW5HDTMX-EHXhXu4h.js +166 -0
  20. package/dist/assets/{cynefinDiagram-MW4NZA55-CGtqUrU1.js → cynefinDiagram-5FMLGOSQ-BCit7Bbr.js} +1 -1
  21. package/dist/assets/cytoscape.esm-BB4DxJjf.js +321 -0
  22. package/dist/assets/dagre-GXQ25YYZ-nnXmxCUl.js +4 -0
  23. package/dist/assets/diagram-S7CK7UJ4-DB8POt2p.js +30 -0
  24. package/dist/assets/{diagram-UB23O5K3-TSFk7FuJ.js → diagram-UQ7AKVKN-BgeamLYl.js} +1 -1
  25. package/dist/assets/{diagram-B4RE2ZJO-DF0Cnjzz.js → diagram-VSXAHHWV-C6WJY5WX.js} +3 -3
  26. package/dist/assets/diagram-VX7I27RA-BocYRSJX.js +24 -0
  27. package/dist/assets/{diagram-LBJQPF4R-Bq4d3NfR.js → diagram-Z3DM3KII-COOb-xW1.js} +1 -1
  28. package/dist/assets/{ebnfDiagram-BXEA7PRR-DRvm2Wy9.js → ebnfDiagram-PWID7BFC-Bgcqve4c.js} +1 -1
  29. package/dist/assets/erDiagram-RLTQ6QDP-CQ5ZpJna.js +99 -0
  30. package/dist/assets/flowDiagram-HODETNUW-CM_nkgog.js +168 -0
  31. package/dist/assets/ganttDiagram-EL5Y4UJY-DXV0eMXd.js +292 -0
  32. package/dist/assets/{gitGraphDiagram-DS77QQ5N-DEzmuv8v.js → gitGraphDiagram-WWUBYQGX-DceGQo1Y.js} +1 -1
  33. package/dist/assets/index-9kew1eQa.js +3992 -0
  34. package/dist/assets/index-COJGBeHJ.css +1 -0
  35. package/dist/assets/infoDiagram-27XIBGKW-CKe1katf.js +2 -0
  36. package/dist/assets/ishikawaDiagram-5VMMS53U-Bcrabrxy.js +70 -0
  37. package/dist/assets/journeyDiagram-3NMN7TZE-LCSPRjmw.js +139 -0
  38. package/dist/assets/{kanban-definition-27J2QSJJ-D4CvKWBP.js → kanban-definition-UXKFOSKX-DBVIcu_G.js} +8 -8
  39. package/dist/assets/layout-DrnBdsd0.js +1 -0
  40. package/dist/assets/{linear-i_Nzyzap.js → linear-t3Ev9wve.js} +1 -1
  41. package/dist/assets/mermaid.core-CG5Pz5jL.js +308 -0
  42. package/dist/assets/{mindmap-definition-FAOFIHXS-DqhC-BPZ.js → mindmap-definition-YA3MSWOX-xVp2jqkq.js} +3 -3
  43. package/dist/assets/{pegDiagram-VL7TDLO6-pBqvOEvm.js → pegDiagram-XKGWAZYB-DP8ItuY4.js} +1 -1
  44. package/dist/assets/{pieDiagram-7S7Q4E2Y-BH53iuaz.js → pieDiagram-E7YTZNPT-CRAeI7iW.js} +3 -3
  45. package/dist/assets/quadrantDiagram-AXDQQJYC-CeJAUUFC.js +7 -0
  46. package/dist/assets/{railroadDiagram-AXF67PYL-CERi66oR.js → railroadDiagram-O6MQD6OU-Dq-ixWeI.js} +1 -1
  47. package/dist/assets/requirementDiagram-BXWQKSXE-BSp3pol5.js +84 -0
  48. package/dist/assets/{sankeyDiagram-W5VNT64P-DO9bPHWO.js → sankeyDiagram-P5KCCOFB-DLoNQoWa.js} +4 -4
  49. package/dist/assets/sequenceDiagram-WJ2MYXX4-DDir5PMn.js +162 -0
  50. package/dist/assets/{server.browser-CtX3Hdl5.js → server.browser-BzI1jrZw.js} +3 -19
  51. package/dist/assets/{sizeCapture-X5ZJPWSS-mcEXJiem.js → sizeCapture-INFHLROL-Bi_FQi0l.js} +1 -1
  52. package/dist/assets/stateDiagram-D77RDMKH-DIH7HZZk.js +1 -0
  53. package/dist/assets/stateDiagram-v2-MP3YSRHH-DKgD7f1X.js +1 -0
  54. package/dist/assets/swimlanes-42K2YHIH-DsDyY6V1.js +1 -0
  55. package/dist/assets/swimlanesDiagram-VR7AAH4N-C3SvGay6.js +8 -0
  56. package/dist/assets/timeline-definition-24CTP7MA-DwGmRXIF.js +120 -0
  57. package/dist/assets/vendor-codemirror-C5qqu4R7.js +33 -0
  58. package/dist/assets/vendor-react-D809iwXR.js +8 -0
  59. package/dist/assets/vendor-xterm-BWUgpGtR.js +66 -0
  60. package/dist/assets/{vennDiagram-T6HMQDX7-BEkKGTum.js → vennDiagram-4TSXK5OY-C4ZBewu_.js} +6 -6
  61. package/dist/assets/{wardleyDiagram-T6FBY63Y-kJwmgH-h.js → wardleyDiagram-VM6X3IG4-CMJM2M0Z.js} +1 -1
  62. package/dist/assets/xychartDiagram-S5SC5T6Z-vZQthQPg.js +7 -0
  63. package/dist/index.html +6 -6
  64. package/dist/manifest.json +1 -1
  65. package/dist/sw.js +3 -3
  66. package/dist-server/server/modules/agent/agent.module.js +2 -2
  67. package/dist-server/server/modules/assets/assets.routes.js +1 -1
  68. package/dist-server/server/modules/assets/tests/image-assets.service.test.js +1 -1
  69. package/dist-server/server/modules/auth/auth.module.js +1 -1
  70. package/dist-server/server/modules/browser-use/browser-use-mcp.routes.js +1 -1
  71. package/dist-server/server/modules/browser-use/browser-use.routes.js +1 -1
  72. package/dist-server/server/modules/browser-use/browser-use.service.js +2 -2
  73. package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js +1 -1
  74. package/dist-server/server/modules/commands/commands.module.js +1 -1
  75. package/dist-server/server/modules/database/connection.js +1 -1
  76. package/dist-server/server/modules/database/index.js +17 -17
  77. package/dist-server/server/modules/database/init-db.js +3 -3
  78. package/dist-server/server/modules/database/migrations.js +1 -1
  79. package/dist-server/server/modules/database/repositories/api-keys.js +1 -1
  80. package/dist-server/server/modules/database/repositories/app-config.js +1 -1
  81. package/dist-server/server/modules/database/repositories/credentials.js +1 -1
  82. package/dist-server/server/modules/database/repositories/github-tokens.js +2 -2
  83. package/dist-server/server/modules/database/repositories/notification-channel-endpoints.js +1 -1
  84. package/dist-server/server/modules/database/repositories/notification-preferences.js +1 -1
  85. package/dist-server/server/modules/database/repositories/projects.db.js +1 -1
  86. package/dist-server/server/modules/database/repositories/provider-models.js +1 -1
  87. package/dist-server/server/modules/database/repositories/push-subscriptions.js +1 -1
  88. package/dist-server/server/modules/database/repositories/scan-state.db.js +1 -1
  89. package/dist-server/server/modules/database/repositories/scheduled-messages.db.js +1 -1
  90. package/dist-server/server/modules/database/repositories/session-drafts.db.js +1 -1
  91. package/dist-server/server/modules/database/repositories/sessions.db.js +2 -2
  92. package/dist-server/server/modules/database/repositories/user-preferences.db.js +1 -1
  93. package/dist-server/server/modules/database/repositories/users.js +1 -1
  94. package/dist-server/server/modules/database/repositories/vapid-keys.js +1 -1
  95. package/dist-server/server/modules/database/tests/projects.db.integration.test.js +3 -3
  96. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js +2 -2
  97. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +3 -3
  98. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js +4 -4
  99. package/dist-server/server/modules/database/tests/user-preferences.db.integration.test.js +1 -1
  100. package/dist-server/server/modules/file-tree/file-tree.module.js +3 -3
  101. package/dist-server/server/modules/file-tree/index.js +1 -1
  102. package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js +1 -1
  103. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +1 -1
  104. package/dist-server/server/modules/git/git.module.js +1 -1
  105. package/dist-server/server/modules/git/tests/git-init.routes.test.js +1 -1
  106. package/dist-server/server/modules/notifications/index.js +3 -3
  107. package/dist-server/server/modules/notifications/notifications.routes.js +1 -1
  108. package/dist-server/server/modules/notifications/services/desktop-notification-clients.service.js +1 -1
  109. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +2 -2
  110. package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js +1 -1
  111. package/dist-server/server/modules/notifications/websocket/desktop-notifications-websocket.service.js +1 -1
  112. package/dist-server/server/modules/projects/projects.routes.js +6 -6
  113. package/dist-server/server/modules/projects/services/project-clone.service.js +2 -2
  114. package/dist-server/server/modules/projects/services/project-delete.service.js +1 -1
  115. package/dist-server/server/modules/projects/services/project-management.service.js +1 -1
  116. package/dist-server/server/modules/projects/services/project-star.service.js +1 -1
  117. package/dist-server/server/modules/projects/services/projects-has-taskmaster.service.js +1 -1
  118. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +3 -3
  119. package/dist-server/server/modules/projects/tests/project-clone.service.test.js +1 -1
  120. package/dist-server/server/modules/projects/tests/project-management.service.test.js +1 -1
  121. package/dist-server/server/modules/projects/tests/project-star.service.test.js +2 -2
  122. package/dist-server/server/modules/projects/tests/projects-has-taskmaster.service.test.js +1 -1
  123. package/dist-server/server/modules/providers/list/claude/claude-mcp.provider.js +1 -1
  124. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +1 -1
  125. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js +2 -2
  126. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +1 -1
  127. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +2 -2
  128. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js +1 -1
  129. package/dist-server/server/modules/providers/list/claude/claude.provider.js +9 -9
  130. package/dist-server/server/modules/providers/list/codex/codex-fork.provider.js +1 -1
  131. package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js +1 -1
  132. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js +1 -1
  133. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +1 -1
  134. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +2 -2
  135. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +1 -1
  136. package/dist-server/server/modules/providers/list/codex/codex.provider.js +9 -9
  137. package/dist-server/server/modules/providers/list/cursor/cursor-mcp.provider.js +1 -1
  138. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js +1 -1
  139. package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js +1 -1
  140. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js +1 -1
  141. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +8 -8
  142. package/dist-server/server/modules/providers/list/mistral/mistral-runtime.provider.js +1 -1
  143. package/dist-server/server/modules/providers/list/mistral/mistral-sessions.provider.js +4 -172
  144. package/dist-server/server/modules/providers/list/mistral/mistral-sessions.provider.js.map +1 -1
  145. package/dist-server/server/modules/providers/list/mistral/mistral.provider.js +8 -8
  146. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js +1 -1
  147. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +1 -1
  148. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js +1 -1
  149. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +1 -1
  150. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js +1 -1
  151. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +8 -8
  152. package/dist-server/server/modules/providers/provider.registry.js +5 -5
  153. package/dist-server/server/modules/providers/provider.routes.js +8 -8
  154. package/dist-server/server/modules/providers/services/mcp.service.js +1 -1
  155. package/dist-server/server/modules/providers/services/provider-auth.service.js +1 -1
  156. package/dist-server/server/modules/providers/services/provider-models.service.js +2 -2
  157. package/dist-server/server/modules/providers/services/provider-runtime.service.js +3 -3
  158. package/dist-server/server/modules/providers/services/provider-token-usage.service.js +1 -1
  159. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +1 -1
  160. package/dist-server/server/modules/providers/services/session-synchronizer.service.js +2 -2
  161. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +2 -2
  162. package/dist-server/server/modules/providers/services/sessions.service.js +4 -4
  163. package/dist-server/server/modules/providers/services/skills.service.js +1 -1
  164. package/dist-server/server/modules/providers/tests/claude-auth.test.js +1 -1
  165. package/dist-server/server/modules/providers/tests/claude-sessions.test.js +2 -2
  166. package/dist-server/server/modules/providers/tests/claude-subagent-echo.test.js +1 -1
  167. package/dist-server/server/modules/providers/tests/claude-token-budget.test.js +1 -1
  168. package/dist-server/server/modules/providers/tests/codex-message-editing.test.js +6 -6
  169. package/dist-server/server/modules/providers/tests/codex-session-fork.test.js +2 -2
  170. package/dist-server/server/modules/providers/tests/codex-sessions.test.js +3 -3
  171. package/dist-server/server/modules/providers/tests/mcp.test.js +1 -1
  172. package/dist-server/server/modules/providers/tests/opencode-models.test.js +1 -1
  173. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +3 -3
  174. package/dist-server/server/modules/providers/tests/provider-attachment-history.test.js +3 -3
  175. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +1 -1
  176. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js +2 -2
  177. package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js +1 -1
  178. package/dist-server/server/modules/providers/tests/provider.routes.test.js +2 -2
  179. package/dist-server/server/modules/providers/tests/session-fork.test.js +3 -3
  180. package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js +1 -1
  181. package/dist-server/server/modules/providers/tests/session-orphan-prune.test.js +2 -2
  182. package/dist-server/server/modules/providers/tests/session-synchronizer-coalescing.test.js +3 -3
  183. package/dist-server/server/modules/providers/tests/sessions-details.test.js +2 -2
  184. package/dist-server/server/modules/providers/tests/sessions.service.test.js +2 -2
  185. package/dist-server/server/modules/providers/tests/skills.test.js +1 -1
  186. package/dist-server/server/modules/scheduled-messages/scheduled-messages.routes.js +1 -1
  187. package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js +2 -2
  188. package/dist-server/server/modules/scheduled-messages/services/scheduled-messages.service.js +1 -1
  189. package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js +4 -4
  190. package/dist-server/server/modules/settings/settings.module.js +2 -2
  191. package/dist-server/server/modules/taskmaster/taskmaster.module.js +1 -1
  192. package/dist-server/server/modules/taskmaster/taskmaster.routes.js +1 -1
  193. package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js +1 -1
  194. package/dist-server/server/modules/user/user.module.js +1 -1
  195. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js +3 -3
  196. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +1 -1
  197. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +4 -4
  198. package/dist-server/server/modules/websocket/services/session-upsert-broadcast.service.js +3 -3
  199. package/dist-server/server/modules/websocket/services/websocket-server.service.js +5 -5
  200. package/dist-server/server/modules/websocket/services/websocket-writer.service.js +1 -1
  201. package/dist-server/server/modules/websocket/tests/chat-attachment-filter.test.js +1 -1
  202. package/dist-server/server/modules/websocket/tests/chat-edit-send.test.js +5 -5
  203. package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js +3 -3
  204. package/dist-server/server/modules/websocket/tests/session-upsert-broadcast.test.js +3 -3
  205. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +1 -1
  206. package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js +1 -1
  207. package/dist-server/server/modules/worktrees/services/worktree-create.service.js +1 -1
  208. package/dist-server/server/modules/worktrees/services/worktree-list.service.js +1 -1
  209. package/dist-server/server/modules/worktrees/services/worktree-merge.service.js +1 -1
  210. package/dist-server/server/modules/worktrees/services/worktree-open.service.js +1 -1
  211. package/dist-server/server/modules/worktrees/services/worktree-remove.service.js +1 -1
  212. package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js +1 -1
  213. package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js +1 -1
  214. package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js +1 -1
  215. package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js +1 -1
  216. package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js +1 -1
  217. package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js +1 -1
  218. package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js +1 -1
  219. package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js +1 -1
  220. package/dist-server/server/modules/worktrees/worktrees.module.js +10 -10
  221. package/dist-server/server/piecemaker/library/index.js +1 -10
  222. package/dist-server/server/piecemaker/library/index.js.map +1 -1
  223. package/dist-server/server/piecemaker/library/marketplace.js +70 -80
  224. package/dist-server/server/piecemaker/library/marketplace.js.map +1 -1
  225. package/dist-server/server/piecemaker/library/provider-skills.js +0 -19
  226. package/dist-server/server/piecemaker/library/provider-skills.js.map +1 -1
  227. package/dist-server/server/piecemaker/library/provider-skills.test.js +1 -35
  228. package/dist-server/server/piecemaker/library/provider-skills.test.js.map +1 -1
  229. package/dist-server/server/piecemaker/library/routes.js +1 -10
  230. package/dist-server/server/piecemaker/library/routes.js.map +1 -1
  231. package/dist-server/server/piecemaker/library/store.js +2 -21
  232. package/dist-server/server/piecemaker/library/store.js.map +1 -1
  233. package/dist-server/server/shared/image-attachments.js +1 -1
  234. package/dist-server/server/shared/message-unification.js +1 -1
  235. package/dist-server/server/shared/tests/application-data-root.test.js +1 -1
  236. package/dist-server/server/shared/tests/claude-cli-path.test.js +1 -1
  237. package/dist-server/server/shared/tests/image-attachments.test.js +1 -1
  238. package/dist-server/server/shared/tests/message-unification.test.js +1 -1
  239. package/dist-server/server/shared/tests/slice-tail-page.test.js +1 -1
  240. package/dist-server/server/shared/utils.js +1 -1
  241. package/package.json +1 -1
  242. package/product.config.json +2 -2
  243. package/scripts/release/prepare-desktop-app.js +0 -1
  244. package/server/modules/providers/list/mistral/mistral-sessions.provider.ts +5 -199
  245. package/server/piecemaker/library/index.ts +1 -4
  246. package/server/piecemaker/library/marketplace.ts +58 -64
  247. package/server/piecemaker/library/provider-skills.test.ts +1 -37
  248. package/server/piecemaker/library/provider-skills.ts +0 -18
  249. package/server/piecemaker/library/routes.ts +1 -6
  250. package/server/piecemaker/library/store.ts +2 -18
  251. package/dist/assets/arc-DYt0oU_6.js +0 -1
  252. package/dist/assets/architectureDiagram-T3A2C74G-Dn6DhYDe.js +0 -36
  253. package/dist/assets/blockDiagram-VBNYF7ZC-CsvhTLZi.js +0 -132
  254. package/dist/assets/c4Diagram-5PPSVZJV-BuPnjHm6.js +0 -10
  255. package/dist/assets/channel-Czt0N91A.js +0 -1
  256. package/dist/assets/chunk-5RXB4S5H-D5UwN5cg.js +0 -231
  257. package/dist/assets/chunk-GF5L2VYU-CJuiA7R4.js +0 -206
  258. package/dist/assets/chunk-KBJHAD2P-BeSQsoqv.js +0 -1
  259. package/dist/assets/chunk-RYQCIY6F-CPgwsb0o.js +0 -1
  260. package/dist/assets/classDiagram-JCYQIIEL-BrnQyrwR.js +0 -1
  261. package/dist/assets/classDiagram-v2-OCEON4UE-BrnQyrwR.js +0 -1
  262. package/dist/assets/cose-bilkent-JH36ORCC-XAdYMfi5.js +0 -1
  263. package/dist/assets/cynefin-VYW2F7L2-d2GpDBn-.js +0 -178
  264. package/dist/assets/cytoscape.esm-C10L9Icf.js +0 -331
  265. package/dist/assets/dagre-VZM6K2ZE-BxujKIsf.js +0 -4
  266. package/dist/assets/diagram-7IWD3JNH-CJn9hobL.js +0 -30
  267. package/dist/assets/diagram-Q27KOJAE-DDdfoXt-.js +0 -24
  268. package/dist/assets/erDiagram-JOGREHBK-BmdN66-A.js +0 -85
  269. package/dist/assets/flowDiagram-UKHOOZJN-Dsp5LwJz.js +0 -156
  270. package/dist/assets/ganttDiagram-PKOTCBZU-CYfCQ4Yi.js +0 -292
  271. package/dist/assets/graph-Cx-EqisW.js +0 -1
  272. package/dist/assets/index-CqFxV_pT.css +0 -32
  273. package/dist/assets/index-dWwHeqcq.js +0 -4989
  274. package/dist/assets/infoDiagram-6WML65LV-B1EfV5Bm.js +0 -2
  275. package/dist/assets/ishikawaDiagram-WSZJBQD7-OuQJfUii.js +0 -70
  276. package/dist/assets/journeyDiagram-NVQOT4AX-DHIilb_4.js +0 -139
  277. package/dist/assets/layout-D6BstSzF.js +0 -1
  278. package/dist/assets/map-CV9uif0g.js +0 -1
  279. package/dist/assets/mermaid.core-DbSHejzG.js +0 -312
  280. package/dist/assets/quadrantDiagram-CIZ2JOQS-CvW9ldJo.js +0 -7
  281. package/dist/assets/requirementDiagram-LRYGKXZP-DbcP4MGI.js +0 -84
  282. package/dist/assets/sequenceDiagram-SI44F4Z6-D3zd2eJS.js +0 -162
  283. package/dist/assets/stateDiagram-OKZ733FA-DMqQgpiD.js +0 -1
  284. package/dist/assets/stateDiagram-v2-UEYNNEHI-DprF_P9y.js +0 -1
  285. package/dist/assets/swimlanes-SLNWSIFB-Cb8rIhB1.js +0 -2
  286. package/dist/assets/swimlanesDiagram-ULZ7WXOC-C6NVYMho.js +0 -8
  287. package/dist/assets/timeline-definition-Z64GVDOM-BQ4r_QsK.js +0 -120
  288. package/dist/assets/vendor-codemirror-CYrSt7-U.js +0 -41
  289. package/dist/assets/vendor-react-BGZc9oRE.js +0 -59
  290. package/dist/assets/vendor-xterm-CS4rQ5Mr.js +0 -66
  291. package/dist/assets/xychartDiagram-ELKLHX3M-CSJRTKCr.js +0 -7
  292. package/server/piecemaker/activation/library.cjs.bak +0 -223
  293. package/server/piecemaker/activation/markdown.cjs.bak +0 -78
  294. package/server/piecemaker/vendor/.env +0 -2
@@ -1,10 +1,10 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import fsp from 'node:fs/promises';
3
3
  import path from 'node:path';
4
- import { projectsDb, sessionsDb } from '../../../modules/database/index.js';
5
- import { broadcastSessionUpserted, chatRunRegistry } from '../../../modules/websocket/index.js';
6
- import { providerRegistry } from '../../../modules/providers/provider.registry.js';
7
- import { sessionHistoryCache } from '../../../modules/providers/services/session-history-cache.service.js';
4
+ import { projectsDb, sessionsDb } from '../../database/index.js';
5
+ import { broadcastSessionUpserted, chatRunRegistry } from '../../websocket/index.js';
6
+ import { providerRegistry } from '../provider.registry.js';
7
+ import { sessionHistoryCache } from './session-history-cache.service.js';
8
8
  import { AppError, sliceTailPage } from '../../../shared/utils.js';
9
9
  const MAX_CLOUDCLI_SESSION_NAME_WORDS = 4;
10
10
  function buildCloudCliSessionName(initialMessage) {
@@ -1,4 +1,4 @@
1
- import { providerRegistry } from '../../../modules/providers/provider.registry.js';
1
+ import { providerRegistry } from '../provider.registry.js';
2
2
  export const providerSkillsService = {
3
3
  /**
4
4
  * Lists normalized skills visible to one provider.
@@ -3,7 +3,7 @@ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { ClaudeProviderAuth } from '../../../modules/providers/list/claude/claude-auth.provider.js';
6
+ import { ClaudeProviderAuth } from '../list/claude/claude-auth.provider.js';
7
7
  const checkCredentials = (auth) => auth.checkCredentials();
8
8
  const ENV_KEYS = ['CLAUDE_CODE_OAUTH_TOKEN', 'ANTHROPIC_API_KEY', 'ANTHROPIC_AUTH_TOKEN'];
9
9
  const withEnv = async (overrides, fn) => {
@@ -3,8 +3,8 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
- import { ClaudeSessionsProvider } from '../../../modules/providers/list/claude/claude-sessions.provider.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
+ import { ClaudeSessionsProvider } from '../list/claude/claude-sessions.provider.js';
8
8
  async function withIsolatedDatabase(runTest) {
9
9
  const previousDatabasePath = process.env.DATABASE_PATH;
10
10
  const tempDirectory = await mkdtemp(path.join(os.tmpdir(), 'claude-provider-db-'));
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { isSubagentPromptEcho } from '../../../modules/providers/list/claude/claude-runtime.provider.js';
3
+ import { isSubagentPromptEcho } from '../list/claude/claude-runtime.provider.js';
4
4
  test('a subagent prompt echo is suppressed', () => {
5
5
  // The Agent tool card already shows this prompt, and the transcript keeps the
6
6
  // turn in the subagent sidechain, so streaming it stacked a duplicate user
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { extractCumulativeTokenBudget, extractTokenBudget, } from '../../../modules/providers/list/claude/claude-runtime.provider.js';
3
+ import { extractCumulativeTokenBudget, extractTokenBudget, } from '../list/claude/claude-runtime.provider.js';
4
4
  test('assistant usage produces a cumulative budget', () => {
5
5
  const budget = extractTokenBudget({
6
6
  type: 'assistant',
@@ -5,10 +5,10 @@ import { createRequire } from 'node:module';
5
5
  import os from 'node:os';
6
6
  import path from 'node:path';
7
7
  import test from 'node:test';
8
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
9
- import { codexAppServer } from '../../../modules/providers/list/codex/codex-app-server.client.js';
10
- import { CodexSessionSynchronizer } from '../../../modules/providers/list/codex/codex-session-synchronizer.provider.js';
11
- import { CodexSessionsProvider } from '../../../modules/providers/list/codex/codex-sessions.provider.js';
8
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
9
+ import { codexAppServer } from '../list/codex/codex-app-server.client.js';
10
+ import { CodexSessionSynchronizer } from '../list/codex/codex-session-synchronizer.provider.js';
11
+ import { CodexSessionsProvider } from '../list/codex/codex-sessions.provider.js';
12
12
  /**
13
13
  * Codex rows carry no id of their own, so an edit addresses the enclosing
14
14
  * *turn*. These cover the two halves of that: that the reader can name the
@@ -218,7 +218,7 @@ test('the indexer does not hand back a thread a session was edited off', { concu
218
218
  });
219
219
  test('deleting an edited session removes every transcript it lived in', { concurrency: false }, async () => {
220
220
  await withIndexedSession(THREE_TURNS, async ({ sessionId, homeDir, workspacePath }) => {
221
- const { sessionsService } = await import('../../../modules/providers/services/sessions.service.js');
221
+ const { sessionsService } = await import('../services/sessions.service.js');
222
222
  const preEditPath = sessionsDb.getSessionById(sessionId)?.jsonl_path;
223
223
  const forkPath = path.join(homeDir, '.codex', 'sessions', '2026', '07', '08', 'rollout-thread-2.jsonl');
224
224
  await mkdir(path.dirname(forkPath), { recursive: true });
@@ -255,7 +255,7 @@ test('a session detached by an edit reports no token usage of its own', { concur
255
255
  },
256
256
  ];
257
257
  await withIndexedSession(spentTurns, async ({ sessionId }) => {
258
- const { createProviderTokenUsageService } = await import('../../../modules/providers/services/provider-token-usage.service.js');
258
+ const { createProviderTokenUsageService } = await import('../services/provider-token-usage.service.js');
259
259
  const service = createProviderTokenUsageService();
260
260
  assert.equal((await service.getSessionTokenUsage(sessionId)).used, 125_000);
261
261
  await new CodexSessionsProvider().rewindSession(sessionId, null);
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { codexAppServer } from '../../../modules/providers/list/codex/codex-app-server.client.js';
4
- import { CodexForkProvider } from '../../../modules/providers/list/codex/codex-fork.provider.js';
3
+ import { codexAppServer } from '../list/codex/codex-app-server.client.js';
4
+ import { CodexForkProvider } from '../list/codex/codex-fork.provider.js';
5
5
  /**
6
6
  * The fork endpoint itself is exercised against the real `codex app-server` in
7
7
  * codex-message-editing.test.ts, which is where the rewind that depends on it
@@ -3,9 +3,9 @@ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
- import { CodexSessionSynchronizer } from '../../../modules/providers/list/codex/codex-session-synchronizer.provider.js';
8
- import { CodexSessionsProvider, parseCodexExecScript, readCodexMemoryCitations } from '../../../modules/providers/list/codex/codex-sessions.provider.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
+ import { CodexSessionSynchronizer } from '../list/codex/codex-session-synchronizer.provider.js';
8
+ import { CodexSessionsProvider, parseCodexExecScript, readCodexMemoryCitations } from '../list/codex/codex-sessions.provider.js';
9
9
  const patchHomeDir = (nextHomeDir) => {
10
10
  const original = os.homedir;
11
11
  os.homedir = () => nextHomeDir;
@@ -4,7 +4,7 @@ import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
6
  import TOML from '@iarna/toml';
7
- import { providerMcpService } from '../../../modules/providers/services/mcp.service.js';
7
+ import { providerMcpService } from '../services/mcp.service.js';
8
8
  import { AppError } from '../../../shared/utils.js';
9
9
  const patchHomeDir = (nextHomeDir) => {
10
10
  const original = os.homedir;
@@ -3,7 +3,7 @@ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { OpenCodeProviderModels, OPENCODE_PREDEFINED_MODELS, } from '../../../modules/providers/list/opencode/opencode-models.provider.js';
6
+ import { OpenCodeProviderModels, OPENCODE_PREDEFINED_MODELS, } from '../list/opencode/opencode-models.provider.js';
7
7
  const OPENCODE_ENV_KEYS = ['OPENCODE_API_KEY', 'ANTHROPIC_API_KEY', 'OPENAI_API_KEY'];
8
8
  /**
9
9
  * Runs one case against a throwaway OpenCode home, so the catalog the adapter
@@ -4,9 +4,9 @@ import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
6
  import Database from 'better-sqlite3';
7
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
8
- import { OpenCodeSessionSynchronizer } from '../../../modules/providers/list/opencode/opencode-session-synchronizer.provider.js';
9
- import { OpenCodeSessionsProvider } from '../../../modules/providers/list/opencode/opencode-sessions.provider.js';
7
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
8
+ import { OpenCodeSessionSynchronizer } from '../list/opencode/opencode-session-synchronizer.provider.js';
9
+ import { OpenCodeSessionsProvider } from '../list/opencode/opencode-sessions.provider.js';
10
10
  import { appendImagesInputTag } from '../../../shared/image-attachments.js';
11
11
  const patchHomeDir = (nextHomeDir) => {
12
12
  const original = os.homedir;
@@ -1,8 +1,8 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { ClaudeSessionsProvider } from '../../../modules/providers/list/claude/claude-sessions.provider.js';
4
- import { CodexSessionsProvider, extractCodexUserImages } from '../../../modules/providers/list/codex/codex-sessions.provider.js';
5
- import { CursorSessionsProvider } from '../../../modules/providers/list/cursor/cursor-sessions.provider.js';
3
+ import { ClaudeSessionsProvider } from '../list/claude/claude-sessions.provider.js';
4
+ import { CodexSessionsProvider, extractCodexUserImages } from '../list/codex/codex-sessions.provider.js';
5
+ import { CursorSessionsProvider } from '../list/cursor/cursor-sessions.provider.js';
6
6
  import { appendFilesInputTag, appendImagesInputTag } from '../../../shared/image-attachments.js';
7
7
  const SESSION_ID = 'session-1';
8
8
  // ---------------------------------------------------------------- Claude
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { createProviderModelsService } from '../../../modules/providers/services/provider-models.service.js';
3
+ import { createProviderModelsService } from '../services/provider-models.service.js';
4
4
  import { AppError } from '../../../shared/utils.js';
5
5
  const createModels = (value) => ({
6
6
  OPTIONS: [{ value, label: value }],
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
- import { providerRegistry } from '../../../modules/providers/provider.registry.js';
4
- import { createProviderRuntimeService } from '../../../modules/providers/services/provider-runtime.service.js';
3
+ import { providerRegistry } from '../provider.registry.js';
4
+ import { createProviderRuntimeService } from '../services/provider-runtime.service.js';
5
5
  function createRuntime(overrides = {}) {
6
6
  return {
7
7
  async run() {
@@ -4,7 +4,7 @@ import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
6
  import Database from 'better-sqlite3';
7
- import { createProviderTokenUsageService, summarizeClaudeTokenUsage, } from '../../../modules/providers/services/provider-token-usage.service.js';
7
+ import { createProviderTokenUsageService, summarizeClaudeTokenUsage, } from '../services/provider-token-usage.service.js';
8
8
  import { AppError } from '../../../shared/utils.js';
9
9
  function createSessionRow(overrides = {}) {
10
10
  return {
@@ -5,8 +5,8 @@ import os from 'node:os';
5
5
  import path from 'node:path';
6
6
  import test from 'node:test';
7
7
  import express from 'express';
8
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
9
- import providerRouter from '../../../modules/providers/provider.routes.js';
8
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
9
+ import providerRouter from '../provider.routes.js';
10
10
  import { AppError } from '../../../shared/utils.js';
11
11
  async function withProviderServer(run) {
12
12
  const previousDatabasePath = process.env.DATABASE_PATH;
@@ -3,9 +3,9 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
- import { providerRegistry } from '../../../modules/providers/provider.registry.js';
8
- import { sessionsService } from '../../../modules/providers/services/sessions.service.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
+ import { providerRegistry } from '../provider.registry.js';
8
+ import { sessionsService } from '../services/sessions.service.js';
9
9
  const SOURCE_ID = 'fork-source';
10
10
  async function withForkableClaude(runTest, options = {}) {
11
11
  const previousDatabasePath = process.env.DATABASE_PATH;
@@ -3,7 +3,7 @@ import { appendFile, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { createSessionHistoryCache } from '../../../modules/providers/services/session-history-cache.service.js';
6
+ import { createSessionHistoryCache } from '../services/session-history-cache.service.js';
7
7
  function historyResult(marker) {
8
8
  const message = {
9
9
  id: marker,
@@ -3,7 +3,7 @@ import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
7
  // Each provider synchronizer resolves `os.homedir()` when the registry module is
8
8
  // first imported, so HOME has to point at an empty fixture home *before* that
9
9
  // import runs. Otherwise the sync pass walks the developer's real ~/.claude.
@@ -12,7 +12,7 @@ const previousHome = process.env.HOME;
12
12
  const previousUserProfile = process.env.USERPROFILE;
13
13
  process.env.HOME = fixtureHome;
14
14
  process.env.USERPROFILE = fixtureHome;
15
- const { sessionSynchronizerService } = await import('../../../modules/providers/services/session-synchronizer.service.js');
15
+ const { sessionSynchronizerService } = await import('../services/session-synchronizer.service.js');
16
16
  process.on('exit', () => {
17
17
  if (previousHome === undefined) {
18
18
  delete process.env.HOME;
@@ -3,7 +3,7 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase } from '../../../modules/database/index.js';
6
+ import { closeConnection, initializeDatabase } from '../../database/index.js';
7
7
  // Each provider synchronizer resolves `os.homedir()` when the registry module is
8
8
  // first imported, so HOME has to point at an empty fixture home *before* that
9
9
  // import runs. The registry is stubbed per test, but the import still happens.
@@ -12,8 +12,8 @@ const previousHome = process.env.HOME;
12
12
  const previousUserProfile = process.env.USERPROFILE;
13
13
  process.env.HOME = fixtureHome;
14
14
  process.env.USERPROFILE = fixtureHome;
15
- const { providerRegistry } = await import('../../../modules/providers/provider.registry.js');
16
- const { sessionSynchronizerService } = await import('../../../modules/providers/services/session-synchronizer.service.js');
15
+ const { providerRegistry } = await import('../provider.registry.js');
16
+ const { sessionSynchronizerService } = await import('../services/session-synchronizer.service.js');
17
17
  process.on('exit', () => {
18
18
  if (previousHome === undefined) {
19
19
  delete process.env.HOME;
@@ -3,8 +3,8 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, projectsDb, sessionsDb } from '../../../modules/database/index.js';
7
- import { sessionsService } from '../../../modules/providers/services/sessions.service.js';
6
+ import { closeConnection, initializeDatabase, projectsDb, sessionsDb } from '../../database/index.js';
7
+ import { sessionsService } from '../services/sessions.service.js';
8
8
  import { AppError, normalizeProjectPath } from '../../../shared/utils.js';
9
9
  async function withIsolatedDatabase(runTest) {
10
10
  const previousDatabasePath = process.env.DATABASE_PATH;
@@ -3,8 +3,8 @@ import { appendFile, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, projectsDb, sessionsDb } from '../../../modules/database/index.js';
7
- import { sessionsService } from '../../../modules/providers/services/sessions.service.js';
6
+ import { closeConnection, initializeDatabase, projectsDb, sessionsDb } from '../../database/index.js';
7
+ import { sessionsService } from '../services/sessions.service.js';
8
8
  async function withIsolatedDatabase(runTest) {
9
9
  const previousDatabasePath = process.env.DATABASE_PATH;
10
10
  const tempDirectory = await mkdtemp(path.join(os.tmpdir(), 'sessions-service-db-'));
@@ -3,7 +3,7 @@ import fs from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { providerSkillsService } from '../../../modules/providers/services/skills.service.js';
6
+ import { providerSkillsService } from '../services/skills.service.js';
7
7
  const patchHomeDir = (nextHomeDir) => {
8
8
  const original = os.homedir;
9
9
  os.homedir = () => nextHomeDir;
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { scheduledMessagesService } from '../../modules/scheduled-messages/services/scheduled-messages.service.js';
2
+ import { scheduledMessagesService } from './services/scheduled-messages.service.js';
3
3
  import { AppError, asyncHandler, createApiSuccessResponse } from '../../shared/utils.js';
4
4
  function readUserId(request) {
5
5
  const userId = Number(request.user?.id);
@@ -1,5 +1,5 @@
1
- import { scheduledMessagesDb, sessionDraftsDb } from '../../../modules/database/index.js';
2
- import { chatRunRegistry, runDetachedChatTurn } from '../../../modules/websocket/index.js';
1
+ import { scheduledMessagesDb, sessionDraftsDb } from '../../database/index.js';
2
+ import { chatRunRegistry, runDetachedChatTurn } from '../../websocket/index.js';
3
3
  /**
4
4
  * How often due messages are looked for.
5
5
  *
@@ -1,4 +1,4 @@
1
- import { scheduledMessagesDb, sessionsDb } from '../../../modules/database/index.js';
1
+ import { scheduledMessagesDb, sessionsDb } from '../../database/index.js';
2
2
  import { AppError } from '../../../shared/utils.js';
3
3
  /** How far ahead a message may be scheduled. Beyond this it is almost certainly a mistake. */
4
4
  const MAX_SCHEDULE_AHEAD_MS = 365 * 24 * 60 * 60 * 1000;
@@ -3,10 +3,10 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, scheduledMessagesDb, sessionDraftsDb, sessionsDb, userDb } from '../../../modules/database/index.js';
7
- import { dispatchDueScheduledMessages, dispatchQueuedMessages } from '../../../modules/scheduled-messages/services/scheduled-message-dispatcher.service.js';
8
- import { scheduledMessagesService } from '../../../modules/scheduled-messages/services/scheduled-messages.service.js';
9
- import { chatRunRegistry } from '../../../modules/websocket/index.js';
6
+ import { closeConnection, initializeDatabase, scheduledMessagesDb, sessionDraftsDb, sessionsDb, userDb } from '../../database/index.js';
7
+ import { dispatchDueScheduledMessages, dispatchQueuedMessages } from '../services/scheduled-message-dispatcher.service.js';
8
+ import { scheduledMessagesService } from '../services/scheduled-messages.service.js';
9
+ import { chatRunRegistry } from '../../websocket/index.js';
10
10
  const SESSION_ID = 'scheduled-session';
11
11
  async function withIsolatedDatabase(runTest) {
12
12
  const previousDatabasePath = process.env.DATABASE_PATH;
@@ -1,5 +1,5 @@
1
- import { apiKeysDb, credentialsDb, notificationPreferencesDb, pushSubscriptionsDb, } from '../../modules/database/index.js';
2
- import { createNotificationEvent, getPublicKey, notifyUserIfEnabled, } from '../../modules/notifications/index.js';
1
+ import { apiKeysDb, credentialsDb, notificationPreferencesDb, pushSubscriptionsDb, } from '../database/index.js';
2
+ import { createNotificationEvent, getPublicKey, notifyUserIfEnabled, } from '../notifications/index.js';
3
3
  import { createSettingsRouter } from './settings.routes.js';
4
4
  import { createSettingsService } from './settings.service.js';
5
5
  const settingsService = createSettingsService({
@@ -2,7 +2,7 @@ import fs from 'node:fs';
2
2
  import * as fsPromises from 'node:fs/promises';
3
3
  import os from 'node:os';
4
4
  import spawn from 'cross-spawn';
5
- import { projectsDb } from '../../modules/database/index.js';
5
+ import { projectsDb } from '../database/index.js';
6
6
  import { createTaskmasterRouter } from './taskmaster.routes.js';
7
7
  import { createTaskmasterService } from './taskmaster.service.js';
8
8
  const taskmasterService = createTaskmasterService({
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import path from 'path';
12
12
  import express from 'express';
13
- import { WS_OPEN_STATE, connectedClients } from '../../modules/websocket/index.js';
13
+ import { WS_OPEN_STATE, connectedClients } from '../websocket/index.js';
14
14
  /**
15
15
  * These frames are `type`-keyed and only TaskMasterContext, which lives on the
16
16
  * `/ws` chat socket, knows what to do with them. Broadcasting over the raw
@@ -3,7 +3,7 @@ import { EventEmitter, once } from 'node:events';
3
3
  import { PassThrough } from 'node:stream';
4
4
  import test from 'node:test';
5
5
  import express from 'express';
6
- import { connectedClients } from '../../../modules/websocket/index.js';
6
+ import { connectedClients } from '../../websocket/index.js';
7
7
  import { createTaskmasterRouter } from '../taskmaster.routes.js';
8
8
  test('tasks route resolves project ids through the injected project adapter', async () => {
9
9
  const resolvedIds = [];
@@ -1,5 +1,5 @@
1
1
  import spawn from 'cross-spawn';
2
- import { sessionDraftsDb, userDb, userPreferencesDb } from '../../modules/database/index.js';
2
+ import { sessionDraftsDb, userDb, userPreferencesDb } from '../database/index.js';
3
3
  import { createUserRouter } from './user.routes.js';
4
4
  import { createUserService } from './user.service.js';
5
5
  function runGit(args) {
@@ -1,6 +1,6 @@
1
- import { sessionsDb } from '../../../modules/database/index.js';
2
- import { ChatSessionWriter } from '../../../modules/websocket/services/chat-session-writer.service.js';
3
- import { broadcastSessionUpserted } from '../../../modules/websocket/services/session-upsert-broadcast.service.js';
1
+ import { sessionsDb } from '../../database/index.js';
2
+ import { ChatSessionWriter } from './chat-session-writer.service.js';
3
+ import { broadcastSessionUpserted } from './session-upsert-broadcast.service.js';
4
4
  /**
5
5
  * How long a completed run stays available for replay. Covers the window
6
6
  * between a run finishing and the client refreshing history over REST (for
@@ -1,4 +1,4 @@
1
- import { WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
1
+ import { WS_OPEN_STATE } from './websocket-state.service.js';
2
2
  import { createCompleteMessage, readObjectRecord } from '../../../shared/utils.js';
3
3
  /**
4
4
  * Gateway writer handed to provider runtimes instead of a raw websocket writer.
@@ -1,8 +1,8 @@
1
1
  import path from 'node:path';
2
- import { sessionsDb } from '../../../modules/database/index.js';
3
- import { providerModelsService, sessionsService } from '../../../modules/providers/index.js';
4
- import { chatRunRegistry } from '../../../modules/websocket/services/chat-run-registry.service.js';
5
- import { connectedClients, WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
2
+ import { sessionsDb } from '../../database/index.js';
3
+ import { providerModelsService, sessionsService } from '../../providers/index.js';
4
+ import { chatRunRegistry } from './chat-run-registry.service.js';
5
+ import { connectedClients, WS_OPEN_STATE } from './websocket-state.service.js';
6
6
  import { getGlobalImageAssetsDir, isImageAttachmentDescriptor, normalizeAttachmentDescriptors, } from '../../../shared/image-attachments.js';
7
7
  import { parseIncomingJsonObject } from '../../../shared/utils.js';
8
8
  /**
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
- import { projectsDb, sessionsDb } from '../../../modules/database/index.js';
3
- import { generateDisplayName } from '../../../modules/projects/index.js';
4
- import { connectedClients, WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
2
+ import { projectsDb, sessionsDb } from '../../database/index.js';
3
+ import { generateDisplayName } from '../../projects/index.js';
4
+ import { connectedClients, WS_OPEN_STATE } from './websocket-state.service.js';
5
5
  /**
6
6
  * The single producer of the `session_upserted` delta.
7
7
  *
@@ -1,9 +1,9 @@
1
1
  import { WebSocket, WebSocketServer } from 'ws';
2
- import { handleChatConnection } from '../../../modules/websocket/services/chat-websocket.service.js';
3
- import { verifyWebSocketClient } from '../../../modules/websocket/services/websocket-auth.service.js';
4
- import { handlePluginWsProxy } from '../../../modules/websocket/services/plugin-websocket-proxy.service.js';
5
- import { handleShellConnection } from '../../../modules/websocket/services/shell-websocket.service.js';
6
- import { handleDesktopNotificationsConnection } from '../../../modules/notifications/index.js';
2
+ import { handleChatConnection } from './chat-websocket.service.js';
3
+ import { verifyWebSocketClient } from './websocket-auth.service.js';
4
+ import { handlePluginWsProxy } from './plugin-websocket-proxy.service.js';
5
+ import { handleShellConnection } from './shell-websocket.service.js';
6
+ import { handleDesktopNotificationsConnection } from '../../notifications/index.js';
7
7
  /**
8
8
  * Used by this module's websocket gateway to keep active transports alive and
9
9
  * close half-open connections so their route-specific clients can reconnect.
@@ -1,4 +1,4 @@
1
- import { WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
1
+ import { WS_OPEN_STATE } from './websocket-state.service.js';
2
2
  /**
3
3
  * Thin transport adapter that gives WebSocket connections the same interface as
4
4
  * SSE writers used by API routes (`send`, `setSessionId`, `getSessionId`).
@@ -2,7 +2,7 @@ import assert from 'node:assert/strict';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
4
  import test from 'node:test';
5
- import { filterAttachmentsToUploadStore, filterImagesToUploadStore, } from '../../../modules/websocket/services/chat-websocket.service.js';
5
+ import { filterAttachmentsToUploadStore, filterImagesToUploadStore, } from '../services/chat-websocket.service.js';
6
6
  const STORE = path.join(os.tmpdir(), 'cloudcli-assets-store');
7
7
  test('images inside the upload store pass through', () => {
8
8
  const inside = path.join(STORE, 'shot.png');
@@ -4,11 +4,11 @@ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
4
4
  import os from 'node:os';
5
5
  import path from 'node:path';
6
6
  import test from 'node:test';
7
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
8
- import { sessionsService } from '../../../modules/providers/index.js';
9
- import { handleChatConnection } from '../../../modules/websocket/services/chat-websocket.service.js';
10
- import { chatRunRegistry } from '../../../modules/websocket/services/chat-run-registry.service.js';
11
- import { connectedClients } from '../../../modules/websocket/services/websocket-state.service.js';
7
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
8
+ import { sessionsService } from '../../providers/index.js';
9
+ import { handleChatConnection } from '../services/chat-websocket.service.js';
10
+ import { chatRunRegistry } from '../services/chat-run-registry.service.js';
11
+ import { connectedClients } from '../services/websocket-state.service.js';
12
12
  const SESSION_ID = 'edit-session';
13
13
  function createFakeSocket() {
14
14
  const socket = new EventEmitter();
@@ -3,9 +3,9 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
- import { chatRunRegistry } from '../../../modules/websocket/services/chat-run-registry.service.js';
8
- import { connectedClients } from '../../../modules/websocket/services/websocket-state.service.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
+ import { chatRunRegistry } from '../services/chat-run-registry.service.js';
8
+ import { connectedClients } from '../services/websocket-state.service.js';
9
9
  /**
10
10
  * Minimal stand-in for a websocket connection: collects every JSON frame the
11
11
  * gateway writer forwards so assertions can inspect the outbound protocol.
@@ -3,9 +3,9 @@ import { mkdtemp, rm } from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
- import { closeConnection, initializeDatabase, sessionsDb } from '../../../modules/database/index.js';
7
- import { broadcastSessionUpserted, broadcastSessionUpsertedBatch, } from '../../../modules/websocket/services/session-upsert-broadcast.service.js';
8
- import { connectedClients } from '../../../modules/websocket/services/websocket-state.service.js';
6
+ import { closeConnection, initializeDatabase, sessionsDb } from '../../database/index.js';
7
+ import { broadcastSessionUpserted, broadcastSessionUpsertedBatch, } from '../services/session-upsert-broadcast.service.js';
8
+ import { connectedClients } from '../services/websocket-state.service.js';
9
9
  class FakeConnection {
10
10
  readyState = 1; // WS_OPEN_STATE
11
11
  frames = [];
@@ -4,7 +4,7 @@ import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import test from 'node:test';
6
6
  import { WebSocket } from 'ws';
7
- import { handleShellConnection } from '../../../modules/websocket/services/shell-websocket.service.js';
7
+ import { handleShellConnection } from '../services/shell-websocket.service.js';
8
8
  function createFakeSocket() {
9
9
  const socket = new EventEmitter();
10
10
  socket.readyState = WebSocket.OPEN;
@@ -2,7 +2,7 @@ import assert from 'node:assert/strict';
2
2
  import { EventEmitter } from 'node:events';
3
3
  import test from 'node:test';
4
4
  import { WebSocket } from 'ws';
5
- import { attachWebSocketHeartbeat } from '../../../modules/websocket/services/websocket-server.service.js';
5
+ import { attachWebSocketHeartbeat } from '../services/websocket-server.service.js';
6
6
  function createFakeSocket() {
7
7
  const socket = new EventEmitter();
8
8
  socket.readyState = WebSocket.OPEN;
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { AppError, normalizeProjectPath } from '../../../shared/utils.js';
3
- import { listWorktreePorcelainEntries, validateWorktreeBranchName, } from '../../../modules/worktrees/services/worktree-git.service.js';
3
+ import { listWorktreePorcelainEntries, validateWorktreeBranchName, } from './worktree-git.service.js';
4
4
  /**
5
5
  * Turns a branch name into a filesystem-safe folder name:
6
6
  * "feature/login-form" → "feature-login-form".
@@ -1,5 +1,5 @@
1
1
  import { normalizeProjectPath } from '../../../shared/utils.js';
2
- import { countChangedFiles, listWorktreePorcelainEntries, } from '../../../modules/worktrees/services/worktree-git.service.js';
2
+ import { countChangedFiles, listWorktreePorcelainEntries, } from './worktree-git.service.js';
3
3
  const WORKTREE_LIST_CONCURRENCY = 4;
4
4
  async function mapWithConcurrency(inputs, concurrency, mapper) {
5
5
  const results = new Array(inputs.length);
@@ -1,5 +1,5 @@
1
1
  import { AppError } from '../../../shared/utils.js';
2
- import { countChangedFiles, findWorktreeEntryByPath, listWorktreePorcelainEntries, } from '../../../modules/worktrees/services/worktree-git.service.js';
2
+ import { countChangedFiles, findWorktreeEntryByPath, listWorktreePorcelainEntries, } from './worktree-git.service.js';
3
3
  /** Reads the paths currently in conflict inside the main worktree (best effort). */
4
4
  async function readConflictedFiles(repositoryRoot, runGit) {
5
5
  try {
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { AppError, normalizeProjectPath } from '../../../shared/utils.js';
3
- import { findWorktreeEntryByPath, listWorktreePorcelainEntries, } from '../../../modules/worktrees/services/worktree-git.service.js';
3
+ import { findWorktreeEntryByPath, listWorktreePorcelainEntries, } from './worktree-git.service.js';
4
4
  function mapRowToProjectView(row) {
5
5
  return {
6
6
  projectId: row.project_id,