hammoc 1.8.3 → 1.9.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 (304) hide show
  1. package/README.md +9 -6
  2. package/package.json +1 -1
  3. package/packages/client/dist/assets/MermaidViewer-B-LwclIl.js +7 -0
  4. package/packages/client/dist/assets/PdfViewer-C3Nymwn3.js +12 -0
  5. package/packages/client/dist/assets/PdfViewer-QCQEGvBO.css +1 -0
  6. package/packages/client/dist/assets/abnfDiagram-VRR7QNED-GfhY_hnV.js +1 -0
  7. package/packages/client/dist/assets/{agentExampleHighlight-B0EHAvjx.js → agentExampleHighlight-CyhVLy0_.js} +1 -1
  8. package/packages/client/dist/assets/arc-8nyjXGC3.js +1 -0
  9. package/packages/client/dist/assets/architectureDiagram-ZJ3FMSHR-B4onXLm4.js +36 -0
  10. package/packages/client/dist/assets/blockDiagram-677ZJIJ3-D0D6ncaN.js +132 -0
  11. package/packages/client/dist/assets/c4Diagram-LMCZKHZV-CE7Tip-_.js +10 -0
  12. package/packages/client/dist/assets/channel-CPjlbdOo.js +1 -0
  13. package/packages/client/dist/assets/chunk-2Q5K7J3B-4rW1da1Z.js +1 -0
  14. package/packages/client/dist/assets/chunk-32BRIVSS-JuzxS4QA.js +1 -0
  15. package/packages/client/dist/assets/chunk-5VM5RSS4-WRNf-xsi.js +15 -0
  16. package/packages/client/dist/assets/chunk-EX3LRPZG-BDWPlBKO.js +231 -0
  17. package/packages/client/dist/assets/chunk-JWPE2WC7-B8nCyQAc.js +1 -0
  18. package/packages/client/dist/assets/chunk-MOJQB5TN-7c-yriHe.js +88 -0
  19. package/packages/client/dist/assets/chunk-RYQCIY6F-LTDywRs7.js +1 -0
  20. package/packages/client/dist/assets/chunk-V7JOEXUC-DjVgQpjl.js +206 -0
  21. package/packages/client/dist/assets/chunk-VR4S4FIN-7jDdkUpx.js +1 -0
  22. package/packages/client/dist/assets/chunk-XXDRQBXY-ENKV2O8a.js +1 -0
  23. package/packages/client/dist/assets/classDiagram-OUVF2IWQ-C0PbC7Pi.js +1 -0
  24. package/packages/client/dist/assets/classDiagram-v2-EOCWNBFH-C0PbC7Pi.js +1 -0
  25. package/packages/client/dist/assets/{commandTokenHighlight-BFQeQmwm.js → commandTokenHighlight-DGP0RKx0.js} +1 -1
  26. package/packages/client/dist/assets/cose-bilkent-JH36ORCC-CQTNdQ-g.js +1 -0
  27. package/packages/client/dist/assets/cynefin-VYW2F7L2-BYlAJRcO.js +178 -0
  28. package/packages/client/dist/assets/cynefinDiagram-TSTJHNR4-7zyUTflT.js +62 -0
  29. package/packages/client/dist/assets/cytoscape.esm-DTSO7Bv0.js +331 -0
  30. package/packages/client/dist/assets/dagre-VKFMJZFB-DyZir42W.js +4 -0
  31. package/packages/client/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  32. package/packages/client/dist/assets/diagram-FQU43EPY-CmNAU8Nw.js +3 -0
  33. package/packages/client/dist/assets/diagram-G47NLZAW-B0EIk03o.js +24 -0
  34. package/packages/client/dist/assets/diagram-NH7WQ7WH-Dulv0f1N.js +24 -0
  35. package/packages/client/dist/assets/diagram-OA4YK3LP-DEEcMLgi.js +30 -0
  36. package/packages/client/dist/assets/diagram-WEI45ONY-ZYebAZ93.js +41 -0
  37. package/packages/client/dist/assets/ebnfDiagram-CCIWWBDH-DCHpt3qn.js +1 -0
  38. package/packages/client/dist/assets/erDiagram-Q63AITRT-B6T87-48.js +85 -0
  39. package/packages/client/dist/assets/flowDiagram-23GEKE2U-DAcW6mKJ.js +156 -0
  40. package/packages/client/dist/assets/ganttDiagram-NO4QXBWP-Ct_eFFcM.js +292 -0
  41. package/packages/client/dist/assets/gitGraphDiagram-IHSO6WYX-BGi8Fdm2.js +106 -0
  42. package/packages/client/dist/assets/graph-C9eacEi8.js +1 -0
  43. package/packages/client/dist/assets/index-CtMiUbMJ.js +1671 -0
  44. package/packages/client/dist/assets/index-hTu6ZG2N.js +2 -0
  45. package/packages/client/dist/assets/index-oBa2uNlv.css +32 -0
  46. package/packages/client/dist/assets/infoDiagram-FWYZ7A6U-CqvwbXJn.js +2 -0
  47. package/packages/client/dist/assets/init-Gi6I4Gst.js +1 -0
  48. package/packages/client/dist/assets/ishikawaDiagram-FXEZZL3T-CHhr5ioQ.js +70 -0
  49. package/packages/client/dist/assets/journeyDiagram-5HDEW3XC-d20NzZAd.js +139 -0
  50. package/packages/client/dist/assets/kanban-definition-HUTT4EX6-CHx3wOer.js +89 -0
  51. package/packages/client/dist/assets/katex-C5jXJg4s.js +257 -0
  52. package/packages/client/dist/assets/layout-DEXfKzaS.js +1 -0
  53. package/packages/client/dist/assets/linear-Cnp1E9M4.js +1 -0
  54. package/packages/client/dist/assets/map-Czzmt4hB.js +1 -0
  55. package/packages/client/dist/assets/mermaid.core-jAhLhPYr.js +314 -0
  56. package/packages/client/dist/assets/mindmap-definition-LN4V7U3C-zi30RPoJ.js +96 -0
  57. package/packages/client/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  58. package/packages/client/dist/assets/pdf.worker.min-qwK7q_zL.mjs +28 -0
  59. package/packages/client/dist/assets/pegDiagram-2B236MQR-4gKLzTqu.js +1 -0
  60. package/packages/client/dist/assets/pieDiagram-ENE6RG2P-DRDhpjxP.js +39 -0
  61. package/packages/client/dist/assets/quadrantDiagram-ABIIQ3AL-FmTxRIlW.js +7 -0
  62. package/packages/client/dist/assets/railroadDiagram-RFXS5EU6-Bc-Q7iPs.js +1 -0
  63. package/packages/client/dist/assets/requirementDiagram-TGXJPOKE-D209tlqv.js +84 -0
  64. package/packages/client/dist/assets/sankeyDiagram-HTMAVEWB--I_lSbCV.js +40 -0
  65. package/packages/client/dist/assets/sequenceDiagram-DBY2YBRQ-Da5YJcDJ.js +162 -0
  66. package/packages/client/dist/assets/sizeCapture-X5ZJPWSS-DYuc-rzB.js +1 -0
  67. package/packages/client/dist/assets/{snippetTokenHighlight-DVju7SBc.js → snippetTokenHighlight-qXHxvlCE.js} +1 -1
  68. package/packages/client/dist/assets/stateDiagram-2N3HPSRC-DoOeZoRP.js +1 -0
  69. package/packages/client/dist/assets/stateDiagram-v2-6OUMAXLB-DLkUyWs6.js +1 -0
  70. package/packages/client/dist/assets/swimlanes-5IMT3BWC-BcR7uCTf.js +2 -0
  71. package/packages/client/dist/assets/swimlanesDiagram-G3AALYLV-C0FDo-hf.js +8 -0
  72. package/packages/client/dist/assets/timeline-definition-FHXFAJF6-CLzKR6_i.js +120 -0
  73. package/packages/client/dist/assets/vennDiagram-L72KCM5P-TajEacPR.js +34 -0
  74. package/packages/client/dist/assets/wardleyDiagram-EHGQE667-DKvVEb3V.js +78 -0
  75. package/packages/client/dist/assets/xychartDiagram-FW5EYKEG-CaJG8r0j.js +7 -0
  76. package/packages/client/dist/index.html +2 -2
  77. package/packages/client/dist/sw.js +2 -2
  78. package/packages/server/dist/controllers/accountController.d.ts.map +1 -1
  79. package/packages/server/dist/controllers/accountController.js +31 -11
  80. package/packages/server/dist/controllers/accountController.js.map +1 -1
  81. package/packages/server/dist/controllers/fileSystemController.d.ts +6 -0
  82. package/packages/server/dist/controllers/fileSystemController.d.ts.map +1 -1
  83. package/packages/server/dist/controllers/fileSystemController.js +34 -0
  84. package/packages/server/dist/controllers/fileSystemController.js.map +1 -1
  85. package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
  86. package/packages/server/dist/controllers/projectController.js +4 -2
  87. package/packages/server/dist/controllers/projectController.js.map +1 -1
  88. package/packages/server/dist/controllers/sessionController.d.ts +5 -0
  89. package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
  90. package/packages/server/dist/controllers/sessionController.js +95 -3
  91. package/packages/server/dist/controllers/sessionController.js.map +1 -1
  92. package/packages/server/dist/handlers/hookBridge.d.ts +131 -0
  93. package/packages/server/dist/handlers/hookBridge.d.ts.map +1 -0
  94. package/packages/server/dist/handlers/hookBridge.js +178 -0
  95. package/packages/server/dist/handlers/hookBridge.js.map +1 -0
  96. package/packages/server/dist/handlers/streamCallbacks.d.ts.map +1 -1
  97. package/packages/server/dist/handlers/streamCallbacks.js +30 -4
  98. package/packages/server/dist/handlers/streamCallbacks.js.map +1 -1
  99. package/packages/server/dist/handlers/websocket.d.ts +44 -2
  100. package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
  101. package/packages/server/dist/handlers/websocket.js +666 -64
  102. package/packages/server/dist/handlers/websocket.js.map +1 -1
  103. package/packages/server/dist/index.js +4 -1
  104. package/packages/server/dist/index.js.map +1 -1
  105. package/packages/server/dist/locales/en/server.json +9 -3
  106. package/packages/server/dist/locales/es/server.json +9 -3
  107. package/packages/server/dist/locales/ja/server.json +9 -3
  108. package/packages/server/dist/locales/ko/server.json +9 -3
  109. package/packages/server/dist/locales/pt/server.json +9 -3
  110. package/packages/server/dist/locales/zh-CN/server.json +9 -3
  111. package/packages/server/dist/routes/account.d.ts.map +1 -1
  112. package/packages/server/dist/routes/account.js +4 -2
  113. package/packages/server/dist/routes/account.js.map +1 -1
  114. package/packages/server/dist/routes/fileSystem.d.ts.map +1 -1
  115. package/packages/server/dist/routes/fileSystem.js +2 -0
  116. package/packages/server/dist/routes/fileSystem.js.map +1 -1
  117. package/packages/server/dist/routes/sessions.d.ts.map +1 -1
  118. package/packages/server/dist/routes/sessions.js +2 -0
  119. package/packages/server/dist/routes/sessions.js.map +1 -1
  120. package/packages/server/dist/services/accountInfoService.d.ts +36 -1
  121. package/packages/server/dist/services/accountInfoService.d.ts.map +1 -1
  122. package/packages/server/dist/services/accountInfoService.js +90 -4
  123. package/packages/server/dist/services/accountInfoService.js.map +1 -1
  124. package/packages/server/dist/services/accountStorageService.d.ts +55 -9
  125. package/packages/server/dist/services/accountStorageService.d.ts.map +1 -1
  126. package/packages/server/dist/services/accountStorageService.js +244 -12
  127. package/packages/server/dist/services/accountStorageService.js.map +1 -1
  128. package/packages/server/dist/services/chatEngine.d.ts +59 -3
  129. package/packages/server/dist/services/chatEngine.d.ts.map +1 -1
  130. package/packages/server/dist/services/chatService.d.ts +112 -3
  131. package/packages/server/dist/services/chatService.d.ts.map +1 -1
  132. package/packages/server/dist/services/chatService.js +353 -98
  133. package/packages/server/dist/services/chatService.js.map +1 -1
  134. package/packages/server/dist/services/claudeLoginService.d.ts +14 -3
  135. package/packages/server/dist/services/claudeLoginService.d.ts.map +1 -1
  136. package/packages/server/dist/services/claudeLoginService.js +18 -4
  137. package/packages/server/dist/services/claudeLoginService.js.map +1 -1
  138. package/packages/server/dist/services/cliChatEngine.d.ts.map +1 -1
  139. package/packages/server/dist/services/cliChatEngine.js +124 -22
  140. package/packages/server/dist/services/cliChatEngine.js.map +1 -1
  141. package/packages/server/dist/services/cliModalDetect.d.ts +14 -0
  142. package/packages/server/dist/services/cliModalDetect.d.ts.map +1 -1
  143. package/packages/server/dist/services/cliModalDetect.js +12 -3
  144. package/packages/server/dist/services/cliModalDetect.js.map +1 -1
  145. package/packages/server/dist/services/cliSessionPool.js +1 -1
  146. package/packages/server/dist/services/cliSessionPool.js.map +1 -1
  147. package/packages/server/dist/services/commandService.d.ts.map +1 -1
  148. package/packages/server/dist/services/commandService.js +19 -9
  149. package/packages/server/dist/services/commandService.js.map +1 -1
  150. package/packages/server/dist/services/engineResidencyRegistry.d.ts +112 -0
  151. package/packages/server/dist/services/engineResidencyRegistry.d.ts.map +1 -0
  152. package/packages/server/dist/services/engineResidencyRegistry.js +195 -0
  153. package/packages/server/dist/services/engineResidencyRegistry.js.map +1 -0
  154. package/packages/server/dist/services/harnessAgentService.d.ts.map +1 -1
  155. package/packages/server/dist/services/harnessAgentService.js +12 -2
  156. package/packages/server/dist/services/harnessAgentService.js.map +1 -1
  157. package/packages/server/dist/services/harnessLintService.d.ts.map +1 -1
  158. package/packages/server/dist/services/harnessLintService.js +25 -114
  159. package/packages/server/dist/services/harnessLintService.js.map +1 -1
  160. package/packages/server/dist/services/historyParser.d.ts.map +1 -1
  161. package/packages/server/dist/services/historyParser.js +23 -6
  162. package/packages/server/dist/services/historyParser.js.map +1 -1
  163. package/packages/server/dist/services/imageStorageService.d.ts.map +1 -1
  164. package/packages/server/dist/services/imageStorageService.js +7 -0
  165. package/packages/server/dist/services/imageStorageService.js.map +1 -1
  166. package/packages/server/dist/services/projectService.d.ts +4 -1
  167. package/packages/server/dist/services/projectService.d.ts.map +1 -1
  168. package/packages/server/dist/services/projectService.js +14 -1
  169. package/packages/server/dist/services/projectService.js.map +1 -1
  170. package/packages/server/dist/services/promptQueue.d.ts +34 -0
  171. package/packages/server/dist/services/promptQueue.d.ts.map +1 -0
  172. package/packages/server/dist/services/promptQueue.js +80 -0
  173. package/packages/server/dist/services/promptQueue.js.map +1 -0
  174. package/packages/server/dist/services/ptyService.d.ts.map +1 -1
  175. package/packages/server/dist/services/ptyService.js +4 -1
  176. package/packages/server/dist/services/ptyService.js.map +1 -1
  177. package/packages/server/dist/services/queueService.d.ts.map +1 -1
  178. package/packages/server/dist/services/queueService.js +62 -4
  179. package/packages/server/dist/services/queueService.js.map +1 -1
  180. package/packages/server/dist/services/rateLimitProbeService.d.ts +73 -3
  181. package/packages/server/dist/services/rateLimitProbeService.d.ts.map +1 -1
  182. package/packages/server/dist/services/rateLimitProbeService.js +397 -30
  183. package/packages/server/dist/services/rateLimitProbeService.js.map +1 -1
  184. package/packages/server/dist/services/sessionBufferManager.d.ts.map +1 -1
  185. package/packages/server/dist/services/sessionBufferManager.js +22 -4
  186. package/packages/server/dist/services/sessionBufferManager.js.map +1 -1
  187. package/packages/server/dist/services/sessionExportService.d.ts +34 -0
  188. package/packages/server/dist/services/sessionExportService.d.ts.map +1 -0
  189. package/packages/server/dist/services/sessionExportService.js +269 -0
  190. package/packages/server/dist/services/sessionExportService.js.map +1 -0
  191. package/packages/server/dist/services/sessionService.d.ts +6 -0
  192. package/packages/server/dist/services/sessionService.d.ts.map +1 -1
  193. package/packages/server/dist/services/sessionService.js +30 -9
  194. package/packages/server/dist/services/sessionService.js.map +1 -1
  195. package/packages/server/dist/services/streamHandler.d.ts +177 -1
  196. package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
  197. package/packages/server/dist/services/streamHandler.js +425 -39
  198. package/packages/server/dist/services/streamHandler.js.map +1 -1
  199. package/packages/server/dist/services/workspaceContext.d.ts.map +1 -1
  200. package/packages/server/dist/services/workspaceContext.js +6 -0
  201. package/packages/server/dist/services/workspaceContext.js.map +1 -1
  202. package/packages/server/dist/snippets/fix-lint-command-not-on-path +13 -0
  203. package/packages/server/dist/snippets/fix-lint-duplicate-name +12 -0
  204. package/packages/server/dist/snippets/fix-lint-env-var-undefined +13 -0
  205. package/packages/server/dist/snippets/fix-lint-regex-invalid +14 -0
  206. package/packages/server/dist/snippets/fix-lint-tools-non-standard +14 -0
  207. package/packages/server/dist/snippets/fix-lint-url-invalid +13 -0
  208. package/packages/server/dist/snippets/fix-lint-yaml-parse-error +14 -0
  209. package/packages/server/dist/snippets/fix-malformed-skill +17 -0
  210. package/packages/server/dist/utils/backgroundHookSettings.d.ts +31 -0
  211. package/packages/server/dist/utils/backgroundHookSettings.d.ts.map +1 -0
  212. package/packages/server/dist/utils/backgroundHookSettings.js +41 -0
  213. package/packages/server/dist/utils/backgroundHookSettings.js.map +1 -0
  214. package/packages/server/dist/utils/backgroundTaskPoller.d.ts +69 -0
  215. package/packages/server/dist/utils/backgroundTaskPoller.d.ts.map +1 -0
  216. package/packages/server/dist/utils/backgroundTaskPoller.js +356 -0
  217. package/packages/server/dist/utils/backgroundTaskPoller.js.map +1 -0
  218. package/packages/server/dist/utils/backgroundTaskTracker.d.ts +51 -3
  219. package/packages/server/dist/utils/backgroundTaskTracker.d.ts.map +1 -1
  220. package/packages/server/dist/utils/backgroundTaskTracker.js +117 -9
  221. package/packages/server/dist/utils/backgroundTaskTracker.js.map +1 -1
  222. package/packages/server/dist/utils/backgroundToolGuard.d.ts +26 -0
  223. package/packages/server/dist/utils/backgroundToolGuard.d.ts.map +1 -0
  224. package/packages/server/dist/utils/backgroundToolGuard.js +40 -0
  225. package/packages/server/dist/utils/backgroundToolGuard.js.map +1 -0
  226. package/packages/server/dist/utils/boundedRing.d.ts +44 -0
  227. package/packages/server/dist/utils/boundedRing.d.ts.map +1 -0
  228. package/packages/server/dist/utils/boundedRing.js +77 -0
  229. package/packages/server/dist/utils/boundedRing.js.map +1 -0
  230. package/packages/server/dist/utils/effortUtils.d.ts +7 -6
  231. package/packages/server/dist/utils/effortUtils.d.ts.map +1 -1
  232. package/packages/server/dist/utils/effortUtils.js +10 -9
  233. package/packages/server/dist/utils/effortUtils.js.map +1 -1
  234. package/packages/server/dist/utils/messageTree.d.ts +25 -0
  235. package/packages/server/dist/utils/messageTree.d.ts.map +1 -1
  236. package/packages/server/dist/utils/messageTree.js +167 -3
  237. package/packages/server/dist/utils/messageTree.js.map +1 -1
  238. package/packages/server/dist/utils/pathUtils.d.ts.map +1 -1
  239. package/packages/server/dist/utils/pathUtils.js +1 -0
  240. package/packages/server/dist/utils/pathUtils.js.map +1 -1
  241. package/packages/server/dist/utils/residencyActivation.d.ts +61 -0
  242. package/packages/server/dist/utils/residencyActivation.d.ts.map +1 -0
  243. package/packages/server/dist/utils/residencyActivation.js +60 -0
  244. package/packages/server/dist/utils/residencyActivation.js.map +1 -0
  245. package/packages/server/dist/utils/residencyPolicy.d.ts +62 -0
  246. package/packages/server/dist/utils/residencyPolicy.d.ts.map +1 -0
  247. package/packages/server/dist/utils/residencyPolicy.js +82 -0
  248. package/packages/server/dist/utils/residencyPolicy.js.map +1 -0
  249. package/packages/server/dist/utils/runtimeParamStrategy.d.ts +51 -0
  250. package/packages/server/dist/utils/runtimeParamStrategy.d.ts.map +1 -0
  251. package/packages/server/dist/utils/runtimeParamStrategy.js +60 -0
  252. package/packages/server/dist/utils/runtimeParamStrategy.js.map +1 -0
  253. package/packages/server/dist/utils/stopStrategy.d.ts +62 -0
  254. package/packages/server/dist/utils/stopStrategy.d.ts.map +1 -0
  255. package/packages/server/dist/utils/stopStrategy.js +65 -0
  256. package/packages/server/dist/utils/stopStrategy.js.map +1 -0
  257. package/packages/server/resources/internals/INDEX.md +1 -1
  258. package/packages/server/resources/internals/image-storage.md +14 -2
  259. package/packages/server/resources/manual/02-chat.md +30 -13
  260. package/packages/server/resources/manual/03-sessions.md +22 -1
  261. package/packages/server/resources/manual/04-slash-commands-favorites.md +2 -1
  262. package/packages/server/resources/manual/05-projects.md +1 -0
  263. package/packages/server/resources/manual/06-file-explorer-editor.md +21 -2
  264. package/packages/server/resources/manual/07-git.md +1 -1
  265. package/packages/server/resources/manual/08-terminal.md +1 -1
  266. package/packages/server/resources/manual/12-harness-workbench.md +21 -16
  267. package/packages/server/resources/manual/13-settings.md +22 -6
  268. package/packages/server/resources/manual/14-keyboard-shortcuts.md +8 -1
  269. package/packages/shared/dist/constants/messageTree.d.ts +2 -0
  270. package/packages/shared/dist/constants/messageTree.d.ts.map +1 -1
  271. package/packages/shared/dist/constants/messageTree.js +6 -0
  272. package/packages/shared/dist/constants/messageTree.js.map +1 -1
  273. package/packages/shared/dist/index.d.ts +1 -1
  274. package/packages/shared/dist/index.d.ts.map +1 -1
  275. package/packages/shared/dist/index.js.map +1 -1
  276. package/packages/shared/dist/types/accounts.d.ts +13 -0
  277. package/packages/shared/dist/types/accounts.d.ts.map +1 -1
  278. package/packages/shared/dist/types/history.d.ts +14 -1
  279. package/packages/shared/dist/types/history.d.ts.map +1 -1
  280. package/packages/shared/dist/types/message.d.ts +26 -3
  281. package/packages/shared/dist/types/message.d.ts.map +1 -1
  282. package/packages/shared/dist/types/message.js +21 -1
  283. package/packages/shared/dist/types/message.js.map +1 -1
  284. package/packages/shared/dist/types/preferences.d.ts +5 -1
  285. package/packages/shared/dist/types/preferences.d.ts.map +1 -1
  286. package/packages/shared/dist/types/preferences.js +3 -0
  287. package/packages/shared/dist/types/preferences.js.map +1 -1
  288. package/packages/shared/dist/types/sdk.d.ts +68 -10
  289. package/packages/shared/dist/types/sdk.d.ts.map +1 -1
  290. package/packages/shared/dist/types/sdk.js +56 -16
  291. package/packages/shared/dist/types/sdk.js.map +1 -1
  292. package/packages/shared/dist/types/session.d.ts +6 -0
  293. package/packages/shared/dist/types/session.d.ts.map +1 -1
  294. package/packages/shared/dist/types/session.js +6 -0
  295. package/packages/shared/dist/types/session.js.map +1 -1
  296. package/packages/shared/dist/types/streaming.d.ts +32 -2
  297. package/packages/shared/dist/types/streaming.d.ts.map +1 -1
  298. package/packages/shared/dist/types/streaming.js.map +1 -1
  299. package/packages/shared/dist/types/websocket.d.ts +4 -0
  300. package/packages/shared/dist/types/websocket.d.ts.map +1 -1
  301. package/scripts/probe-persistent-hooks.mjs +795 -0
  302. package/packages/client/dist/assets/index-BX7y_Qt3.css +0 -32
  303. package/packages/client/dist/assets/index-Bav7AMMy.js +0 -2
  304. package/packages/client/dist/assets/index-DgRQoBIg.js +0 -1657
