@piecemaker-legal/piecemaker 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1424) hide show
  1. package/LICENSE +718 -0
  2. package/README.md +80 -0
  3. package/dist/Mistral-Icon-Gradient-RGB.svg +12 -0
  4. package/dist/api-docs.html +901 -0
  5. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  6. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  7. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  10. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  11. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  12. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  13. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  16. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  17. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  18. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  19. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  20. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  21. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  22. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  23. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  24. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  25. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  26. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  27. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  28. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  29. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  30. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  31. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  32. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  33. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  34. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  35. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  36. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  37. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  43. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  44. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  45. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  46. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  47. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  48. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  49. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  50. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  51. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  52. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  53. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  54. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  55. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  56. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  57. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  58. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  59. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  60. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  61. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  62. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  63. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  64. package/dist/assets/abnfDiagram-N423BO3Z-DjEx6DRO.js +1 -0
  65. package/dist/assets/arc-DYt0oU_6.js +1 -0
  66. package/dist/assets/architectureDiagram-T3A2C74G-Dn6DhYDe.js +36 -0
  67. package/dist/assets/blockDiagram-VBNYF7ZC-CsvhTLZi.js +132 -0
  68. package/dist/assets/c4Diagram-5PPSVZJV-BuPnjHm6.js +10 -0
  69. package/dist/assets/channel-Czt0N91A.js +1 -0
  70. package/dist/assets/chunk-2GRJ4B5K-BZJJc1-J.js +1 -0
  71. package/dist/assets/chunk-2Q5K7J3B-6stdrDbe.js +1 -0
  72. package/dist/assets/chunk-5RXB4S5H-D5UwN5cg.js +231 -0
  73. package/dist/assets/chunk-5VM5RSS4-BDB8AQ_I.js +15 -0
  74. package/dist/assets/chunk-6Q2QTUOP-RhjQ-NDz.js +88 -0
  75. package/dist/assets/chunk-GF5L2VYU-CJuiA7R4.js +206 -0
  76. package/dist/assets/chunk-JWPE2WC7-DjFkIZqh.js +1 -0
  77. package/dist/assets/chunk-KBJHAD2P-BeSQsoqv.js +1 -0
  78. package/dist/assets/chunk-RYQCIY6F-CPgwsb0o.js +1 -0
  79. package/dist/assets/chunk-XXDRQBXY-CMMVEsX3.js +1 -0
  80. package/dist/assets/classDiagram-JCYQIIEL-BrnQyrwR.js +1 -0
  81. package/dist/assets/classDiagram-v2-OCEON4UE-BrnQyrwR.js +1 -0
  82. package/dist/assets/cose-bilkent-JH36ORCC-XAdYMfi5.js +1 -0
  83. package/dist/assets/cynefin-VYW2F7L2-d2GpDBn-.js +178 -0
  84. package/dist/assets/cynefinDiagram-MW4NZA55-CGtqUrU1.js +62 -0
  85. package/dist/assets/cytoscape.esm-C10L9Icf.js +331 -0
  86. package/dist/assets/dagre-VZM6K2ZE-BxujKIsf.js +4 -0
  87. package/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  88. package/dist/assets/diagram-7IWD3JNH-CJn9hobL.js +30 -0
  89. package/dist/assets/diagram-B4RE2ZJO-DF0Cnjzz.js +3 -0
  90. package/dist/assets/diagram-LBJQPF4R-Bq4d3NfR.js +24 -0
  91. package/dist/assets/diagram-Q27KOJAE-DDdfoXt-.js +24 -0
  92. package/dist/assets/diagram-UB23O5K3-TSFk7FuJ.js +41 -0
  93. package/dist/assets/ebnfDiagram-BXEA7PRR-DRvm2Wy9.js +1 -0
  94. package/dist/assets/erDiagram-JOGREHBK-BmdN66-A.js +85 -0
  95. package/dist/assets/flowDiagram-UKHOOZJN-Dsp5LwJz.js +156 -0
  96. package/dist/assets/ganttDiagram-PKOTCBZU-CYfCQ4Yi.js +292 -0
  97. package/dist/assets/gitGraphDiagram-DS77QQ5N-DEzmuv8v.js +106 -0
  98. package/dist/assets/graph-Cx-EqisW.js +1 -0
  99. package/dist/assets/index-CqFxV_pT.css +32 -0
  100. package/dist/assets/index-dWwHeqcq.js +4989 -0
  101. package/dist/assets/infoDiagram-6WML65LV-B1EfV5Bm.js +2 -0
  102. package/dist/assets/init-Gi6I4Gst.js +1 -0
  103. package/dist/assets/ishikawaDiagram-WSZJBQD7-OuQJfUii.js +70 -0
  104. package/dist/assets/journeyDiagram-NVQOT4AX-DHIilb_4.js +139 -0
  105. package/dist/assets/kanban-definition-27J2QSJJ-D4CvKWBP.js +89 -0
  106. package/dist/assets/layout-D6BstSzF.js +1 -0
  107. package/dist/assets/linear-i_Nzyzap.js +1 -0
  108. package/dist/assets/map-CV9uif0g.js +1 -0
  109. package/dist/assets/mermaid.core-DbSHejzG.js +312 -0
  110. package/dist/assets/mindmap-definition-FAOFIHXS-DqhC-BPZ.js +96 -0
  111. package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  112. package/dist/assets/pegDiagram-VL7TDLO6-pBqvOEvm.js +1 -0
  113. package/dist/assets/pieDiagram-7S7Q4E2Y-BH53iuaz.js +39 -0
  114. package/dist/assets/quadrantDiagram-CIZ2JOQS-CvW9ldJo.js +7 -0
  115. package/dist/assets/railroadDiagram-AXF67PYL-CERi66oR.js +1 -0
  116. package/dist/assets/requirementDiagram-LRYGKXZP-DbcP4MGI.js +84 -0
  117. package/dist/assets/sankeyDiagram-W5VNT64P-DO9bPHWO.js +40 -0
  118. package/dist/assets/sequenceDiagram-SI44F4Z6-D3zd2eJS.js +162 -0
  119. package/dist/assets/server.browser-CtX3Hdl5.js +27 -0
  120. package/dist/assets/sizeCapture-X5ZJPWSS-mcEXJiem.js +1 -0
  121. package/dist/assets/stateDiagram-OKZ733FA-DMqQgpiD.js +1 -0
  122. package/dist/assets/stateDiagram-v2-UEYNNEHI-DprF_P9y.js +1 -0
  123. package/dist/assets/swimlanes-SLNWSIFB-Cb8rIhB1.js +2 -0
  124. package/dist/assets/swimlanesDiagram-ULZ7WXOC-C6NVYMho.js +8 -0
  125. package/dist/assets/timeline-definition-Z64GVDOM-BQ4r_QsK.js +120 -0
  126. package/dist/assets/vendor-codemirror-CYrSt7-U.js +41 -0
  127. package/dist/assets/vendor-react-BGZc9oRE.js +59 -0
  128. package/dist/assets/vendor-xterm-CS4rQ5Mr.js +66 -0
  129. package/dist/assets/vennDiagram-T6HMQDX7-BEkKGTum.js +34 -0
  130. package/dist/assets/wardleyDiagram-T6FBY63Y-kJwmgH-h.js +78 -0
  131. package/dist/assets/xychartDiagram-ELKLHX3M-CSJRTKCr.js +7 -0
  132. package/dist/clear-cache.html +85 -0
  133. package/dist/convert-icons.md +53 -0
  134. package/dist/favicon.png +0 -0
  135. package/dist/favicon.svg +9 -0
  136. package/dist/generate-icons.js +49 -0
  137. package/dist/icons/claude-ai-icon.svg +1 -0
  138. package/dist/icons/codex-white.svg +3 -0
  139. package/dist/icons/codex.svg +3 -0
  140. package/dist/icons/cursor-white.svg +12 -0
  141. package/dist/icons/cursor.svg +1 -0
  142. package/dist/icons/icon-128x128.png +0 -0
  143. package/dist/icons/icon-128x128.svg +12 -0
  144. package/dist/icons/icon-144x144.png +0 -0
  145. package/dist/icons/icon-144x144.svg +12 -0
  146. package/dist/icons/icon-152x152.png +0 -0
  147. package/dist/icons/icon-152x152.svg +12 -0
  148. package/dist/icons/icon-192x192.png +0 -0
  149. package/dist/icons/icon-192x192.svg +12 -0
  150. package/dist/icons/icon-384x384.png +0 -0
  151. package/dist/icons/icon-384x384.svg +12 -0
  152. package/dist/icons/icon-512x512.png +0 -0
  153. package/dist/icons/icon-512x512.svg +12 -0
  154. package/dist/icons/icon-72x72.png +0 -0
  155. package/dist/icons/icon-72x72.svg +12 -0
  156. package/dist/icons/icon-96x96.png +0 -0
  157. package/dist/icons/icon-96x96.svg +12 -0
  158. package/dist/icons/icon-template.svg +12 -0
  159. package/dist/index.html +60 -0
  160. package/dist/logo-128.png +0 -0
  161. package/dist/logo-256.png +0 -0
  162. package/dist/logo-32.png +0 -0
  163. package/dist/logo-512.png +0 -0
  164. package/dist/logo-64.png +0 -0
  165. package/dist/logo.svg +17 -0
  166. package/dist/manifest.json +61 -0
  167. package/dist/screenshots/cli-selection.png +0 -0
  168. package/dist/screenshots/desktop-main.png +0 -0
  169. package/dist/screenshots/mobile-chat.png +0 -0
  170. package/dist/screenshots/tools-modal.png +0 -0
  171. package/dist/sw.js +125 -0
  172. package/dist-server/server/index.js +345 -0
  173. package/dist-server/server/index.js.map +1 -0
  174. package/dist-server/server/load-env.js +46 -0
  175. package/dist-server/server/load-env.js.map +1 -0
  176. package/dist-server/server/modules/agent/agent.module.js +38 -0
  177. package/dist-server/server/modules/agent/agent.module.js.map +1 -0
  178. package/dist-server/server/modules/agent/agent.routes.js +1161 -0
  179. package/dist-server/server/modules/agent/agent.routes.js.map +1 -0
  180. package/dist-server/server/modules/agent/index.js +3 -0
  181. package/dist-server/server/modules/agent/index.js.map +1 -0
  182. package/dist-server/server/modules/agent/tests/agent.routes.test.js +176 -0
  183. package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -0
  184. package/dist-server/server/modules/assets/assets.routes.js +130 -0
  185. package/dist-server/server/modules/assets/assets.routes.js.map +1 -0
  186. package/dist-server/server/modules/assets/index.js +4 -0
  187. package/dist-server/server/modules/assets/index.js.map +1 -0
  188. package/dist-server/server/modules/assets/services/image-assets.service.js +95 -0
  189. package/dist-server/server/modules/assets/services/image-assets.service.js.map +1 -0
  190. package/dist-server/server/modules/assets/tests/image-assets.service.test.js +56 -0
  191. package/dist-server/server/modules/assets/tests/image-assets.service.test.js.map +1 -0
  192. package/dist-server/server/modules/auth/auth.middleware.js +133 -0
  193. package/dist-server/server/modules/auth/auth.middleware.js.map +1 -0
  194. package/dist-server/server/modules/auth/auth.module.js +29 -0
  195. package/dist-server/server/modules/auth/auth.module.js.map +1 -0
  196. package/dist-server/server/modules/auth/auth.routes.js +45 -0
  197. package/dist-server/server/modules/auth/auth.routes.js.map +1 -0
  198. package/dist-server/server/modules/auth/auth.service.js +113 -0
  199. package/dist-server/server/modules/auth/auth.service.js.map +1 -0
  200. package/dist-server/server/modules/auth/index.js +9 -0
  201. package/dist-server/server/modules/auth/index.js.map +1 -0
  202. package/dist-server/server/modules/auth/tests/auth.service.test.js +80 -0
  203. package/dist-server/server/modules/auth/tests/auth.service.test.js.map +1 -0
  204. package/dist-server/server/modules/browser-use/browser-use-mcp.js +352 -0
  205. package/dist-server/server/modules/browser-use/browser-use-mcp.js.map +1 -0
  206. package/dist-server/server/modules/browser-use/browser-use-mcp.routes.js +107 -0
  207. package/dist-server/server/modules/browser-use/browser-use-mcp.routes.js.map +1 -0
  208. package/dist-server/server/modules/browser-use/browser-use-runtime.js +10 -0
  209. package/dist-server/server/modules/browser-use/browser-use-runtime.js.map +1 -0
  210. package/dist-server/server/modules/browser-use/browser-use.routes.js +93 -0
  211. package/dist-server/server/modules/browser-use/browser-use.routes.js.map +1 -0
  212. package/dist-server/server/modules/browser-use/browser-use.service.js +686 -0
  213. package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -0
  214. package/dist-server/server/modules/browser-use/index.js +11 -0
  215. package/dist-server/server/modules/browser-use/index.js.map +1 -0
  216. package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js +8 -0
  217. package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js.map +1 -0
  218. package/dist-server/server/modules/cli/cli.js +17 -0
  219. package/dist-server/server/modules/cli/cli.js.map +1 -0
  220. package/dist-server/server/modules/cli/cli.module.js +93 -0
  221. package/dist-server/server/modules/cli/cli.module.js.map +1 -0
  222. package/dist-server/server/modules/cli/cli.service.js +230 -0
  223. package/dist-server/server/modules/cli/cli.service.js.map +1 -0
  224. package/dist-server/server/modules/cli/index.js +3 -0
  225. package/dist-server/server/modules/cli/index.js.map +1 -0
  226. package/dist-server/server/modules/cli/pwa-launcher.js +116 -0
  227. package/dist-server/server/modules/cli/pwa-launcher.js.map +1 -0
  228. package/dist-server/server/modules/cli/sandbox.service.js +332 -0
  229. package/dist-server/server/modules/cli/sandbox.service.js.map +1 -0
  230. package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js +154 -0
  231. package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js.map +1 -0
  232. package/dist-server/server/modules/cli/tests/cli.service.test.js +91 -0
  233. package/dist-server/server/modules/cli/tests/cli.service.test.js.map +1 -0
  234. package/dist-server/server/modules/cli/tests/sandbox.service.test.js +55 -0
  235. package/dist-server/server/modules/cli/tests/sandbox.service.test.js.map +1 -0
  236. package/dist-server/server/modules/commands/commands.module.js +20 -0
  237. package/dist-server/server/modules/commands/commands.module.js.map +1 -0
  238. package/dist-server/server/modules/commands/commands.routes.js +498 -0
  239. package/dist-server/server/modules/commands/commands.routes.js.map +1 -0
  240. package/dist-server/server/modules/commands/index.js +3 -0
  241. package/dist-server/server/modules/commands/index.js.map +1 -0
  242. package/dist-server/server/modules/commands/tests/commands.test.js +91 -0
  243. package/dist-server/server/modules/commands/tests/commands.test.js.map +1 -0
  244. package/dist-server/server/modules/database/connection.js +125 -0
  245. package/dist-server/server/modules/database/connection.js.map +1 -0
  246. package/dist-server/server/modules/database/index.js +23 -0
  247. package/dist-server/server/modules/database/index.js.map +1 -0
  248. package/dist-server/server/modules/database/init-db.js +18 -0
  249. package/dist-server/server/modules/database/init-db.js.map +1 -0
  250. package/dist-server/server/modules/database/migrations.js +465 -0
  251. package/dist-server/server/modules/database/migrations.js.map +1 -0
  252. package/dist-server/server/modules/database/repositories/api-keys.js +72 -0
  253. package/dist-server/server/modules/database/repositories/api-keys.js.map +1 -0
  254. package/dist-server/server/modules/database/repositories/app-config.js +47 -0
  255. package/dist-server/server/modules/database/repositories/app-config.js.map +1 -0
  256. package/dist-server/server/modules/database/repositories/credentials.js +68 -0
  257. package/dist-server/server/modules/database/repositories/credentials.js.map +1 -0
  258. package/dist-server/server/modules/database/repositories/github-tokens.js +54 -0
  259. package/dist-server/server/modules/database/repositories/github-tokens.js.map +1 -0
  260. package/dist-server/server/modules/database/repositories/notification-channel-endpoints.js +100 -0
  261. package/dist-server/server/modules/database/repositories/notification-channel-endpoints.js.map +1 -0
  262. package/dist-server/server/modules/database/repositories/notification-preferences.js +82 -0
  263. package/dist-server/server/modules/database/repositories/notification-preferences.js.map +1 -0
  264. package/dist-server/server/modules/database/repositories/projects.db.js +172 -0
  265. package/dist-server/server/modules/database/repositories/projects.db.js.map +1 -0
  266. package/dist-server/server/modules/database/repositories/provider-models.js +112 -0
  267. package/dist-server/server/modules/database/repositories/provider-models.js.map +1 -0
  268. package/dist-server/server/modules/database/repositories/push-subscriptions.js +49 -0
  269. package/dist-server/server/modules/database/repositories/push-subscriptions.js.map +1 -0
  270. package/dist-server/server/modules/database/repositories/scan-state.db.js +31 -0
  271. package/dist-server/server/modules/database/repositories/scan-state.db.js.map +1 -0
  272. package/dist-server/server/modules/database/repositories/scheduled-messages.db.js +71 -0
  273. package/dist-server/server/modules/database/repositories/scheduled-messages.db.js.map +1 -0
  274. package/dist-server/server/modules/database/repositories/session-drafts.db.js +105 -0
  275. package/dist-server/server/modules/database/repositories/session-drafts.db.js.map +1 -0
  276. package/dist-server/server/modules/database/repositories/sessions.db.js +507 -0
  277. package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -0
  278. package/dist-server/server/modules/database/repositories/user-preferences.db.js +65 -0
  279. package/dist-server/server/modules/database/repositories/user-preferences.db.js.map +1 -0
  280. package/dist-server/server/modules/database/repositories/users.js +88 -0
  281. package/dist-server/server/modules/database/repositories/users.js.map +1 -0
  282. package/dist-server/server/modules/database/repositories/vapid-keys.js +38 -0
  283. package/dist-server/server/modules/database/repositories/vapid-keys.js.map +1 -0
  284. package/dist-server/server/modules/database/schema.js +291 -0
  285. package/dist-server/server/modules/database/schema.js.map +1 -0
  286. package/dist-server/server/modules/database/tests/projects.db.integration.test.js +64 -0
  287. package/dist-server/server/modules/database/tests/projects.db.integration.test.js.map +1 -0
  288. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js +102 -0
  289. package/dist-server/server/modules/database/tests/provider-models.db.integration.test.js.map +1 -0
  290. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +79 -0
  291. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js.map +1 -0
  292. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js +93 -0
  293. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js.map +1 -0
  294. package/dist-server/server/modules/database/tests/user-preferences.db.integration.test.js +105 -0
  295. package/dist-server/server/modules/database/tests/user-preferences.db.integration.test.js.map +1 -0
  296. package/dist-server/server/modules/file-tree/file-tree.module.js +95 -0
  297. package/dist-server/server/modules/file-tree/file-tree.module.js.map +1 -0
  298. package/dist-server/server/modules/file-tree/file-tree.routes.js +208 -0
  299. package/dist-server/server/modules/file-tree/file-tree.routes.js.map +1 -0
  300. package/dist-server/server/modules/file-tree/file-tree.service.js +584 -0
  301. package/dist-server/server/modules/file-tree/file-tree.service.js.map +1 -0
  302. package/dist-server/server/modules/file-tree/index.js +3 -0
  303. package/dist-server/server/modules/file-tree/index.js.map +1 -0
  304. package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js +123 -0
  305. package/dist-server/server/modules/file-tree/tests/file-tree.routes.test.js.map +1 -0
  306. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +311 -0
  307. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js.map +1 -0
  308. package/dist-server/server/modules/git/git-branch.service.js +15 -0
  309. package/dist-server/server/modules/git/git-branch.service.js.map +1 -0
  310. package/dist-server/server/modules/git/git-parsing.service.js +61 -0
  311. package/dist-server/server/modules/git/git-parsing.service.js.map +1 -0
  312. package/dist-server/server/modules/git/git.module.js +14 -0
  313. package/dist-server/server/modules/git/git.module.js.map +1 -0
  314. package/dist-server/server/modules/git/git.routes.js +1347 -0
  315. package/dist-server/server/modules/git/git.routes.js.map +1 -0
  316. package/dist-server/server/modules/git/index.js +3 -0
  317. package/dist-server/server/modules/git/index.js.map +1 -0
  318. package/dist-server/server/modules/git/tests/git-branch.service.test.js +52 -0
  319. package/dist-server/server/modules/git/tests/git-branch.service.test.js.map +1 -0
  320. package/dist-server/server/modules/git/tests/git-init.routes.test.js +132 -0
  321. package/dist-server/server/modules/git/tests/git-init.routes.test.js.map +1 -0
  322. package/dist-server/server/modules/git/tests/git.test.js +80 -0
  323. package/dist-server/server/modules/git/tests/git.test.js.map +1 -0
  324. package/dist-server/server/modules/notifications/index.js +20 -0
  325. package/dist-server/server/modules/notifications/index.js.map +1 -0
  326. package/dist-server/server/modules/notifications/notifications.routes.js +115 -0
  327. package/dist-server/server/modules/notifications/notifications.routes.js.map +1 -0
  328. package/dist-server/server/modules/notifications/services/desktop-notification-clients.service.js +97 -0
  329. package/dist-server/server/modules/notifications/services/desktop-notification-clients.service.js.map +1 -0
  330. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +249 -0
  331. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js.map +1 -0
  332. package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js +44 -0
  333. package/dist-server/server/modules/notifications/tests/notification-orchestrator.integration.test.js.map +1 -0
  334. package/dist-server/server/modules/notifications/vapid-keys.service.js +28 -0
  335. package/dist-server/server/modules/notifications/vapid-keys.service.js.map +1 -0
  336. package/dist-server/server/modules/notifications/websocket/desktop-notifications-websocket.service.js +79 -0
  337. package/dist-server/server/modules/notifications/websocket/desktop-notifications-websocket.service.js.map +1 -0
  338. package/dist-server/server/modules/plugins/index.js +9 -0
  339. package/dist-server/server/modules/plugins/index.js.map +1 -0
  340. package/dist-server/server/modules/plugins/plugin-process.service.js +191 -0
  341. package/dist-server/server/modules/plugins/plugin-process.service.js.map +1 -0
  342. package/dist-server/server/modules/plugins/plugin-registry.service.js +415 -0
  343. package/dist-server/server/modules/plugins/plugin-registry.service.js.map +1 -0
  344. package/dist-server/server/modules/plugins/plugins.module.js +30 -0
  345. package/dist-server/server/modules/plugins/plugins.module.js.map +1 -0
  346. package/dist-server/server/modules/plugins/plugins.routes.js +70 -0
  347. package/dist-server/server/modules/plugins/plugins.routes.js.map +1 -0
  348. package/dist-server/server/modules/plugins/plugins.service.js +123 -0
  349. package/dist-server/server/modules/plugins/plugins.service.js.map +1 -0
  350. package/dist-server/server/modules/plugins/tests/plugins.service.test.js +28 -0
  351. package/dist-server/server/modules/plugins/tests/plugins.service.test.js.map +1 -0
  352. package/dist-server/server/modules/projects/index.js +9 -0
  353. package/dist-server/server/modules/projects/index.js.map +1 -0
  354. package/dist-server/server/modules/projects/projects.routes.js +205 -0
  355. package/dist-server/server/modules/projects/projects.routes.js.map +1 -0
  356. package/dist-server/server/modules/projects/services/project-clone.service.js +220 -0
  357. package/dist-server/server/modules/projects/services/project-clone.service.js.map +1 -0
  358. package/dist-server/server/modules/projects/services/project-delete.service.js +89 -0
  359. package/dist-server/server/modules/projects/services/project-delete.service.js.map +1 -0
  360. package/dist-server/server/modules/projects/services/project-management.service.js +90 -0
  361. package/dist-server/server/modules/projects/services/project-management.service.js.map +1 -0
  362. package/dist-server/server/modules/projects/services/project-star.service.js +60 -0
  363. package/dist-server/server/modules/projects/services/project-star.service.js.map +1 -0
  364. package/dist-server/server/modules/projects/services/projects-has-taskmaster.service.js +167 -0
  365. package/dist-server/server/modules/projects/services/projects-has-taskmaster.service.js.map +1 -0
  366. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +188 -0
  367. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js.map +1 -0
  368. package/dist-server/server/modules/projects/tests/project-clone.service.test.js +126 -0
  369. package/dist-server/server/modules/projects/tests/project-clone.service.test.js.map +1 -0
  370. package/dist-server/server/modules/projects/tests/project-management.service.test.js +85 -0
  371. package/dist-server/server/modules/projects/tests/project-management.service.test.js.map +1 -0
  372. package/dist-server/server/modules/projects/tests/project-star.service.test.js +95 -0
  373. package/dist-server/server/modules/projects/tests/project-star.service.test.js.map +1 -0
  374. package/dist-server/server/modules/projects/tests/projects-has-taskmaster.service.test.js +87 -0
  375. package/dist-server/server/modules/projects/tests/projects-has-taskmaster.service.test.js.map +1 -0
  376. package/dist-server/server/modules/providers/index.js +12 -0
  377. package/dist-server/server/modules/providers/index.js.map +1 -0
  378. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +151 -0
  379. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -0
  380. package/dist-server/server/modules/providers/list/claude/claude-fork.provider.js +46 -0
  381. package/dist-server/server/modules/providers/list/claude/claude-fork.provider.js.map +1 -0
  382. package/dist-server/server/modules/providers/list/claude/claude-mcp.provider.js +103 -0
  383. package/dist-server/server/modules/providers/list/claude/claude-mcp.provider.js.map +1 -0
  384. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +267 -0
  385. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -0
  386. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js +1058 -0
  387. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -0
  388. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +141 -0
  389. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -0
  390. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +924 -0
  391. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -0
  392. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js +205 -0
  393. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js.map +1 -0
  394. package/dist-server/server/modules/providers/list/claude/claude.provider.js +23 -0
  395. package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -0
  396. package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js +204 -0
  397. package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js.map +1 -0
  398. package/dist-server/server/modules/providers/list/codex/codex-auth.provider.js +84 -0
  399. package/dist-server/server/modules/providers/list/codex/codex-auth.provider.js.map +1 -0
  400. package/dist-server/server/modules/providers/list/codex/codex-fork.provider.js +32 -0
  401. package/dist-server/server/modules/providers/list/codex/codex-fork.provider.js.map +1 -0
  402. package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js +107 -0
  403. package/dist-server/server/modules/providers/list/codex/codex-mcp.provider.js.map +1 -0
  404. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +109 -0
  405. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -0
  406. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js +498 -0
  407. package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -0
  408. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +153 -0
  409. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -0
  410. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +1955 -0
  411. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -0
  412. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +62 -0
  413. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -0
  414. package/dist-server/server/modules/providers/list/codex/codex.provider.js +23 -0
  415. package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -0
  416. package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js +118 -0
  417. package/dist-server/server/modules/providers/list/cursor/cursor-auth.provider.js.map +1 -0
  418. package/dist-server/server/modules/providers/list/cursor/cursor-mcp.provider.js +80 -0
  419. package/dist-server/server/modules/providers/list/cursor/cursor-mcp.provider.js.map +1 -0
  420. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +100 -0
  421. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js.map +1 -0
  422. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js +305 -0
  423. package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js.map +1 -0
  424. package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js +111 -0
  425. package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js.map +1 -0
  426. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +566 -0
  427. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -0
  428. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js +35 -0
  429. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js.map +1 -0
  430. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +21 -0
  431. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -0
  432. package/dist-server/server/modules/providers/list/mistral/mistral-auth.provider.js +147 -0
  433. package/dist-server/server/modules/providers/list/mistral/mistral-auth.provider.js.map +1 -0
  434. package/dist-server/server/modules/providers/list/mistral/mistral-mcp.provider.js +15 -0
  435. package/dist-server/server/modules/providers/list/mistral/mistral-mcp.provider.js.map +1 -0
  436. package/dist-server/server/modules/providers/list/mistral/mistral-models.provider.js +69 -0
  437. package/dist-server/server/modules/providers/list/mistral/mistral-models.provider.js.map +1 -0
  438. package/dist-server/server/modules/providers/list/mistral/mistral-runtime.provider.js +326 -0
  439. package/dist-server/server/modules/providers/list/mistral/mistral-runtime.provider.js.map +1 -0
  440. package/dist-server/server/modules/providers/list/mistral/mistral-session-synchronizer.provider.js +12 -0
  441. package/dist-server/server/modules/providers/list/mistral/mistral-session-synchronizer.provider.js.map +1 -0
  442. package/dist-server/server/modules/providers/list/mistral/mistral-sessions.provider.js +180 -0
  443. package/dist-server/server/modules/providers/list/mistral/mistral-sessions.provider.js.map +1 -0
  444. package/dist-server/server/modules/providers/list/mistral/mistral-skills.provider.js +15 -0
  445. package/dist-server/server/modules/providers/list/mistral/mistral-skills.provider.js.map +1 -0
  446. package/dist-server/server/modules/providers/list/mistral/mistral.provider.js +25 -0
  447. package/dist-server/server/modules/providers/list/mistral/mistral.provider.js.map +1 -0
  448. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js +91 -0
  449. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js.map +1 -0
  450. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js +181 -0
  451. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js.map +1 -0
  452. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +257 -0
  453. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -0
  454. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js +368 -0
  455. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.js.map +1 -0
  456. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.test.js +225 -0
  457. package/dist-server/server/modules/providers/list/opencode/opencode-runtime.provider.test.js.map +1 -0
  458. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +136 -0
  459. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -0
  460. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +404 -0
  461. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -0
  462. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js +62 -0
  463. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js.map +1 -0
  464. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +21 -0
  465. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js.map +1 -0
  466. package/dist-server/server/modules/providers/provider.registry.js +33 -0
  467. package/dist-server/server/modules/providers/provider.registry.js.map +1 -0
  468. package/dist-server/server/modules/providers/provider.routes.js +676 -0
  469. package/dist-server/server/modules/providers/provider.routes.js.map +1 -0
  470. package/dist-server/server/modules/providers/services/mcp.service.js +84 -0
  471. package/dist-server/server/modules/providers/services/mcp.service.js.map +1 -0
  472. package/dist-server/server/modules/providers/services/provider-auth.service.js +25 -0
  473. package/dist-server/server/modules/providers/services/provider-auth.service.js.map +1 -0
  474. package/dist-server/server/modules/providers/services/provider-capabilities.service.js +94 -0
  475. package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -0
  476. package/dist-server/server/modules/providers/services/provider-models.service.js +289 -0
  477. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -0
  478. package/dist-server/server/modules/providers/services/provider-runtime.service.js +66 -0
  479. package/dist-server/server/modules/providers/services/provider-runtime.service.js.map +1 -0
  480. package/dist-server/server/modules/providers/services/provider-token-usage.service.js +372 -0
  481. package/dist-server/server/modules/providers/services/provider-token-usage.service.js.map +1 -0
  482. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +974 -0
  483. package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -0
  484. package/dist-server/server/modules/providers/services/session-history-cache.service.js +87 -0
  485. package/dist-server/server/modules/providers/services/session-history-cache.service.js.map +1 -0
  486. package/dist-server/server/modules/providers/services/session-synchronizer.service.js +130 -0
  487. package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -0
  488. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +214 -0
  489. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -0
  490. package/dist-server/server/modules/providers/services/sessions.service.js +519 -0
  491. package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -0
  492. package/dist-server/server/modules/providers/services/skills.service.js +22 -0
  493. package/dist-server/server/modules/providers/services/skills.service.js.map +1 -0
  494. package/dist-server/server/modules/providers/shared/base/abstract.provider.js +13 -0
  495. package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -0
  496. package/dist-server/server/modules/providers/shared/mcp/mcp.provider.js +102 -0
  497. package/dist-server/server/modules/providers/shared/mcp/mcp.provider.js.map +1 -0
  498. package/dist-server/server/modules/providers/shared/skills/skills.provider.js +207 -0
  499. package/dist-server/server/modules/providers/shared/skills/skills.provider.js.map +1 -0
  500. package/dist-server/server/modules/providers/tests/claude-auth.test.js +174 -0
  501. package/dist-server/server/modules/providers/tests/claude-auth.test.js.map +1 -0
  502. package/dist-server/server/modules/providers/tests/claude-sessions.test.js +470 -0
  503. package/dist-server/server/modules/providers/tests/claude-sessions.test.js.map +1 -0
  504. package/dist-server/server/modules/providers/tests/claude-subagent-echo.test.js +16 -0
  505. package/dist-server/server/modules/providers/tests/claude-subagent-echo.test.js.map +1 -0
  506. package/dist-server/server/modules/providers/tests/claude-token-budget.test.js +85 -0
  507. package/dist-server/server/modules/providers/tests/claude-token-budget.test.js.map +1 -0
  508. package/dist-server/server/modules/providers/tests/codex-message-editing.test.js +338 -0
  509. package/dist-server/server/modules/providers/tests/codex-message-editing.test.js.map +1 -0
  510. package/dist-server/server/modules/providers/tests/codex-session-fork.test.js +54 -0
  511. package/dist-server/server/modules/providers/tests/codex-session-fork.test.js.map +1 -0
  512. package/dist-server/server/modules/providers/tests/codex-sessions.test.js +491 -0
  513. package/dist-server/server/modules/providers/tests/codex-sessions.test.js.map +1 -0
  514. package/dist-server/server/modules/providers/tests/mcp.test.js +291 -0
  515. package/dist-server/server/modules/providers/tests/mcp.test.js.map +1 -0
  516. package/dist-server/server/modules/providers/tests/opencode-models.test.js +103 -0
  517. package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -0
  518. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +424 -0
  519. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -0
  520. package/dist-server/server/modules/providers/tests/provider-attachment-history.test.js +205 -0
  521. package/dist-server/server/modules/providers/tests/provider-attachment-history.test.js.map +1 -0
  522. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +268 -0
  523. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -0
  524. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js +126 -0
  525. package/dist-server/server/modules/providers/tests/provider-runtime.service.test.js.map +1 -0
  526. package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js +329 -0
  527. package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js.map +1 -0
  528. package/dist-server/server/modules/providers/tests/provider.routes.test.js +161 -0
  529. package/dist-server/server/modules/providers/tests/provider.routes.test.js.map +1 -0
  530. package/dist-server/server/modules/providers/tests/session-fork.test.js +113 -0
  531. package/dist-server/server/modules/providers/tests/session-fork.test.js.map +1 -0
  532. package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js +120 -0
  533. package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js.map +1 -0
  534. package/dist-server/server/modules/providers/tests/session-orphan-prune.test.js +90 -0
  535. package/dist-server/server/modules/providers/tests/session-orphan-prune.test.js.map +1 -0
  536. package/dist-server/server/modules/providers/tests/session-synchronizer-coalescing.test.js +122 -0
  537. package/dist-server/server/modules/providers/tests/session-synchronizer-coalescing.test.js.map +1 -0
  538. package/dist-server/server/modules/providers/tests/sessions-details.test.js +62 -0
  539. package/dist-server/server/modules/providers/tests/sessions-details.test.js.map +1 -0
  540. package/dist-server/server/modules/providers/tests/sessions.service.test.js +131 -0
  541. package/dist-server/server/modules/providers/tests/sessions.service.test.js.map +1 -0
  542. package/dist-server/server/modules/providers/tests/skills.test.js +398 -0
  543. package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -0
  544. package/dist-server/server/modules/scheduled-messages/index.js +5 -0
  545. package/dist-server/server/modules/scheduled-messages/index.js.map +1 -0
  546. package/dist-server/server/modules/scheduled-messages/scheduled-messages.routes.js +47 -0
  547. package/dist-server/server/modules/scheduled-messages/scheduled-messages.routes.js.map +1 -0
  548. package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js +163 -0
  549. package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js.map +1 -0
  550. package/dist-server/server/modules/scheduled-messages/services/scheduled-messages.service.js +95 -0
  551. package/dist-server/server/modules/scheduled-messages/services/scheduled-messages.service.js.map +1 -0
  552. package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js +255 -0
  553. package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js.map +1 -0
  554. package/dist-server/server/modules/settings/index.js +3 -0
  555. package/dist-server/server/modules/settings/index.js.map +1 -0
  556. package/dist-server/server/modules/settings/settings.module.js +35 -0
  557. package/dist-server/server/modules/settings/settings.module.js.map +1 -0
  558. package/dist-server/server/modules/settings/settings.routes.js +34 -0
  559. package/dist-server/server/modules/settings/settings.routes.js.map +1 -0
  560. package/dist-server/server/modules/settings/settings.service.js +116 -0
  561. package/dist-server/server/modules/settings/settings.service.js.map +1 -0
  562. package/dist-server/server/modules/settings/tests/settings.service.test.js +48 -0
  563. package/dist-server/server/modules/settings/tests/settings.service.test.js.map +1 -0
  564. package/dist-server/server/modules/system/index.js +3 -0
  565. package/dist-server/server/modules/system/index.js.map +1 -0
  566. package/dist-server/server/modules/system/system.module.js +44 -0
  567. package/dist-server/server/modules/system/system.module.js.map +1 -0
  568. package/dist-server/server/modules/system/system.routes.js +16 -0
  569. package/dist-server/server/modules/system/system.routes.js.map +1 -0
  570. package/dist-server/server/modules/system/system.service.js +45 -0
  571. package/dist-server/server/modules/system/system.service.js.map +1 -0
  572. package/dist-server/server/modules/system/tests/system.service.test.js +100 -0
  573. package/dist-server/server/modules/system/tests/system.service.test.js.map +1 -0
  574. package/dist-server/server/modules/taskmaster/index.js +3 -0
  575. package/dist-server/server/modules/taskmaster/index.js.map +1 -0
  576. package/dist-server/server/modules/taskmaster/taskmaster.module.js +20 -0
  577. package/dist-server/server/modules/taskmaster/taskmaster.module.js.map +1 -0
  578. package/dist-server/server/modules/taskmaster/taskmaster.routes.js +1372 -0
  579. package/dist-server/server/modules/taskmaster/taskmaster.routes.js.map +1 -0
  580. package/dist-server/server/modules/taskmaster/taskmaster.service.js +107 -0
  581. package/dist-server/server/modules/taskmaster/taskmaster.service.js.map +1 -0
  582. package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js +180 -0
  583. package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js.map +1 -0
  584. package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js +85 -0
  585. package/dist-server/server/modules/taskmaster/tests/taskmaster.service.test.js.map +1 -0
  586. package/dist-server/server/modules/user/index.js +3 -0
  587. package/dist-server/server/modules/user/index.js.map +1 -0
  588. package/dist-server/server/modules/user/tests/user.service.test.js +123 -0
  589. package/dist-server/server/modules/user/tests/user.service.test.js.map +1 -0
  590. package/dist-server/server/modules/user/user.module.js +56 -0
  591. package/dist-server/server/modules/user/user.module.js.map +1 -0
  592. package/dist-server/server/modules/user/user.routes.js +88 -0
  593. package/dist-server/server/modules/user/user.routes.js.map +1 -0
  594. package/dist-server/server/modules/user/user.service.js +134 -0
  595. package/dist-server/server/modules/user/user.service.js.map +1 -0
  596. package/dist-server/server/modules/voice/index.js +3 -0
  597. package/dist-server/server/modules/voice/index.js.map +1 -0
  598. package/dist-server/server/modules/voice/tests/voice.service.test.js +87 -0
  599. package/dist-server/server/modules/voice/tests/voice.service.test.js.map +1 -0
  600. package/dist-server/server/modules/voice/voice.module.js +44 -0
  601. package/dist-server/server/modules/voice/voice.module.js.map +1 -0
  602. package/dist-server/server/modules/voice/voice.routes.js +87 -0
  603. package/dist-server/server/modules/voice/voice.routes.js.map +1 -0
  604. package/dist-server/server/modules/voice/voice.service.js +148 -0
  605. package/dist-server/server/modules/voice/voice.service.js.map +1 -0
  606. package/dist-server/server/modules/websocket/index.js +11 -0
  607. package/dist-server/server/modules/websocket/index.js.map +1 -0
  608. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js +232 -0
  609. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js.map +1 -0
  610. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +135 -0
  611. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js.map +1 -0
  612. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +467 -0
  613. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -0
  614. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js +52 -0
  615. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js.map +1 -0
  616. package/dist-server/server/modules/websocket/services/session-upsert-broadcast.service.js +94 -0
  617. package/dist-server/server/modules/websocket/services/session-upsert-broadcast.service.js.map +1 -0
  618. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +472 -0
  619. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -0
  620. package/dist-server/server/modules/websocket/services/websocket-auth.service.js +36 -0
  621. package/dist-server/server/modules/websocket/services/websocket-auth.service.js.map +1 -0
  622. package/dist-server/server/modules/websocket/services/websocket-server.service.js +90 -0
  623. package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -0
  624. package/dist-server/server/modules/websocket/services/websocket-state.service.js +14 -0
  625. package/dist-server/server/modules/websocket/services/websocket-state.service.js.map +1 -0
  626. package/dist-server/server/modules/websocket/services/websocket-writer.service.js +32 -0
  627. package/dist-server/server/modules/websocket/services/websocket-writer.service.js.map +1 -0
  628. package/dist-server/server/modules/websocket/tests/chat-attachment-filter.test.js +40 -0
  629. package/dist-server/server/modules/websocket/tests/chat-attachment-filter.test.js.map +1 -0
  630. package/dist-server/server/modules/websocket/tests/chat-edit-send.test.js +263 -0
  631. package/dist-server/server/modules/websocket/tests/chat-edit-send.test.js.map +1 -0
  632. package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js +275 -0
  633. package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js.map +1 -0
  634. package/dist-server/server/modules/websocket/tests/session-upsert-broadcast.test.js +106 -0
  635. package/dist-server/server/modules/websocket/tests/session-upsert-broadcast.test.js.map +1 -0
  636. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +177 -0
  637. package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js.map +1 -0
  638. package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js +61 -0
  639. package/dist-server/server/modules/websocket/tests/websocket-heartbeat.service.test.js.map +1 -0
  640. package/dist-server/server/modules/worktrees/index.js +3 -0
  641. package/dist-server/server/modules/worktrees/index.js.map +1 -0
  642. package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js +37 -0
  643. package/dist-server/server/modules/worktrees/services/worktree-create-and-open.service.js.map +1 -0
  644. package/dist-server/server/modules/worktrees/services/worktree-create.service.js +67 -0
  645. package/dist-server/server/modules/worktrees/services/worktree-create.service.js.map +1 -0
  646. package/dist-server/server/modules/worktrees/services/worktree-git.service.js +172 -0
  647. package/dist-server/server/modules/worktrees/services/worktree-git.service.js.map +1 -0
  648. package/dist-server/server/modules/worktrees/services/worktree-list.service.js +91 -0
  649. package/dist-server/server/modules/worktrees/services/worktree-list.service.js.map +1 -0
  650. package/dist-server/server/modules/worktrees/services/worktree-merge.service.js +118 -0
  651. package/dist-server/server/modules/worktrees/services/worktree-merge.service.js.map +1 -0
  652. package/dist-server/server/modules/worktrees/services/worktree-open.service.js +58 -0
  653. package/dist-server/server/modules/worktrees/services/worktree-open.service.js.map +1 -0
  654. package/dist-server/server/modules/worktrees/services/worktree-remove.service.js +65 -0
  655. package/dist-server/server/modules/worktrees/services/worktree-remove.service.js.map +1 -0
  656. package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js +58 -0
  657. package/dist-server/server/modules/worktrees/tests/worktree-create-and-open.service.test.js.map +1 -0
  658. package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js +85 -0
  659. package/dist-server/server/modules/worktrees/tests/worktree-create.service.test.js.map +1 -0
  660. package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js +58 -0
  661. package/dist-server/server/modules/worktrees/tests/worktree-git.service.test.js.map +1 -0
  662. package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js +34 -0
  663. package/dist-server/server/modules/worktrees/tests/worktree-list.service.test.js.map +1 -0
  664. package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js +137 -0
  665. package/dist-server/server/modules/worktrees/tests/worktree-merge.service.test.js.map +1 -0
  666. package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js +99 -0
  667. package/dist-server/server/modules/worktrees/tests/worktree-open.service.test.js.map +1 -0
  668. package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js +157 -0
  669. package/dist-server/server/modules/worktrees/tests/worktree-remove.service.test.js.map +1 -0
  670. package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js +167 -0
  671. package/dist-server/server/modules/worktrees/tests/worktrees.routes.test.js.map +1 -0
  672. package/dist-server/server/modules/worktrees/worktrees.module.js +97 -0
  673. package/dist-server/server/modules/worktrees/worktrees.module.js.map +1 -0
  674. package/dist-server/server/modules/worktrees/worktrees.routes.js +84 -0
  675. package/dist-server/server/modules/worktrees/worktrees.routes.js.map +1 -0
  676. package/dist-server/server/piecemaker/activation/claude-mcp.cjs +109 -0
  677. package/dist-server/server/piecemaker/activation/claude-mcp.cjs.map +1 -0
  678. package/dist-server/server/piecemaker/activation/claude-plugins.cjs +60 -0
  679. package/dist-server/server/piecemaker/activation/claude-plugins.cjs.map +1 -0
  680. package/dist-server/server/piecemaker/activation/codex-mcp.cjs +93 -0
  681. package/dist-server/server/piecemaker/activation/codex-mcp.cjs.map +1 -0
  682. package/dist-server/server/piecemaker/activation/errors.cjs +14 -0
  683. package/dist-server/server/piecemaker/activation/errors.cjs.map +1 -0
  684. package/dist-server/server/piecemaker/activation/library.cjs +281 -0
  685. package/dist-server/server/piecemaker/activation/library.cjs.map +1 -0
  686. package/dist-server/server/piecemaker/activation/library.test.js +281 -0
  687. package/dist-server/server/piecemaker/activation/library.test.js.map +1 -0
  688. package/dist-server/server/piecemaker/activation/markdown.cjs +103 -0
  689. package/dist-server/server/piecemaker/activation/markdown.cjs.map +1 -0
  690. package/dist-server/server/piecemaker/activation/paths.cjs +103 -0
  691. package/dist-server/server/piecemaker/activation/paths.cjs.map +1 -0
  692. package/dist-server/server/piecemaker/activation/paths.test.js +91 -0
  693. package/dist-server/server/piecemaker/activation/paths.test.js.map +1 -0
  694. package/dist-server/server/piecemaker/activation/routes.cjs +100 -0
  695. package/dist-server/server/piecemaker/activation/routes.cjs.map +1 -0
  696. package/dist-server/server/piecemaker/activation/routes.test.js +307 -0
  697. package/dist-server/server/piecemaker/activation/routes.test.js.map +1 -0
  698. package/dist-server/server/piecemaker/activation/snapshot.cjs +28 -0
  699. package/dist-server/server/piecemaker/activation/snapshot.cjs.map +1 -0
  700. package/dist-server/server/piecemaker/anonymizer/anonymizer.test.js +282 -0
  701. package/dist-server/server/piecemaker/anonymizer/anonymizer.test.js.map +1 -0
  702. package/dist-server/server/piecemaker/anonymizer/client-config.cjs +224 -0
  703. package/dist-server/server/piecemaker/anonymizer/client-config.cjs.map +1 -0
  704. package/dist-server/server/piecemaker/anonymizer/codex-http.test.js +19 -0
  705. package/dist-server/server/piecemaker/anonymizer/codex-http.test.js.map +1 -0
  706. package/dist-server/server/piecemaker/anonymizer/dictionary.cjs +163 -0
  707. package/dist-server/server/piecemaker/anonymizer/dictionary.cjs.map +1 -0
  708. package/dist-server/server/piecemaker/anonymizer/lifecycle.js +20 -0
  709. package/dist-server/server/piecemaker/anonymizer/lifecycle.js.map +1 -0
  710. package/dist-server/server/piecemaker/anonymizer/lifecycle.test.js +35 -0
  711. package/dist-server/server/piecemaker/anonymizer/lifecycle.test.js.map +1 -0
  712. package/dist-server/server/piecemaker/anonymizer/providers.cjs +236 -0
  713. package/dist-server/server/piecemaker/anonymizer/providers.cjs.map +1 -0
  714. package/dist-server/server/piecemaker/anonymizer/proxy.cjs +338 -0
  715. package/dist-server/server/piecemaker/anonymizer/proxy.cjs.map +1 -0
  716. package/dist-server/server/piecemaker/anonymizer/rewrite.cjs +249 -0
  717. package/dist-server/server/piecemaker/anonymizer/rewrite.cjs.map +1 -0
  718. package/dist-server/server/piecemaker/anonymizer/service.cjs +217 -0
  719. package/dist-server/server/piecemaker/anonymizer/service.cjs.map +1 -0
  720. package/dist-server/server/piecemaker/harness/chat-harness.js +157 -0
  721. package/dist-server/server/piecemaker/harness/chat-harness.js.map +1 -0
  722. package/dist-server/server/piecemaker/harness/chat-harness.test.js +120 -0
  723. package/dist-server/server/piecemaker/harness/chat-harness.test.js.map +1 -0
  724. package/dist-server/server/piecemaker/harness/citation-instructions.js +17 -0
  725. package/dist-server/server/piecemaker/harness/citation-instructions.js.map +1 -0
  726. package/dist-server/server/piecemaker/harness/citation-store.js +72 -0
  727. package/dist-server/server/piecemaker/harness/citation-store.js.map +1 -0
  728. package/dist-server/server/piecemaker/harness/citation-turn.js +211 -0
  729. package/dist-server/server/piecemaker/harness/citation-turn.js.map +1 -0
  730. package/dist-server/server/piecemaker/harness/citation-turn.test.js +144 -0
  731. package/dist-server/server/piecemaker/harness/citation-turn.test.js.map +1 -0
  732. package/dist-server/server/piecemaker/harness/citations.routes.js +16 -0
  733. package/dist-server/server/piecemaker/harness/citations.routes.js.map +1 -0
  734. package/dist-server/server/piecemaker/harness/citations.routes.test.js +68 -0
  735. package/dist-server/server/piecemaker/harness/citations.routes.test.js.map +1 -0
  736. package/dist-server/server/piecemaker/harness/decisions.cjs +298 -0
  737. package/dist-server/server/piecemaker/harness/decisions.cjs.map +1 -0
  738. package/dist-server/server/piecemaker/harness/flux-sse.cjs +108 -0
  739. package/dist-server/server/piecemaker/harness/flux-sse.cjs.map +1 -0
  740. package/dist-server/server/piecemaker/harness/harness.test.js +259 -0
  741. package/dist-server/server/piecemaker/harness/harness.test.js.map +1 -0
  742. package/dist-server/server/piecemaker/harness/index.cjs +100 -0
  743. package/dist-server/server/piecemaker/harness/index.cjs.map +1 -0
  744. package/dist-server/server/piecemaker/harness/proxy-harness.test.js +199 -0
  745. package/dist-server/server/piecemaker/harness/proxy-harness.test.js.map +1 -0
  746. package/dist-server/server/piecemaker/harness/source-passages.js +19 -0
  747. package/dist-server/server/piecemaker/harness/source-passages.js.map +1 -0
  748. package/dist-server/server/piecemaker/harness/verification.cjs +152 -0
  749. package/dist-server/server/piecemaker/harness/verification.cjs.map +1 -0
  750. package/dist-server/server/piecemaker/index.js +46 -0
  751. package/dist-server/server/piecemaker/index.js.map +1 -0
  752. package/dist-server/server/piecemaker/library/index.js +66 -0
  753. package/dist-server/server/piecemaker/library/index.js.map +1 -0
  754. package/dist-server/server/piecemaker/library/marketplace.js +204 -0
  755. package/dist-server/server/piecemaker/library/marketplace.js.map +1 -0
  756. package/dist-server/server/piecemaker/library/migrate-cli.js +13 -0
  757. package/dist-server/server/piecemaker/library/migrate-cli.js.map +1 -0
  758. package/dist-server/server/piecemaker/library/migrate.js +53 -0
  759. package/dist-server/server/piecemaker/library/migrate.js.map +1 -0
  760. package/dist-server/server/piecemaker/library/provider-skills.js +40 -0
  761. package/dist-server/server/piecemaker/library/provider-skills.js.map +1 -0
  762. package/dist-server/server/piecemaker/library/provider-skills.test.js +55 -0
  763. package/dist-server/server/piecemaker/library/provider-skills.test.js.map +1 -0
  764. package/dist-server/server/piecemaker/library/routes.js +56 -0
  765. package/dist-server/server/piecemaker/library/routes.js.map +1 -0
  766. package/dist-server/server/piecemaker/library/runtime.js +34 -0
  767. package/dist-server/server/piecemaker/library/runtime.js.map +1 -0
  768. package/dist-server/server/piecemaker/library/store.js +440 -0
  769. package/dist-server/server/piecemaker/library/store.js.map +1 -0
  770. package/dist-server/server/piecemaker/library/store.test.js +265 -0
  771. package/dist-server/server/piecemaker/library/store.test.js.map +1 -0
  772. package/dist-server/server/piecemaker/library/workspace-installation.js +70 -0
  773. package/dist-server/server/piecemaker/library/workspace-installation.js.map +1 -0
  774. package/dist-server/server/piecemaker/originals-cache.cjs +45 -0
  775. package/dist-server/server/piecemaker/originals-cache.cjs.map +1 -0
  776. package/dist-server/server/piecemaker/originals-cache.test.js +68 -0
  777. package/dist-server/server/piecemaker/originals-cache.test.js.map +1 -0
  778. package/dist-server/server/piecemaker/protection/bypass.cjs +66 -0
  779. package/dist-server/server/piecemaker/protection/bypass.cjs.map +1 -0
  780. package/dist-server/server/piecemaker/protection/bypass.test.js +117 -0
  781. package/dist-server/server/piecemaker/protection/bypass.test.js.map +1 -0
  782. package/dist-server/server/piecemaker/protection/routes.cjs +38 -0
  783. package/dist-server/server/piecemaker/protection/routes.cjs.map +1 -0
  784. package/dist-server/server/piecemaker/timesheet/index.js +9 -0
  785. package/dist-server/server/piecemaker/timesheet/index.js.map +1 -0
  786. package/dist-server/server/piecemaker/timesheet/routes.js +42 -0
  787. package/dist-server/server/piecemaker/timesheet/routes.js.map +1 -0
  788. package/dist-server/server/piecemaker/timesheet/service.js +241 -0
  789. package/dist-server/server/piecemaker/timesheet/service.js.map +1 -0
  790. package/dist-server/server/piecemaker/timesheet/service.test.js +124 -0
  791. package/dist-server/server/piecemaker/timesheet/service.test.js.map +1 -0
  792. package/dist-server/server/piecemaker/timesheet/store.js +126 -0
  793. package/dist-server/server/piecemaker/timesheet/store.js.map +1 -0
  794. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/anonymization-state.cjs +147 -0
  795. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/anonymization-state.cjs.map +1 -0
  796. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folder-structure.cjs +285 -0
  797. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folder-structure.cjs.map +1 -0
  798. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folders.cjs +87 -0
  799. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folders.cjs.map +1 -0
  800. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/central-mapping.cjs +0 -0
  801. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/central-mapping.cjs.map +1 -0
  802. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citation-sources.cjs +526 -0
  803. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citation-sources.cjs.map +1 -0
  804. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citations.cjs +304 -0
  805. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citations.cjs.map +1 -0
  806. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/commits.cjs +1660 -0
  807. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/commits.cjs.map +1 -0
  808. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/institutional-terms.cjs +152 -0
  809. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/institutional-terms.cjs.map +1 -0
  810. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/legifrance-reads.cjs +84 -0
  811. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/legifrance-reads.cjs.map +1 -0
  812. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.cjs +332 -0
  813. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.cjs.map +1 -0
  814. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.test.js +64 -0
  815. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.test.js.map +1 -0
  816. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/protection.cjs +420 -0
  817. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/protection.cjs.map +1 -0
  818. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/session-timing.cjs +91 -0
  819. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/session-timing.cjs.map +1 -0
  820. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/substitution.cjs +304 -0
  821. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/substitution.cjs.map +1 -0
  822. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/verify-citations.cjs +293 -0
  823. package/dist-server/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/verify-citations.cjs.map +1 -0
  824. package/dist-server/server/piecemaker/vendor/websocket-server/case-folder-structure.cjs +5 -0
  825. package/dist-server/server/piecemaker/vendor/websocket-server/case-folder-structure.cjs.map +1 -0
  826. package/dist-server/server/piecemaker/vendor/websocket-server/legal-forms.cjs +91 -0
  827. package/dist-server/server/piecemaker/vendor/websocket-server/legal-forms.cjs.map +1 -0
  828. package/dist-server/server/piecemaker/vendor/websocket-server/legal-forms.test.js +11 -0
  829. package/dist-server/server/piecemaker/vendor/websocket-server/legal-forms.test.js.map +1 -0
  830. package/dist-server/server/piecemaker/vendor/websocket-server/originals-pipeline.cjs +955 -0
  831. package/dist-server/server/piecemaker/vendor/websocket-server/originals-pipeline.cjs.map +1 -0
  832. package/dist-server/server/shared/claude-cli-path.js +120 -0
  833. package/dist-server/server/shared/claude-cli-path.js.map +1 -0
  834. package/dist-server/server/shared/frontmatter.js +16 -0
  835. package/dist-server/server/shared/frontmatter.js.map +1 -0
  836. package/dist-server/server/shared/image-attachments.js +344 -0
  837. package/dist-server/server/shared/image-attachments.js.map +1 -0
  838. package/dist-server/server/shared/interfaces.js +2 -0
  839. package/dist-server/server/shared/interfaces.js.map +1 -0
  840. package/dist-server/server/shared/message-unification.js +376 -0
  841. package/dist-server/server/shared/message-unification.js.map +1 -0
  842. package/dist-server/server/shared/tests/application-data-root.test.js +33 -0
  843. package/dist-server/server/shared/tests/application-data-root.test.js.map +1 -0
  844. package/dist-server/server/shared/tests/claude-cli-path.test.js +89 -0
  845. package/dist-server/server/shared/tests/claude-cli-path.test.js.map +1 -0
  846. package/dist-server/server/shared/tests/image-attachments.test.js +262 -0
  847. package/dist-server/server/shared/tests/image-attachments.test.js.map +1 -0
  848. package/dist-server/server/shared/tests/message-unification.test.js +174 -0
  849. package/dist-server/server/shared/tests/message-unification.test.js.map +1 -0
  850. package/dist-server/server/shared/tests/slice-tail-page.test.js +35 -0
  851. package/dist-server/server/shared/tests/slice-tail-page.test.js.map +1 -0
  852. package/dist-server/server/shared/types.js +2 -0
  853. package/dist-server/server/shared/types.js.map +1 -0
  854. package/dist-server/server/shared/utils.js +1010 -0
  855. package/dist-server/server/shared/utils.js.map +1 -0
  856. package/dist-server/shared/networkHosts.js +20 -0
  857. package/dist-server/shared/networkHosts.js.map +1 -0
  858. package/dist-server/shared/product-config.mjs +79 -0
  859. package/dist-server/shared/product-config.mjs.map +1 -0
  860. package/package.json +271 -0
  861. package/product.config.json +17 -0
  862. package/public/api-docs.html +901 -0
  863. package/scripts/fix-node-pty.js +67 -0
  864. package/scripts/piecemaker/cli/install-command.mjs +130 -0
  865. package/scripts/piecemaker/cli/lib/composants.mjs +68 -0
  866. package/scripts/piecemaker/cli/lib/config.mjs +32 -0
  867. package/scripts/piecemaker/cli/lib/exec.mjs +79 -0
  868. package/scripts/piecemaker/cli/lib/node-runtime.mjs +76 -0
  869. package/scripts/piecemaker/cli/lib/ports.mjs +96 -0
  870. package/scripts/piecemaker/cli/lib/pwa.mjs +323 -0
  871. package/scripts/piecemaker/cli/lib/repos.mjs +140 -0
  872. package/scripts/piecemaker/cli/lib/services.mjs +71 -0
  873. package/scripts/piecemaker/cli/lib/ui.mjs +41 -0
  874. package/scripts/piecemaker/cli/piecemaker.mjs +159 -0
  875. package/scripts/piecemaker/cli/piecemaker.ps1 +63 -0
  876. package/scripts/piecemaker/cli/piecemaker.sh +60 -0
  877. package/scripts/piecemaker/generate-i18n-overrides.mjs +219 -0
  878. package/scripts/piecemaker/hooks/proxy-guard.mjs +286 -0
  879. package/scripts/promote-dist-server.mjs +50 -0
  880. package/scripts/release/build-server-bundle.js +178 -0
  881. package/scripts/release/package-piecemaker.sh +73 -0
  882. package/scripts/release/prepare-desktop-app.js +168 -0
  883. package/server/index.ts +410 -0
  884. package/server/load-env.ts +48 -0
  885. package/server/modules/agent/agent.module.ts +52 -0
  886. package/server/modules/agent/agent.routes.ts +1287 -0
  887. package/server/modules/agent/index.ts +2 -0
  888. package/server/modules/agent/tests/agent.routes.test.ts +205 -0
  889. package/server/modules/assets/assets.routes.ts +150 -0
  890. package/server/modules/assets/index.ts +3 -0
  891. package/server/modules/assets/services/image-assets.service.ts +127 -0
  892. package/server/modules/assets/tests/image-assets.service.test.ts +74 -0
  893. package/server/modules/auth/auth.middleware.ts +163 -0
  894. package/server/modules/auth/auth.module.ts +38 -0
  895. package/server/modules/auth/auth.routes.ts +57 -0
  896. package/server/modules/auth/auth.service.ts +155 -0
  897. package/server/modules/auth/index.ts +9 -0
  898. package/server/modules/auth/tests/auth.service.test.ts +95 -0
  899. package/server/modules/browser-use/browser-use-mcp.routes.ts +120 -0
  900. package/server/modules/browser-use/browser-use-mcp.ts +386 -0
  901. package/server/modules/browser-use/browser-use-runtime.ts +10 -0
  902. package/server/modules/browser-use/browser-use.routes.ts +96 -0
  903. package/server/modules/browser-use/browser-use.service.ts +835 -0
  904. package/server/modules/browser-use/index.ts +11 -0
  905. package/server/modules/browser-use/tests/browser-use.service.test.ts +10 -0
  906. package/server/modules/cli/cli.module.ts +110 -0
  907. package/server/modules/cli/cli.service.ts +266 -0
  908. package/server/modules/cli/cli.ts +19 -0
  909. package/server/modules/cli/index.ts +2 -0
  910. package/server/modules/cli/pwa-launcher.ts +131 -0
  911. package/server/modules/cli/sandbox.service.ts +413 -0
  912. package/server/modules/cli/tests/cli-environment-bootstrap.test.ts +186 -0
  913. package/server/modules/cli/tests/cli.service.test.ts +107 -0
  914. package/server/modules/cli/tests/sandbox.service.test.ts +61 -0
  915. package/server/modules/commands/commands.module.ts +22 -0
  916. package/server/modules/commands/commands.routes.ts +605 -0
  917. package/server/modules/commands/index.ts +2 -0
  918. package/server/modules/commands/tests/commands.test.ts +114 -0
  919. package/server/modules/database/connection.ts +144 -0
  920. package/server/modules/database/index.ts +27 -0
  921. package/server/modules/database/init-db.ts +17 -0
  922. package/server/modules/database/migrations.ts +552 -0
  923. package/server/modules/database/repositories/api-keys.ts +119 -0
  924. package/server/modules/database/repositories/app-config.ts +53 -0
  925. package/server/modules/database/repositories/credentials.ts +106 -0
  926. package/server/modules/database/repositories/github-tokens.ts +100 -0
  927. package/server/modules/database/repositories/notification-channel-endpoints.ts +153 -0
  928. package/server/modules/database/repositories/notification-preferences.ts +117 -0
  929. package/server/modules/database/repositories/projects.db.ts +196 -0
  930. package/server/modules/database/repositories/provider-models.ts +168 -0
  931. package/server/modules/database/repositories/push-subscriptions.ts +80 -0
  932. package/server/modules/database/repositories/scan-state.db.ts +42 -0
  933. package/server/modules/database/repositories/scheduled-messages.db.ts +127 -0
  934. package/server/modules/database/repositories/session-drafts.db.ts +171 -0
  935. package/server/modules/database/repositories/sessions.db.ts +714 -0
  936. package/server/modules/database/repositories/user-preferences.db.ts +80 -0
  937. package/server/modules/database/repositories/users.ts +140 -0
  938. package/server/modules/database/repositories/vapid-keys.ts +57 -0
  939. package/server/modules/database/schema.ts +306 -0
  940. package/server/modules/database/tests/projects.db.integration.test.ts +72 -0
  941. package/server/modules/database/tests/provider-models.db.integration.test.ts +125 -0
  942. package/server/modules/database/tests/sessions-provider-mapping.test.ts +109 -0
  943. package/server/modules/database/tests/sessions.db.integration.test.ts +116 -0
  944. package/server/modules/database/tests/user-preferences.db.integration.test.ts +135 -0
  945. package/server/modules/file-tree/file-tree.module.ts +116 -0
  946. package/server/modules/file-tree/file-tree.routes.ts +258 -0
  947. package/server/modules/file-tree/file-tree.service.ts +675 -0
  948. package/server/modules/file-tree/index.ts +2 -0
  949. package/server/modules/file-tree/tests/file-tree.routes.test.ts +157 -0
  950. package/server/modules/file-tree/tests/file-tree.service.test.ts +371 -0
  951. package/server/modules/git/git-branch.service.ts +43 -0
  952. package/server/modules/git/git-parsing.service.ts +66 -0
  953. package/server/modules/git/git.module.ts +22 -0
  954. package/server/modules/git/git.routes.ts +1600 -0
  955. package/server/modules/git/index.ts +2 -0
  956. package/server/modules/git/tests/git-branch.service.test.ts +60 -0
  957. package/server/modules/git/tests/git-init.routes.test.ts +135 -0
  958. package/server/modules/git/tests/git.test.ts +106 -0
  959. package/server/modules/notifications/index.ts +24 -0
  960. package/server/modules/notifications/notifications.routes.ts +127 -0
  961. package/server/modules/notifications/services/desktop-notification-clients.service.ts +124 -0
  962. package/server/modules/notifications/services/notification-orchestrator.service.js +310 -0
  963. package/server/modules/notifications/tests/notification-orchestrator.integration.test.ts +55 -0
  964. package/server/modules/notifications/vapid-keys.service.ts +38 -0
  965. package/server/modules/notifications/websocket/desktop-notifications-websocket.service.ts +109 -0
  966. package/server/modules/plugins/index.ts +9 -0
  967. package/server/modules/plugins/plugin-process.service.ts +217 -0
  968. package/server/modules/plugins/plugin-registry.service.ts +461 -0
  969. package/server/modules/plugins/plugins.module.ts +33 -0
  970. package/server/modules/plugins/plugins.routes.ts +66 -0
  971. package/server/modules/plugins/plugins.service.ts +147 -0
  972. package/server/modules/plugins/tests/plugins.service.test.ts +32 -0
  973. package/server/modules/projects/index.ts +11 -0
  974. package/server/modules/projects/projects.routes.ts +273 -0
  975. package/server/modules/projects/services/project-clone.service.ts +323 -0
  976. package/server/modules/projects/services/project-delete.service.ts +102 -0
  977. package/server/modules/projects/services/project-management.service.ts +144 -0
  978. package/server/modules/projects/services/project-star.service.ts +78 -0
  979. package/server/modules/projects/services/projects-has-taskmaster.service.ts +248 -0
  980. package/server/modules/projects/services/projects-with-sessions-fetch.service.ts +314 -0
  981. package/server/modules/projects/tests/project-clone.service.test.ts +183 -0
  982. package/server/modules/projects/tests/project-management.service.test.ts +117 -0
  983. package/server/modules/projects/tests/project-star.service.test.ts +123 -0
  984. package/server/modules/projects/tests/projects-has-taskmaster.service.test.ts +105 -0
  985. package/server/modules/providers/README.md +380 -0
  986. package/server/modules/providers/index.ts +14 -0
  987. package/server/modules/providers/list/claude/claude-auth.provider.ts +180 -0
  988. package/server/modules/providers/list/claude/claude-fork.provider.ts +57 -0
  989. package/server/modules/providers/list/claude/claude-mcp.provider.ts +135 -0
  990. package/server/modules/providers/list/claude/claude-models.provider.ts +314 -0
  991. package/server/modules/providers/list/claude/claude-runtime.provider.js +1217 -0
  992. package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +203 -0
  993. package/server/modules/providers/list/claude/claude-sessions.provider.ts +1108 -0
  994. package/server/modules/providers/list/claude/claude-skills.provider.ts +265 -0
  995. package/server/modules/providers/list/claude/claude.provider.ts +33 -0
  996. package/server/modules/providers/list/codex/codex-app-server.client.ts +243 -0
  997. package/server/modules/providers/list/codex/codex-auth.provider.ts +100 -0
  998. package/server/modules/providers/list/codex/codex-fork.provider.ts +40 -0
  999. package/server/modules/providers/list/codex/codex-mcp.provider.ts +135 -0
  1000. package/server/modules/providers/list/codex/codex-models.provider.ts +123 -0
  1001. package/server/modules/providers/list/codex/codex-runtime.provider.js +572 -0
  1002. package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +212 -0
  1003. package/server/modules/providers/list/codex/codex-sessions.provider.ts +2267 -0
  1004. package/server/modules/providers/list/codex/codex-skills.provider.ts +73 -0
  1005. package/server/modules/providers/list/codex/codex.provider.ts +33 -0
  1006. package/server/modules/providers/list/cursor/cursor-auth.provider.ts +143 -0
  1007. package/server/modules/providers/list/cursor/cursor-mcp.provider.ts +108 -0
  1008. package/server/modules/providers/list/cursor/cursor-models.provider.ts +119 -0
  1009. package/server/modules/providers/list/cursor/cursor-runtime.provider.js +387 -0
  1010. package/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.ts +158 -0
  1011. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +654 -0
  1012. package/server/modules/providers/list/cursor/cursor-skills.provider.ts +39 -0
  1013. package/server/modules/providers/list/cursor/cursor.provider.ts +30 -0
  1014. package/server/modules/providers/list/mistral/mistral-auth.provider.ts +181 -0
  1015. package/server/modules/providers/list/mistral/mistral-mcp.provider.ts +20 -0
  1016. package/server/modules/providers/list/mistral/mistral-models.provider.ts +76 -0
  1017. package/server/modules/providers/list/mistral/mistral-runtime.provider.ts +417 -0
  1018. package/server/modules/providers/list/mistral/mistral-session-synchronizer.provider.ts +15 -0
  1019. package/server/modules/providers/list/mistral/mistral-sessions.provider.ts +210 -0
  1020. package/server/modules/providers/list/mistral/mistral-skills.provider.ts +20 -0
  1021. package/server/modules/providers/list/mistral/mistral.provider.ts +35 -0
  1022. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +110 -0
  1023. package/server/modules/providers/list/opencode/opencode-mcp.provider.ts +228 -0
  1024. package/server/modules/providers/list/opencode/opencode-models.provider.ts +304 -0
  1025. package/server/modules/providers/list/opencode/opencode-runtime.provider.js +434 -0
  1026. package/server/modules/providers/list/opencode/opencode-runtime.provider.test.js +261 -0
  1027. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +179 -0
  1028. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +500 -0
  1029. package/server/modules/providers/list/opencode/opencode-skills.provider.ts +78 -0
  1030. package/server/modules/providers/list/opencode/opencode.provider.ts +30 -0
  1031. package/server/modules/providers/provider.registry.ts +38 -0
  1032. package/server/modules/providers/provider.routes.ts +909 -0
  1033. package/server/modules/providers/services/mcp.service.ts +109 -0
  1034. package/server/modules/providers/services/provider-auth.service.ts +26 -0
  1035. package/server/modules/providers/services/provider-capabilities.service.ts +133 -0
  1036. package/server/modules/providers/services/provider-models.service.ts +401 -0
  1037. package/server/modules/providers/services/provider-runtime.service.ts +108 -0
  1038. package/server/modules/providers/services/provider-token-usage.service.ts +484 -0
  1039. package/server/modules/providers/services/session-conversations-search.service.ts +1321 -0
  1040. package/server/modules/providers/services/session-history-cache.service.ts +139 -0
  1041. package/server/modules/providers/services/session-synchronizer.service.ts +162 -0
  1042. package/server/modules/providers/services/sessions-watcher.service.ts +266 -0
  1043. package/server/modules/providers/services/sessions.service.ts +663 -0
  1044. package/server/modules/providers/services/skills.service.ts +39 -0
  1045. package/server/modules/providers/shared/base/abstract.provider.ts +32 -0
  1046. package/server/modules/providers/shared/mcp/mcp.provider.ts +151 -0
  1047. package/server/modules/providers/shared/skills/skills.provider.ts +287 -0
  1048. package/server/modules/providers/tests/claude-auth.test.ts +208 -0
  1049. package/server/modules/providers/tests/claude-sessions.test.ts +573 -0
  1050. package/server/modules/providers/tests/claude-subagent-echo.test.ts +25 -0
  1051. package/server/modules/providers/tests/claude-token-budget.test.ts +104 -0
  1052. package/server/modules/providers/tests/codex-message-editing.test.ts +419 -0
  1053. package/server/modules/providers/tests/codex-session-fork.test.ts +59 -0
  1054. package/server/modules/providers/tests/codex-sessions.test.ts +553 -0
  1055. package/server/modules/providers/tests/mcp.test.ts +349 -0
  1056. package/server/modules/providers/tests/opencode-models.test.ts +154 -0
  1057. package/server/modules/providers/tests/opencode-sessions.test.ts +522 -0
  1058. package/server/modules/providers/tests/provider-attachment-history.test.ts +247 -0
  1059. package/server/modules/providers/tests/provider-models.service.test.ts +353 -0
  1060. package/server/modules/providers/tests/provider-runtime.service.test.ts +138 -0
  1061. package/server/modules/providers/tests/provider-token-usage.service.test.ts +373 -0
  1062. package/server/modules/providers/tests/provider.routes.test.ts +244 -0
  1063. package/server/modules/providers/tests/session-fork.test.ts +173 -0
  1064. package/server/modules/providers/tests/session-history-cache.service.test.ts +143 -0
  1065. package/server/modules/providers/tests/session-orphan-prune.test.ts +107 -0
  1066. package/server/modules/providers/tests/session-synchronizer-coalescing.test.ts +136 -0
  1067. package/server/modules/providers/tests/sessions-details.test.ts +73 -0
  1068. package/server/modules/providers/tests/sessions.service.test.ts +193 -0
  1069. package/server/modules/providers/tests/skills.test.ts +692 -0
  1070. package/server/modules/scheduled-messages/index.ts +8 -0
  1071. package/server/modules/scheduled-messages/scheduled-messages.routes.ts +68 -0
  1072. package/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.ts +203 -0
  1073. package/server/modules/scheduled-messages/services/scheduled-messages.service.ts +121 -0
  1074. package/server/modules/scheduled-messages/tests/scheduled-messages.test.ts +310 -0
  1075. package/server/modules/settings/index.ts +2 -0
  1076. package/server/modules/settings/settings.module.ts +50 -0
  1077. package/server/modules/settings/settings.routes.ts +51 -0
  1078. package/server/modules/settings/settings.service.ts +186 -0
  1079. package/server/modules/settings/tests/settings.service.test.ts +54 -0
  1080. package/server/modules/system/index.ts +2 -0
  1081. package/server/modules/system/system.module.ts +62 -0
  1082. package/server/modules/system/system.routes.ts +21 -0
  1083. package/server/modules/system/system.service.ts +76 -0
  1084. package/server/modules/system/tests/system.service.test.ts +118 -0
  1085. package/server/modules/taskmaster/index.ts +2 -0
  1086. package/server/modules/taskmaster/taskmaster.module.ts +24 -0
  1087. package/server/modules/taskmaster/taskmaster.routes.ts +1472 -0
  1088. package/server/modules/taskmaster/taskmaster.service.ts +132 -0
  1089. package/server/modules/taskmaster/tests/taskmaster.routes.test.ts +201 -0
  1090. package/server/modules/taskmaster/tests/taskmaster.service.test.ts +97 -0
  1091. package/server/modules/user/index.ts +2 -0
  1092. package/server/modules/user/tests/user.service.test.ts +151 -0
  1093. package/server/modules/user/user.module.ts +67 -0
  1094. package/server/modules/user/user.routes.ts +94 -0
  1095. package/server/modules/user/user.service.ts +190 -0
  1096. package/server/modules/voice/index.ts +2 -0
  1097. package/server/modules/voice/tests/voice.service.test.ts +99 -0
  1098. package/server/modules/voice/voice.module.ts +47 -0
  1099. package/server/modules/voice/voice.routes.ts +113 -0
  1100. package/server/modules/voice/voice.service.ts +192 -0
  1101. package/server/modules/websocket/README.md +273 -0
  1102. package/server/modules/websocket/index.ts +11 -0
  1103. package/server/modules/websocket/services/chat-run-registry.service.ts +310 -0
  1104. package/server/modules/websocket/services/chat-session-writer.service.ts +175 -0
  1105. package/server/modules/websocket/services/chat-websocket.service.ts +654 -0
  1106. package/server/modules/websocket/services/plugin-websocket-proxy.service.ts +65 -0
  1107. package/server/modules/websocket/services/session-upsert-broadcast.service.ts +108 -0
  1108. package/server/modules/websocket/services/shell-websocket.service.ts +628 -0
  1109. package/server/modules/websocket/services/websocket-auth.service.ts +59 -0
  1110. package/server/modules/websocket/services/websocket-server.service.ts +126 -0
  1111. package/server/modules/websocket/services/websocket-state.service.ts +16 -0
  1112. package/server/modules/websocket/services/websocket-writer.service.ts +38 -0
  1113. package/server/modules/websocket/tests/chat-attachment-filter.test.ts +59 -0
  1114. package/server/modules/websocket/tests/chat-edit-send.test.ts +309 -0
  1115. package/server/modules/websocket/tests/chat-run-registry.test.ts +313 -0
  1116. package/server/modules/websocket/tests/session-upsert-broadcast.test.ts +138 -0
  1117. package/server/modules/websocket/tests/shell-websocket.service.test.ts +227 -0
  1118. package/server/modules/websocket/tests/websocket-heartbeat.service.test.ts +78 -0
  1119. package/server/modules/worktrees/index.ts +2 -0
  1120. package/server/modules/worktrees/services/worktree-create-and-open.service.ts +53 -0
  1121. package/server/modules/worktrees/services/worktree-create.service.ts +104 -0
  1122. package/server/modules/worktrees/services/worktree-git.service.ts +207 -0
  1123. package/server/modules/worktrees/services/worktree-list.service.ts +143 -0
  1124. package/server/modules/worktrees/services/worktree-merge.service.ts +157 -0
  1125. package/server/modules/worktrees/services/worktree-open.service.ts +85 -0
  1126. package/server/modules/worktrees/services/worktree-remove.service.ts +88 -0
  1127. package/server/modules/worktrees/tests/worktree-create-and-open.service.test.ts +68 -0
  1128. package/server/modules/worktrees/tests/worktree-create.service.test.ts +142 -0
  1129. package/server/modules/worktrees/tests/worktree-git.service.test.ts +84 -0
  1130. package/server/modules/worktrees/tests/worktree-list.service.test.ts +45 -0
  1131. package/server/modules/worktrees/tests/worktree-merge.service.test.ts +213 -0
  1132. package/server/modules/worktrees/tests/worktree-open.service.test.ts +122 -0
  1133. package/server/modules/worktrees/tests/worktree-remove.service.test.ts +227 -0
  1134. package/server/modules/worktrees/tests/worktrees.routes.test.ts +199 -0
  1135. package/server/modules/worktrees/worktrees.module.ts +113 -0
  1136. package/server/modules/worktrees/worktrees.routes.ts +116 -0
  1137. package/server/piecemaker/activation/claude-mcp.cjs +115 -0
  1138. package/server/piecemaker/activation/claude-plugins.cjs +65 -0
  1139. package/server/piecemaker/activation/codex-mcp.cjs +102 -0
  1140. package/server/piecemaker/activation/errors.cjs +15 -0
  1141. package/server/piecemaker/activation/index.cjs +5 -0
  1142. package/server/piecemaker/activation/library.cjs +284 -0
  1143. package/server/piecemaker/activation/library.cjs.bak +223 -0
  1144. package/server/piecemaker/activation/library.test.js +365 -0
  1145. package/server/piecemaker/activation/markdown.cjs +108 -0
  1146. package/server/piecemaker/activation/markdown.cjs.bak +78 -0
  1147. package/server/piecemaker/activation/paths.cjs +104 -0
  1148. package/server/piecemaker/activation/paths.test.js +158 -0
  1149. package/server/piecemaker/activation/routes.cjs +101 -0
  1150. package/server/piecemaker/activation/routes.test.js +344 -0
  1151. package/server/piecemaker/activation/snapshot.cjs +30 -0
  1152. package/server/piecemaker/anonymizer/anonymizer.test.js +320 -0
  1153. package/server/piecemaker/anonymizer/client-config.cjs +228 -0
  1154. package/server/piecemaker/anonymizer/codex-http.test.js +20 -0
  1155. package/server/piecemaker/anonymizer/dictionary.cjs +174 -0
  1156. package/server/piecemaker/anonymizer/lifecycle.test.ts +37 -0
  1157. package/server/piecemaker/anonymizer/lifecycle.ts +22 -0
  1158. package/server/piecemaker/anonymizer/providers.cjs +241 -0
  1159. package/server/piecemaker/anonymizer/proxy.cjs +365 -0
  1160. package/server/piecemaker/anonymizer/rewrite.cjs +251 -0
  1161. package/server/piecemaker/anonymizer/routes.cjs +43 -0
  1162. package/server/piecemaker/anonymizer/service.cjs +218 -0
  1163. package/server/piecemaker/harness/chat-harness.test.ts +131 -0
  1164. package/server/piecemaker/harness/chat-harness.ts +151 -0
  1165. package/server/piecemaker/harness/citation-instructions.ts +18 -0
  1166. package/server/piecemaker/harness/citation-store.ts +80 -0
  1167. package/server/piecemaker/harness/citation-turn.test.ts +155 -0
  1168. package/server/piecemaker/harness/citation-turn.ts +197 -0
  1169. package/server/piecemaker/harness/citations.routes.test.ts +68 -0
  1170. package/server/piecemaker/harness/citations.routes.ts +18 -0
  1171. package/server/piecemaker/harness/decisions.cjs +302 -0
  1172. package/server/piecemaker/harness/flux-sse.cjs +111 -0
  1173. package/server/piecemaker/harness/harness.test.js +296 -0
  1174. package/server/piecemaker/harness/index.cjs +103 -0
  1175. package/server/piecemaker/harness/proxy-harness.test.js +226 -0
  1176. package/server/piecemaker/harness/source-passages.ts +21 -0
  1177. package/server/piecemaker/harness/verification.cjs +159 -0
  1178. package/server/piecemaker/index.ts +59 -0
  1179. package/server/piecemaker/library/index.ts +54 -0
  1180. package/server/piecemaker/library/marketplace.ts +152 -0
  1181. package/server/piecemaker/library/migrate-cli.ts +11 -0
  1182. package/server/piecemaker/library/migrate.ts +49 -0
  1183. package/server/piecemaker/library/policy.cjs +9 -0
  1184. package/server/piecemaker/library/provider-skills.test.ts +61 -0
  1185. package/server/piecemaker/library/provider-skills.ts +48 -0
  1186. package/server/piecemaker/library/routes.ts +38 -0
  1187. package/server/piecemaker/library/runtime.ts +39 -0
  1188. package/server/piecemaker/library/store.test.ts +280 -0
  1189. package/server/piecemaker/library/store.ts +429 -0
  1190. package/server/piecemaker/library/workspace-installation.ts +61 -0
  1191. package/server/piecemaker/originals-cache.cjs +54 -0
  1192. package/server/piecemaker/originals-cache.test.js +77 -0
  1193. package/server/piecemaker/protection/bypass.cjs +73 -0
  1194. package/server/piecemaker/protection/bypass.test.js +140 -0
  1195. package/server/piecemaker/protection/routes.cjs +39 -0
  1196. package/server/piecemaker/router.cjs +109 -0
  1197. package/server/piecemaker/timesheet/index.ts +9 -0
  1198. package/server/piecemaker/timesheet/routes.ts +48 -0
  1199. package/server/piecemaker/timesheet/service.test.ts +142 -0
  1200. package/server/piecemaker/timesheet/service.ts +298 -0
  1201. package/server/piecemaker/timesheet/store.ts +167 -0
  1202. package/server/piecemaker/vendor/.env +2 -0
  1203. package/server/piecemaker/vendor/installer/assets/PieceMakerApp.swift +189 -0
  1204. package/server/piecemaker/vendor/installer/assets/claude-hooks/piecemaker-guard-secrets.mjs +230 -0
  1205. package/server/piecemaker/vendor/installer/assets/claude-hooks/piecemaker-secret-paths.default.json +1 -0
  1206. package/server/piecemaker/vendor/installer/assets/piecemaker.icns +0 -0
  1207. package/server/piecemaker/vendor/installer/assets/piecemaker.ico +0 -0
  1208. package/server/piecemaker/vendor/installer/bin/piecemaker.mjs +1018 -0
  1209. package/server/piecemaker/vendor/installer/lib/banner.mjs +35 -0
  1210. package/server/piecemaker/vendor/installer/lib/codex-skills.mjs +343 -0
  1211. package/server/piecemaker/vendor/installer/lib/commandes.mjs +13 -0
  1212. package/server/piecemaker/vendor/installer/lib/desktop-launcher.mjs +305 -0
  1213. package/server/piecemaker/vendor/installer/lib/legacy-legifrance.mjs +72 -0
  1214. package/server/piecemaker/vendor/installer/lib/platform.mjs +163 -0
  1215. package/server/piecemaker/vendor/installer/lib/prompt.mjs +138 -0
  1216. package/server/piecemaker/vendor/installer/lib/resume-steps.mjs +174 -0
  1217. package/server/piecemaker/vendor/installer/lib/secrets-guard.mjs +193 -0
  1218. package/server/piecemaker/vendor/installer/lib/service.mjs +467 -0
  1219. package/server/piecemaker/vendor/installer/lib/state.mjs +114 -0
  1220. package/server/piecemaker/vendor/installer/lib/ui.mjs +159 -0
  1221. package/server/piecemaker/vendor/installer/steps/00-identite.mjs +71 -0
  1222. package/server/piecemaker/vendor/installer/steps/01-prerequis.mjs +119 -0
  1223. package/server/piecemaker/vendor/installer/steps/02-dependances-node.mjs +127 -0
  1224. package/server/piecemaker/vendor/installer/steps/03-python-gliner.mjs +249 -0
  1225. package/server/piecemaker/vendor/installer/steps/03b-python-graphify.mjs +161 -0
  1226. package/server/piecemaker/vendor/installer/steps/04-conversion-md.mjs +147 -0
  1227. package/server/piecemaker/vendor/installer/steps/05-certificats.mjs +171 -0
  1228. package/server/piecemaker/vendor/installer/steps/06-hooks.mjs +266 -0
  1229. package/server/piecemaker/vendor/installer/steps/07-legifrance.mjs +279 -0
  1230. package/server/piecemaker/vendor/installer/steps/08-telegram.mjs +482 -0
  1231. package/server/piecemaker/vendor/installer/steps/09-claude-assets.mjs +151 -0
  1232. package/server/piecemaker/vendor/installer/steps/09-codex-plugin.mjs +142 -0
  1233. package/server/piecemaker/vendor/installer/steps/10-libreoffice.mjs +130 -0
  1234. package/server/piecemaker/vendor/installer/steps/10-pandoc.mjs +212 -0
  1235. package/server/piecemaker/vendor/installer/steps/11-docx-cli.mjs +144 -0
  1236. package/server/piecemaker/vendor/installer/steps/12-mcp-piecemaker.mjs +124 -0
  1237. package/server/piecemaker/vendor/installer/steps/13-garde-secrets.mjs +136 -0
  1238. package/server/piecemaker/vendor/installer/steps/14-mxc-sandbox.mjs +271 -0
  1239. package/server/piecemaker/vendor/installer/steps/15-pwa-desktop.mjs +64 -0
  1240. package/server/piecemaker/vendor/installer/templates/root-CLAUDE.md +79 -0
  1241. package/server/piecemaker/vendor/installer/templates/workspace-CLAUDE.md +111 -0
  1242. package/server/piecemaker/vendor/mcp/README.md +13 -0
  1243. package/server/piecemaker/vendor/mcp/piecemaker/server.mjs +222 -0
  1244. package/server/piecemaker/vendor/mike-defaults-fr/PROVENANCE.md +10 -0
  1245. package/server/piecemaker/vendor/mike-defaults-fr/assistant-workflows/compare-documents/SKILL.md +51 -0
  1246. package/server/piecemaker/vendor/mike-defaults-fr/assistant-workflows/draft-from-template/SKILL.md +27 -0
  1247. package/server/piecemaker/vendor/mike-defaults-fr/assistant-workflows/extract-key-terms/SKILL.md +43 -0
  1248. package/server/piecemaker/vendor/mike-defaults-fr/assistant-workflows/proofread/SKILL.md +98 -0
  1249. package/server/piecemaker/vendor/mike-defaults-fr/catalog.json +22 -0
  1250. package/server/piecemaker/vendor/mike-defaults-fr/tabular-review-workflows/commercial-agreement-tabular-review/SKILL.md +31 -0
  1251. package/server/piecemaker/vendor/mike-defaults-fr/tabular-review-workflows/commercial-agreement-tabular-review/table-columns.yaml +92 -0
  1252. package/server/piecemaker/vendor/package.json +7 -0
  1253. package/server/piecemaker/vendor/piecemaker-plugin/README.md +115 -0
  1254. package/server/piecemaker/vendor/piecemaker-plugin/agents/analyste-piece.md +38 -0
  1255. package/server/piecemaker/vendor/piecemaker-plugin/agents/jurisprudence-scanner.md +50 -0
  1256. package/server/piecemaker/vendor/piecemaker-plugin/hooks/hooks.json +84 -0
  1257. package/server/piecemaker/vendor/piecemaker-plugin/scripts/billing-track.mjs +194 -0
  1258. package/server/piecemaker/vendor/piecemaker-plugin/scripts/build-recherche-pdf.mjs +91 -0
  1259. package/server/piecemaker/vendor/piecemaker-plugin/scripts/classify-ai-documents.mjs +123 -0
  1260. package/server/piecemaker/vendor/piecemaker-plugin/scripts/commit-track.mjs +71 -0
  1261. package/server/piecemaker/vendor/piecemaker-plugin/scripts/compile-recherche.mjs +107 -0
  1262. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/anonymization-state.cjs +146 -0
  1263. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folder-structure.cjs +303 -0
  1264. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/case-folders.cjs +86 -0
  1265. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/central-mapping.cjs +0 -0
  1266. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citation-sources.cjs +519 -0
  1267. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/citations.cjs +292 -0
  1268. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/commits.cjs +1683 -0
  1269. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/docx-text-worker.cjs +43 -0
  1270. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/hook-io.mjs +249 -0
  1271. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/institutional-terms.cjs +160 -0
  1272. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/legifrance-reads.cjs +85 -0
  1273. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.cjs +346 -0
  1274. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/mapping.test.js +68 -0
  1275. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/protection.cjs +419 -0
  1276. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/recherche-report.cjs +177 -0
  1277. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/session-timing.cjs +80 -0
  1278. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/substitution.cjs +318 -0
  1279. package/server/piecemaker/vendor/piecemaker-plugin/scripts/lib/verify-citations.cjs +318 -0
  1280. package/server/piecemaker/vendor/piecemaker-plugin/scripts/protect-originals.mjs +256 -0
  1281. package/server/piecemaker/vendor/piecemaker-plugin/scripts/session-commit-worker.mjs +260 -0
  1282. package/server/piecemaker/vendor/piecemaker-plugin/scripts/session-commit.mjs +83 -0
  1283. package/server/piecemaker/vendor/piecemaker-plugin/scripts/statusline.mjs +179 -0
  1284. package/server/piecemaker/vendor/piecemaker-plugin/scripts/track-legifrance-reads.mjs +46 -0
  1285. package/server/piecemaker/vendor/piecemaker-plugin/skills/ajout-de-fonctionnalites/SKILL.md +66 -0
  1286. package/server/piecemaker/vendor/piecemaker-plugin/skills/conversion-md/SKILL.md +60 -0
  1287. package/server/piecemaker/vendor/piecemaker-plugin/skills/graphe-juridique/SKILL.md +105 -0
  1288. package/server/piecemaker/vendor/piecemaker-plugin/skills/recherche-juridique/SKILL.md +234 -0
  1289. package/server/piecemaker/vendor/piecemaker-plugin/skills/redaction-juridique/SKILL.md +96 -0
  1290. package/server/piecemaker/vendor/piecemaker-plugin/skills/tamponnage/SKILL.md +148 -0
  1291. package/server/piecemaker/vendor/websocket-server/admin-routes.cjs +3195 -0
  1292. package/server/piecemaker/vendor/websocket-server/case-folder-structure.cjs +3 -0
  1293. package/server/piecemaker/vendor/websocket-server/case-instructions.cjs +114 -0
  1294. package/server/piecemaker/vendor/websocket-server/case-registry.cjs +93 -0
  1295. package/server/piecemaker/vendor/websocket-server/claude-assets.cjs +338 -0
  1296. package/server/piecemaker/vendor/websocket-server/claude-hooks.cjs +380 -0
  1297. package/server/piecemaker/vendor/websocket-server/document-index.cjs +682 -0
  1298. package/server/piecemaker/vendor/websocket-server/graphify-document-graph.cjs +456 -0
  1299. package/server/piecemaker/vendor/websocket-server/legal-chronology.cjs +502 -0
  1300. package/server/piecemaker/vendor/websocket-server/legal-forms.cjs +89 -0
  1301. package/server/piecemaker/vendor/websocket-server/legal-forms.test.js +10 -0
  1302. package/server/piecemaker/vendor/websocket-server/legal-graph-materializer.cjs +234 -0
  1303. package/server/piecemaker/vendor/websocket-server/legal-graph-prompt.txt +155 -0
  1304. package/server/piecemaker/vendor/websocket-server/legal-graph.cjs +2021 -0
  1305. package/server/piecemaker/vendor/websocket-server/legal-identity-boundary.cjs +247 -0
  1306. package/server/piecemaker/vendor/websocket-server/legal-party-registry.cjs +261 -0
  1307. package/server/piecemaker/vendor/websocket-server/lib/doc-generate.cjs +229 -0
  1308. package/server/piecemaker/vendor/websocket-server/lib/export-render.cjs +442 -0
  1309. package/server/piecemaker/vendor/websocket-server/lib/office-to-pdf.cjs +306 -0
  1310. package/server/piecemaker/vendor/websocket-server/lib/stamping.cjs +39 -0
  1311. package/server/piecemaker/vendor/websocket-server/originals-pipeline.cjs +965 -0
  1312. package/server/piecemaker/vendor/websocket-server/scripts/ADDRESS_ANONYMIZATION.md +216 -0
  1313. package/server/piecemaker/vendor/websocket-server/scripts/DEDUPLICATION_CHANGES.md +134 -0
  1314. package/server/piecemaker/vendor/websocket-server/scripts/GLINER2_README.md +138 -0
  1315. package/server/piecemaker/vendor/websocket-server/scripts/__pycache__/scan_utils.cpython-312.pyc +0 -0
  1316. package/server/piecemaker/vendor/websocket-server/scripts/convert_and_scan_pipeline.py +1984 -0
  1317. package/server/piecemaker/vendor/websocket-server/scripts/graphify-legal-sitecustomize.py +50 -0
  1318. package/server/piecemaker/vendor/websocket-server/scripts/mineru_improved_1.py +208 -0
  1319. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/AUDIT_PERF_QUALITE.md +246 -0
  1320. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/MODELE_COREML.md +62 -0
  1321. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/__pycache__/coreml_runtime.cpython-312.pyc +0 -0
  1322. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/__pycache__/model_config.cpython-312.pyc +0 -0
  1323. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/build_coreml.py +118 -0
  1324. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/coreml_runtime.py +164 -0
  1325. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/BACKENDS_MESURES.md +384 -0
  1326. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/CRITERES_QUALITE.md +81 -0
  1327. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/__pycache__/coreml_encoder.cpython-312.pyc +0 -0
  1328. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/bench_backend.py +151 -0
  1329. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/bench_batchsize.py +47 -0
  1330. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/bench_coreml_pipeline.py +138 -0
  1331. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/bench_gensight.py +124 -0
  1332. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/check_gold.py +66 -0
  1333. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/coreml_encoder.py +182 -0
  1334. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/encoder_backends.py +179 -0
  1335. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/evaluate.py +130 -0
  1336. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/gold.py +59 -0
  1337. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/profile_split.py +65 -0
  1338. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/slice_A.md +67 -0
  1339. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/slice_B.md +57 -0
  1340. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/slice_C.md +907 -0
  1341. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/sweep.py +115 -0
  1342. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/verify_substitution.cjs +116 -0
  1343. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/verify_whitespace.py +67 -0
  1344. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/eval/verify_worker.py +106 -0
  1345. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/model_config.py +28 -0
  1346. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/presidio-gliner.py +471 -0
  1347. package/server/piecemaker/vendor/websocket-server/scripts/presidio-gliner/scanner_worker.py +668 -0
  1348. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__init__.py +10 -0
  1349. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/__init__.cpython-312.pyc +0 -0
  1350. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/analysis_explanation.cpython-312.pyc +0 -0
  1351. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/entity_recognizer.cpython-312.pyc +0 -0
  1352. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/local_recognizer.cpython-312.pyc +0 -0
  1353. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/pattern.cpython-312.pyc +0 -0
  1354. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/pattern_recognizer.cpython-312.pyc +0 -0
  1355. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/__pycache__/recognizer_result.cpython-312.pyc +0 -0
  1356. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/analysis_explanation.py +65 -0
  1357. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/entity_recognizer.py +213 -0
  1358. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/input_validation/__init__.py +21 -0
  1359. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/input_validation/language_validation.py +18 -0
  1360. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/input_validation/schemas.py +132 -0
  1361. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/input_validation/yaml_recognizer_models.py +422 -0
  1362. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/local_recognizer.py +7 -0
  1363. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__init__.py +15 -0
  1364. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/__init__.cpython-312.pyc +0 -0
  1365. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/device_detector.cpython-312.pyc +0 -0
  1366. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/ner_model_configuration.cpython-312.pyc +0 -0
  1367. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/nlp_artifacts.cpython-312.pyc +0 -0
  1368. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/nlp_engine.cpython-312.pyc +0 -0
  1369. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/__pycache__/spacy_nlp_engine.cpython-312.pyc +0 -0
  1370. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/device_detector.py +65 -0
  1371. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/ner_model_configuration.py +128 -0
  1372. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/nlp_artifacts.py +88 -0
  1373. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/nlp_engine.py +65 -0
  1374. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/nlp_engine_provider.py +114 -0
  1375. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/nlp_engine/spacy_nlp_engine.py +290 -0
  1376. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/pattern.py +66 -0
  1377. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/pattern_recognizer.py +297 -0
  1378. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/__init__.py +4 -0
  1379. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/__pycache__/__init__.cpython-312.pyc +0 -0
  1380. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/__pycache__/gliner_recognizer.cpython-312.pyc +0 -0
  1381. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__init__.py +0 -0
  1382. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/__init__.cpython-312.pyc +0 -0
  1383. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/credit_card_recognizer.cpython-312.pyc +0 -0
  1384. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/crypto_recognizer.cpython-312.pyc +0 -0
  1385. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/email_recognizer.cpython-312.pyc +0 -0
  1386. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/iban_patterns.cpython-312.pyc +0 -0
  1387. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/iban_recognizer.cpython-312.pyc +0 -0
  1388. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/ip_recognizer.cpython-312.pyc +0 -0
  1389. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/mac_recognizer.cpython-312.pyc +0 -0
  1390. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/__pycache__/url_recognizer.cpython-312.pyc +0 -0
  1391. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/credit_card_recognizer.py +82 -0
  1392. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/crypto_recognizer.py +141 -0
  1393. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/date_recognizer.py +102 -0
  1394. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/email_recognizer.py +48 -0
  1395. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/iban_patterns.py +173 -0
  1396. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/iban_recognizer.py +221 -0
  1397. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/ip_recognizer.py +65 -0
  1398. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/mac_recognizer.py +73 -0
  1399. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/generic/url_recognizer.py +50 -0
  1400. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/gliner_recognizer.py +218 -0
  1401. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/predefined_recognizers/spacy_recognizer.py +139 -0
  1402. package/server/piecemaker/vendor/websocket-server/scripts/presidio_analyzer/recognizer_result.py +188 -0
  1403. package/server/piecemaker/vendor/websocket-server/scripts/requirements.txt +29 -0
  1404. package/server/piecemaker/vendor/websocket-server/scripts/scan_utils.py +469 -0
  1405. package/server/piecemaker/vendor/websocket-server/scripts/smart_converter.py +356 -0
  1406. package/server/piecemaker/vendor/websocket-server/scripts/warmup.py +454 -0
  1407. package/server/piecemaker/vendor/websocket-server/stamping-routes.cjs +334 -0
  1408. package/server/piecemaker/vendor/websocket-server/telegram-admin.cjs +602 -0
  1409. package/server/piecemaker/vendor/websocket-server/workspace-paths.cjs +22 -0
  1410. package/server/shared/claude-cli-path.ts +157 -0
  1411. package/server/shared/frontmatter.ts +18 -0
  1412. package/server/shared/image-attachments.ts +437 -0
  1413. package/server/shared/interfaces.ts +241 -0
  1414. package/server/shared/message-unification.ts +449 -0
  1415. package/server/shared/tests/application-data-root.test.ts +29 -0
  1416. package/server/shared/tests/claude-cli-path.test.ts +118 -0
  1417. package/server/shared/tests/image-attachments.test.ts +353 -0
  1418. package/server/shared/tests/message-unification.test.ts +218 -0
  1419. package/server/shared/tests/slice-tail-page.test.ts +42 -0
  1420. package/server/shared/types.ts +1354 -0
  1421. package/server/shared/utils.ts +1212 -0
  1422. package/server/tsconfig.json +40 -0
  1423. package/shared/networkHosts.js +22 -0
  1424. package/shared/product-config.mjs +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.routes.js","sourceRoot":"","sources":["../../../../server/modules/git/git.routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // createGitModule: used by the server entrypoint to assemble Git routes with provider runtimes.
