hammoc 1.6.0 → 1.7.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 (226) hide show
  1. package/README.md +6 -4
  2. package/package.json +2 -2
  3. package/packages/client/dist/assets/{agentExampleHighlight-ltj9ce0U.js → agentExampleHighlight-7Olvqdpf.js} +1 -1
  4. package/packages/client/dist/assets/{commandTokenHighlight-ji_ViMb4.js → commandTokenHighlight-DtKwh4lx.js} +1 -1
  5. package/packages/client/dist/assets/{index-BT4RIi0U.js → index-Bee52CKG.js} +556 -510
  6. package/packages/client/dist/assets/index-CVy582lU.css +32 -0
  7. package/packages/client/dist/assets/{index-B-DiRGuz.js → index-DLHBUw8c.js} +1 -1
  8. package/packages/client/dist/assets/{snippetTokenHighlight-CP3v4o2g.js → snippetTokenHighlight-C8O688f4.js} +1 -1
  9. package/packages/client/dist/index.html +2 -2
  10. package/packages/client/dist/sw.js +2 -2
  11. package/packages/server/dist/_dbg_agent_rows.d.ts +2 -0
  12. package/packages/server/dist/_dbg_agent_rows.d.ts.map +1 -0
  13. package/packages/server/dist/_dbg_agent_rows.js +60 -0
  14. package/packages/server/dist/_dbg_agent_rows.js.map +1 -0
  15. package/packages/server/dist/_dbg_flicker.d.ts +2 -0
  16. package/packages/server/dist/_dbg_flicker.d.ts.map +1 -0
  17. package/packages/server/dist/_dbg_flicker.js +38 -0
  18. package/packages/server/dist/_dbg_flicker.js.map +1 -0
  19. package/packages/server/dist/_harness_cli.d.ts +2 -0
  20. package/packages/server/dist/_harness_cli.d.ts.map +1 -0
  21. package/packages/server/dist/_harness_cli.js +81 -0
  22. package/packages/server/dist/_harness_cli.js.map +1 -0
  23. package/packages/server/dist/_harness_provcard.d.ts +2 -0
  24. package/packages/server/dist/_harness_provcard.d.ts.map +1 -0
  25. package/packages/server/dist/_harness_provcard.js +67 -0
  26. package/packages/server/dist/_harness_provcard.js.map +1 -0
  27. package/packages/server/dist/_replay_dump.d.ts +2 -0
  28. package/packages/server/dist/_replay_dump.d.ts.map +1 -0
  29. package/packages/server/dist/_replay_dump.js +62 -0
  30. package/packages/server/dist/_replay_dump.js.map +1 -0
  31. package/packages/server/dist/app.d.ts.map +1 -1
  32. package/packages/server/dist/app.js +6 -0
  33. package/packages/server/dist/app.js.map +1 -1
  34. package/packages/server/dist/config/index.d.ts.map +1 -1
  35. package/packages/server/dist/config/index.js.map +1 -1
  36. package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
  37. package/packages/server/dist/controllers/projectController.js +7 -1
  38. package/packages/server/dist/controllers/projectController.js.map +1 -1
  39. package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
  40. package/packages/server/dist/controllers/sessionController.js +16 -4
  41. package/packages/server/dist/controllers/sessionController.js.map +1 -1
  42. package/packages/server/dist/controllers/systemBrowseController.d.ts +33 -0
  43. package/packages/server/dist/controllers/systemBrowseController.d.ts.map +1 -0
  44. package/packages/server/dist/controllers/systemBrowseController.js +105 -0
  45. package/packages/server/dist/controllers/systemBrowseController.js.map +1 -0
  46. package/packages/server/dist/handlers/streamCallbacks.d.ts +2 -0
  47. package/packages/server/dist/handlers/streamCallbacks.d.ts.map +1 -1
  48. package/packages/server/dist/handlers/streamCallbacks.js +17 -4
  49. package/packages/server/dist/handlers/streamCallbacks.js.map +1 -1
  50. package/packages/server/dist/handlers/websocket.d.ts +43 -3
  51. package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
  52. package/packages/server/dist/handlers/websocket.js +362 -92
  53. package/packages/server/dist/handlers/websocket.js.map +1 -1
  54. package/packages/server/dist/index.js +2 -0
  55. package/packages/server/dist/index.js.map +1 -1
  56. package/packages/server/dist/locales/en/server.json +17 -0
  57. package/packages/server/dist/locales/es/server.json +17 -0
  58. package/packages/server/dist/locales/ja/server.json +17 -0
  59. package/packages/server/dist/locales/ko/server.json +17 -0
  60. package/packages/server/dist/locales/pt/server.json +17 -0
  61. package/packages/server/dist/locales/zh-CN/server.json +17 -0
  62. package/packages/server/dist/routes/preferences.d.ts.map +1 -1
  63. package/packages/server/dist/routes/preferences.js +12 -2
  64. package/packages/server/dist/routes/preferences.js.map +1 -1
  65. package/packages/server/dist/routes/systemBrowse.d.ts +17 -0
  66. package/packages/server/dist/routes/systemBrowse.d.ts.map +1 -0
  67. package/packages/server/dist/routes/systemBrowse.js +22 -0
  68. package/packages/server/dist/routes/systemBrowse.js.map +1 -0
  69. package/packages/server/dist/services/bmadStatusService.d.ts.map +1 -1
  70. package/packages/server/dist/services/bmadStatusService.js +18 -7
  71. package/packages/server/dist/services/bmadStatusService.js.map +1 -1
  72. package/packages/server/dist/services/chatEngine.d.ts +81 -0
  73. package/packages/server/dist/services/chatEngine.d.ts.map +1 -0
  74. package/packages/server/dist/services/chatEngine.js +2 -0
  75. package/packages/server/dist/services/chatEngine.js.map +1 -0
  76. package/packages/server/dist/services/chatEngineFactory.d.ts +15 -0
  77. package/packages/server/dist/services/chatEngineFactory.d.ts.map +1 -0
  78. package/packages/server/dist/services/chatEngineFactory.js +28 -0
  79. package/packages/server/dist/services/chatEngineFactory.js.map +1 -0
  80. package/packages/server/dist/services/chatService.d.ts +34 -26
  81. package/packages/server/dist/services/chatService.d.ts.map +1 -1
  82. package/packages/server/dist/services/chatService.js +43 -103
  83. package/packages/server/dist/services/chatService.js.map +1 -1
  84. package/packages/server/dist/services/cliChatEngine.d.ts +198 -0
  85. package/packages/server/dist/services/cliChatEngine.d.ts.map +1 -0
  86. package/packages/server/dist/services/cliChatEngine.js +2977 -0
  87. package/packages/server/dist/services/cliChatEngine.js.map +1 -0
  88. package/packages/server/dist/services/cliGridCards.d.ts +87 -0
  89. package/packages/server/dist/services/cliGridCards.d.ts.map +1 -0
  90. package/packages/server/dist/services/cliGridCards.js +298 -0
  91. package/packages/server/dist/services/cliGridCards.js.map +1 -0
  92. package/packages/server/dist/services/cliGridRegion.d.ts +44 -0
  93. package/packages/server/dist/services/cliGridRegion.d.ts.map +1 -0
  94. package/packages/server/dist/services/cliGridRegion.js +94 -0
  95. package/packages/server/dist/services/cliGridRegion.js.map +1 -0
  96. package/packages/server/dist/services/cliModalDetect.d.ts +299 -0
  97. package/packages/server/dist/services/cliModalDetect.d.ts.map +1 -0
  98. package/packages/server/dist/services/cliModalDetect.js +583 -0
  99. package/packages/server/dist/services/cliModalDetect.js.map +1 -0
  100. package/packages/server/dist/services/cliScreenCache.d.ts +33 -0
  101. package/packages/server/dist/services/cliScreenCache.d.ts.map +1 -0
  102. package/packages/server/dist/services/cliScreenCache.js +48 -0
  103. package/packages/server/dist/services/cliScreenCache.js.map +1 -0
  104. package/packages/server/dist/services/cliScreenModel.d.ts +141 -0
  105. package/packages/server/dist/services/cliScreenModel.d.ts.map +1 -0
  106. package/packages/server/dist/services/cliScreenModel.js +196 -0
  107. package/packages/server/dist/services/cliScreenModel.js.map +1 -0
  108. package/packages/server/dist/services/cliScreenStallWatchdog.d.ts +41 -0
  109. package/packages/server/dist/services/cliScreenStallWatchdog.d.ts.map +1 -0
  110. package/packages/server/dist/services/cliScreenStallWatchdog.js +45 -0
  111. package/packages/server/dist/services/cliScreenStallWatchdog.js.map +1 -0
  112. package/packages/server/dist/services/cliSessionPool.d.ts +97 -0
  113. package/packages/server/dist/services/cliSessionPool.d.ts.map +1 -0
  114. package/packages/server/dist/services/cliSessionPool.js +278 -0
  115. package/packages/server/dist/services/cliSessionPool.js.map +1 -0
  116. package/packages/server/dist/services/cliSpinnerProgress.d.ts +41 -0
  117. package/packages/server/dist/services/cliSpinnerProgress.d.ts.map +1 -0
  118. package/packages/server/dist/services/cliSpinnerProgress.js +131 -0
  119. package/packages/server/dist/services/cliSpinnerProgress.js.map +1 -0
  120. package/packages/server/dist/services/fileRewind.d.ts +46 -0
  121. package/packages/server/dist/services/fileRewind.d.ts.map +1 -0
  122. package/packages/server/dist/services/fileRewind.js +77 -0
  123. package/packages/server/dist/services/fileRewind.js.map +1 -0
  124. package/packages/server/dist/services/historyParser.d.ts +11 -0
  125. package/packages/server/dist/services/historyParser.d.ts.map +1 -1
  126. package/packages/server/dist/services/historyParser.js +10 -8
  127. package/packages/server/dist/services/historyParser.js.map +1 -1
  128. package/packages/server/dist/services/imageStorageService.d.ts +12 -0
  129. package/packages/server/dist/services/imageStorageService.d.ts.map +1 -1
  130. package/packages/server/dist/services/imageStorageService.js +22 -0
  131. package/packages/server/dist/services/imageStorageService.js.map +1 -1
  132. package/packages/server/dist/services/projectService.d.ts +13 -1
  133. package/packages/server/dist/services/projectService.d.ts.map +1 -1
  134. package/packages/server/dist/services/projectService.js +32 -0
  135. package/packages/server/dist/services/projectService.js.map +1 -1
  136. package/packages/server/dist/services/queueService.d.ts.map +1 -1
  137. package/packages/server/dist/services/queueService.js +9 -3
  138. package/packages/server/dist/services/queueService.js.map +1 -1
  139. package/packages/server/dist/services/rateLimitProbeService.d.ts +15 -0
  140. package/packages/server/dist/services/rateLimitProbeService.d.ts.map +1 -1
  141. package/packages/server/dist/services/rateLimitProbeService.js +48 -19
  142. package/packages/server/dist/services/rateLimitProbeService.js.map +1 -1
  143. package/packages/server/dist/services/streamHandler.d.ts +8 -1
  144. package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
  145. package/packages/server/dist/services/streamHandler.js +12 -5
  146. package/packages/server/dist/services/streamHandler.js.map +1 -1
  147. package/packages/server/dist/services/systemBrowseService.d.ts +91 -0
  148. package/packages/server/dist/services/systemBrowseService.d.ts.map +1 -0
  149. package/packages/server/dist/services/systemBrowseService.js +372 -0
  150. package/packages/server/dist/services/systemBrowseService.js.map +1 -0
  151. package/packages/server/dist/services/workspaceContext.d.ts +24 -0
  152. package/packages/server/dist/services/workspaceContext.d.ts.map +1 -0
  153. package/packages/server/dist/services/workspaceContext.js +109 -0
  154. package/packages/server/dist/services/workspaceContext.js.map +1 -0
  155. package/packages/server/dist/snippets/qa-review +2 -0
  156. package/packages/server/dist/utils/backgroundBlock.d.ts +29 -0
  157. package/packages/server/dist/utils/backgroundBlock.d.ts.map +1 -0
  158. package/packages/server/dist/utils/backgroundBlock.js +33 -0
  159. package/packages/server/dist/utils/backgroundBlock.js.map +1 -0
  160. package/packages/server/dist/utils/backgroundTaskTracker.d.ts +20 -0
  161. package/packages/server/dist/utils/backgroundTaskTracker.d.ts.map +1 -0
  162. package/packages/server/dist/utils/backgroundTaskTracker.js +40 -0
  163. package/packages/server/dist/utils/backgroundTaskTracker.js.map +1 -0
  164. package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts +7 -0
  165. package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts.map +1 -1
  166. package/packages/server/dist/utils/bundledBinaryModelSupport.js +9 -4
  167. package/packages/server/dist/utils/bundledBinaryModelSupport.js.map +1 -1
  168. package/packages/server/dist/utils/cliDebugLog.d.ts +38 -0
  169. package/packages/server/dist/utils/cliDebugLog.d.ts.map +1 -0
  170. package/packages/server/dist/utils/cliDebugLog.js +65 -0
  171. package/packages/server/dist/utils/cliDebugLog.js.map +1 -0
  172. package/packages/server/dist/utils/cliEngineUtils.d.ts +35 -0
  173. package/packages/server/dist/utils/cliEngineUtils.d.ts.map +1 -0
  174. package/packages/server/dist/utils/cliEngineUtils.js +38 -0
  175. package/packages/server/dist/utils/cliEngineUtils.js.map +1 -0
  176. package/packages/server/dist/utils/effortUtils.d.ts.map +1 -1
  177. package/packages/server/dist/utils/effortUtils.js +5 -3
  178. package/packages/server/dist/utils/effortUtils.js.map +1 -1
  179. package/packages/server/dist/utils/trailingThrottle.d.ts +21 -0
  180. package/packages/server/dist/utils/trailingThrottle.d.ts.map +1 -0
  181. package/packages/server/dist/utils/trailingThrottle.js +36 -0
  182. package/packages/server/dist/utils/trailingThrottle.js.map +1 -0
  183. package/packages/server/package.json +61 -59
  184. package/packages/server/resources/internals/image-storage.md +9 -0
  185. package/packages/server/resources/manual/02-chat.md +22 -3
  186. package/packages/server/resources/manual/03-sessions.md +1 -0
  187. package/packages/server/resources/manual/05-projects.md +12 -1
  188. package/packages/server/resources/manual/11-bmad-method-integration.md +2 -0
  189. package/packages/server/resources/manual/13-settings.md +57 -5
  190. package/packages/shared/dist/index.d.ts +3 -0
  191. package/packages/shared/dist/index.d.ts.map +1 -1
  192. package/packages/shared/dist/index.js +6 -0
  193. package/packages/shared/dist/index.js.map +1 -1
  194. package/packages/shared/dist/types/bmadStatus.d.ts +16 -0
  195. package/packages/shared/dist/types/bmadStatus.d.ts.map +1 -1
  196. package/packages/shared/dist/types/bmadStatus.js.map +1 -1
  197. package/packages/shared/dist/types/preferences.d.ts +14 -2
  198. package/packages/shared/dist/types/preferences.d.ts.map +1 -1
  199. package/packages/shared/dist/types/preferences.js +1 -0
  200. package/packages/shared/dist/types/preferences.js.map +1 -1
  201. package/packages/shared/dist/types/project.d.ts +7 -1
  202. package/packages/shared/dist/types/project.d.ts.map +1 -1
  203. package/packages/shared/dist/types/project.js.map +1 -1
  204. package/packages/shared/dist/types/sdk.d.ts +123 -11
  205. package/packages/shared/dist/types/sdk.d.ts.map +1 -1
  206. package/packages/shared/dist/types/sdk.js +64 -19
  207. package/packages/shared/dist/types/sdk.js.map +1 -1
  208. package/packages/shared/dist/types/streaming.d.ts +2 -2
  209. package/packages/shared/dist/types/streaming.d.ts.map +1 -1
  210. package/packages/shared/dist/types/streaming.js.map +1 -1
  211. package/packages/shared/dist/types/systemBrowse.d.ts +120 -0
  212. package/packages/shared/dist/types/systemBrowse.d.ts.map +1 -0
  213. package/packages/shared/dist/types/systemBrowse.js +57 -0
  214. package/packages/shared/dist/types/systemBrowse.js.map +1 -0
  215. package/packages/shared/dist/types/websocket.d.ts +38 -0
  216. package/packages/shared/dist/types/websocket.d.ts.map +1 -1
  217. package/packages/shared/dist/utils/interruptFiller.d.ts +30 -0
  218. package/packages/shared/dist/utils/interruptFiller.d.ts.map +1 -0
  219. package/packages/shared/dist/utils/interruptFiller.js +38 -0
  220. package/packages/shared/dist/utils/interruptFiller.js.map +1 -0
  221. package/packages/shared/dist/utils/toolResultContent.d.ts +22 -0
  222. package/packages/shared/dist/utils/toolResultContent.d.ts.map +1 -0
  223. package/packages/shared/dist/utils/toolResultContent.js +29 -0
  224. package/packages/shared/dist/utils/toolResultContent.js.map +1 -0
  225. package/scripts/run-integration-test.mjs +362 -362
  226. package/packages/client/dist/assets/index-DyNJ5jEW.css +0 -32