package/README.md CHANGED
@@ -125,7 +125,8 @@ Real-time conversations with Claude through a rich web UI.
125
125
 
126
126
  - **Streaming responses** — Messages appear progressively as Claude generates them
127
127
  - **Markdown rendering** — Full markdown support with syntax-highlighted code blocks, copy buttons, and inline HTML rendering
128
- - **Image attachments** — Attach up to 5 images (PNG, JPEG, GIF, WebP) per message with thumbnail display
128
+ - **Mermaid diagram viewer** — Render `mermaid` code blocks in a fullscreen viewer with zoom controls
129
+ - **Image & PDF attachments** — Attach up to 5 files per message (PNG, JPEG, GIF, WebP images and PDF documents)
129
130
  - **Tool call visualization** — See what tools Claude uses, with inputs, outputs, and execution time
130
131
  - **Diff viewer** — Side-by-side file diff display for code changes
131
132
  - **Extended thinking** — View Claude's reasoning process in collapsible blocks
@@ -145,6 +146,7 @@ Real-time conversations with Claude through a rich web UI.
145
146
 
146
147
  - **Session list** — Browse past conversations with preview, message count, and date
147
148
  - **Session search** — Search by name or conversation content (server-side)
149
+ - **Session export** — Download any conversation (all branches, tool calls, thinking) as a Markdown file
148
150
  - **Session renaming & deletion** — Keep conversations organized