2
+ export { createGitModule } from './git.module.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/modules/git/index.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { deleteLocalBranch } from '../git-branch.service.js';
4
+ test('deleteLocalBranch uses safe deletion by default', async () => {
5
+ const commands = [];
6
+ const output = await deleteLocalBranch({
7
+ projectPath: '/workspace/repo',
8
+ branch: 'feature/safe-delete',
9
+ force: false,
10
+ runCommand: async (_command, args) => {
11
+ commands.push(args);
12
+ return {
13
+ stdout: args.includes('--show-current') ? 'main\n' : 'Deleted branch feature/safe-delete.\n',
14
+ stderr: '',
15
+ };
16
+ },
17
+ });
18
+ assert.equal(output, 'Deleted branch feature/safe-delete.\n');
19
+ assert.deepEqual(commands, [
20
+ ['branch', '--show-current'],
21
+ ['branch', '-d', '--', 'feature/safe-delete'],
22
+ ]);
23
+ });
24
+ test('deleteLocalBranch uses force deletion only when requested', async () => {
25
+ const commands = [];
26
+ await deleteLocalBranch({
27
+ projectPath: '/workspace/repo',
28
+ branch: 'feature/unmerged',
29
+ force: true,
30
+ runCommand: async (_command, args) => {
31
+ commands.push(args);
32
+ return { stdout: args.includes('--show-current') ? 'main\n' : '', stderr: '' };
33
+ },
34
+ });
35
+ assert.deepEqual(commands, [
36
+ ['branch', '--show-current'],
37
+ ['branch', '-D', '--', 'feature/unmerged'],
38
+ ]);
39
+ });
40
+ test('deleteLocalBranch refuses to delete the current branch even when forced', async () => {
41
+ await assert.rejects(deleteLocalBranch({
42
+ projectPath: '/workspace/repo',
43
+ branch: 'feature/current',
44
+ force: true,
45
+ runCommand: async () => ({ stdout: 'feature/current\n', stderr: '' }),
46
+ }), (error) => {
47
+ assert.equal(error.code, 'GIT_CURRENT_BRANCH_DELETE');
48
+ assert.equal(error.statusCode, 400);
49
+ return true;
50
+ });
51
+ });
52
+ //# sourceMappingURL=git-branch.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-branch.service.test.js","sourceRoot":"","sources":["../../../../../server/modules/git/tests/git-branch.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACrC,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uCAAuC;gBAC5F,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAC9D,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;QACzB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC5B,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,iBAAiB,CAAC;QACtB,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjF,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;QACzB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC5B,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,MAAM,CAAC,OAAO,CAClB,iBAAiB,CAAC;QAChB,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;KACtE,CAAC,EACF,CAAC,KAAc,EAAE,EAAE;QACjB,MAAM,CAAC,KAAK,CAAE,KAA2B,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAE,KAAiC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,132 @@
1
+ import assert from 'node:assert/strict';
2
+ import { EventEmitter, once } from 'node:events';
3
+ import { PassThrough } from 'node:stream';
4
+ import test from 'node:test';
5
+ import express from 'express';
6
+ import { createGitRouter } from '../../../modules/git/git.routes.js';
7
+ test('git init does not run when repository validation fails for an execution error', async () => {
8
+ const commands = [];
9
+ const spawnProcess = ((_command, args) => {
10
+ commands.push(args);
11
+ const child = new EventEmitter();
12
+ child.stdout = new PassThrough();
13
+ child.stderr = new PassThrough();
14
+ process.nextTick(() => child.emit('error', Object.assign(new Error('permission denied'), {
15
+ code: 'EACCES',
16
+ })));
17
+ return child;
18
+ });
19
+ const unexpectedProvider = async () => { throw new Error('unexpected provider call'); };
20
+ const router = createGitRouter({
21
+ fileSystem: { access: async () => undefined },
22
+ spawnProcess,
23
+ resolveProjectPathById: () => '/workspace/repo',
24
+ queryClaude: unexpectedProvider,
25
+ queryCursor: unexpectedProvider,
26
+ });
27
+ const app = express();
28
+ app.use(express.json());
29
+ app.use('/api/git', router);
30
+ const server = app.listen(0, '127.0.0.1');
31
+ await once(server, 'listening');
32
+ try {
33
+ const address = server.address();
34
+ const response = await fetch(`http://127.0.0.1:${address.port}/api/git/init`, {
35
+ method: 'POST',
36
+ headers: { 'content-type': 'application/json' },
37
+ body: JSON.stringify({ project: 'project-1' }),
38
+ });
39
+ const body = await response.json();
40
+ assert.equal(body.success, false);
41
+ assert.match(body.error, /permission denied/);
42
+ }
43
+ finally {
44
+ await new Promise((resolve) => server.close(() => resolve()));
45
+ }
46
+ assert.deepEqual(commands, [['rev-parse', '--is-inside-work-tree']]);
47
+ });
48
+ test('delete branch parses force and uses Git force deletion', async () => {
49
+ const commands = [];
50
+ const spawnProcess = ((_command, args) => {
51
+ commands.push(args);
52
+ const child = new EventEmitter();
53
+ child.stdout = new PassThrough();
54
+ child.stderr = new PassThrough();
55
+ process.nextTick(() => {
56
+ if (args.includes('--is-inside-work-tree'))
57
+ child.stdout.write('true\n');
58
+ if (args.includes('--show-toplevel'))
59
+ child.stdout.write('/workspace/repo\n');
60
+ if (args.includes('--show-current'))
61
+ child.stdout.write('main\n');
62
+ if (args.includes('-D'))
63
+ child.stdout.write('Deleted branch feature/unmerged.\n');
64
+ child.stdout.end();
65
+ child.stderr.end();
66
+ child.emit('close', 0);
67
+ });
68
+ return child;
69
+ });
70
+ const unexpectedProvider = async () => { throw new Error('unexpected provider call'); };
71
+ const router = createGitRouter({
72
+ fileSystem: { access: async () => undefined },
73
+ spawnProcess,
74
+ resolveProjectPathById: () => '/workspace/repo',
75
+ queryClaude: unexpectedProvider,
76
+ queryCursor: unexpectedProvider,
77
+ });
78
+ const app = express();
79
+ app.use(express.json());
80
+ app.use('/api/git', router);
81
+ const server = app.listen(0, '127.0.0.1');
82
+ await once(server, 'listening');
83
+ try {
84
+ const address = server.address();
85
+ const response = await fetch(`http://127.0.0.1:${address.port}/api/git/delete-branch`, {
86
+ method: 'POST',
87
+ headers: { 'content-type': 'application/json' },
88
+ body: JSON.stringify({ project: 'project-1', branch: 'feature/unmerged', force: true }),
89
+ });
90
+ const body = await response.json();
91
+ assert.equal(response.status, 200);
92
+ assert.equal(body.success, true);
93
+ assert.match(body.output, /Deleted branch/);
94
+ }
95
+ finally {
96
+ await new Promise((resolve) => server.close(() => resolve()));
97
+ }
98
+ assert.deepEqual(commands.at(-1), ['branch', '-D', '--', 'feature/unmerged']);
99
+ });
100
+ test('delete branch rejects a non-boolean force value before running Git', async () => {
101
+ const spawnProcess = (() => {
102
+ throw new Error('Git must not run for invalid input');
103
+ });
104
+ const unexpectedProvider = async () => { throw new Error('unexpected provider call'); };
105
+ const router = createGitRouter({
106
+ fileSystem: { access: async () => undefined },
107
+ spawnProcess,
108
+ resolveProjectPathById: () => '/workspace/repo',
109
+ queryClaude: unexpectedProvider,
110
+ queryCursor: unexpectedProvider,
111
+ });
112
+ const app = express();
113
+ app.use(express.json());
114
+ app.use('/api/git', router);
115
+ const server = app.listen(0, '127.0.0.1');
116
+ await once(server, 'listening');
117
+ try {
118
+ const address = server.address();
119
+ const response = await fetch(`http://127.0.0.1:${address.port}/api/git/delete-branch`, {
120
+ method: 'POST',
121
+ headers: { 'content-type': 'application/json' },
122
+ body: JSON.stringify({ project: 'project-1', branch: 'feature/unmerged', force: 'yes' }),
123
+ });
124
+ const body = await response.json();
125
+ assert.equal(response.status, 400);
126
+ assert.equal(body.error, 'force must be a boolean');
127
+ }
128
+ finally {
129
+ await new Promise((resolve) => server.close(() => resolve()));
130
+ }
131
+ });
132
+ //# sourceMappingURL=git-init.routes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-init.routes.test.js","sourceRoot":"","sources":["../../../../../server/modules/git/tests/git-init.routes.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { parseGitLogWithStats, parseGitStatusOutput } from '../git-parsing.service.js';
4
+ // Builds `git status --porcelain=v1 -z` output: NUL-separated entries with a
5
+ // trailing NUL, exactly as git emits it.
6
+ const porcelain = (...entries) => entries.join('\0') + '\0';
7
+ test('parseGitStatusOutput buckets files and reports index-side staging', () => {
8
+ const output = porcelain('M staged-modified.ts', ' M unstaged-modified.ts', 'MM staged-and-unstaged.ts', 'A staged-new.ts', 'D staged-deleted.ts', ' D unstaged-deleted.ts', '?? untracked.ts');
9
+ const result = parseGitStatusOutput(output);
10
+ assert.deepEqual(result.modified, ['staged-modified.ts', 'unstaged-modified.ts', 'staged-and-unstaged.ts']);
11
+ assert.deepEqual(result.added, ['staged-new.ts']);
12
+ assert.deepEqual(result.deleted, ['staged-deleted.ts', 'unstaged-deleted.ts']);
13
+ assert.deepEqual(result.untracked, ['untracked.ts']);
14
+ // Only index-side (X) changes count as staged.
15
+ assert.deepEqual(result.staged, [
16
+ 'staged-modified.ts',
17
+ 'staged-and-unstaged.ts',
18
+ 'staged-new.ts',
19
+ 'staged-deleted.ts',
20
+ ]);
21
+ });
22
+ test('parseGitStatusOutput keeps paths with spaces intact (-z output has no quoting)', () => {
23
+ const result = parseGitStatusOutput(porcelain('M src/my folder/some file.ts'));
24
+ assert.deepEqual(result.modified, ['src/my folder/some file.ts']);
25
+ assert.deepEqual(result.staged, ['src/my folder/some file.ts']);
26
+ });
27
+ test('parseGitStatusOutput tracks the post-rename path and skips the original', () => {
28
+ const output = porcelain('R renamed-to.ts', 'renamed-from.ts', ' M other.ts');
29
+ const result = parseGitStatusOutput(output);
30
+ assert.deepEqual(result.modified, ['renamed-to.ts', 'other.ts']);
31
+ assert.deepEqual(result.staged, ['renamed-to.ts']);
32
+ // The pre-rename path is metadata, not a change entry.
33
+ assert.equal(JSON.stringify(result).includes('renamed-from.ts'), false);
34
+ });
35
+ test('parseGitStatusOutput never reports merge conflicts as staged', () => {
36
+ const output = porcelain('UU conflicted.ts', 'AA both-added.ts', 'DD both-deleted.ts');
37
+ const result = parseGitStatusOutput(output);
38
+ assert.deepEqual(result.modified, ['conflicted.ts', 'both-added.ts', 'both-deleted.ts']);
39
+ assert.deepEqual(result.staged, []);
40
+ });
41
+ test('parseGitStatusOutput handles empty output', () => {
42
+ assert.deepEqual(parseGitStatusOutput(''), {
43
+ modified: [],
44
+ added: [],
45
+ deleted: [],
46
+ untracked: [],
47
+ staged: [],
48
+ });
49
+ });
50
+ // Builds one `git log --pretty=format:%H%x1f%P%x1f%D%x1f%an%x1f%ae%x1f%ad%x1f%s` line.
51
+ const US = '';
52
+ const logLine = (hash, parents, refs, subject) => [hash, parents, refs, 'Alice', 'a@x.com', '2026-07-06T10:00:00+03:00', subject].join(US);
53
+ test('parseGitLogWithStats parses commits with parents, refs, and shortstat lines', () => {
54
+ const output = [
55
+ logLine('c3', 'c2', 'HEAD -> main, origin/main, tag: v1.0', 'feat: add | pipes | to subject'),
56
+ ' 3 files changed, 10 insertions(+), 2 deletions(-)',
57
+ '',
58
+ logLine('c2', 'c1 c0', '', 'Merge branch feature'),
59
+ '',
60
+ logLine('c0', '', '', 'initial commit'),
61
+ ' 1 file changed, 1 insertion(+)',
62
+ ].join('\n');
63
+ const commits = parseGitLogWithStats(output);
64
+ assert.equal(commits.length, 3);
65
+ assert.deepEqual(commits[0].parents, ['c2']);
66
+ assert.deepEqual(commits[0].refs, ['HEAD -> main', 'origin/main', 'tag: v1.0']);
67
+ // Pipes in the subject survive because fields are joined with .
68
+ assert.equal(commits[0].message, 'feat: add | pipes | to subject');
69
+ assert.equal(commits[0].stats, '3 files changed, 10 insertions(+), 2 deletions(-)');
70
+ // Merge commit: two parents, no shortstat line.
71
+ assert.deepEqual(commits[1].parents, ['c1', 'c0']);
72
+ assert.equal(commits[1].stats, '');
73
+ // Root commit: no parents.
74
+ assert.deepEqual(commits[2].parents, []);
75
+ assert.equal(commits[2].stats, '1 file changed, 1 insertion(+)');
76
+ });
77
+ test('parseGitLogWithStats handles empty output', () => {
78
+ assert.deepEqual(parseGitLogWithStats(''), []);
79
+ });
80
+ //# sourceMappingURL=git.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.test.js","sourceRoot":"","sources":["../../../../../server/modules/git/tests/git.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export {
2
+ // Used by notification tests and delivery workflows to create channel payloads.
3
+ buildNotificationPayload,
4
+ // Used by provider runtimes and Settings to create normalized notification events.
5
+ createNotificationEvent,
6
+ // Used by provider runtimes and Settings to deliver events through enabled channels.
7
+ notifyUserIfEnabled,
8
+ // Used by provider runtimes to report failed agent runs.
9
+ notifyRunFailed,
10
+ // Used by provider runtimes to report stopped or completed agent runs.
11
+ notifyRunStopped,
12
+ // Used by provider runtimes to report background work that finished after its turn ended.
13
+ notifyBackgroundWorkCompleted, } from '../../modules/notifications/services/notification-orchestrator.service.js';
14
+ export { registerDesktopNotificationClient, sendDesktopNotification, unregisterDesktopNotificationClient, } from '../../modules/notifications/services/desktop-notification-clients.service.js';
15
+ export { handleDesktopNotificationsConnection } from '../../modules/notifications/websocket/desktop-notifications-websocket.service.js';
16
+ // getPublicKey: used by Settings to expose the Web Push subscription key.
17
+ export { getPublicKey } from './vapid-keys.service.js';
18
+ // configureWebPush: used by the server entrypoint during notification startup.
19
+ export { configureWebPush } from './vapid-keys.service.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/modules/notifications/index.ts"],"names":[],"mappings":"AAAA,OAAO;AACL,gFAAgF;AAChF,wBAAwB;AACxB,mFAAmF;AACnF,uBAAuB;AACvB,qFAAqF;AACrF,mBAAmB;AACnB,yDAAyD;AACzD,eAAe;AACf,uEAAuE;AACvE,gBAAgB;AAChB,0FAA0F;AAC1F,6BAA6B,GAC9B,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,mCAAmC,GACpC,MAAM,0EAA0E,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,8EAA8E,CAAC;AACpI,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,115 @@
1
+ import express from 'express';
2
+ import { notificationChannelEndpointsDb, notificationPreferencesDb } from '../../modules/database/index.js';
3
+ const router = express.Router();
4
+ function readText(value) {
5
+ return typeof value === 'string' ? value.trim() : '';
6
+ }
7
+ function sanitizeEndpoint(endpoint) {
8
+ return {
9
+ id: endpoint.id,
10
+ channel: endpoint.channel,
11
+ endpointId: endpoint.endpoint_id,
12
+ label: endpoint.label,
13
+ metadata: notificationChannelEndpointsDb.parseMetadata(endpoint.metadata_json),
14
+ enabled: Boolean(endpoint.enabled),
15
+ lastSeenAt: endpoint.last_seen_at,
16
+ createdAt: endpoint.created_at,
17
+ updatedAt: endpoint.updated_at,
18
+ };
19
+ }
20
+ function readUserId(req) {
21
+ const userId = Number(req.user?.id);
22
+ if (!Number.isInteger(userId) || userId <= 0) {
23
+ throw new Error('Authenticated user is missing');
24
+ }
25
+ return userId;
26
+ }
27
+ function updateChannelPreference(userId, channel) {
28
+ const currentPrefs = notificationPreferencesDb.getPreferences(userId);
29
+ const hasEnabledEndpoint = notificationChannelEndpointsDb.getEnabledEndpoints(userId, channel).length > 0;
30
+ return notificationPreferencesDb.updatePreferences(userId, {
31
+ ...currentPrefs,
32
+ channels: { ...currentPrefs.channels, [channel]: hasEnabledEndpoint },
33
+ });
34
+ }
35
+ router.get('/endpoints', (req, res) => {
36
+ try {
37
+ const channel = readText(req.query.channel);
38
+ if (!channel) {
39
+ return res.status(400).json({ error: 'channel is required' });
40
+ }
41
+ const userId = readUserId(req);
42
+ const endpoints = notificationChannelEndpointsDb
43
+ .getEndpoints(userId, channel)
44
+ .map(sanitizeEndpoint);
45
+ return res.json({ success: true, endpoints });
46
+ }
47
+ catch (error) {
48
+ console.error('Error fetching notification endpoints:', error);
49
+ return res.status(500).json({ error: 'Failed to fetch notification endpoints' });
50
+ }
51
+ });
52
+ router.post('/endpoints/current', (req, res) => {
53
+ try {
54
+ const { channel, endpointId, label, metadata = {}, enabled = true } = req.body || {};
55
+ const normalizedChannel = readText(channel);
56
+ const normalizedEndpointId = readText(endpointId);
57
+ if (!normalizedChannel || !normalizedEndpointId) {
58
+ return res.status(400).json({ error: 'channel and endpointId are required' });
59
+ }
60
+ const userId = readUserId(req);
61
+ const endpoint = notificationChannelEndpointsDb.upsertEndpoint({
62
+ userId,
63
+ channel: normalizedChannel,
64
+ endpointId: normalizedEndpointId,
65
+ label,
66
+ metadata: metadata && typeof metadata === 'object' ? metadata : {},
67
+ enabled: enabled !== false,
68
+ });
69
+ const preferences = updateChannelPreference(userId, normalizedChannel);
70
+ return res.json({ success: true, endpoint: sanitizeEndpoint(endpoint), preferences });
71
+ }
72
+ catch (error) {
73
+ console.error('Error registering notification endpoint:', error);
74
+ return res.status(500).json({ error: 'Failed to register notification endpoint' });
75
+ }
76
+ });
77
+ router.patch('/endpoints/:channel/:endpointId', (req, res) => {
78
+ try {
79
+ const { channel, endpointId } = req.params;
80
+ const { enabled } = req.body || {};
81
+ if (typeof enabled !== 'boolean') {
82
+ return res.status(400).json({ error: 'enabled must be a boolean' });
83
+ }
84
+ const userId = readUserId(req);
85
+ const updated = notificationChannelEndpointsDb.setEndpointEnabled(userId, channel, endpointId, enabled);
86
+ if (!updated) {
87
+ return res.status(404).json({ error: 'Notification endpoint not found' });
88
+ }
89
+ const endpoint = notificationChannelEndpointsDb.getEndpoint(userId, channel, endpointId);
90
+ const preferences = updateChannelPreference(userId, channel);
91
+ return res.json({ success: true, endpoint: endpoint ? sanitizeEndpoint(endpoint) : null, preferences });
92
+ }
93
+ catch (error) {
94
+ console.error('Error updating notification endpoint:', error);
95
+ return res.status(500).json({ error: 'Failed to update notification endpoint' });
96
+ }
97
+ });
98
+ router.delete('/endpoints/:channel/:endpointId', (req, res) => {
99
+ try {
100
+ const { channel, endpointId } = req.params;
101
+ const userId = readUserId(req);
102
+ const removed = notificationChannelEndpointsDb.removeEndpoint(userId, channel, endpointId);
103
+ if (!removed) {
104
+ return res.status(404).json({ error: 'Notification endpoint not found' });
105
+ }
106
+ const preferences = updateChannelPreference(userId, channel);
107
+ return res.json({ success: true, preferences });
108
+ }
109
+ catch (error) {
110
+ console.error('Error removing notification endpoint:', error);
111
+ return res.status(500).json({ error: 'Failed to remove notification endpoint' });
112
+ }
113
+ });
114
+ export default router;
115
+ //# sourceMappingURL=notifications.routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.routes.js","sourceRoot":"","sources":["../../../../server/modules/notifications/notifications.routes.ts"],"names":[],"mappings":"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"}