package/README.md CHANGED
@@ -137,7 +137,8 @@ Real-time conversations with Claude through a rich web UI.
137
137
  - **Prompt history** — Navigate previous inputs with arrow keys
138
138
  - **Prompt chaining** — Queue up to 10 prompts for sequential execution (server-synced, multi-browser, drag-to-reorder)
139
139
  - **Voice input** — Dictate messages using browser speech recognition (Chrome, Edge, Safari)
140
- - **Context usage monitor** — Track token usage and cost in real-time, with auto-compact on context overflow
140
+ - **Context usage monitor** — Track token usage and cost in real-time, with auto-compact on context overflow (master switch in Settings)
141
+ - **Background task wait card** — When Claude runs background tasks, an amber card shows elapsed time and pending count with an optional Stop button
141
142
  - **Abort generation** — Stop responses with the abort button or ESC key
142
143
 
143
144
  ### Session Management
@@ -160,16 +161,17 @@ Real-time conversations with Claude through a rich web UI.
160
161
 
161
162
  ### Model & Permission Control
162
163
 
163
- - **Model selector** — Choose between Claude Sonnet, Opus, and Haiku variants (including Opus 4.8 and Sonnet 4.6 with 1M context) with model name displayed on the button
164
- - **Thinking effort** — Adjust reasoning intensity (Low / Medium / High, plus Max on 4.6 models and XHigh on Opus 4.7 / 4.8)
164
+ - **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)
165
+ - **Thinking effort** — Adjust reasoning intensity (Low / Medium / High, plus Max on 4.6 models and XHigh on Opus 4.7+ / Fable 5)
165
166
  - **Permission modes** — Plan, Ask (default), Auto, or Bypass