149
151
  - **Quick session panel** — Access sessions without leaving the chat
150
152
  - **Active streaming indicator** — See which sessions are currently active
@@ -162,8 +164,8 @@ Real-time conversations with Claude through a rich web UI.
162
164
 
163
165
  ### Model & Permission Control
164
166
 
165
- - **Model selector** — Choose between Claude Sonnet, Opus, Haiku, and Fable variants with the model name on the button, plus a **1M context** toggle (auto-on for Opus, opt-in for Sonnet and Fable)
166
- - **Thinking effort** — Adjust reasoning intensity (Low / Medium / High, plus Max on 4.6 models and XHigh on Opus 4.7+ / Fable 5)
167
+ - **Model selector** — Choose between Claude Sonnet, Opus, Haiku, and Fable variants with the model name on the button, plus a **1M context** toggle (auto-on for Opus 4.8 / Sonnet 5, opt-in for Sonnet 4.6); credit-billed Mythos-class models are gated behind an explicit opt-in with a Credit badge
168
+ - **Thinking effort** — Adjust reasoning intensity (Low / Medium / High, plus Max / XHigh on newer models such as Opus 4.7+, Sonnet 5, and Fable 5)
167
169
  - **Permission modes** — Plan, Ask (default), Auto, or Bypass
168
170
  - **Conversation engine** — Run chats through the Claude Agent SDK (API credits, Recommended) or the Claude Code CLI (subscription billing, Beta), switchable globally or per-project with side-by-side comparison
169
171
  - **Per-project overrides** — Different settings per project
@@ -184,7 +186,7 @@ Edit the `.claude/` configuration tree from inside Hammoc — no need to hand-ed
184
186
  - **CLAUDE.md editor** — Two-column edit of project and global instruction documents with live Markdown preview
185
187
  - **Snippets & Favorites** — Manage Hammoc `%snippets` (project / global / bundled) alongside Claude Code slash-command favorites in a single panel
186
188
  - **Share badges + mode banner** — See at a glance which files are git-tracked vs local, so you know which edits will reach teammates
187
- - **Static lint (7 rules)** — Surfaces duplicate names, invalid hook regex, missing env vars, malformed MCP URLs, non-standard agent tools, etc.; per-rule on/off preferences
189
+ - **Static lint (7 rules)** — Surfaces duplicate names, invalid hook regex, missing env vars, malformed MCP URLs, non-standard agent tools, etc.; per-rule on/off preferences and a one-click **Fix** that hands the broken file to Claude in a new session
188
190
  - **Secret-on-shared guard** — Blocks plaintext API keys / tokens from sneaking into committed config files, with one-click "move to local sibling" remediation
189
191
  - **Bundle Export / Import** — Pack the entire workbench (5 domains + `CLAUDE.md` + snippets) into a single `.zip` with a chosen secrets policy (exclude / env-ref placeholders / explicit with multi-layer guards), import on another machine with a per-item conflict preview — round-trip identical, ideal for Mode B projects where `.claude/` is git-ignored