167
+ - **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
166
168
  - **Per-project overrides** — Different settings per project
167
169
 
168
170
  ### Project Management
169
171
 
170
172
  - **Project list** — Browse all projects with session counts and last activity
171
173
  - **Project dashboard** — Real-time status: active chats, queue runners, terminals
172
- - **Project creation** — Create new projects with optional BMad Method initialization
174
+ - **Project creation** — Create new projects with a visual directory picker (Browse) and optional BMad Method initialization
173
175
  - **Per-project Settings tab** — Each project carries its own Settings tab (model, permission, budget) plus the Harness Workbench (see below). No more switching to the global Settings page and picking a project from a dropdown
174
176
  - **Hide/unhide projects** — Keep the list clean
175
177
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hammoc",
3
- "version": "1.6.0",
3
+ "version": "1.7.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",
@@ -57,7 +57,7 @@
57
57
  "bmad:validate": "bmad-method validate"
58
58
  },
59
59
  "dependencies": {
60
- "@anthropic-ai/claude-agent-sdk": "^0.3.158",
60
+ "@anthropic-ai/claude-agent-sdk": "^0.3.177",
61
61
  "bcrypt": "^6.0.0",
62
62
  "chokidar": "^5.0.0",
63
63
  "cookie-session": "^2.1.1",
@@ -1 +1 @@
1
- var l=Object.defineProperty;var d=(e,t,o)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var s=(e,t,o)=>d(e,typeof t!="symbol"?t+"":t,o);import{V as m,E as x,R as g,t as f}from"./index-BT4RIi0U.js";const a=/<example[\s>][\s\S]*?<\/example>/gi;function p(e){const t=[];a.lastIndex=0;let o;for(;(o=a.exec(e))!==null;){if(o.index===a.lastIndex){a.lastIndex+=1;continue}t.push({from:o.index,to:o.index+o[0].length})}return t}function i(e){const t=new g;for(const{from:o,to:r}of e.visibleRanges){const c=e.state.sliceDoc(o,r);for(const n of p(c))t.add(o+n.from,o+n.to,f.mark({class:"cm-agent-example",attributes:{"data-decoration-class":"cm-agent-example"}}))}return t.finish()}const u=m.fromClass(class{constructor(e){s(this,"decorations");this.decorations=i(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=i(e.view))}},{decorations:e=>e.decorations}),h=x.baseTheme({".cm-agent-example":{backgroundColor:"rgba(250, 204, 21, 0.10)",borderLeft:"4px solid #ca8a04",paddingLeft:"6px",borderRadius:"2px"},"&dark .cm-agent-example":{backgroundColor:"rgba(129, 140, 248, 0.16)",borderLeft:"4px solid #818cf8"}}),w=[u,h];export{w as agentExampleHighlightExtension,p as tokenizeAgentExamples};
1
+ var l=Object.defineProperty;var d=(e,t,o)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var s=(e,t,o)=>d(e,typeof t!="symbol"?t+"":t,o);import{V as m,E as x,R as g,t as f}from"./index-Bee52CKG.js";const a=/<example[\s>][\s\S]*?<\/example>/gi;function p(e){const t=[];a.lastIndex=0;let o;for(;(o=a.exec(e))!==null;){if(o.index===a.lastIndex){a.lastIndex+=1;continue}t.push({from:o.index,to:o.index+o[0].length})}return t}function i(e){const t=new g;for(const{from:o,to:r}of e.visibleRanges){const c=e.state.sliceDoc(o,r);for(const n of p(c))t.add(o+n.from,o+n.to,f.mark({class:"cm-agent-example",attributes:{"data-decoration-class":"cm-agent-example"}}))}return t.finish()}const u=m.fromClass(class{constructor(e){s(this,"decorations");this.decorations=i(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=i(e.view))}},{decorations:e=>e.decorations}),h=x.baseTheme({".cm-agent-example":{backgroundColor:"rgba(250, 204, 21, 0.10)",borderLeft:"4px solid #ca8a04",paddingLeft:"6px",borderRadius:"2px"},"&dark .cm-agent-example":{backgroundColor:"rgba(129, 140, 248, 0.16)",borderLeft:"4px solid #818cf8"}}),w=[u,h];export{w as agentExampleHighlightExtension,p as tokenizeAgentExamples};
@@ -1 +1 @@
1
- var f=Object.defineProperty;var k=(o,e,t)=>e in o?f(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var l=(o,e,t)=>k(o,typeof e!="symbol"?e+"":e,t);import{V as x,E as p,R as g,t as h}from"./index-BT4RIi0U.js";const R=[{kind:"args",captureGroup:0,source:"\\$[1-9]\\d*\\b"},{kind:"argumentsAll",captureGroup:0,source:"\\$ARGUMENTS\\b"},{kind:"pluginRoot",captureGroup:0,source:"\\$\\{CLAUDE_PLUGIN_ROOT\\}"},{kind:"fileRefs",captureGroup:1,source:"(?:^|\\s)(@[\\w./-]+)"},{kind:"bashExec",captureGroup:0,source:"!`[^`]+`"}];function b(o){const e=[];for(const{kind:c,captureGroup:n,source:u}of R){const i=new RegExp(u,"g");let r;for(;(r=i.exec(o))!==null;){const d=r[n]??"";if(!d)continue;const a=n===0?r.index:r.index+r[0].indexOf(d);e.push({from:a,to:a+d.length,kind:c}),r.index===i.lastIndex&&(i.lastIndex+=1)}}e.sort((c,n)=>c.from-n.from||c.to-n.to);const t=[];let s=-1;for(const c of e)c.from<s||(t.push(c),s=c.to);return t}function m(o){const e=new g;for(const{from:t,to:s}of o.visibleRanges){const c=o.state.sliceDoc(t,s);for(const n of b(c))e.add(t+n.from,t+n.to,h.mark({class:`cm-cmd-token cm-cmd-token-${n.kind}`,attributes:{"data-token-kind":n.kind}}))}return e.finish()}const D=x.fromClass(class{constructor(o){l(this,"decorations");this.decorations=m(o)}update(o){(o.docChanged||o.viewportChanged)&&(this.decorations=m(o.view))}},{decorations:o=>o.decorations}),E=p.baseTheme({".cm-cmd-token":{fontWeight:"600",textDecorationLine:"underline",textDecorationThickness:"2px",textUnderlineOffset:"3px"},".cm-cmd-token-args":{color:"#1d4ed8",textDecorationStyle:"solid"},".cm-cmd-token-argumentsAll":{color:"#0e7490",textDecorationStyle:"double"},".cm-cmd-token-fileRefs":{color:"#15803d",textDecorationStyle:"dotted"},".cm-cmd-token-bashExec":{color:"#c2410c",textDecorationStyle:"wavy"},".cm-cmd-token-pluginRoot":{color:"#7e22ce",textDecorationStyle:"dashed"},"&dark .cm-cmd-token-args":{color:"#60a5fa"},"&dark .cm-cmd-token-argumentsAll":{color:"#22d3ee"},"&dark .cm-cmd-token-fileRefs":{color:"#4ade80"},"&dark .cm-cmd-token-bashExec":{color:"#fb923c"},"&dark .cm-cmd-token-pluginRoot":{color:"#c084fc"}}),G=[D,E];export{G as commandTokenHighlightExtension,b as tokenizeCommandBody};
1
+ var f=Object.defineProperty;var k=(o,e,t)=>e in o?f(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var l=(o,e,t)=>k(o,typeof e!="symbol"?e+"":e,t);import{V as x,E as p,R as g,t as h}from"./index-Bee52CKG.js";const R=[{kind:"args",captureGroup:0,source:"\\$[1-9]\\d*\\b"},{kind:"argumentsAll",captureGroup:0,source:"\\$ARGUMENTS\\b"},{kind:"pluginRoot",captureGroup:0,source:"\\$\\{CLAUDE_PLUGIN_ROOT\\}"},{kind:"fileRefs",captureGroup:1,source:"(?:^|\\s)(@[\\w./-]+)"},{kind:"bashExec",captureGroup:0,source:"!`[^`]+`"}];function b(o){const e=[];for(const{kind:c,captureGroup:n,source:u}of R){const i=new RegExp(u,"g");let r;for(;(r=i.exec(o))!==null;){const d=r[n]??"";if(!d)continue;const a=n===0?r.index:r.index+r[0].indexOf(d);e.push({from:a,to:a+d.length,kind:c}),r.index===i.lastIndex&&(i.lastIndex+=1)}}e.sort((c,n)=>c.from-n.from||c.to-n.to);const t=[];let s=-1;for(const c of e)c.from<s||(t.push(c),s=c.to);return t}function m(o){const e=new g;for(const{from:t,to:s}of o.visibleRanges){const c=o.state.sliceDoc(t,s);for(const n of b(c))e.add(t+n.from,t+n.to,h.mark({class:`cm-cmd-token cm-cmd-token-${n.kind}`,attributes:{"data-token-kind":n.kind}}))}return e.finish()}const D=x.fromClass(class{constructor(o){l(this,"decorations");this.decorations=m(o)}update(o){(o.docChanged||o.viewportChanged)&&(this.decorations=m(o.view))}},{decorations:o=>o.decorations}),E=p.baseTheme({".cm-cmd-token":{fontWeight:"600",textDecorationLine:"underline",textDecorationThickness:"2px",textUnderlineOffset:"3px"},".cm-cmd-token-args":{color:"#1d4ed8",textDecorationStyle:"solid"},".cm-cmd-token-argumentsAll":{color:"#0e7490",textDecorationStyle:"double"},".cm-cmd-token-fileRefs":{color:"#15803d",textDecorationStyle:"dotted"},".cm-cmd-token-bashExec":{color:"#c2410c",textDecorationStyle:"wavy"},".cm-cmd-token-pluginRoot":{color:"#7e22ce",textDecorationStyle:"dashed"},"&dark .cm-cmd-token-args":{color:"#60a5fa"},"&dark .cm-cmd-token-argumentsAll":{color:"#22d3ee"},"&dark .cm-cmd-token-fileRefs":{color:"#4ade80"},"&dark .cm-cmd-token-bashExec":{color:"#fb923c"},"&dark .cm-cmd-token-pluginRoot":{color:"#c084fc"}}),G=[D,E];export{G as commandTokenHighlightExtension,b as tokenizeCommandBody};