190
192
  - **Fullscreen editor overlay** — Maximize any body field (skill, command, agent, CLAUDE.md, snippet) into a fullscreen CodeMirror
@@ -198,8 +200,9 @@ Edit the `.claude/` configuration tree from inside Hammoc — no need to hand-ed
198
200
  - **Grid & List views** — Finder-style grid or traditional list layout
199
201
  - **Tree navigation** — Directory hierarchy with breadcrumbs
200
202
  - **Text editor** — Syntax highlighting with save (Ctrl+S) and binary file download
201
- - **Markdown preview** — Toggle between edit and preview modes
203
+ - **Markdown & HTML preview** — Toggle between edit and preview modes (`.md` rendered inline, `.html` in a sandboxed frame)
202
204
  - **Image viewer** — Full-screen viewer with zoom, fit-to-screen/width/height and 1:1 toggles, touch gestures (pinch, swipe, pan), and multi-image navigation across attachments or folder siblings
205
+ - **PDF viewer** — In-app fullscreen PDF rendering with page navigation, zoom, and download
203
206
  - **External change detection** — Editor alerts you when an open file is modified or deleted on disk, with reload / overwrite options for stale-write conflicts
204
207
  - **File operations** — Create, rename, and delete files and folders
205
208
 
@@ -247,7 +250,7 @@ Automate repetitive prompt sequences.
247
250
  - **Chat timeout** — 1m, 3m, 5m (default), 10m, 30m
248
251
  - **Web Push & Telegram notifications** — Get notified on permission requests, completions, and errors
249
252
  - **Display name** — Set a preferred name for the agent to use when addressing you
250
- - **Claude account & usage** — In-app Claude sign-in, multi-account management (add/switch/remove), and live 5h / 7d usage quota monitoring
253
+ - **Claude account & usage** — In-app Claude sign-in, multi-account management (add/switch/remove), and live usage monitoring: 5h / 7d windows, per-model weekly caps, and extra-usage credit balance
251
254
  - **System prompt editing** — Customize Claude's behavior per project
252
255
  - **Advanced** — Server restart, software updates, SDK parameters (thinking tokens, turns, budget — now applied to both chat and queue runs)
253
256
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hammoc",
3
- "version": "1.8.3",
3
+ "version": "1.9.0",
4
4
  "description": "Web-based IDE for managing Claude Code sessions, projects, and workflows",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-jAhLhPYr.js","assets/index-CtMiUbMJ.js","assets/index-oBa2uNlv.css"])))=>i.map(i=>d[i]);
2
+ import{c as B,u as x,a as X,b as $,r as a,d as q,e as g,_ as K,f as G,j as e,W as J,Z as Q,g as U,X as Y,L as ee,T as te}from"./index-CtMiUbMJ.js";/**
3
+ * @license lucide-react v0.563.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */const ae=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],se=B("maximize",ae),E=.25,M=.25,S=4;let re=0;function oe(){const s=x(t=>t.openMermaid),f=x(t=>t.closeViewer),{t:r}=X("common"),{resolvedTheme:C}=$(),h=C==="dark",[y,w]=a.useState(null),[d,m]=a.useState("loading"),[v,V]=a.useState(""),[l,c]=a.useState(1),b=a.useRef(null),z=q(),p=g(t=>t.activePanel),k=g(t=>t.panelWidth),I=g(t=>t.panelSide),L=480,[O,T]=a.useState(()=>typeof window<"u"?window.innerWidth:1024);a.useEffect(()=>{const t=()=>T(window.innerWidth);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]);const j=!(z||p!==null&&O-k<L)&&p?k:0,u=(s==null?void 0:s.code)??null;a.useEffect(()=>{s&&(b.current=s)},[s]),a.useEffect(()=>{if(!u)return;let t=!1;m("loading"),w(null),c(1);const o=`mermaid-viewer-${re++}`;return(async()=>{var _;try{const n=(await K(async()=>{const{default:D}=await import("./mermaid.core-jAhLhPYr.js").then(F=>F.bp);return{default:D}},__vite__mapDeps([0,1,2]))).default;n.initialize({startOnLoad:!1,theme:h?"dark":"default",securityLevel:"strict",fontFamily:"ui-sans-serif, system-ui, sans-serif"});const{svg:H}=await n.render(o,u);t||(w(H),m("ready"))}catch(n){t||(V(n instanceof Error?n.message:String(n)),m("error"))}finally{(_=document.getElementById("d"+o))==null||_.remove()}})(),()=>{t=!0}},[u,h]);const i=a.useCallback(()=>f(),[f]),W=a.useCallback(()=>{const t=b.current;t&&x.getState().openMermaidViewer(t.code)},[]);G(!!s,i,W);const P=a.useCallback(()=>c(t=>Math.min(S,t+E)),[]),R=a.useCallback(()=>c(t=>Math.max(M,t-E)),[]),Z=a.useCallback(()=>c(1),[]);if(a.useEffect(()=>{if(!s)return;const t=o=>{o.key==="Escape"&&(o.stopImmediatePropagation(),i())};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[s,i]),a.useEffect(()=>{if(s)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[s]),!s)return null;const A=Math.round(l*100),N=I==="right"?{right:j}:{left:j};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 bg-black/50 z-[55] transition-[left,right] duration-300 ease-in-out",style:N,onClick:i}),e.jsxs("div",{className:"fixed inset-0 z-[60] flex flex-col bg-white dark:bg-[#1c2129] transition-[left,right] duration-300 ease-in-out",style:N,children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-gray-300 dark:border-[#3a4d5e] bg-gray-50 dark:bg-[#263240]",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(J,{className:"w-4 h-4 shrink-0 text-gray-500 dark:text-gray-300"}),e.jsx("span",{className:"truncate text-sm font-medium text-gray-700 dark:text-gray-200",children:r("mermaidViewer.title")})]}),e.jsxs("div",{className:"flex items-center gap-1 ml-3",children:[e.jsx("button",{onClick:R,disabled:l<=M,className:"w-7 h-7 flex items-center justify-center rounded hover:bg-gray-200 dark:hover:bg-[#253040] text-gray-500 dark:text-gray-300 disabled:opacity-40","aria-label":r("mermaidViewer.zoomOut"),children:e.jsx(Q,{className:"w-4 h-4"})}),e.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-300 w-12 text-center tabular-nums",children:[A,"%"]}),e.jsx("button",{onClick:P,disabled:l>=S,className:"w-7 h-7 flex items-center justify-center rounded hover:bg-gray-200 dark:hover:bg-[#253040] text-gray-500 dark:text-gray-300 disabled:opacity-40","aria-label":r("mermaidViewer.zoomIn"),children:e.jsx(U,{className:"w-4 h-4"})}),e.jsx("button",{onClick:Z,className:"w-7 h-7 flex items-center justify-center rounded hover:bg-gray-200 dark:hover:bg-[#253040] text-gray-500 dark:text-gray-300","aria-label":r("mermaidViewer.resetZoom"),children:e.jsx(se,{className:"w-4 h-4"})}),e.jsx("div",{className:"w-px h-5 bg-gray-200 dark:bg-[#253040] mx-1"}),e.jsx("button",{onClick:i,className:"p-1 rounded hover:bg-gray-200 dark:hover:bg-[#253040] text-gray-500 dark:text-gray-300","aria-label":r("mermaidViewer.close"),children:e.jsx(Y,{className:"w-5 h-5"})})]})]}),e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto bg-gray-100 dark:bg-gray-950 px-4 py-4",children:[d==="loading"&&e.jsxs("div",{className:"flex items-center gap-2 py-12 justify-center text-gray-500 dark:text-gray-300",children:[e.jsx(ee,{className:"w-6 h-6 animate-spin"}),e.jsx("span",{className:"text-sm",children:r("mermaidViewer.loading")})]}),d==="error"&&e.jsxs("div",{className:"flex flex-col items-center gap-2 py-12 text-red-500",children:[e.jsx(te,{className:"w-8 h-8"}),e.jsx("p",{className:"text-sm",children:r("mermaidViewer.renderFailed")}),v&&e.jsx("pre",{className:"max-w-full overflow-x-auto text-xs text-gray-400 whitespace-pre-wrap",children:v})]}),d==="ready"&&y&&e.jsx("div",{className:"w-fit mx-auto [&_svg]:max-w-none [&_svg]:h-auto",style:{transform:`scale(${l})`,transformOrigin:"top center"},dangerouslySetInnerHTML:{__html:y}})]})]})]})}export{oe as MermaidViewer};