@dsh-cove/dsh-web-all 0.0.0-stage → 0.4.4

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 (900) hide show
  1. package/LICENSE +202 -0
  2. package/README.i18n.yaml +6 -0
  3. package/README.md +205 -2
  4. package/README.zh.md +205 -0
  5. package/cordis.patch.yml +59 -0
  6. package/lib/client.js +25413 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/index.js +20024 -0
  9. package/lib/invariant.js +6 -0
  10. package/lib/types/client/compat.d.ts +29 -0
  11. package/lib/types/client/compat.d.ts.map +1 -0
  12. package/lib/types/client/compat.js +69 -0
  13. package/lib/types/client/conversation/git-branch.d.ts +13 -0
  14. package/lib/types/client/conversation/git-branch.d.ts.map +1 -0
  15. package/lib/types/client/conversation/git-branch.js +121 -0
  16. package/lib/types/client/conversation/git-graph/api.d.ts +42 -0
  17. package/lib/types/client/conversation/git-graph/api.d.ts.map +1 -0
  18. package/lib/types/client/conversation/git-graph/api.js +72 -0
  19. package/lib/types/client/conversation/git-graph/branch-chip.d.ts +47 -0
  20. package/lib/types/client/conversation/git-graph/branch-chip.d.ts.map +1 -0
  21. package/lib/types/client/conversation/git-graph/branch-chip.js +268 -0
  22. package/lib/types/client/conversation/git-graph/branch-popover.d.ts +32 -0
  23. package/lib/types/client/conversation/git-graph/branch-popover.d.ts.map +1 -0
  24. package/lib/types/client/conversation/git-graph/branch-popover.js +108 -0
  25. package/lib/types/client/conversation/git-graph/chip.d.ts +24 -0
  26. package/lib/types/client/conversation/git-graph/chip.d.ts.map +1 -0
  27. package/lib/types/client/conversation/git-graph/chip.js +15 -0
  28. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts +30 -0
  29. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts.map +1 -0
  30. package/lib/types/client/conversation/git-graph/create-branch-dialog.js +52 -0
  31. package/lib/types/client/conversation/git-graph/error-copy.d.ts +17 -0
  32. package/lib/types/client/conversation/git-graph/error-copy.d.ts.map +1 -0
  33. package/lib/types/client/conversation/git-graph/error-copy.js +44 -0
  34. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts +21 -0
  35. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts.map +1 -0
  36. package/lib/types/client/conversation/git-graph/graph-dialog.js +112 -0
  37. package/lib/types/client/conversation/git-graph/hero-seat.d.ts +53 -0
  38. package/lib/types/client/conversation/git-graph/hero-seat.d.ts.map +1 -0
  39. package/lib/types/client/conversation/git-graph/hero-seat.js +54 -0
  40. package/lib/types/client/conversation/git-graph/locales.d.ts +88 -0
  41. package/lib/types/client/conversation/git-graph/locales.d.ts.map +1 -0
  42. package/lib/types/client/conversation/git-graph/locales.js +85 -0
  43. package/lib/types/client/conversation/git-graph/sse-leader.d.ts +37 -0
  44. package/lib/types/client/conversation/git-graph/sse-leader.d.ts.map +1 -0
  45. package/lib/types/client/conversation/git-graph/sse-leader.js +101 -0
  46. package/lib/types/client/conversation/index.d.ts +43 -0
  47. package/lib/types/client/conversation/index.d.ts.map +1 -0
  48. package/lib/types/client/conversation/index.js +39 -0
  49. package/lib/types/client/conversation/selector-context.d.ts +12 -0
  50. package/lib/types/client/conversation/selector-context.d.ts.map +1 -0
  51. package/lib/types/client/conversation/selector-context.js +11 -0
  52. package/lib/types/client/conversation/session-lane-chip.d.ts +72 -0
  53. package/lib/types/client/conversation/session-lane-chip.d.ts.map +1 -0
  54. package/lib/types/client/conversation/session-lane-chip.js +163 -0
  55. package/lib/types/client/conversation/session-lane-locales.d.ts +22 -0
  56. package/lib/types/client/conversation/session-lane-locales.d.ts.map +1 -0
  57. package/lib/types/client/conversation/session-lane-locales.js +29 -0
  58. package/lib/types/client/conversation/subagent-model-dom.d.ts +16 -0
  59. package/lib/types/client/conversation/subagent-model-dom.d.ts.map +1 -0
  60. package/lib/types/client/conversation/subagent-model-dom.js +138 -0
  61. package/lib/types/client/conversation/subagent-model.d.ts +17 -0
  62. package/lib/types/client/conversation/subagent-model.d.ts.map +1 -0
  63. package/lib/types/client/conversation/subagent-model.js +156 -0
  64. package/lib/types/client/conversation/worktree/api.d.ts +97 -0
  65. package/lib/types/client/conversation/worktree/api.d.ts.map +1 -0
  66. package/lib/types/client/conversation/worktree/api.js +239 -0
  67. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts +35 -0
  68. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts.map +1 -0
  69. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.js +55 -0
  70. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts +27 -0
  71. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts.map +1 -0
  72. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.js +49 -0
  73. package/lib/types/client/conversation/worktree/lane-binding.d.ts +46 -0
  74. package/lib/types/client/conversation/worktree/lane-binding.d.ts.map +1 -0
  75. package/lib/types/client/conversation/worktree/lane-binding.js +60 -0
  76. package/lib/types/client/conversation/worktree/lane-menu.d.ts +51 -0
  77. package/lib/types/client/conversation/worktree/lane-menu.d.ts.map +1 -0
  78. package/lib/types/client/conversation/worktree/lane-menu.js +140 -0
  79. package/lib/types/client/conversation/worktree/lane-open.d.ts +126 -0
  80. package/lib/types/client/conversation/worktree/lane-open.d.ts.map +1 -0
  81. package/lib/types/client/conversation/worktree/lane-open.js +140 -0
  82. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts +79 -0
  83. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts.map +1 -0
  84. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.js +116 -0
  85. package/lib/types/client/conversation/worktree/lifecycle.d.ts +29 -0
  86. package/lib/types/client/conversation/worktree/lifecycle.d.ts.map +1 -0
  87. package/lib/types/client/conversation/worktree/lifecycle.js +67 -0
  88. package/lib/types/client/conversation/worktree/locales.d.ts +58 -0
  89. package/lib/types/client/conversation/worktree/locales.d.ts.map +1 -0
  90. package/lib/types/client/conversation/worktree/locales.js +86 -0
  91. package/lib/types/client/conversation/worktree/semantic.d.ts +11 -0
  92. package/lib/types/client/conversation/worktree/semantic.d.ts.map +1 -0
  93. package/lib/types/client/conversation/worktree/semantic.js +10 -0
  94. package/lib/types/client/index.d.ts +14 -0
  95. package/lib/types/client/index.d.ts.map +1 -0
  96. package/lib/types/client/index.js +45 -0
  97. package/lib/types/client/lark-inbox/i18n.d.ts +63 -0
  98. package/lib/types/client/lark-inbox/i18n.d.ts.map +1 -0
  99. package/lib/types/client/lark-inbox/i18n.js +119 -0
  100. package/lib/types/client/lark-inbox/wizard.d.ts +19 -0
  101. package/lib/types/client/lark-inbox/wizard.d.ts.map +1 -0
  102. package/lib/types/client/lark-inbox/wizard.js +158 -0
  103. package/lib/types/client/notify/i18n.d.ts +47 -0
  104. package/lib/types/client/notify/i18n.d.ts.map +1 -0
  105. package/lib/types/client/notify/i18n.js +87 -0
  106. package/lib/types/client/settings/family-scope.d.ts +23 -0
  107. package/lib/types/client/settings/family-scope.d.ts.map +1 -0
  108. package/lib/types/client/settings/family-scope.js +30 -0
  109. package/lib/types/client/settings/lark-inbox.d.ts +73 -0
  110. package/lib/types/client/settings/lark-inbox.d.ts.map +1 -0
  111. package/lib/types/client/settings/lark-inbox.js +144 -0
  112. package/lib/types/client/settings/notify.d.ts +66 -0
  113. package/lib/types/client/settings/notify.d.ts.map +1 -0
  114. package/lib/types/client/settings/notify.js +139 -0
  115. package/lib/types/client/settings/primitives-0.2.d.ts +137 -0
  116. package/lib/types/client/settings/primitives-0.2.d.ts.map +1 -0
  117. package/lib/types/client/settings/primitives-0.2.js +8 -0
  118. package/lib/types/client/sidebar/RenderBoundary.d.ts +17 -0
  119. package/lib/types/client/sidebar/RenderBoundary.d.ts.map +1 -0
  120. package/lib/types/client/sidebar/RenderBoundary.js +18 -0
  121. package/lib/types/client/sidebar/agent-browser.d.ts +9 -0
  122. package/lib/types/client/sidebar/agent-browser.d.ts.map +1 -0
  123. package/lib/types/client/sidebar/agent-browser.js +102 -0
  124. package/lib/types/client/sidebar/diff-view.d.ts +58 -0
  125. package/lib/types/client/sidebar/diff-view.d.ts.map +1 -0
  126. package/lib/types/client/sidebar/diff-view.js +223 -0
  127. package/lib/types/client/sidebar/git-workbench.d.ts +41 -0
  128. package/lib/types/client/sidebar/git-workbench.d.ts.map +1 -0
  129. package/lib/types/client/sidebar/git-workbench.js +480 -0
  130. package/lib/types/client/sidebar/icons.d.ts +9 -0
  131. package/lib/types/client/sidebar/icons.d.ts.map +1 -0
  132. package/lib/types/client/sidebar/icons.js +6 -0
  133. package/lib/types/client/sidebar/index.d.ts +19 -0
  134. package/lib/types/client/sidebar/index.d.ts.map +1 -0
  135. package/lib/types/client/sidebar/index.js +12 -0
  136. package/lib/types/client/sidebar/native-panels.d.ts +19 -0
  137. package/lib/types/client/sidebar/native-panels.d.ts.map +1 -0
  138. package/lib/types/client/sidebar/native-panels.js +103 -0
  139. package/lib/types/client/sidebar/page-shell.d.ts +52 -0
  140. package/lib/types/client/sidebar/page-shell.d.ts.map +1 -0
  141. package/lib/types/client/sidebar/page-shell.js +18 -0
  142. package/lib/types/client/sidebar/panels/memoir/api.d.ts +258 -0
  143. package/lib/types/client/sidebar/panels/memoir/api.d.ts.map +1 -0
  144. package/lib/types/client/sidebar/panels/memoir/api.js +135 -0
  145. package/lib/types/client/sidebar/panels/memoir/controller.d.ts +22 -0
  146. package/lib/types/client/sidebar/panels/memoir/controller.d.ts.map +1 -0
  147. package/lib/types/client/sidebar/panels/memoir/controller.js +38 -0
  148. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts +80 -0
  149. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts.map +1 -0
  150. package/lib/types/client/sidebar/panels/memoir/cwd.js +96 -0
  151. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts +21 -0
  152. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts.map +1 -0
  153. package/lib/types/client/sidebar/panels/memoir/i18n.js +288 -0
  154. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts +11 -0
  155. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts.map +1 -0
  156. package/lib/types/client/sidebar/panels/memoir/panel-activation.js +37 -0
  157. package/lib/types/client/sidebar/panels/memoir/panel.d.ts +26 -0
  158. package/lib/types/client/sidebar/panels/memoir/panel.d.ts.map +1 -0
  159. package/lib/types/client/sidebar/panels/memoir/panel.js +423 -0
  160. package/lib/types/client/sidebar/panels/memoir/styles.d.ts +22 -0
  161. package/lib/types/client/sidebar/panels/memoir/styles.d.ts.map +1 -0
  162. package/lib/types/client/sidebar/panels/memoir/styles.js +774 -0
  163. package/lib/types/client/sidebar/panels/memoir/types.d.ts +7 -0
  164. package/lib/types/client/sidebar/panels/memoir/types.d.ts.map +1 -0
  165. package/lib/types/client/sidebar/panels/memoir/types.js +5 -0
  166. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts +8 -0
  167. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts.map +1 -0
  168. package/lib/types/client/sidebar/panels/ssh/ClusterTab.js +53 -0
  169. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts +13 -0
  170. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts.map +1 -0
  171. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.js +110 -0
  172. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts +26 -0
  173. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts.map +1 -0
  174. package/lib/types/client/sidebar/panels/ssh/HostsTab.js +175 -0
  175. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts +14 -0
  176. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts.map +1 -0
  177. package/lib/types/client/sidebar/panels/ssh/SshPanel.js +34 -0
  178. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts +18 -0
  179. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts.map +1 -0
  180. package/lib/types/client/sidebar/panels/ssh/TerminalTab.js +207 -0
  181. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts +8 -0
  182. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts.map +1 -0
  183. package/lib/types/client/sidebar/panels/ssh/TransferTab.js +168 -0
  184. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts +18 -0
  185. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts.map +1 -0
  186. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.js +161 -0
  187. package/lib/types/client/sidebar/panels/ssh/api.d.ts +80 -0
  188. package/lib/types/client/sidebar/panels/ssh/api.d.ts.map +1 -0
  189. package/lib/types/client/sidebar/panels/ssh/api.js +333 -0
  190. package/lib/types/client/sidebar/panels/ssh/controller.d.ts +23 -0
  191. package/lib/types/client/sidebar/panels/ssh/controller.d.ts.map +1 -0
  192. package/lib/types/client/sidebar/panels/ssh/controller.js +41 -0
  193. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts +44 -0
  194. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts.map +1 -0
  195. package/lib/types/client/sidebar/panels/ssh/helpers.js +53 -0
  196. package/lib/types/client/sidebar/panels/ssh/locales.d.ts +155 -0
  197. package/lib/types/client/sidebar/panels/ssh/locales.d.ts.map +1 -0
  198. package/lib/types/client/sidebar/panels/ssh/locales.js +312 -0
  199. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts +3 -0
  200. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts.map +1 -0
  201. package/lib/types/client/sidebar/panels/ssh/xterm.css.js +2 -0
  202. package/lib/types/client/sidebar/right-pane-i18n.d.ts +121 -0
  203. package/lib/types/client/sidebar/right-pane-i18n.d.ts.map +1 -0
  204. package/lib/types/client/sidebar/right-pane-i18n.js +239 -0
  205. package/lib/types/client/sidebar/right-pane.d.ts +27 -0
  206. package/lib/types/client/sidebar/right-pane.d.ts.map +1 -0
  207. package/lib/types/client/sidebar/right-pane.js +112 -0
  208. package/lib/types/client/sidebar/scope.d.ts +17 -0
  209. package/lib/types/client/sidebar/scope.d.ts.map +1 -0
  210. package/lib/types/client/sidebar/scope.js +41 -0
  211. package/lib/types/client/trust.d.ts +78 -0
  212. package/lib/types/client/trust.d.ts.map +1 -0
  213. package/lib/types/client/trust.js +130 -0
  214. package/lib/types/client/ui-icons.d.ts +19 -0
  215. package/lib/types/client/ui-icons.d.ts.map +1 -0
  216. package/lib/types/client/ui-icons.js +33 -0
  217. package/lib/types/core/git-graph/commands.d.ts +36 -0
  218. package/lib/types/core/git-graph/commands.d.ts.map +1 -0
  219. package/lib/types/core/git-graph/commands.js +122 -0
  220. package/lib/types/core/git-graph/protocol.d.ts +104 -0
  221. package/lib/types/core/git-graph/protocol.d.ts.map +1 -0
  222. package/lib/types/core/git-graph/protocol.js +142 -0
  223. package/lib/types/core/index.d.ts +3 -0
  224. package/lib/types/core/index.d.ts.map +1 -0
  225. package/lib/types/core/index.js +2 -0
  226. package/lib/types/core/lark-inbox/gating.d.ts +21 -0
  227. package/lib/types/core/lark-inbox/gating.d.ts.map +1 -0
  228. package/lib/types/core/lark-inbox/gating.js +17 -0
  229. package/lib/types/core/lark-inbox/queue.d.ts +27 -0
  230. package/lib/types/core/lark-inbox/queue.d.ts.map +1 -0
  231. package/lib/types/core/lark-inbox/queue.js +78 -0
  232. package/lib/types/core/memoir/protocol.d.ts +42 -0
  233. package/lib/types/core/memoir/protocol.d.ts.map +1 -0
  234. package/lib/types/core/memoir/protocol.js +8 -0
  235. package/lib/types/core/no-browser-auth/contract.d.ts +22 -0
  236. package/lib/types/core/no-browser-auth/contract.d.ts.map +1 -0
  237. package/lib/types/core/no-browser-auth/contract.js +9 -0
  238. package/lib/types/core/notify/contract.d.ts +133 -0
  239. package/lib/types/core/notify/contract.d.ts.map +1 -0
  240. package/lib/types/core/notify/contract.js +186 -0
  241. package/lib/types/core/notify/feed.d.ts +116 -0
  242. package/lib/types/core/notify/feed.d.ts.map +1 -0
  243. package/lib/types/core/notify/feed.js +214 -0
  244. package/lib/types/core/playwright-sessions/contracts.d.ts +98 -0
  245. package/lib/types/core/playwright-sessions/contracts.d.ts.map +1 -0
  246. package/lib/types/core/playwright-sessions/contracts.js +68 -0
  247. package/lib/types/core/playwright-sessions/control.d.ts +19 -0
  248. package/lib/types/core/playwright-sessions/control.d.ts.map +1 -0
  249. package/lib/types/core/playwright-sessions/control.js +9 -0
  250. package/lib/types/core/playwright-sessions/index.d.ts +4 -0
  251. package/lib/types/core/playwright-sessions/index.d.ts.map +1 -0
  252. package/lib/types/core/playwright-sessions/index.js +3 -0
  253. package/lib/types/core/playwright-sessions/names.d.ts +4 -0
  254. package/lib/types/core/playwright-sessions/names.d.ts.map +1 -0
  255. package/lib/types/core/playwright-sessions/names.js +84 -0
  256. package/lib/types/core/playwright-sessions/schema.d.ts +4 -0
  257. package/lib/types/core/playwright-sessions/schema.d.ts.map +1 -0
  258. package/lib/types/core/playwright-sessions/schema.js +90 -0
  259. package/lib/types/core/playwright-sessions/wire.d.ts +78 -0
  260. package/lib/types/core/playwright-sessions/wire.d.ts.map +1 -0
  261. package/lib/types/core/playwright-sessions/wire.js +103 -0
  262. package/lib/types/core/remote-access/paths.d.ts +19 -0
  263. package/lib/types/core/remote-access/paths.d.ts.map +1 -0
  264. package/lib/types/core/remote-access/paths.js +18 -0
  265. package/lib/types/core/remote-web-ui/security.d.ts +35 -0
  266. package/lib/types/core/remote-web-ui/security.d.ts.map +1 -0
  267. package/lib/types/core/remote-web-ui/security.js +146 -0
  268. package/lib/types/core/right-pane/protocol.d.ts +25 -0
  269. package/lib/types/core/right-pane/protocol.d.ts.map +1 -0
  270. package/lib/types/core/right-pane/protocol.js +91 -0
  271. package/lib/types/core/schedule-mode/index.d.ts +7 -0
  272. package/lib/types/core/schedule-mode/index.d.ts.map +1 -0
  273. package/lib/types/core/schedule-mode/index.js +6 -0
  274. package/lib/types/core/schedule-mode/native.d.ts +35 -0
  275. package/lib/types/core/schedule-mode/native.d.ts.map +1 -0
  276. package/lib/types/core/schedule-mode/native.js +82 -0
  277. package/lib/types/core/schedule-mode/types.d.ts +177 -0
  278. package/lib/types/core/schedule-mode/types.d.ts.map +1 -0
  279. package/lib/types/core/schedule-mode/types.js +65 -0
  280. package/lib/types/core/schedule-mode/view.d.ts +62 -0
  281. package/lib/types/core/schedule-mode/view.d.ts.map +1 -0
  282. package/lib/types/core/schedule-mode/view.js +4 -0
  283. package/lib/types/core/ssh/protocol.d.ts +215 -0
  284. package/lib/types/core/ssh/protocol.d.ts.map +1 -0
  285. package/lib/types/core/ssh/protocol.js +23 -0
  286. package/lib/types/core/subagent-model/badges.d.ts +73 -0
  287. package/lib/types/core/subagent-model/badges.d.ts.map +1 -0
  288. package/lib/types/core/subagent-model/badges.js +105 -0
  289. package/lib/types/core/worktree/invariant.d.ts +62 -0
  290. package/lib/types/core/worktree/invariant.d.ts.map +1 -0
  291. package/lib/types/core/worktree/invariant.js +72 -0
  292. package/lib/types/core/worktree/manifest.d.ts +71 -0
  293. package/lib/types/core/worktree/manifest.d.ts.map +1 -0
  294. package/lib/types/core/worktree/manifest.js +98 -0
  295. package/lib/types/core/worktree/paths.d.ts +60 -0
  296. package/lib/types/core/worktree/paths.d.ts.map +1 -0
  297. package/lib/types/core/worktree/paths.js +118 -0
  298. package/lib/types/core/worktree/pr-create.d.ts +67 -0
  299. package/lib/types/core/worktree/pr-create.d.ts.map +1 -0
  300. package/lib/types/core/worktree/pr-create.js +118 -0
  301. package/lib/types/core/worktree/protocol.d.ts +7 -0
  302. package/lib/types/core/worktree/protocol.d.ts.map +1 -0
  303. package/lib/types/core/worktree/protocol.js +6 -0
  304. package/lib/types/core/worktree/types.d.ts +292 -0
  305. package/lib/types/core/worktree/types.d.ts.map +1 -0
  306. package/lib/types/core/worktree/types.js +14 -0
  307. package/lib/types/core/worktree/workspace-model.d.ts +56 -0
  308. package/lib/types/core/worktree/workspace-model.d.ts.map +1 -0
  309. package/lib/types/core/worktree/workspace-model.js +14 -0
  310. package/lib/types/host/services/access-trust/index.d.ts +54 -0
  311. package/lib/types/host/services/access-trust/index.d.ts.map +1 -0
  312. package/lib/types/host/services/access-trust/index.js +82 -0
  313. package/lib/types/host/services/access-trust/trust.d.ts +70 -0
  314. package/lib/types/host/services/access-trust/trust.d.ts.map +1 -0
  315. package/lib/types/host/services/access-trust/trust.js +187 -0
  316. package/lib/types/host/services/codex-bridge/bridge.d.ts +106 -0
  317. package/lib/types/host/services/codex-bridge/bridge.d.ts.map +1 -0
  318. package/lib/types/host/services/codex-bridge/bridge.js +321 -0
  319. package/lib/types/host/services/codex-bridge/codex-auth.d.ts +108 -0
  320. package/lib/types/host/services/codex-bridge/codex-auth.d.ts.map +1 -0
  321. package/lib/types/host/services/codex-bridge/codex-auth.js +241 -0
  322. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts +58 -0
  323. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts.map +1 -0
  324. package/lib/types/host/services/codex-bridge/dsh-integration.js +120 -0
  325. package/lib/types/host/services/codex-bridge/http.d.ts +43 -0
  326. package/lib/types/host/services/codex-bridge/http.d.ts.map +1 -0
  327. package/lib/types/host/services/codex-bridge/http.js +92 -0
  328. package/lib/types/host/services/codex-bridge/index.d.ts +63 -0
  329. package/lib/types/host/services/codex-bridge/index.d.ts.map +1 -0
  330. package/lib/types/host/services/codex-bridge/index.js +111 -0
  331. package/lib/types/host/services/codex-bridge/loopback.d.ts +25 -0
  332. package/lib/types/host/services/codex-bridge/loopback.d.ts.map +1 -0
  333. package/lib/types/host/services/codex-bridge/loopback.js +68 -0
  334. package/lib/types/host/services/codex-bridge/routes.d.ts +31 -0
  335. package/lib/types/host/services/codex-bridge/routes.d.ts.map +1 -0
  336. package/lib/types/host/services/codex-bridge/routes.js +126 -0
  337. package/lib/types/host/services/family-config.d.ts +71 -0
  338. package/lib/types/host/services/family-config.d.ts.map +1 -0
  339. package/lib/types/host/services/family-config.js +166 -0
  340. package/lib/types/host/services/family-namespaces.d.ts +24 -0
  341. package/lib/types/host/services/family-namespaces.d.ts.map +1 -0
  342. package/lib/types/host/services/family-namespaces.js +30 -0
  343. package/lib/types/host/services/git-graph/index.d.ts +6 -0
  344. package/lib/types/host/services/git-graph/index.d.ts.map +1 -0
  345. package/lib/types/host/services/git-graph/index.js +7 -0
  346. package/lib/types/host/services/git-graph/routes.d.ts +4 -0
  347. package/lib/types/host/services/git-graph/routes.d.ts.map +1 -0
  348. package/lib/types/host/services/git-graph/routes.js +241 -0
  349. package/lib/types/host/services/git-graph/service.d.ts +52 -0
  350. package/lib/types/host/services/git-graph/service.d.ts.map +1 -0
  351. package/lib/types/host/services/git-graph/service.js +301 -0
  352. package/lib/types/host/services/index.d.ts +23 -0
  353. package/lib/types/host/services/index.d.ts.map +1 -0
  354. package/lib/types/host/services/index.js +80 -0
  355. package/lib/types/host/services/lark-inbox/config.d.ts +24 -0
  356. package/lib/types/host/services/lark-inbox/config.d.ts.map +1 -0
  357. package/lib/types/host/services/lark-inbox/config.js +48 -0
  358. package/lib/types/host/services/lark-inbox/gateway.d.ts +53 -0
  359. package/lib/types/host/services/lark-inbox/gateway.d.ts.map +1 -0
  360. package/lib/types/host/services/lark-inbox/gateway.js +171 -0
  361. package/lib/types/host/services/lark-inbox/host-routes.d.ts +22 -0
  362. package/lib/types/host/services/lark-inbox/host-routes.d.ts.map +1 -0
  363. package/lib/types/host/services/lark-inbox/host-routes.js +146 -0
  364. package/lib/types/host/services/lark-inbox/inbox-store.d.ts +39 -0
  365. package/lib/types/host/services/lark-inbox/inbox-store.d.ts.map +1 -0
  366. package/lib/types/host/services/lark-inbox/inbox-store.js +124 -0
  367. package/lib/types/host/services/lark-inbox/index.d.ts +26 -0
  368. package/lib/types/host/services/lark-inbox/index.d.ts.map +1 -0
  369. package/lib/types/host/services/lark-inbox/index.js +135 -0
  370. package/lib/types/host/services/lark-inbox/tools.d.ts +7 -0
  371. package/lib/types/host/services/lark-inbox/tools.d.ts.map +1 -0
  372. package/lib/types/host/services/lark-inbox/tools.js +119 -0
  373. package/lib/types/host/services/lark-inbox/wizard.d.ts +62 -0
  374. package/lib/types/host/services/lark-inbox/wizard.d.ts.map +1 -0
  375. package/lib/types/host/services/lark-inbox/wizard.js +211 -0
  376. package/lib/types/host/services/lifecycle.d.ts +29 -0
  377. package/lib/types/host/services/lifecycle.d.ts.map +1 -0
  378. package/lib/types/host/services/lifecycle.js +93 -0
  379. package/lib/types/host/services/memoir/index.d.ts +40 -0
  380. package/lib/types/host/services/memoir/index.d.ts.map +1 -0
  381. package/lib/types/host/services/memoir/index.js +52 -0
  382. package/lib/types/host/services/memoir/routes.d.ts +30 -0
  383. package/lib/types/host/services/memoir/routes.d.ts.map +1 -0
  384. package/lib/types/host/services/memoir/routes.js +364 -0
  385. package/lib/types/host/services/memoir/settings.d.ts +27 -0
  386. package/lib/types/host/services/memoir/settings.d.ts.map +1 -0
  387. package/lib/types/host/services/memoir/settings.js +120 -0
  388. package/lib/types/host/services/memoir/store.d.ts +35 -0
  389. package/lib/types/host/services/memoir/store.d.ts.map +1 -0
  390. package/lib/types/host/services/memoir/store.js +124 -0
  391. package/lib/types/host/services/memoir/tools.d.ts +8 -0
  392. package/lib/types/host/services/memoir/tools.d.ts.map +1 -0
  393. package/lib/types/host/services/memoir/tools.js +154 -0
  394. package/lib/types/host/services/no-browser-auth/index.d.ts +25 -0
  395. package/lib/types/host/services/no-browser-auth/index.d.ts.map +1 -0
  396. package/lib/types/host/services/no-browser-auth/index.js +42 -0
  397. package/lib/types/host/services/notify/config.d.ts +105 -0
  398. package/lib/types/host/services/notify/config.d.ts.map +1 -0
  399. package/lib/types/host/services/notify/config.js +123 -0
  400. package/lib/types/host/services/notify/feishu-sender.d.ts +120 -0
  401. package/lib/types/host/services/notify/feishu-sender.d.ts.map +1 -0
  402. package/lib/types/host/services/notify/feishu-sender.js +186 -0
  403. package/lib/types/host/services/notify/host-routes.d.ts +69 -0
  404. package/lib/types/host/services/notify/host-routes.d.ts.map +1 -0
  405. package/lib/types/host/services/notify/host-routes.js +112 -0
  406. package/lib/types/host/services/notify/index.d.ts +80 -0
  407. package/lib/types/host/services/notify/index.d.ts.map +1 -0
  408. package/lib/types/host/services/notify/index.js +263 -0
  409. package/lib/types/host/services/playwright-sessions/child.d.ts +76 -0
  410. package/lib/types/host/services/playwright-sessions/child.d.ts.map +1 -0
  411. package/lib/types/host/services/playwright-sessions/child.js +197 -0
  412. package/lib/types/host/services/playwright-sessions/controller.d.ts +25 -0
  413. package/lib/types/host/services/playwright-sessions/controller.d.ts.map +1 -0
  414. package/lib/types/host/services/playwright-sessions/controller.js +104 -0
  415. package/lib/types/host/services/playwright-sessions/index.d.ts +6 -0
  416. package/lib/types/host/services/playwright-sessions/index.d.ts.map +1 -0
  417. package/lib/types/host/services/playwright-sessions/index.js +161 -0
  418. package/lib/types/host/services/playwright-sessions/live-view.d.ts +32 -0
  419. package/lib/types/host/services/playwright-sessions/live-view.d.ts.map +1 -0
  420. package/lib/types/host/services/playwright-sessions/live-view.js +188 -0
  421. package/lib/types/host/services/playwright-sessions/manager.d.ts +87 -0
  422. package/lib/types/host/services/playwright-sessions/manager.d.ts.map +1 -0
  423. package/lib/types/host/services/playwright-sessions/manager.js +203 -0
  424. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts +39 -0
  425. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts.map +1 -0
  426. package/lib/types/host/services/playwright-sessions/profile-gc.js +72 -0
  427. package/lib/types/host/services/playwright-sessions/routes.d.ts +18 -0
  428. package/lib/types/host/services/playwright-sessions/routes.d.ts.map +1 -0
  429. package/lib/types/host/services/playwright-sessions/routes.js +87 -0
  430. package/lib/types/host/services/remote-access/boot-scripts.d.ts +55 -0
  431. package/lib/types/host/services/remote-access/boot-scripts.d.ts.map +1 -0
  432. package/lib/types/host/services/remote-access/boot-scripts.js +109 -0
  433. package/lib/types/host/services/remote-access/index.d.ts +28 -0
  434. package/lib/types/host/services/remote-access/index.d.ts.map +1 -0
  435. package/lib/types/host/services/remote-access/index.js +47 -0
  436. package/lib/types/host/services/remote-access/routes.d.ts +42 -0
  437. package/lib/types/host/services/remote-access/routes.d.ts.map +1 -0
  438. package/lib/types/host/services/remote-access/routes.js +119 -0
  439. package/lib/types/host/services/remote-web-ui/index.d.ts +21 -0
  440. package/lib/types/host/services/remote-web-ui/index.d.ts.map +1 -0
  441. package/lib/types/host/services/remote-web-ui/index.js +325 -0
  442. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts +115 -0
  443. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts.map +1 -0
  444. package/lib/types/host/services/remote-web-ui/server-mode/accounts.js +396 -0
  445. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts +28 -0
  446. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts.map +1 -0
  447. package/lib/types/host/services/remote-web-ui/server-mode/cookie.js +48 -0
  448. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts +17 -0
  449. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts.map +1 -0
  450. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.js +40 -0
  451. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts +73 -0
  452. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts.map +1 -0
  453. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.js +242 -0
  454. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts +23 -0
  455. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts.map +1 -0
  456. package/lib/types/host/services/remote-web-ui/server-mode/fence.js +24 -0
  457. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts +89 -0
  458. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts.map +1 -0
  459. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.js +768 -0
  460. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts +99 -0
  461. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts.map +1 -0
  462. package/lib/types/host/services/remote-web-ui/server-mode/gateway.js +679 -0
  463. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts +43 -0
  464. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts.map +1 -0
  465. package/lib/types/host/services/remote-web-ui/server-mode/http.js +92 -0
  466. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts +42 -0
  467. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts.map +1 -0
  468. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.js +73 -0
  469. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts +13 -0
  470. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts.map +1 -0
  471. package/lib/types/host/services/remote-web-ui/server-mode/lan.js +17 -0
  472. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts +25 -0
  473. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts.map +1 -0
  474. package/lib/types/host/services/remote-web-ui/server-mode/loopback.js +68 -0
  475. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts +75 -0
  476. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts.map +1 -0
  477. package/lib/types/host/services/remote-web-ui/server-mode/posture.js +116 -0
  478. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts +44 -0
  479. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts.map +1 -0
  480. package/lib/types/host/services/remote-web-ui/server-mode/roles.js +47 -0
  481. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts +21 -0
  482. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts.map +1 -0
  483. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.js +37 -0
  484. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts +111 -0
  485. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts.map +1 -0
  486. package/lib/types/host/services/remote-web-ui/server-mode/sessions.js +298 -0
  487. package/lib/types/host/services/remote-web-ui/server.d.ts +82 -0
  488. package/lib/types/host/services/remote-web-ui/server.d.ts.map +1 -0
  489. package/lib/types/host/services/remote-web-ui/server.js +492 -0
  490. package/lib/types/host/services/resources.d.ts +9 -0
  491. package/lib/types/host/services/resources.d.ts.map +1 -0
  492. package/lib/types/host/services/resources.js +98 -0
  493. package/lib/types/host/services/right-pane/browser.d.ts +42 -0
  494. package/lib/types/host/services/right-pane/browser.d.ts.map +1 -0
  495. package/lib/types/host/services/right-pane/browser.js +106 -0
  496. package/lib/types/host/services/right-pane/index.d.ts +22 -0
  497. package/lib/types/host/services/right-pane/index.d.ts.map +1 -0
  498. package/lib/types/host/services/right-pane/index.js +114 -0
  499. package/lib/types/host/services/right-pane/wire.d.ts +6 -0
  500. package/lib/types/host/services/right-pane/wire.d.ts.map +1 -0
  501. package/lib/types/host/services/right-pane/wire.js +9 -0
  502. package/lib/types/host/services/schedule-mode/config.d.ts +11 -0
  503. package/lib/types/host/services/schedule-mode/config.d.ts.map +1 -0
  504. package/lib/types/host/services/schedule-mode/config.js +15 -0
  505. package/lib/types/host/services/schedule-mode/engine.d.ts +150 -0
  506. package/lib/types/host/services/schedule-mode/engine.d.ts.map +1 -0
  507. package/lib/types/host/services/schedule-mode/engine.js +672 -0
  508. package/lib/types/host/services/schedule-mode/index.d.ts +33 -0
  509. package/lib/types/host/services/schedule-mode/index.d.ts.map +1 -0
  510. package/lib/types/host/services/schedule-mode/index.js +175 -0
  511. package/lib/types/host/services/schedule-mode/routes.d.ts +31 -0
  512. package/lib/types/host/services/schedule-mode/routes.d.ts.map +1 -0
  513. package/lib/types/host/services/schedule-mode/routes.js +109 -0
  514. package/lib/types/host/services/schedule-mode/session-create.d.ts +27 -0
  515. package/lib/types/host/services/schedule-mode/session-create.d.ts.map +1 -0
  516. package/lib/types/host/services/schedule-mode/session-create.js +21 -0
  517. package/lib/types/host/services/schedule-mode/store.d.ts +36 -0
  518. package/lib/types/host/services/schedule-mode/store.d.ts.map +1 -0
  519. package/lib/types/host/services/schedule-mode/store.js +309 -0
  520. package/lib/types/host/services/schedule-mode/tools.d.ts +13 -0
  521. package/lib/types/host/services/schedule-mode/tools.d.ts.map +1 -0
  522. package/lib/types/host/services/schedule-mode/tools.js +132 -0
  523. package/lib/types/host/services/ssh/engine.d.ts +162 -0
  524. package/lib/types/host/services/ssh/engine.d.ts.map +1 -0
  525. package/lib/types/host/services/ssh/engine.js +699 -0
  526. package/lib/types/host/services/ssh/host-keys.d.ts +10 -0
  527. package/lib/types/host/services/ssh/host-keys.d.ts.map +1 -0
  528. package/lib/types/host/services/ssh/host-keys.js +108 -0
  529. package/lib/types/host/services/ssh/index.d.ts +38 -0
  530. package/lib/types/host/services/ssh/index.d.ts.map +1 -0
  531. package/lib/types/host/services/ssh/index.js +47 -0
  532. package/lib/types/host/services/ssh/routes.d.ts +29 -0
  533. package/lib/types/host/services/ssh/routes.d.ts.map +1 -0
  534. package/lib/types/host/services/ssh/routes.js +465 -0
  535. package/lib/types/host/services/ssh/store.d.ts +40 -0
  536. package/lib/types/host/services/ssh/store.d.ts.map +1 -0
  537. package/lib/types/host/services/ssh/store.js +330 -0
  538. package/lib/types/host/services/ssh/terminal-ws.d.ts +9 -0
  539. package/lib/types/host/services/ssh/terminal-ws.d.ts.map +1 -0
  540. package/lib/types/host/services/ssh/terminal-ws.js +142 -0
  541. package/lib/types/host/services/ssh/tools.d.ts +11 -0
  542. package/lib/types/host/services/ssh/tools.d.ts.map +1 -0
  543. package/lib/types/host/services/ssh/tools.js +270 -0
  544. package/lib/types/host/services/web-render/contracts.d.ts +93 -0
  545. package/lib/types/host/services/web-render/contracts.d.ts.map +1 -0
  546. package/lib/types/host/services/web-render/contracts.js +60 -0
  547. package/lib/types/host/services/web-render/index.d.ts +58 -0
  548. package/lib/types/host/services/web-render/index.d.ts.map +1 -0
  549. package/lib/types/host/services/web-render/index.js +90 -0
  550. package/lib/types/host/services/web-render/provider.d.ts +37 -0
  551. package/lib/types/host/services/web-render/provider.d.ts.map +1 -0
  552. package/lib/types/host/services/web-render/provider.js +274 -0
  553. package/lib/types/host/services/web-search-anthropic/contracts.d.ts +117 -0
  554. package/lib/types/host/services/web-search-anthropic/contracts.d.ts.map +1 -0
  555. package/lib/types/host/services/web-search-anthropic/contracts.js +90 -0
  556. package/lib/types/host/services/web-search-anthropic/index.d.ts +53 -0
  557. package/lib/types/host/services/web-search-anthropic/index.d.ts.map +1 -0
  558. package/lib/types/host/services/web-search-anthropic/index.js +123 -0
  559. package/lib/types/host/services/web-search-anthropic/provider.d.ts +101 -0
  560. package/lib/types/host/services/web-search-anthropic/provider.d.ts.map +1 -0
  561. package/lib/types/host/services/web-search-anthropic/provider.js +237 -0
  562. package/lib/types/host/services/worktree/git-runner.d.ts +82 -0
  563. package/lib/types/host/services/worktree/git-runner.d.ts.map +1 -0
  564. package/lib/types/host/services/worktree/git-runner.js +81 -0
  565. package/lib/types/host/services/worktree/git.d.ts +94 -0
  566. package/lib/types/host/services/worktree/git.d.ts.map +1 -0
  567. package/lib/types/host/services/worktree/git.js +153 -0
  568. package/lib/types/host/services/worktree/http.d.ts +12 -0
  569. package/lib/types/host/services/worktree/http.d.ts.map +1 -0
  570. package/lib/types/host/services/worktree/http.js +34 -0
  571. package/lib/types/host/services/worktree/index.d.ts +38 -0
  572. package/lib/types/host/services/worktree/index.d.ts.map +1 -0
  573. package/lib/types/host/services/worktree/index.js +78 -0
  574. package/lib/types/host/services/worktree/lane-tool.d.ts +22 -0
  575. package/lib/types/host/services/worktree/lane-tool.d.ts.map +1 -0
  576. package/lib/types/host/services/worktree/lane-tool.js +92 -0
  577. package/lib/types/host/services/worktree/manager.d.ts +410 -0
  578. package/lib/types/host/services/worktree/manager.d.ts.map +1 -0
  579. package/lib/types/host/services/worktree/manager.js +1485 -0
  580. package/lib/types/host/services/worktree/model-override.d.ts +20 -0
  581. package/lib/types/host/services/worktree/model-override.d.ts.map +1 -0
  582. package/lib/types/host/services/worktree/model-override.js +35 -0
  583. package/lib/types/host/services/worktree/routes.d.ts +50 -0
  584. package/lib/types/host/services/worktree/routes.d.ts.map +1 -0
  585. package/lib/types/host/services/worktree/routes.js +695 -0
  586. package/lib/types/host/services/worktree/run-command.d.ts +26 -0
  587. package/lib/types/host/services/worktree/run-command.d.ts.map +1 -0
  588. package/lib/types/host/services/worktree/run-command.js +36 -0
  589. package/lib/types/host/services/worktree/session-lane/manager.d.ts +109 -0
  590. package/lib/types/host/services/worktree/session-lane/manager.d.ts.map +1 -0
  591. package/lib/types/host/services/worktree/session-lane/manager.js +172 -0
  592. package/lib/types/host/services/worktree/workspace-model-routes.d.ts +21 -0
  593. package/lib/types/host/services/worktree/workspace-model-routes.d.ts.map +1 -0
  594. package/lib/types/host/services/worktree/workspace-model-routes.js +198 -0
  595. package/lib/types/host/services/worktree/workspace-model.d.ts +48 -0
  596. package/lib/types/host/services/worktree/workspace-model.d.ts.map +1 -0
  597. package/lib/types/host/services/worktree/workspace-model.js +113 -0
  598. package/lib/types/index.d.ts +47 -0
  599. package/lib/types/index.d.ts.map +1 -0
  600. package/lib/types/index.js +52 -0
  601. package/lib/types/invariant.d.ts +4 -0
  602. package/lib/types/invariant.d.ts.map +1 -0
  603. package/lib/types/invariant.js +3 -0
  604. package/package.json +153 -3
  605. package/presets/code-vibe/THIRD_PARTY_NOTICES.md +55 -0
  606. package/presets/code-vibe/skills/UPSTREAM.md +104 -0
  607. package/presets/code-vibe/skills/agent-experience/SKILL.md +15 -0
  608. package/presets/code-vibe/skills/agent-operation/SKILL.md +43 -0
  609. package/presets/code-vibe/skills/code-review/SKILL.md +45 -0
  610. package/presets/code-vibe/skills/dsh-ci-test-reliability/SKILL.md +133 -0
  611. package/presets/code-vibe/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md +60 -0
  612. package/presets/code-vibe/skills/dsh-find-simplifications/SKILL.md +69 -0
  613. package/presets/code-vibe/skills/dsh-find-simplifications/references/historical-patterns.md +45 -0
  614. package/presets/code-vibe/skills/dsh-merging-stacked-prs/SKILL.md +129 -0
  615. package/presets/code-vibe/skills/dsh-prose-standard/SKILL.md +83 -0
  616. package/presets/code-vibe/skills/dsh-prose-standard/references/examples.md +169 -0
  617. package/presets/code-vibe/skills/dsh-speed-up-perf/SKILL.md +94 -0
  618. package/presets/code-vibe/skills/dsh-trim-cot-leakage/SKILL.md +47 -0
  619. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/examples.md +275 -0
  620. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/recall-batteries.md +52 -0
  621. package/presets/code-vibe/skills/frontend-design/SKILL.md +60 -0
  622. package/presets/code-vibe/skills/frontend-design/references/critique-format.md +35 -0
  623. package/presets/code-vibe/skills/frontend-design/references/design-standards/LOAD-MAP.md +81 -0
  624. package/presets/code-vibe/skills/frontend-design/references/design-standards/README.md +53 -0
  625. package/presets/code-vibe/skills/frontend-design/references/design-standards/anchor.md +51 -0
  626. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/ai-tells.md +59 -0
  627. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/web-interface.md +14 -0
  628. package/presets/code-vibe/skills/frontend-design/references/design-standards/change-control.md +62 -0
  629. package/presets/code-vibe/skills/frontend-design/references/design-standards/copy.md +65 -0
  630. package/presets/code-vibe/skills/frontend-design/references/design-standards/craft-knobs.md +61 -0
  631. package/presets/code-vibe/skills/frontend-design/references/design-standards/debug-playbook.md +37 -0
  632. package/presets/code-vibe/skills/frontend-design/references/design-standards/exemplars/README.md +64 -0
  633. package/presets/code-vibe/skills/frontend-design/references/design-standards/plan-architecture.checklist.json +13 -0
  634. package/presets/code-vibe/skills/frontend-design/references/design-standards/product-judgment.md +113 -0
  635. package/presets/code-vibe/skills/frontend-design/references/design-standards/system-architecture.md +108 -0
  636. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/README.md +26 -0
  637. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/color-roles.md +49 -0
  638. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/motion.md +51 -0
  639. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/scale.md +89 -0
  640. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-page-gate.md +61 -0
  641. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-surface.checklist.json +49 -0
  642. package/presets/code-vibe/skills/frontend-design/references/design-standards/ux.md +76 -0
  643. package/presets/code-vibe/skills/frontend-design/references/design-standards/visual.md +52 -0
  644. package/presets/code-vibe/skills/frontend-design/references/perceptible-path.md +27 -0
  645. package/presets/code-vibe/skills/frontend-design/references/product-package.md +80 -0
  646. package/presets/code-vibe/skills/frontend-design/references/scheme-antipatterns.md +21 -0
  647. package/presets/code-vibe/skills/quality-review/SKILL.md +57 -0
  648. package/presets/code-vibe/skills/quality-review/references/bounded-verify.md +37 -0
  649. package/presets/code-vibe/skills/quality-review/references/browser-verify.md +81 -0
  650. package/presets/code-vibe/skills/quality-review/references/evidence-contract.md +194 -0
  651. package/presets/code-vibe/skills/quality-review/references/falsify-checklist.md +44 -0
  652. package/presets/code-vibe/skills/quality-review/references/human-acceptance-pack.md +68 -0
  653. package/presets/code-vibe/skills/quality-review/references/product-regression.md +51 -0
  654. package/presets/code-vibe/skills/quality-review/references/ux-standards.md +37 -0
  655. package/presets/code-vibe/skills/quality-review/references/ux-walkthrough.md +49 -0
  656. package/presets/code-vibe/skills/quality-review/references/validation-report.md +22 -0
  657. package/presets/code-vibe/skills/quality-review/references/verification-loop.md +95 -0
  658. package/presets/code-vibe/skills/quality-review/references/version-acceptance-matrix.md +131 -0
  659. package/presets/code-vibe/skills/record-browser-gif/SKILL.md +174 -0
  660. package/presets/code-vibe/skills/record-browser-gif/scripts/encode_gif.py +337 -0
  661. package/presets/code-vibe/skills/record-browser-gif/scripts/test_encode_gif.py +103 -0
  662. package/presets/code-vibe/skills/wish-programming/SKILL.md +150 -0
  663. package/presets/code-vibe/skills/wish-programming/references/roles/arch-reviewer.md +26 -0
  664. package/presets/code-vibe/skills/wish-programming/references/roles/design-reviewer.md +32 -0
  665. package/presets/code-vibe/skills/wish-programming/references/roles/pm-reviewer.md +26 -0
  666. package/presets/code-vibe/skills/wish-programming/references/roles/qa-reviewer.md +16 -0
  667. package/presets/code-vibe/skills/wish-programming/references/roles/security-reviewer.md +16 -0
  668. package/presets/code-vibe/skills/wish-programming/references/roles/sre-reviewer.md +16 -0
  669. package/presets/code-vibe/skills/wish-programming/references/roles/ux-adversary.md +16 -0
  670. package/presets/code-vibe/skills/wish-programming/references/templates/arch.md.tpl +51 -0
  671. package/presets/code-vibe/skills/wish-programming/references/templates/brief.md.tpl +36 -0
  672. package/presets/code-vibe/skills/wish-programming/references/templates/confirmation-pack.md +54 -0
  673. package/presets/code-vibe/skills/wish-programming/references/templates/design-spec.md.tpl +49 -0
  674. package/presets/code-vibe/skills/wish-programming/references/templates/module-readme.md +37 -0
  675. package/presets/code-vibe/skills/wish-programming/references/templates/product.md.tpl +74 -0
  676. package/presets/code-vibe/skills/wish-programming/references/templates/requirements.md.tpl +31 -0
  677. package/presets/code-vibe/skills/wish-programming/references/workflow-template.md +122 -0
  678. package/presets/code-vibe/skills/wish-programming/scripts/MANIFEST.sha256 +11 -0
  679. package/presets/code-vibe/skills/wish-programming/scripts/check_spec.py +416 -0
  680. package/presets/code-vibe/skills/wish-programming/scripts/check_whitelist.py +193 -0
  681. package/presets/code-vibe/skills/wish-programming/scripts/coverage_check.py +199 -0
  682. package/presets/code-vibe/skills/wish-programming/scripts/gate-lock.sh +46 -0
  683. package/presets/code-vibe/skills/wish-programming/scripts/journey.sh +281 -0
  684. package/presets/code-vibe/skills/wish-programming/scripts/project.sh +152 -0
  685. package/presets/code-vibe/skills/wish-programming/scripts/replay.sh +65 -0
  686. package/presets/code-vibe/skills/wish-programming/scripts/scan_drift.py +79 -0
  687. package/presets/code-vibe/skills/wish-programming/scripts/verify.sh +169 -0
  688. package/presets/code-vibe/skills/wish-programming/scripts/verify_preset_budgets.py +218 -0
  689. package/presets/code-vibe/skills/wish-programming/scripts/wish.sh +150 -0
  690. package/presets/code-vibe.patch.yml +325 -0
  691. package/presets/hiopen.patch.yml +109 -0
  692. package/src/client/compat.ts +86 -0
  693. package/src/client/conversation/conversation.module.css +264 -0
  694. package/src/client/conversation/git-branch.tsx +152 -0
  695. package/src/client/conversation/git-graph/LICENSE.git-graph +202 -0
  696. package/src/client/conversation/git-graph/api.ts +85 -0
  697. package/src/client/conversation/git-graph/branch-chip.tsx +354 -0
  698. package/src/client/conversation/git-graph/branch-popover.tsx +185 -0
  699. package/src/client/conversation/git-graph/chip.tsx +47 -0
  700. package/src/client/conversation/git-graph/create-branch-dialog.tsx +108 -0
  701. package/src/client/conversation/git-graph/error-copy.ts +50 -0
  702. package/src/client/conversation/git-graph/git-graph.module.css +792 -0
  703. package/src/client/conversation/git-graph/graph-dialog.tsx +196 -0
  704. package/src/client/conversation/git-graph/hero-seat.ts +76 -0
  705. package/src/client/conversation/git-graph/locales.ts +90 -0
  706. package/src/client/conversation/git-graph/sse-leader.ts +124 -0
  707. package/src/client/conversation/index.ts +82 -0
  708. package/src/client/conversation/selector-context.tsx +24 -0
  709. package/src/client/conversation/session-lane-chip.tsx +262 -0
  710. package/src/client/conversation/session-lane-locales.ts +34 -0
  711. package/src/client/conversation/subagent-model-dom.ts +157 -0
  712. package/src/client/conversation/subagent-model.ts +198 -0
  713. package/src/client/conversation/worktree/api.ts +283 -0
  714. package/src/client/conversation/worktree/dialogs/DeleteWorktreeDialog.tsx +111 -0
  715. package/src/client/conversation/worktree/dialogs/PrCreateDialog.tsx +114 -0
  716. package/src/client/conversation/worktree/lane-binding.ts +77 -0
  717. package/src/client/conversation/worktree/lane-menu.tsx +247 -0
  718. package/src/client/conversation/worktree/lane-open.ts +204 -0
  719. package/src/client/conversation/worktree/lane-workspace-sweeper.ts +136 -0
  720. package/src/client/conversation/worktree/lifecycle.ts +75 -0
  721. package/src/client/conversation/worktree/locales.ts +97 -0
  722. package/src/client/conversation/worktree/semantic.ts +10 -0
  723. package/src/client/conversation/worktree/worktree.module.css +70 -0
  724. package/src/client/css-modules.d.ts +8 -0
  725. package/src/client/index.ts +58 -0
  726. package/src/client/lark-inbox/i18n.ts +125 -0
  727. package/src/client/lark-inbox/lark-wizard.module.css +88 -0
  728. package/src/client/lark-inbox/wizard.tsx +211 -0
  729. package/src/client/notify/i18n.ts +93 -0
  730. package/src/client/settings/family-scope.ts +45 -0
  731. package/src/client/settings/lark-inbox.tsx +319 -0
  732. package/src/client/settings/notify.tsx +288 -0
  733. package/src/client/settings/primitives-0.2.ts +148 -0
  734. package/src/client/settings/settings-shell.module.css +56 -0
  735. package/src/client/sidebar/RenderBoundary.tsx +17 -0
  736. package/src/client/sidebar/agent-browser.tsx +114 -0
  737. package/src/client/sidebar/diff-view.tsx +314 -0
  738. package/src/client/sidebar/git-workbench.tsx +700 -0
  739. package/src/client/sidebar/icons.tsx +23 -0
  740. package/src/client/sidebar/index.ts +28 -0
  741. package/src/client/sidebar/native-panels.tsx +149 -0
  742. package/src/client/sidebar/page-shell.module.css +96 -0
  743. package/src/client/sidebar/page-shell.tsx +86 -0
  744. package/src/client/sidebar/panels/memoir/api.ts +300 -0
  745. package/src/client/sidebar/panels/memoir/controller.ts +47 -0
  746. package/src/client/sidebar/panels/memoir/cwd.ts +140 -0
  747. package/src/client/sidebar/panels/memoir/i18n.ts +300 -0
  748. package/src/client/sidebar/panels/memoir/panel-activation.ts +42 -0
  749. package/src/client/sidebar/panels/memoir/panel.tsx +869 -0
  750. package/src/client/sidebar/panels/memoir/styles.ts +776 -0
  751. package/src/client/sidebar/panels/memoir/types.ts +7 -0
  752. package/src/client/sidebar/panels/ssh/ClusterTab.tsx +123 -0
  753. package/src/client/sidebar/panels/ssh/HostFormDialog.tsx +243 -0
  754. package/src/client/sidebar/panels/ssh/HostsTab.tsx +290 -0
  755. package/src/client/sidebar/panels/ssh/SshPanel.tsx +76 -0
  756. package/src/client/sidebar/panels/ssh/TerminalTab.tsx +290 -0
  757. package/src/client/sidebar/panels/ssh/TransferTab.tsx +232 -0
  758. package/src/client/sidebar/panels/ssh/TunnelsTab.tsx +204 -0
  759. package/src/client/sidebar/panels/ssh/api.ts +388 -0
  760. package/src/client/sidebar/panels/ssh/controller.ts +48 -0
  761. package/src/client/sidebar/panels/ssh/helpers.ts +70 -0
  762. package/src/client/sidebar/panels/ssh/locales.ts +318 -0
  763. package/src/client/sidebar/panels/ssh/panel.module.css +801 -0
  764. package/src/client/sidebar/panels/ssh/xterm.css.ts +2 -0
  765. package/src/client/sidebar/right-pane-i18n.ts +243 -0
  766. package/src/client/sidebar/right-pane.tsx +156 -0
  767. package/src/client/sidebar/scope.ts +54 -0
  768. package/src/client/sidebar/sidebar-header.module.css +72 -0
  769. package/src/client/sidebar/sidebar.module.css +619 -0
  770. package/src/client/trust.ts +187 -0
  771. package/src/client/ui-icons.ts +35 -0
  772. package/src/core/git-graph/commands.ts +107 -0
  773. package/src/core/git-graph/protocol.ts +238 -0
  774. package/src/core/index.ts +2 -0
  775. package/src/core/lark-inbox/gating.ts +35 -0
  776. package/src/core/lark-inbox/queue.ts +100 -0
  777. package/src/core/memoir/protocol.ts +46 -0
  778. package/src/core/no-browser-auth/contract.ts +25 -0
  779. package/src/core/notify/contract.ts +236 -0
  780. package/src/core/notify/feed.ts +235 -0
  781. package/src/core/playwright-sessions/contracts.ts +143 -0
  782. package/src/core/playwright-sessions/control.ts +33 -0
  783. package/src/core/playwright-sessions/index.ts +3 -0
  784. package/src/core/playwright-sessions/names.ts +83 -0
  785. package/src/core/playwright-sessions/schema.ts +102 -0
  786. package/src/core/playwright-sessions/wire.ts +142 -0
  787. package/src/core/remote-access/paths.ts +23 -0
  788. package/src/core/remote-web-ui/security.ts +171 -0
  789. package/src/core/right-pane/protocol.ts +94 -0
  790. package/src/core/schedule-mode/index.ts +6 -0
  791. package/src/core/schedule-mode/native.ts +105 -0
  792. package/src/core/schedule-mode/types.ts +182 -0
  793. package/src/core/schedule-mode/view.ts +66 -0
  794. package/src/core/ssh/protocol.ts +212 -0
  795. package/src/core/subagent-model/badges.ts +161 -0
  796. package/src/core/worktree/invariant.ts +101 -0
  797. package/src/core/worktree/manifest.ts +135 -0
  798. package/src/core/worktree/paths.ts +123 -0
  799. package/src/core/worktree/pr-create.ts +157 -0
  800. package/src/core/worktree/protocol.ts +7 -0
  801. package/src/core/worktree/types.ts +317 -0
  802. package/src/core/worktree/workspace-model.ts +61 -0
  803. package/src/host/services/access-trust/index.ts +127 -0
  804. package/src/host/services/access-trust/trust.ts +189 -0
  805. package/src/host/services/codex-bridge/bridge.ts +392 -0
  806. package/src/host/services/codex-bridge/codex-auth.ts +352 -0
  807. package/src/host/services/codex-bridge/dsh-integration.ts +169 -0
  808. package/src/host/services/codex-bridge/http.ts +105 -0
  809. package/src/host/services/codex-bridge/index.ts +154 -0
  810. package/src/host/services/codex-bridge/loopback.ts +63 -0
  811. package/src/host/services/codex-bridge/routes.ts +143 -0
  812. package/src/host/services/family-config.ts +224 -0
  813. package/src/host/services/family-namespaces.ts +39 -0
  814. package/src/host/services/git-graph/index.ts +11 -0
  815. package/src/host/services/git-graph/routes.ts +212 -0
  816. package/src/host/services/git-graph/service.ts +305 -0
  817. package/src/host/services/index.ts +94 -0
  818. package/src/host/services/lark-inbox/config.ts +66 -0
  819. package/src/host/services/lark-inbox/gateway.ts +184 -0
  820. package/src/host/services/lark-inbox/host-routes.ts +113 -0
  821. package/src/host/services/lark-inbox/inbox-store.ts +160 -0
  822. package/src/host/services/lark-inbox/index.ts +141 -0
  823. package/src/host/services/lark-inbox/tools.ts +124 -0
  824. package/src/host/services/lark-inbox/wizard.ts +206 -0
  825. package/src/host/services/lifecycle.ts +107 -0
  826. package/src/host/services/memoir/index.ts +80 -0
  827. package/src/host/services/memoir/routes.ts +346 -0
  828. package/src/host/services/memoir/settings.ts +122 -0
  829. package/src/host/services/memoir/store.ts +132 -0
  830. package/src/host/services/memoir/tools.ts +158 -0
  831. package/src/host/services/no-browser-auth/index.ts +70 -0
  832. package/src/host/services/notify/config.ts +178 -0
  833. package/src/host/services/notify/feishu-sender.ts +220 -0
  834. package/src/host/services/notify/host-routes.ts +133 -0
  835. package/src/host/services/notify/index.ts +305 -0
  836. package/src/host/services/playwright-sessions/child.ts +251 -0
  837. package/src/host/services/playwright-sessions/controller.ts +102 -0
  838. package/src/host/services/playwright-sessions/index.ts +146 -0
  839. package/src/host/services/playwright-sessions/live-view.ts +225 -0
  840. package/src/host/services/playwright-sessions/manager.ts +239 -0
  841. package/src/host/services/playwright-sessions/profile-gc.ts +97 -0
  842. package/src/host/services/playwright-sessions/routes.ts +90 -0
  843. package/src/host/services/remote-access/boot-scripts.ts +118 -0
  844. package/src/host/services/remote-access/index.ts +62 -0
  845. package/src/host/services/remote-access/routes.ts +137 -0
  846. package/src/host/services/remote-web-ui/index.ts +344 -0
  847. package/src/host/services/remote-web-ui/server-mode/accounts.ts +423 -0
  848. package/src/host/services/remote-web-ui/server-mode/cookie.ts +57 -0
  849. package/src/host/services/remote-web-ui/server-mode/dsh-home.ts +42 -0
  850. package/src/host/services/remote-web-ui/server-mode/external-auth.ts +296 -0
  851. package/src/host/services/remote-web-ui/server-mode/fence.ts +27 -0
  852. package/src/host/services/remote-web-ui/server-mode/gateway-routes.ts +797 -0
  853. package/src/host/services/remote-web-ui/server-mode/gateway.ts +684 -0
  854. package/src/host/services/remote-web-ui/server-mode/http.ts +105 -0
  855. package/src/host/services/remote-web-ui/server-mode/integrated-auth.ts +118 -0
  856. package/src/host/services/remote-web-ui/server-mode/lan.ts +19 -0
  857. package/src/host/services/remote-web-ui/server-mode/loopback.ts +63 -0
  858. package/src/host/services/remote-web-ui/server-mode/posture.ts +154 -0
  859. package/src/host/services/remote-web-ui/server-mode/roles.ts +51 -0
  860. package/src/host/services/remote-web-ui/server-mode/server-boot.ts +38 -0
  861. package/src/host/services/remote-web-ui/server-mode/sessions.ts +347 -0
  862. package/src/host/services/remote-web-ui/server.ts +591 -0
  863. package/src/host/services/resources.ts +78 -0
  864. package/src/host/services/right-pane/browser.ts +106 -0
  865. package/src/host/services/right-pane/index.ts +117 -0
  866. package/src/host/services/right-pane/wire.ts +10 -0
  867. package/src/host/services/schedule-mode/config.ts +26 -0
  868. package/src/host/services/schedule-mode/engine.ts +689 -0
  869. package/src/host/services/schedule-mode/index.ts +214 -0
  870. package/src/host/services/schedule-mode/routes.ts +130 -0
  871. package/src/host/services/schedule-mode/session-create.ts +36 -0
  872. package/src/host/services/schedule-mode/store.ts +304 -0
  873. package/src/host/services/schedule-mode/tools.ts +154 -0
  874. package/src/host/services/ssh/engine.ts +675 -0
  875. package/src/host/services/ssh/host-keys.ts +99 -0
  876. package/src/host/services/ssh/index.ts +84 -0
  877. package/src/host/services/ssh/routes.ts +442 -0
  878. package/src/host/services/ssh/store.ts +310 -0
  879. package/src/host/services/ssh/terminal-ws.ts +157 -0
  880. package/src/host/services/ssh/tools.ts +279 -0
  881. package/src/host/services/web-render/contracts.ts +138 -0
  882. package/src/host/services/web-render/index.ts +112 -0
  883. package/src/host/services/web-render/provider.ts +282 -0
  884. package/src/host/services/web-search-anthropic/contracts.ts +163 -0
  885. package/src/host/services/web-search-anthropic/index.ts +152 -0
  886. package/src/host/services/web-search-anthropic/provider.ts +325 -0
  887. package/src/host/services/worktree/git-runner.ts +124 -0
  888. package/src/host/services/worktree/git.ts +183 -0
  889. package/src/host/services/worktree/http.ts +36 -0
  890. package/src/host/services/worktree/index.ts +92 -0
  891. package/src/host/services/worktree/lane-tool.ts +100 -0
  892. package/src/host/services/worktree/manager.ts +1553 -0
  893. package/src/host/services/worktree/model-override.ts +43 -0
  894. package/src/host/services/worktree/routes.ts +570 -0
  895. package/src/host/services/worktree/run-command.ts +66 -0
  896. package/src/host/services/worktree/session-lane/manager.ts +228 -0
  897. package/src/host/services/worktree/workspace-model-routes.ts +156 -0
  898. package/src/host/services/worktree/workspace-model.ts +132 -0
  899. package/src/index.ts +84 -0
  900. package/src/invariant.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","names":["optionalService","PanelController","readJson","query","zh","en","en","zh","errorMessage","splitList","errorMessage","css","errorMessage","css","errorMessage","css","errorMessage","Terminal","FitAddon","css","errorMessage","css","errorMessage","css","css","css","read","makeT","Fragment","optionalService","SshPanelController","MemoirPanelController","makeT","table","primitives","css","css","css","Input","Menu","Modal","Button","Component","css","optionalService","css","post","css","css","css","css","sessions","css","zh","en","request","optionalService","Modal","Button","styles","Modal","Button","styles","css","zh","en","css","optionalService","css","zh","en","zh","en","gitGraphZh","gitGraphEn","sessionLaneZh","sessionLaneEn","worktreeZh","worktreeEn","primitives","styles","zh","en","makeT","booleanField","BooleanRow","css","optionalConfigForms","makeT","css"],"sources":["../../../packages/dsh-web-all/src/client/compat.ts","../../../packages/dsh-web-all/src/core/remote-access/paths.ts","../../../packages/dsh-web-all/src/client/trust.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/controller.ts","../../../packages/dsh-web-all/src/core/ssh/protocol.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/api.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/locales.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/helpers.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/ClusterTab.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/HostFormDialog.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/HostsTab.tsx","../../../node_modules/.pnpm/@xterm+xterm@6.0.0/node_modules/@xterm/xterm/lib/xterm.js","../../../node_modules/.pnpm/@xterm+addon-fit@0.11.0/node_modules/@xterm/addon-fit/lib/addon-fit.js","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/xterm.css.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/TerminalTab.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/TransferTab.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/TunnelsTab.tsx","../../../packages/dsh-web-all/src/client/sidebar/page-shell.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/ssh/SshPanel.tsx","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/controller.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/api.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/cwd.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/i18n.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/styles.ts","../../../packages/dsh-web-all/src/client/sidebar/panels/memoir/panel.tsx","../../../packages/dsh-web-all/src/client/sidebar/native-panels.tsx","../../../packages/dsh-web-all/src/client/ui-icons.ts","../../../packages/dsh-web-all/src/client/sidebar/icons.tsx","../../../packages/dsh-web-all/src/core/playwright-sessions/control.ts","../../../packages/dsh-web-all/src/client/sidebar/agent-browser.tsx","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../packages/dsh-web-all/src/client/sidebar/right-pane-i18n.ts","../../../packages/dsh-web-all/src/client/sidebar/diff-view.tsx","../../../packages/dsh-web-all/src/client/sidebar/git-workbench.tsx","../../../packages/dsh-web-all/src/client/sidebar/RenderBoundary.tsx","../../../packages/dsh-web-all/src/core/right-pane/protocol.ts","../../../packages/dsh-web-all/src/client/sidebar/scope.ts","../../../packages/dsh-web-all/src/client/sidebar/right-pane.tsx","../../../packages/dsh-web-all/src/client/sidebar/index.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/sse-leader.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/api.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/chip.tsx","../../../packages/dsh-web-all/src/client/conversation/git-graph/hero-seat.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/error-copy.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/branch-popover.tsx","../../../packages/dsh-web-all/src/core/git-graph/commands.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/create-branch-dialog.tsx","../../../packages/dsh-web-all/src/core/git-graph/protocol.ts","../../../packages/dsh-web-all/src/client/conversation/git-graph/graph-dialog.tsx","../../../packages/dsh-web-all/src/client/conversation/git-graph/branch-chip.tsx","../../../packages/dsh-web-all/src/client/conversation/git-graph/locales.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/api.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/lane-binding.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/lane-open.ts","../../../packages/dsh-web-all/src/client/conversation/git-branch.tsx","../../../packages/dsh-web-all/src/client/conversation/selector-context.tsx","../../../packages/dsh-web-all/src/client/conversation/worktree/semantic.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/lifecycle.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/dialogs/PrCreateDialog.tsx","../../../packages/dsh-web-all/src/client/conversation/worktree/dialogs/DeleteWorktreeDialog.tsx","../../../packages/dsh-web-all/src/client/conversation/worktree/lane-menu.tsx","../../../packages/dsh-web-all/src/client/conversation/session-lane-locales.ts","../../../packages/dsh-web-all/src/client/conversation/session-lane-chip.tsx","../../../packages/dsh-web-all/src/core/subagent-model/badges.ts","../../../packages/dsh-web-all/src/client/conversation/subagent-model-dom.ts","../../../packages/dsh-web-all/src/client/conversation/subagent-model.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/locales.ts","../../../packages/dsh-web-all/src/core/worktree/paths.ts","../../../packages/dsh-web-all/src/client/conversation/worktree/lane-workspace-sweeper.ts","../../../packages/dsh-web-all/src/client/conversation/index.ts","../../../packages/dsh-web-all/src/client/settings/primitives-0.2.ts","../../../packages/dsh-web-all/src/client/lark-inbox/wizard.tsx","../../../packages/dsh-web-all/src/client/lark-inbox/i18n.ts","../../../packages/dsh-web-all/src/client/settings/family-scope.ts","../../../packages/dsh-web-all/src/client/settings/lark-inbox.tsx","../../../packages/dsh-web-all/src/client/notify/i18n.ts","../../../packages/dsh-web-all/src/core/notify/contract.ts","../../../packages/dsh-web-all/src/client/settings/notify.tsx","../../../packages/dsh-web-all/src/client/index.ts"],"sourcesContent":["/**\n * compat shim — data-pane / data-dsh-frame 补标。\n *\n * 官方 shell 的三列容器只带 css-module 哈希类(*_sidebarCol / *_centerCol /\n * *_detailsCol),不带稳定的 data-pane / data-dsh-frame 属性。全家桶各位置\n * 模块与皮肤按这些属性锚定 DOM,因此本 shim 把列容器标记出来,并在 React\n * 重建列结构时自动重打。\n *\n * 行为契约(保持稳定,勿改):\n * - 侧栏列 → data-pane=\"sidebar\";中栏列 → data-pane=\"conversation\";\n * 右栏列 → data-pane=\"details\";列容器父级 → data-dsh-frame=\"\"\n * - 只写属性,不删节点、不扰动 React 协调;幂等。\n */\nexport interface CompatStamp {\n /** 列选择器 → 要打的属性。 */\n columns: ReadonlyArray<readonly [selector: string, attribute: string]>\n /** 列集合之上再补标的 frame 属性名。 */\n frameAttribute: 'data-dsh-frame'\n}\n\nexport const DEFAULT_STAMPS: CompatStamp = {\n columns: [\n ['[class*=\"sidebarCol\"]', 'data-pane=\"sidebar\"'],\n ['[class*=\"centerCol\"]', 'data-pane=\"conversation\"'],\n ['[class*=\"detailsCol\"], [class*=\"rightbarCol\"]', 'data-pane=\"details\"'],\n ],\n frameAttribute: 'data-dsh-frame',\n}\n\nconst COLUMN_OR = '[class*=\"sidebarCol\"], [class*=\"centerCol\"], [class*=\"detailsCol\"], [class*=\"rightbarCol\"]'\n\n/** 单次扫描:给列与 frame 打标。返回 true 表示发生过变化。 */\nexport function applyCompat(stamps: CompatStamp = DEFAULT_STAMPS): boolean {\n // 裸 host / 测试环境没有 document:直接返回(无副作用)。\n if (typeof document === 'undefined') return false\n let changed = false\n for (const [selector, attribute] of stamps.columns) {\n const el = document.querySelector(selector)\n if (el === null) continue\n const eq = attribute.indexOf('=')\n const name = attribute.slice(0, eq)\n const value = attribute.slice(eq + 1).replace(/^\"|\"$/g, '')\n if (el.getAttribute(name) !== value) {\n el.setAttribute(name, value)\n changed = true\n }\n }\n // frame:列集合共同的父级网格项。\n const column = document.querySelector(COLUMN_OR)\n const frame = column?.parentElement ?? null\n if (frame !== null && frame.getAttribute(stamps.frameAttribute) !== '') {\n frame.setAttribute(stamps.frameAttribute, '')\n changed = true\n }\n return changed\n}\n\n/**\n * 挂载 compat 补标:首次立即应用,之后用 rAF 合并 MutationObserver 突发并\n * 在每帧重打一次,直到全部打标到位。\n * @returns disposer。\n */\nexport function mountCompat(stamps: CompatStamp = DEFAULT_STAMPS): () => void {\n let scheduled = false\n let done = false\n const pass = (): void => {\n scheduled = false\n if (applyCompat(stamps)) done = false\n else done = true\n }\n const schedule = (): void => {\n if (scheduled) return\n scheduled = true\n requestAnimationFrame(() => {\n pass()\n if (!done) schedule()\n })\n }\n schedule()\n const observer = new MutationObserver(() => schedule())\n observer.observe(document.body, { childList: true, subtree: true })\n return () => {\n observer.disconnect()\n scheduled = false\n }\n}","/**\n * Wire constants shared by the host and browser halves of remote access.\n *\n * They live in `core/` because the served boot row (host half) and the client\n * trust patch (browser half) must agree byte-for-byte on the paths and on the\n * provenance marker cookie; `src/client/trust.ts` cannot import the host half.\n * @module dsh-web-all/core/remote-access/paths\n */\n\n/** Parser-blocking boot script path; the host decides per request. */\nexport const HOST_ACCESS_BOOT_PATH = '/web-all/remote-access/boot.js'\n\n/** Credential-free posture readout for one requesting Host. */\nexport const HOST_ACCESS_SESSION_PATH = '/api/dsh-access/session'\n\n/** Browser-readable provenance marker: \"this Host was an admitted entry\". */\nexport const HOST_ACCESS_MARKER_COOKIE = 'dsh_access_host'\n\n/** The only value the marker carries; anything else means \"not marked\". */\nexport const HOST_ACCESS_MARKER_VALUE = '1'\n\n/** Marker lifetime; mirrors the gateway marker. */\nexport const HOST_ACCESS_MARKER_MAX_AGE_SECONDS = 30 * 24 * 3600","/**\n * 网关页面的宿主信任补丁(客户端半边)。\n *\n * 0.2 客户端用**页面来源**判断设置面归谁管:\n *\n * const persistence = ctx.remote.$host.isLoopback ? \"host\" : \"memory\"\n * (dsh-client-ui-settings)\n *\n * 经家族网关打开的页面(http://dsh.mac/ 、http://<lan-ip>:3082)主机名不是回环地址,\n * 于是客户端把整个设置面降级成进程内的内存态:设置 → 模型 显示\n * “settings are unavailable in this browser”,账号页、配置文件入口同样失效。\n * 而宿主半边其实早就把网关请求当回环处理(server-mode 代理重写为回环形状 + noBrowserAuth),\n * 只有客户端还认为自己低人一等。\n *\n * 两份声明,互为兜底:\n * 1. 宿主注入的 boot 脚本(server-mode SERVER_BOOT_SCRIPT)在非回环分支同步声明\n * `__DSH_TRANSPORT__.ownsHost = true`(官方 transport 钩子:“本页拥有 Host”);\n * 2. 本模块在客户端启动时兜底:只要**能证明**这页是家族网关发出来的\n * (浏览器可读的 dsh_gw 标记 cookie,拿不到时退化为一次 /api/gateway/session 探测),\n * 就把 `ctx.connection.isLoopback` 置为 true 并让 `remote.$host` 的快照失效重建。\n * 这样即使 shell HTML 被浏览器缓存、boot 脚本是旧的,设置面依然留在宿主上。\n *\n * 回环页面与非网关页面完全不受影响:前者本来 isLoopback 就是 true,后者拿不到标记也不会被改写。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport {\n HOST_ACCESS_MARKER_COOKIE,\n HOST_ACCESS_MARKER_VALUE,\n HOST_ACCESS_SESSION_PATH,\n} from '../core/remote-access/paths.ts'\n\n/** 宿主网关写的“来源标记”cookie 名(非密值,仅供客户端识别来源)。 */\nexport const GATEWAY_MARKER_COOKIE = 'dsh_gw'\n\n/** 标记 cookie 的期望值。 */\nexport const GATEWAY_MARKER_VALUE = '1'\n\n/**\n * 远程访问域写的第二份来源标记(同样非密值)。反向代理直连拓扑\n * (browser -> nginx -> 127.0.0.1:3080,没有家族网关)拿不到网关 cookie 与\n * 网关 boot 脚本,由宿主在 `GET /api/dsh-access/session` 和 per-request boot\n * 脚本响应上写入该标记。\n */\nexport { HOST_ACCESS_MARKER_COOKIE, HOST_ACCESS_MARKER_VALUE } from '../core/remote-access/paths.ts'\n\n/** 网关会话探测路径(server-mode 网关才有)。 */\nexport const GATEWAY_SESSION_PATH = '/api/gateway/session'\n\n/** 远程访问域的准入探测路径;`owners === true` 表示本页可以拥有 Host。 */\nexport const ACCESS_SESSION_PATH = HOST_ACCESS_SESSION_PATH\n\n/** 浏览器位置的最小面(便于单测注入)。 */\nexport interface LocationLike {\n hostname: string\n}\n\n/** 连接句柄的最小面(只读成员在运行时是普通可写属性)。 */\nexport interface ConnectionTrustTarget {\n isLoopback?: boolean\n}\n\n/** remote 服务的最小面:`$host` 是带缓存的 getter,缓存字段是 hostFacts。 */\nexport interface RemoteTrustTarget {\n hostFacts?: unknown\n [key: string]: unknown\n}\n\n/** 宿主名是否属于回环(与 dsh-client-connection 的判定一致:localhost / ::1 / 127/8)。 */\nexport function isLoopbackHostname(hostname: string): boolean {\n if (hostname === 'localhost' || hostname === '::1' || hostname === '[::1]') return true\n const parts = hostname.split('.')\n return parts.length === 4 && parts[0] === '127' && parts.every(part => /^\\d{1,3}$/.test(part) && Number(part) <= 255)\n}\n\n/** 从 document.cookie 里读某个标记(同步、无网络)。 */\nfunction hasMarker(cookie: string | undefined, name: string, value: string): boolean {\n if (cookie === undefined || cookie === '') return false\n return cookie.split(';').some(part => {\n const eq = part.indexOf('=')\n if (eq < 0) return false\n return part.slice(0, eq).trim() === name && part.slice(eq + 1).trim() === value\n })\n}\n\n/** 家族网关写的来源标记。 */\nexport function hasGatewayMarker(cookie: string | undefined): boolean {\n return hasMarker(cookie, GATEWAY_MARKER_COOKIE, GATEWAY_MARKER_VALUE)\n}\n\n/** 远程访问域写的来源标记(反向代理直连拓扑)。 */\nexport function hasHostAccessMarker(cookie: string | undefined): boolean {\n return hasMarker(cookie, HOST_ACCESS_MARKER_COOKIE, HOST_ACCESS_MARKER_VALUE)\n}\n\n/**\n * 把“本页拥有 Host”落到运行时对象上:改 connection 的 isLoopback,并让 remote.$host 的\n * 缓存快照失效(该 getter 下一次访问会用新的 connection 值重建)。\n * @param targets - connection 与 remote 服务(任一缺失都安全跳过)。\n * @returns 是否真的改写过 connection。\n */\nexport function applyGatewayHostOwnership(targets: {\n connection?: ConnectionTrustTarget | undefined\n remote?: RemoteTrustTarget | undefined\n transport?: Record<string, unknown> | undefined\n}): boolean {\n let changed = false\n if (targets.transport !== undefined && targets.transport.ownsHost !== true) {\n try {\n targets.transport.ownsHost = true\n changed = true\n } catch { /* 冻结的 transport:跳过 */ }\n }\n const connection = targets.connection\n if (connection !== undefined && connection.isLoopback !== true) {\n try {\n connection.isLoopback = true\n changed = true\n } catch { /* 冻结的句柄:跳过 */ }\n }\n const remote = targets.remote\n if (remote !== undefined) {\n try {\n delete remote.hostFacts\n } catch { /* 无视 */ }\n }\n return changed\n}\n\n/** 取一个可选服务(缺失或抛错都返回 undefined)。 */\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try {\n return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)(name, false) as T | undefined\n } catch {\n return undefined\n }\n}\n\n/**\n * 挂载信任补丁;返回 disposer。只对“非回环 + 能证明来自家族网关”的页面生效。\n * @param ctx - client root context。\n * @param locationLike - 可注入的位置(默认取 globalThis.location)。\n * @param cookie - 可注入的 cookie 串(默认取 document.cookie)。\n */\nexport function mountGatewayTrust(\n ctx: ClientContext,\n locationLike: LocationLike | undefined = typeof location === 'undefined' ? undefined : location,\n cookie: string | undefined = typeof document === 'undefined' ? undefined : document.cookie,\n probe: ((path: string) => Promise<boolean>) | undefined = undefined,\n): () => void {\n if (locationLike === undefined || isLoopbackHostname(locationLike.hostname)) return () => {}\n const globalTransport = (globalThis as { __DSH_TRANSPORT__?: Record<string, unknown> }).__DSH_TRANSPORT__\n const apply = (): boolean => applyGatewayHostOwnership({\n connection: optionalService<ConnectionTrustTarget>(ctx, 'connection'),\n remote: optionalService<RemoteTrustTarget>(ctx, 'remote'),\n transport: globalTransport,\n })\n if (hasGatewayMarker(cookie) || hasHostAccessMarker(cookie)) {\n apply()\n return () => {}\n }\n if (globalTransport?.ownsHost === true) {\n // boot 脚本已经声明过(壳是新的):只需要把 remote 的快照失效掉,让 settings 读到 true。\n apply()\n return () => {}\n }\n // 老壳(HTML 被缓存、没有 boot 声明、也没有标记 cookie):先探家族网关会话,\n // 再退到远程访问域的准入探测(反向代理直连拓扑没有网关),任一确认即补。\n let disposed = false\n const sessionProbe = probe ?? defaultAdmissionProbe\n void sessionProbe(GATEWAY_SESSION_PATH)\n .then(admitted => admitted ? true : sessionProbe(ACCESS_SESSION_PATH))\n .then(admitted => { if (!disposed && admitted) apply() })\n .catch(() => { /* 网关与远程访问域都不可达:保持原状 */ })\n return () => { disposed = true }\n}\n\n/**\n * 默认探测:网关会话回答 `authenticated`,远程访问域回答 `owners`。\n * @param path - 要探测的准入路径。\n * @returns 该页是否可以拥有 Host。\n */\nasync function defaultAdmissionProbe(path: string): Promise<boolean> {\n const response = await fetch(path, { credentials: 'same-origin', headers: { accept: 'application/json' } })\n if (!response.ok) return false\n const body = await response.json() as { authenticated?: unknown; owners?: unknown }\n return path === GATEWAY_SESSION_PATH ? body.authenticated === true : body.owners === true\n}","/**\n * SSH panel controller: the single owner of the panel's open/closed state.\n *\n * Framework-free (structural runtime faces, task-board core/controller.ts\n * style) so the DOM mounts and the React panel share one tiny subscription\n * surface. The state lives only for the browser session (no persistence).\n */\n\n/** Immutable controller snapshot for UI subscriptions. */\nexport interface PanelControllerSnapshot {\n panelOpen: boolean\n}\n\n/** The panel state owner the sidebar entry toggles and the view renders from. */\nexport class PanelController {\n private panelOpen = false\n private listeners = new Set<() => void>()\n\n getSnapshot(): PanelControllerSnapshot {\n return { panelOpen: this.panelOpen }\n }\n\n subscribe(fn: () => void): () => void {\n this.listeners.add(fn)\n return () => { this.listeners.delete(fn) }\n }\n\n open(): void {\n if (this.panelOpen) return\n this.panelOpen = true\n this.notify()\n }\n\n close(): void {\n if (!this.panelOpen) return\n this.panelOpen = false\n this.notify()\n }\n\n toggle(): void {\n if (this.panelOpen) this.close()\n else this.open()\n }\n\n private notify(): void {\n for (const fn of [...this.listeners]) fn()\n }\n}\n","/**\n * Wire contract between the host half (routes.ts) and the browser half\n * (client/api.ts). Pure types only — imported by both halves, bundled into\n * each, no runtime identity to share.\n */\n\n/** Authentication flavors a host entry may carry. */\nexport type SshAuthKind = 'key' | 'password' | 'agent'\n\n/** Canonical OpenSSH SHA256 fingerprint (32 bytes, unpadded base64). */\nexport function isHostKeyFingerprint(value: unknown): value is string {\n return typeof value === 'string' && /^SHA256:[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]$/.test(value)\n}\n\n/** One stored host entry (the $DSH_HOME/dsh-ssh.json store shape). */\nexport interface SshHostEntry {\n /** Stable, user-chosen identifier used by every operation. */\n alias: string\n /** Hostname or IP of the target. */\n host: string\n /** Explicit, out-of-band verified SHA256 pin; otherwise use ~/.ssh/known_hosts. */\n hostKeyFingerprint?: string\n /** SSH port (default 22). */\n port: number\n /** Login user. */\n user: string\n /** Authentication. */\n auth: {\n kind: SshAuthKind\n /** Absolute path to the private key for 'key' auth. */\n keyPath?: string\n /** Passphrase for an encrypted key. */\n passphrase?: string\n /** Password for 'password' auth. */\n password?: string\n /**\n * ssh-agent endpoint for 'agent' auth. A socket path, the special value\n * 'pageant' (PuTTY Pageant on Windows), or undefined for auto-detect\n * (SSH_AUTH_SOCK, then Pageant on Windows).\n */\n agentPath?: string\n }\n /** Jump chain: local aliases connected through in order (ProxyJump). */\n proxyJump: string[]\n /** Free-form note. */\n description?: string\n /** Deployment environment label (development / production / ...). */\n environment?: string\n /** Free-form tags. */\n tags: string[]\n /** Physical location note. */\n location?: string\n createdAt: number\n updatedAt: number\n}\n\n/** Public (secret-free) projection of an entry, safe for the browser/agent. */\nexport interface SshHostSummary {\n alias: string\n host: string\n /** Explicit, out-of-band verified SHA256 pin; otherwise use ~/.ssh/known_hosts. */\n hostKeyFingerprint?: string\n port: number\n user: string\n auth: SshAuthKind\n /** Whether the key path exists on the host machine (key auth only). */\n keyReady: boolean\n proxyJump: string[]\n description?: string\n environment?: string\n tags: string[]\n location?: string\n createdAt: number\n updatedAt: number\n}\n\n/** Result of one non-interactive command execution. */\nexport interface ExecResult {\n success: boolean\n /** Remote exit code, or null when the channel died without one. */\n exitCode: number | null\n timedOut: boolean\n stdout: string\n stderr: string\n /** Wall-clock duration of the round trip in ms. */\n durationMs: number\n /** Connection error message when the command never ran. */\n error?: string\n}\n\n/** One server entry in a cluster run. */\nexport interface ClusterResult {\n alias: string\n ok: boolean\n exitCode?: number | null\n timedOut?: boolean\n stdout?: string\n stderr?: string\n durationMs?: number\n error?: string\n}\n\n/** SFTP transfer progress frame (upload stream). */\nexport interface TransferProgress {\n phase: 'connecting' | 'transferring' | 'done' | 'error'\n file: string\n transferred: number\n total: number\n percent: number\n speedBps?: number\n error?: string\n}\n\n/** One active local port-forward tunnel. */\nexport interface TunnelInfo {\n id: string\n alias: string\n localPort: number\n remoteHost: string\n remotePort: number\n state: 'forwarding' | 'connecting' | 'failed'\n error?: string\n startedAt: number\n}\n\n/** One directory listing entry (remote file browser). */\nexport interface RemoteDirEntry {\n name: string\n type: 'dir' | 'file' | 'other'\n size: number\n mtimeMs: number\n mode?: number\n}\n\n/** Test-connection outcome. */\nexport interface TestResult {\n ok: boolean\n latencyMs?: number\n error?: string\n}\n\n/** Host edit payload (create/update); 'alias' comes from the URL for updates. */\nexport interface HostPayload {\n alias?: string\n host: string\n /** Explicit SHA256 pin; PATCH null clears it and returns to known_hosts. */\n hostKeyFingerprint?: string | null\n port?: number\n user: string\n /**\n * Authentication. Required on create; on update an omitted auth keeps the\n * stored secrets (the browser never receives them back).\n */\n auth?: SshHostEntry['auth']\n proxyJump?: string[]\n description?: string\n environment?: string\n tags?: string[]\n location?: string\n}\n\n/** Import outcome from ~/.ssh/config. */\nexport interface ImportResult {\n parsed: number\n added: number\n skipped: number\n /** Aliases that failed to map (wildcard patterns, missing HostName, ...). */\n skippedNames: string[]\n}\n\n/** JSON error body used by every route. */\nexport interface ApiErrorBody {\n error: string\n}\n\n/** WebSocket terminal protocol frames (host -> client and client -> host). */\nexport type TerminalServerFrame =\n | { type: 'ready'; alias: string }\n | { type: 'output'; data: string }\n | { type: 'exit'; code: number | null; error?: string }\n | {\n type: 'auth_prompt'\n name: string\n instructions: string\n prompts: Array<{ prompt: string; echo: boolean }>\n }\n\nexport type TerminalClientFrame =\n | { type: 'input'; data: string }\n | { type: 'resize'; cols: number; rows: number }\n | { type: 'auth_response'; responses: string[] }\n\n/** Route paths the client calls (shared literals). */\nexport const SSH_API_BASE = '/api/dsh-ssh' as const\n\nexport const SSH_API = {\n hosts: SSH_API_BASE + '/hosts',\n importSshConfig: SSH_API_BASE + '/hosts/import-ssh-config',\n test: SSH_API_BASE + '/test',\n exec: SSH_API_BASE + '/exec',\n cluster: SSH_API_BASE + '/cluster',\n upload: SSH_API_BASE + '/upload',\n download: SSH_API_BASE + '/download',\n ls: SSH_API_BASE + '/ls',\n tunnel: SSH_API_BASE + '/tunnel',\n terminal: SSH_API_BASE + '/terminal',\n} as const\n\n/** NDJSON transfer stream line shapes (upload). */\nexport type TransferStreamLine =\n | { type: 'progress'; progress: TransferProgress }\n | { type: 'result'; ok: boolean; transferredBytes?: number; error?: string }\n","/**\n * Browser-side API client for the /api/dsh-ssh route family. The only data\n * access path the panel components use — plain fetch/WebSocket, same origin.\n */\n\nimport {\n SSH_API,\n type ClusterResult,\n type ExecResult,\n type HostPayload,\n type ImportResult,\n type RemoteDirEntry,\n type SshHostSummary,\n type TerminalClientFrame,\n type TerminalServerFrame,\n type TestResult,\n type TransferProgress,\n type TransferStreamLine,\n type TunnelInfo,\n} from '../../../../core/ssh/protocol.ts'\n\n/** Minimal File System Access API surface (not in all lib.dom versions). */\ninterface WindowWithFileSystemAccess {\n showSaveFilePicker?: (options: { suggestedName?: string }) => Promise<{\n createWritable: () => Promise<{ write: (data: Uint8Array) => Promise<void>; close: () => Promise<void> }>\n }>\n}\n\n/** Error carrying the route's JSON error message. */\nexport class SshApiError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'SshApiError'\n }\n}\n\n/** Extract the `.error` message from a JSON error body; undefined when absent. */\nfunction extractError(text: string): string | undefined {\n if (text === '') return undefined\n try {\n const parsed = JSON.parse(text) as { error?: unknown } | null\n return typeof parsed?.error === 'string' ? parsed.error : undefined\n } catch {\n return undefined\n }\n}\n\n/** Parse a JSON response or throw an SshApiError. */\nasync function readJson<T>(response: Response): Promise<T> {\n let body: unknown\n try {\n body = await response.json()\n } catch {\n throw new SshApiError(`HTTP ${response.status}: invalid JSON response`)\n }\n if (!response.ok) {\n const message = typeof body === 'object' && body !== null && typeof (body as { error?: unknown }).error === 'string'\n ? (body as { error: string }).error\n : `HTTP ${response.status}`\n throw new SshApiError(message)\n }\n return body as T\n}\n\n/** Query-string helper. */\nfunction query(params: Record<string, string | number | undefined>): string {\n const search = new URLSearchParams()\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== '') search.set(key, String(value))\n }\n const text = search.toString()\n return text === '' ? '' : '?' + text\n}\n\n/** One open terminal connection (WebSocket JSON frames). */\nexport interface TerminalConnection {\n /** Fired on the ready frame (shell is up). */\n onReady: (() => void) | undefined\n /** Fired on every output frame. */\n onOutput: ((data: string) => void) | undefined\n /** Fired on the exit frame (or transport error). */\n onExit: ((code: number | null, error?: string) => void) | undefined\n /** Fired when the server requests keyboard-interactive 2FA. */\n onAuthPrompt: ((name: string, instructions: string, prompts: Array<{ prompt: string; echo: boolean }>) => void) | undefined\n /** Send raw input to the remote shell. */\n send(data: string): void\n /** Resize the remote PTY. */\n resize(cols: number, rows: number): void\n /** Send interactive 2FA response codes to the remote server. */\n sendAuthResponse(responses: string[]): void\n /** Close the socket and the remote session. */\n close(): void\n}\n\n/** The browser half's only data entry point. */\nexport class SshApi {\n // -------------------------------------------------------------- hosts\n async listHosts(queryText?: string): Promise<SshHostSummary[]> {\n const response = await fetch(SSH_API.hosts + query({ query: queryText }))\n const body = await readJson<{ hosts: SshHostSummary[] }>(response)\n return body.hosts\n }\n\n async createHost(payload: HostPayload): Promise<SshHostSummary> {\n const response = await fetch(SSH_API.hosts, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(payload),\n })\n const body = await readJson<{ host: SshHostSummary }>(response)\n return body.host\n }\n\n async updateHost(alias: string, patch: HostPayload): Promise<SshHostSummary> {\n const response = await fetch(SSH_API.hosts + query({ alias }), {\n method: 'PATCH',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(patch),\n })\n const body = await readJson<{ host: SshHostSummary }>(response)\n return body.host\n }\n\n async deleteHost(alias: string): Promise<void> {\n const response = await fetch(SSH_API.hosts + query({ alias }), { method: 'DELETE' })\n await readJson<{ ok: boolean }>(response)\n }\n\n async importSshConfig(): Promise<ImportResult> {\n const response = await fetch(SSH_API.importSshConfig, { method: 'POST' })\n const body = await readJson<{ result: ImportResult }>(response)\n return body.result\n }\n\n // ---------------------------------------------------------------- ops\n async testHost(alias: string): Promise<TestResult> {\n const response = await fetch(SSH_API.test, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ alias }),\n })\n const body = await readJson<{ result: TestResult }>(response)\n return body.result\n }\n\n async exec(alias: string, command: string, timeoutMs?: number): Promise<ExecResult> {\n const response = await fetch(SSH_API.exec, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ alias, command, timeoutMs }),\n })\n const body = await readJson<{ result: ExecResult }>(response)\n return body.result\n }\n\n async cluster(options: {\n command: string\n aliases?: string[]\n environment?: string\n tags?: string[]\n timeoutMs?: number\n maxWorkers?: number\n }): Promise<ClusterResult[]> {\n const response = await fetch(SSH_API.cluster, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(options),\n })\n const body = await readJson<{ results: ClusterResult[] }>(response)\n return body.results\n }\n\n // ----------------------------------------------------------------- ls\n async ls(alias: string, path: string): Promise<RemoteDirEntry[]> {\n const response = await fetch(SSH_API.ls + query({ alias, path }))\n const body = await readJson<{ entries: RemoteDirEntry[] }>(response)\n return body.entries\n }\n\n // ------------------------------------------------------------- tunnel\n async listTunnels(): Promise<TunnelInfo[]> {\n const response = await fetch(SSH_API.tunnel, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ action: 'list' }),\n })\n const body = await readJson<{ tunnels: TunnelInfo[] }>(response)\n return body.tunnels\n }\n\n async startTunnel(options: { alias: string; remotePort: number; remoteHost?: string; localPort?: number }): Promise<TunnelInfo> {\n const response = await fetch(SSH_API.tunnel, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ action: 'start', ...options }),\n })\n const body = await readJson<{ tunnel: TunnelInfo }>(response)\n return body.tunnel\n }\n\n async stopTunnel(tunnelId: string): Promise<boolean> {\n const response = await fetch(SSH_API.tunnel, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ action: 'stop', tunnelId }),\n })\n const body = await readJson<{ ok: boolean }>(response)\n return body.ok\n }\n\n async stopAllTunnels(alias?: string): Promise<number> {\n const response = await fetch(SSH_API.tunnel, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ action: 'stop-all', alias }),\n })\n const body = await readJson<{ stopped: number }>(response)\n return body.stopped\n }\n\n // ------------------------------------------------------------ transfer\n /**\n * Upload one file (raw bytes) to a remote path. Progress arrives through\n * the NDJSON response stream; resolves when the result frame lands.\n */\n async uploadFile(\n file: File,\n alias: string,\n remotePath: string,\n onProgress?: (progress: TransferProgress) => void,\n ): Promise<{ transferredBytes: number }> {\n const response = await fetch(SSH_API.upload + query({ alias, remotePath }), {\n method: 'POST',\n body: file,\n })\n if (!response.ok || response.body === null) {\n const text = await response.text().catch(() => '')\n const error = extractError(text)\n throw new SshApiError(error ?? `upload failed: HTTP ${response.status}`)\n }\n const reader = response.body.getReader()\n const decoder = new TextDecoder()\n let buffer = ''\n let finalError: string | undefined\n let sawResult = false\n let transferredBytes = 0\n for (;;) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += decoder.decode(value, { stream: true })\n const lines = buffer.split('\\n')\n buffer = lines.pop() ?? ''\n for (const line of lines) {\n if (line.trim() === '') continue\n let parsed: TransferStreamLine\n try {\n parsed = JSON.parse(line) as TransferStreamLine\n } catch {\n continue\n }\n if (parsed.type === 'progress') {\n onProgress?.(parsed.progress)\n } else if (parsed.type === 'result') {\n sawResult = true\n if (parsed.ok) transferredBytes = parsed.transferredBytes ?? 0\n finalError = parsed.ok ? undefined : parsed.error ?? 'upload failed'\n }\n }\n }\n if (finalError !== undefined) throw new SshApiError(finalError)\n if (!sawResult) throw new SshApiError('upload ended without a result frame — the transfer did not complete')\n return { transferredBytes }\n }\n\n /**\n * Download a remote file with client-side progress. Streams straight to\n * disk when the File System Access API is available (no full-file RAM\n * copy); otherwise falls back to an in-memory Blob.\n */\n async downloadFile(\n alias: string,\n remotePath: string,\n onProgress?: (progress: TransferProgress) => void,\n ): Promise<{ blob?: Blob; filename: string; streamed: boolean; bytes: number }> {\n const response = await fetch(SSH_API.download + query({ alias, remotePath }))\n if (!response.ok || response.body === null) {\n const text = await response.text().catch(() => '')\n const error = extractError(text)\n throw new SshApiError(error ?? `download failed: HTTP ${response.status}`)\n }\n const total = Number(response.headers.get('content-length') ?? '0')\n const disposition = response.headers.get('content-disposition') ?? ''\n const match = /filename=\"([^\"]+)\"/.exec(disposition)\n const filename = match?.[1] ?? remotePath.split('/').pop() ?? 'download'\n const reader = response.body.getReader()\n const picker = typeof window !== 'undefined'\n ? (window as WindowWithFileSystemAccess).showSaveFilePicker\n : undefined\n let streamed = false\n let writable: { write: (data: Uint8Array) => Promise<void>; close: () => Promise<void> } | undefined\n const chunks: Uint8Array<ArrayBuffer>[] = []\n let received = 0\n const progress = (): void => {\n onProgress?.({\n phase: 'transferring',\n file: remotePath,\n transferred: received,\n total,\n percent: total > 0 ? Math.round((received / total) * 1000) / 10 : 0,\n })\n }\n try {\n if (picker !== undefined) {\n const handle = await picker.call(window, { suggestedName: filename })\n writable = await handle.createWritable()\n streamed = true\n }\n } catch {\n // User cancelled the save dialog or the API is unavailable: fall back.\n }\n for (;;) {\n const { done, value } = await reader.read()\n if (done) break\n if (writable !== undefined) {\n await writable.write(value as Uint8Array)\n } else {\n chunks.push(value as Uint8Array<ArrayBuffer>)\n }\n received += value.length\n progress()\n }\n if (writable !== undefined) await writable.close()\n onProgress?.({ phase: 'done', file: remotePath, transferred: received, total: received > 0 ? received : total, percent: 100 })\n return {\n blob: streamed ? undefined : new Blob(chunks),\n filename,\n streamed,\n bytes: received,\n }\n }\n\n // ------------------------------------------------------------ terminal\n /** Open a WebSocket terminal session. */\n openTerminal(alias: string, cols: number, rows: number): TerminalConnection {\n const scheme = window.location.protocol === 'https:' ? 'wss' : 'ws'\n const url = scheme + '://' + window.location.host + SSH_API.terminal + query({ alias, cols, rows })\n const socket = new WebSocket(url)\n const connection: TerminalConnection = {\n onReady: undefined,\n onOutput: undefined,\n onExit: undefined,\n onAuthPrompt: undefined,\n send: (data) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify({ type: 'input', data } satisfies TerminalClientFrame))\n }\n },\n resize: (cols, rows) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify({ type: 'resize', cols, rows } satisfies TerminalClientFrame))\n }\n },\n sendAuthResponse: (responses) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify({ type: 'auth_response', responses } satisfies TerminalClientFrame))\n }\n },\n close: () => {\n try { socket.close() } catch { /* already closed */ }\n },\n }\n socket.onmessage = (event: MessageEvent<string>) => {\n let frame: TerminalServerFrame\n try {\n frame = JSON.parse(event.data) as TerminalServerFrame\n } catch {\n return\n }\n if (frame.type === 'ready') connection.onReady?.()\n else if (frame.type === 'output') connection.onOutput?.(frame.data)\n else if (frame.type === 'exit') connection.onExit?.(frame.code, frame.error)\n else if (frame.type === 'auth_prompt') connection.onAuthPrompt?.(frame.name, frame.instructions, frame.prompts)\n }\n socket.onclose = () => { connection.onExit?.(null, 'connection closed') }\n socket.onerror = () => { connection.onExit?.(null, 'connection error') }\n return connection\n }\n}\n","/**\n * dsh-ssh surface copy: zh is the key source, en mirrors every key.\n */\n\nexport const zh = {\n 'entry.label': 'SSH',\n 'entry.tooltip': '远程 SSH 运维面板',\n 'panel.title': '远程 SSH',\n 'panel.intro': '主机、终端、文件传输、端口转发与集群巡检;每一项都在打开时各自取数。',\n 'tab.hosts': '主机',\n 'tab.terminal': '终端',\n 'tab.transfer': '传输',\n 'tab.tunnels': '隧道',\n 'tab.cluster': '集群',\n // hosts\n 'hosts.empty': '尚未配置主机。点击「新增主机」添加,或从 ~/.ssh/config 导入。',\n 'hosts.add': '新增主机',\n 'hosts.import': '导入 ~/.ssh/config',\n 'hosts.search': '搜索别名 / 描述 / 标签…',\n 'hosts.groupBy.label': '分组方式',\n 'hosts.groupBy.none': '不分组',\n 'hosts.groupBy.environment': '按环境分组',\n 'hosts.groupBy.tags': '按标签分组',\n 'hosts.group.ungrouped': '未设置环境',\n 'hosts.group.noTags': '无标签',\n 'hosts.group.count': '{count} 台',\n 'hosts.group.testAll': '测试全部',\n 'hosts.col.alias': '别名',\n 'hosts.col.host': '主机',\n 'hosts.col.user': '用户',\n 'hosts.col.auth': '认证',\n 'hosts.col.environment': '环境',\n 'hosts.col.tags': '标签',\n 'hosts.col.description': '备注',\n 'hosts.col.actions': '操作',\n 'hosts.test': '测试',\n 'hosts.edit': '编辑',\n 'hosts.delete': '删除',\n 'hosts.deleteConfirm': '确定删除主机「{alias}」?将同时停止其隧道。',\n 'hosts.imported': '解析 {parsed} 个配置块,新增 {added} 台主机,跳过 {skipped} 个。',\n 'hosts.testing': '连接测试中…',\n 'hosts.testOk': '连接成功({latency} ms)',\n 'hosts.testFail': '连接失败:{error}',\n 'hosts.connected': '连接',\n 'hosts.notConnected': '未连接',\n // host form\n 'form.title.create': '新增主机',\n 'form.title.edit': '编辑主机 {alias}',\n 'form.alias': '别名',\n 'form.aliasHint': '小写字母、数字与单连字符,操作时使用',\n 'form.host': '主机地址',\n 'form.port': '端口',\n 'form.user': '用户名',\n 'form.auth': '认证方式',\n 'form.auth.key': '密钥',\n 'form.auth.password': '密码',\n 'form.auth.agent': 'SSH Agent',\n 'form.agentPath': 'Agent 路径',\n 'form.agentPathHint': '留空自动检测(SSH_AUTH_SOCK / Windows Pageant);也可填 socket 路径或 pageant',\n 'form.authKeepHint': '编辑时密钥/密码/Agent 留空将保留原认证方式与已存凭据;如需更换认证方式请填写新凭据。',\n 'form.keyPath': '私钥路径',\n 'form.keyPathHint': '如 ~/.ssh/id_ed25519',\n 'form.passphrase': '密钥口令',\n 'form.password': '密码',\n 'form.passwordHint': '明文保存在 $DSH_HOME/dsh-ssh.json(本机私有文件)',\n 'form.passwordRequired': '密码认证需要填写密码。',\n 'form.proxyJump': '跳板机别名',\n 'form.proxyJumpHint': '逗号分隔的本地主机别名,按顺序连接',\n 'form.description': '备注',\n 'form.environment': '环境',\n 'form.environmentHint': '如 development / production',\n 'form.tags': '标签',\n 'form.tagsHint': '逗号分隔',\n 'form.location': '位置',\n 'form.save': '保存',\n 'form.cancel': '取消',\n 'form.required': '请填写必填字段:别名、主机地址、用户名。',\n 'form.portInvalid': '端口必须是 1-65535 之间的整数。',\n // terminal\n 'terminal.selectHost': '选择主机',\n 'terminal.connect': '连接',\n 'terminal.disconnect': '断开',\n 'terminal.placeholder': '选择主机后点击「连接」打开远程终端。',\n 'terminal.connecting': '正在连接…',\n 'terminal.ready': '终端已连接({alias})',\n 'terminal.exited': '终端已退出({alias})',\n 'terminal.error': '终端错误:{error}',\n 'terminal.auth.title': '二次身份验证 (2FA / 交互式认证)',\n 'terminal.auth.submit': '提交验证码',\n 'terminal.auth.cancel': '取消',\n 'terminal.auth.placeholder': '请输入验证码或口令',\n 'terminal.auth.hint': '服务器请求进行交互式二次验证(输入仅本次生效,不落盘):',\n // transfer\n 'transfer.selectHost': '选择主机',\n 'transfer.remotePath': '远程路径',\n 'transfer.remotePathHint': '如 /tmp/ 或 /home/user/app.tar.gz',\n 'transfer.upload': '上传',\n 'transfer.uploading': '正在上传 {file}…',\n 'transfer.download': '下载',\n 'transfer.downloading': '正在下载…',\n 'transfer.done': '完成:{bytes} 字节',\n 'transfer.failed': '传输失败:{error}',\n 'transfer.browseRemote': '浏览远程目录',\n 'transfer.refresh': '刷新',\n 'transfer.name': '名称',\n 'transfer.upLevel': '上级目录',\n 'transfer.size': '大小',\n 'transfer.modified': '修改时间',\n 'transfer.bytes': '{value} B',\n 'transfer.kib': '{value} KB',\n 'transfer.mib': '{value} MB',\n 'transfer.gib': '{value} GB',\n 'transfer.percent': '{value}%',\n 'transfer.speed': '{value}/s',\n 'transfer.dir': '目录',\n 'transfer.file': '文件',\n // tunnels\n 'tunnel.empty': '没有活跃的隧道。',\n 'tunnel.start': '新建隧道',\n 'tunnel.alias': '主机别名',\n 'tunnel.remotePort': '远程端口',\n 'tunnel.remoteHost': '远程主机',\n 'tunnel.remoteHostHint': '默认 127.0.0.1(服务器自身)',\n 'tunnel.localPort': '本地端口',\n 'tunnel.localPortHint': '留空自动分配',\n 'tunnel.stop': '停止',\n 'tunnel.stopAll': '全部停止',\n 'tunnel.stopAllConfirm': '确定停止全部隧道吗?',\n 'tunnel.row': '{alias}: 127.0.0.1:{localPort} -> {remoteHost}:{remotePort}',\n 'tunnel.started': '隧道已建立:127.0.0.1:{localPort}',\n 'tunnel.failed': '隧道启动失败:{error}',\n // cluster\n 'cluster.command': '命令',\n 'cluster.run': '执行',\n 'cluster.confirm': '确定在匹配的主机上执行该命令吗?该操作会真实运行在远程服务器上。',\n 'cluster.aliases': '主机别名(逗号分隔,留空为全部)',\n 'cluster.environment': '环境过滤',\n 'cluster.tags': '标签过滤(逗号分隔)',\n 'cluster.results': '执行结果',\n 'cluster.empty': '输入命令后点击「执行」。',\n 'cluster.noMatch': '没有匹配的主机。',\n 'cluster.ok': '成功',\n 'cluster.fail': '失败',\n 'cluster.timeout': '超时',\n 'cluster.col.alias': '主机',\n 'cluster.col.status': '状态',\n 'cluster.col.exit': '退出码',\n 'cluster.col.stdout': '标准输出',\n 'cluster.col.stderr': '标准错误',\n 'cluster.col.error': '错误',\n 'cluster.col.duration': '耗时',\n // common\n 'common.loading': '加载中…',\n 'common.error': '出错:{error}',\n 'common.refresh': '刷新',\n 'common.confirm': '确定',\n} as const\n\nexport const en: Record<keyof typeof zh, string> = {\n 'entry.label': 'SSH',\n 'entry.tooltip': 'Remote SSH operations panel',\n 'panel.title': 'Remote SSH',\n 'panel.intro': 'Hosts, terminals, file transfer, tunnels and cluster checks; each opens with its own data load.',\n 'tab.hosts': 'Hosts',\n 'tab.terminal': 'Terminal',\n 'tab.transfer': 'Transfer',\n 'tab.tunnels': 'Tunnels',\n 'tab.cluster': 'Cluster',\n 'hosts.empty': 'No hosts configured. Click \"Add host\" or import from ~/.ssh/config.',\n 'hosts.add': 'Add host',\n 'hosts.import': 'Import ~/.ssh/config',\n 'hosts.search': 'Search alias / description / tags…',\n 'hosts.groupBy.label': 'Group by',\n 'hosts.groupBy.none': 'No grouping',\n 'hosts.groupBy.environment': 'Group by environment',\n 'hosts.groupBy.tags': 'Group by tags',\n 'hosts.group.ungrouped': 'No environment',\n 'hosts.group.noTags': 'No tags',\n 'hosts.group.count': '{count} hosts',\n 'hosts.group.testAll': 'Test all',\n 'hosts.col.alias': 'Alias',\n 'hosts.col.host': 'Host',\n 'hosts.col.user': 'User',\n 'hosts.col.auth': 'Auth',\n 'hosts.col.environment': 'Environment',\n 'hosts.col.tags': 'Tags',\n 'hosts.col.description': 'Description',\n 'hosts.col.actions': 'Actions',\n 'hosts.test': 'Test',\n 'hosts.edit': 'Edit',\n 'hosts.delete': 'Delete',\n 'hosts.deleteConfirm': 'Delete host \"{alias}\"? Its tunnels will be stopped.',\n 'hosts.imported': 'Parsed {parsed} blocks, added {added} hosts, skipped {skipped}.',\n 'hosts.testing': 'Testing connection…',\n 'hosts.testOk': 'Connected ({latency} ms)',\n 'hosts.testFail': 'Connection failed: {error}',\n 'hosts.connected': 'Connect',\n 'hosts.notConnected': 'Not connected',\n 'form.title.create': 'Add host',\n 'form.title.edit': 'Edit host {alias}',\n 'form.alias': 'Alias',\n 'form.aliasHint': 'Lowercase letters, digits and single hyphens; used in every operation',\n 'form.host': 'Host',\n 'form.port': 'Port',\n 'form.user': 'User',\n 'form.auth': 'Authentication',\n 'form.auth.key': 'Key',\n 'form.auth.password': 'Password',\n 'form.auth.agent': 'SSH Agent',\n 'form.agentPath': 'Agent path',\n 'form.agentPathHint': 'Leave empty to auto-detect (SSH_AUTH_SOCK / Pageant on Windows), or set a socket path or \"pageant\"',\n 'form.authKeepHint': 'While editing, empty secret fields keep the stored authentication and credentials; enter new values to switch methods.',\n 'form.keyPath': 'Private key path',\n 'form.keyPathHint': 'e.g. ~/.ssh/id_ed25519',\n 'form.passphrase': 'Key passphrase',\n 'form.password': 'Password',\n 'form.passwordHint': 'Stored in plaintext in $DSH_HOME/dsh-ssh.json (private local file)',\n 'form.passwordRequired': 'Password auth requires a password.',\n 'form.proxyJump': 'Jump host aliases',\n 'form.proxyJumpHint': 'Comma-separated local aliases, chained in order',\n 'form.description': 'Description',\n 'form.environment': 'Environment',\n 'form.environmentHint': 'e.g. development / production',\n 'form.tags': 'Tags',\n 'form.tagsHint': 'Comma-separated',\n 'form.location': 'Location',\n 'form.save': 'Save',\n 'form.cancel': 'Cancel',\n 'form.required': 'Required fields missing: alias, host, user.',\n 'form.portInvalid': 'Port must be an integer between 1 and 65535.',\n 'terminal.selectHost': 'Select host',\n 'terminal.connect': 'Connect',\n 'terminal.disconnect': 'Disconnect',\n 'terminal.placeholder': 'Select a host and click \"Connect\" to open the remote terminal.',\n 'terminal.connecting': 'Connecting…',\n 'terminal.ready': 'Terminal connected ({alias})',\n 'terminal.exited': 'Terminal exited ({alias})',\n 'terminal.error': 'Terminal error: {error}',\n 'terminal.auth.title': 'Two-Factor Authentication (2FA)',\n 'terminal.auth.submit': 'Submit Code',\n 'terminal.auth.cancel': 'Cancel',\n 'terminal.auth.placeholder': 'Enter code or passphrase',\n 'terminal.auth.hint': 'The server requested interactive 2FA (session only, never saved):',\n 'transfer.selectHost': 'Select host',\n 'transfer.remotePath': 'Remote path',\n 'transfer.remotePathHint': 'e.g. /tmp/ or /home/user/app.tar.gz',\n 'transfer.upload': 'Upload',\n 'transfer.uploading': 'Uploading {file}…',\n 'transfer.download': 'Download',\n 'transfer.downloading': 'Downloading…',\n 'transfer.done': 'Done: {bytes} bytes',\n 'transfer.failed': 'Transfer failed: {error}',\n 'transfer.browseRemote': 'Browse remote',\n 'transfer.refresh': 'Refresh',\n 'transfer.name': 'Name',\n 'transfer.upLevel': 'Parent directory',\n 'transfer.size': 'Size',\n 'transfer.modified': 'Modified',\n 'transfer.bytes': '{value} B',\n 'transfer.kib': '{value} KB',\n 'transfer.mib': '{value} MB',\n 'transfer.gib': '{value} GB',\n 'transfer.percent': '{value}%',\n 'transfer.speed': '{value}/s',\n 'transfer.dir': 'Directory',\n 'transfer.file': 'File',\n 'tunnel.empty': 'No active tunnels.',\n 'tunnel.start': 'New tunnel',\n 'tunnel.alias': 'Host alias',\n 'tunnel.remotePort': 'Remote port',\n 'tunnel.remoteHost': 'Remote host',\n 'tunnel.remoteHostHint': 'Default 127.0.0.1 (the server itself)',\n 'tunnel.localPort': 'Local port',\n 'tunnel.localPortHint': 'Leave empty for auto-assign',\n 'tunnel.stop': 'Stop',\n 'tunnel.stopAll': 'Stop all',\n 'tunnel.stopAllConfirm': 'Stop all tunnels?',\n 'tunnel.row': '{alias}: 127.0.0.1:{localPort} -> {remoteHost}:{remotePort}',\n 'tunnel.started': 'Tunnel up: 127.0.0.1:{localPort}',\n 'tunnel.failed': 'Tunnel failed: {error}',\n 'cluster.command': 'Command',\n 'cluster.run': 'Run',\n 'cluster.confirm': 'Run this command on the matching hosts? It executes for real on the remote servers.',\n 'cluster.aliases': 'Host aliases (comma-separated; empty = all)',\n 'cluster.environment': 'Environment filter',\n 'cluster.tags': 'Tag filter (comma-separated)',\n 'cluster.results': 'Results',\n 'cluster.empty': 'Type a command and click \"Run\".',\n 'cluster.noMatch': 'No hosts matched.',\n 'cluster.ok': 'OK',\n 'cluster.fail': 'Failed',\n 'cluster.timeout': 'Timed out',\n 'cluster.col.alias': 'Host',\n 'cluster.col.status': 'Status',\n 'cluster.col.exit': 'Exit',\n 'cluster.col.stdout': 'Stdout',\n 'cluster.col.stderr': 'Stderr',\n 'cluster.col.error': 'Error',\n 'cluster.col.duration': 'Duration',\n 'common.loading': 'Loading…',\n 'common.error': 'Error: {error}',\n 'common.refresh': 'Refresh',\n 'common.confirm': 'Confirm',\n}\n\n/** Locale key union. */\nexport type SshKey = keyof typeof zh\n\n/** Tiny interpolation: {name} -> value. */\nexport function t(dictionary: Record<string, string>, key: string, values?: Record<string, string | number>): string {\n let text = dictionary[key] ?? key\n if (values !== undefined) {\n for (const [name, value] of Object.entries(values)) {\n text = text.replaceAll(`{${name}}`, String(value))\n }\n }\n return text\n}\n","/**\n * Shared panel helpers: the active-dictionary pick (document-language based,\n * task-board precedent) bound to the dsh-ssh interpolator in locales.ts, plus\n * a small error-message extractor. All copy stays in the locale dictionaries.\n */\nimport { en, t, zh, type SshKey } from './locales.ts'\n\n/** Template values accepted by the interpolator. */\nexport type TranslateValues = Record<string, string | number>\n\n/** Active dictionary, picked by the document language at call time. */\nexport function dictionary(): Record<string, string> {\n const lang = typeof document !== 'undefined' ? document.documentElement.lang : 'zh'\n return lang.toLowerCase().startsWith('en') ? { ...en } : { ...zh }\n}\n\n/** Translate a key with optional {name} template params (current language). */\nexport function tt(key: SshKey, values?: TranslateValues): string {\n return t(dictionary(), key, values)\n}\n\n/** Human-readable error text from an unknown thrown value. */\nexport function errorMessage(error: unknown): string {\n if (error instanceof Error) return error.message\n return String(error)\n}\n\n/**\n * The terminal font stack used before issue #577, kept as the last resort\n * when neither the plugin setting nor a CSS custom property names a font.\n */\nexport const TERMINAL_FONT_FALLBACK = 'Menlo, Consolas, \"Liberation Mono\", monospace'\n\n/**\n * Live source of the user's configured terminal font family: the client\n * entry binds the dsh-ssh settings namespace into one of these and hands it\n * to the panel, so a settings change re-applies without a remount.\n */\nexport interface TerminalFontSource {\n /** Current configured family, or undefined when unset / not yet loaded. */\n get(): string | undefined\n /** Subscribe to changes; the returned function unsubscribes. */\n subscribe(listener: () => void): () => void\n}\n\n/**\n * Resolve the xterm `fontFamily` (issue #577). xterm's DOM renderer takes\n * the font only from constructor/options, so a plain stylesheet rule cannot\n * retarget it — the value must be read back into the options. The chain,\n * first non-empty value wins:\n * 1. `override` — the `terminalFontFamily` plugin setting;\n * 2. `--dsh-ssh-terminal-font` — dedicated hook for skins and user CSS\n * (e.g. a Nerd Font for powerline glyphs);\n * 3. `--ds-font-family-code` — the official code-font token several skins\n * already remap;\n * 4. {@link TERMINAL_FONT_FALLBACK}.\n */\nexport function resolveTerminalFontFamily(override?: string): string {\n const trimmed = override?.trim()\n if (trimmed !== undefined && trimmed !== '') return trimmed\n if (typeof getComputedStyle === 'function' && typeof document !== 'undefined') {\n const target = document.body ?? document.documentElement\n const style = getComputedStyle(target)\n for (const name of ['--dsh-ssh-terminal-font', '--ds-font-family-code']) {\n const value = style.getPropertyValue(name).trim()\n if (value !== '') return value\n }\n }\n return TERMINAL_FONT_FALLBACK\n}\n","/**\n * Cluster tab: run one command across many hosts (aliases / environment /\n * tags filters) and inspect per-host results. Stdout/stderr render in\n * collapsed <details> blocks; status renders as a colored badge.\n */\nimport { useState } from 'react'\nimport type { SshApi } from './api.ts'\nimport type { ClusterResult } from '../../../../core/ssh/protocol.ts'\nimport { errorMessage, tt } from './helpers.ts'\nimport css from './panel.module.css'\n\n/** Cluster tab props. */\nexport interface ClusterTabProps {\n api: SshApi\n}\n\n/** Split a comma-separated input into a trimmed, non-empty string list. */\nfunction splitList(text: string): string[] {\n return text.split(',').map(part => part.trim()).filter(part => part !== '')\n}\n\n/** The cluster execution tab. */\nexport function ClusterTab({ api }: ClusterTabProps) {\n const [command, setCommand] = useState('')\n const [aliases, setAliases] = useState('')\n const [environment, setEnvironment] = useState('')\n const [tags, setTags] = useState('')\n const [running, setRunning] = useState(false)\n const [results, setResults] = useState<ClusterResult[] | null>(null)\n const [error, setError] = useState<string | null>(null)\n\n const run = async (): Promise<void> => {\n if (command.trim() === '' || running) return\n if (!window.confirm(tt('cluster.confirm'))) return\n setRunning(true)\n setError(null)\n try {\n const aliasList = splitList(aliases)\n const tagList = splitList(tags)\n const outcome = await api.cluster({\n command: command.trim(),\n aliases: aliasList.length > 0 ? aliasList : undefined,\n environment: environment.trim() === '' ? undefined : environment.trim(),\n tags: tagList.length > 0 ? tagList : undefined,\n })\n setResults(outcome)\n } catch (cause) {\n setError(errorMessage(cause))\n } finally {\n setRunning(false)\n }\n }\n\n return (\n <div className={css.fillBody}>\n <div className={css.clusterForm}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('cluster.command')}</span>\n <textarea className={css.input + ' ' + css.commandInput} value={command} onChange={event => { setCommand(event.target.value) }} />\n </label>\n <div className={css.clusterFilters}>\n <input className={css.input} placeholder={tt('cluster.aliases')} value={aliases} onChange={event => { setAliases(event.target.value) }} />\n <input className={css.input} placeholder={tt('cluster.environment')} value={environment} onChange={event => { setEnvironment(event.target.value) }} />\n <input className={css.input} placeholder={tt('cluster.tags')} value={tags} onChange={event => { setTags(event.target.value) }} />\n </div>\n <div>\n <button type=\"button\" className={css.primaryButton} disabled={running || command.trim() === ''} onClick={() => { void run() }}>{tt('cluster.run')}</button>\n </div>\n </div>\n {error !== null && <div className={css.banner} data-kind=\"error\">{tt('common.error', { error })}</div>}\n {results === null && error === null && <div className={css.empty}>{tt('cluster.empty')}</div>}\n {results !== null && results.length === 0 && <div className={css.empty}>{tt('cluster.noMatch')}</div>}\n {results !== null && results.length > 0 && (\n <div className={css.tableWrap}>\n <table className={css.table}>\n <thead>\n <tr>\n <th>{tt('cluster.col.alias')}</th>\n <th>{tt('cluster.col.status')}</th>\n <th>{tt('cluster.col.exit')}</th>\n <th>{tt('cluster.col.stdout')}</th>\n <th>{tt('cluster.col.stderr')}</th>\n <th>{tt('cluster.col.error')}</th>\n <th>{tt('cluster.col.duration')}</th>\n </tr>\n </thead>\n <tbody>\n {results.map(result => {\n const status = result.ok ? 'ok' : result.timedOut === true ? 'timeout' : 'fail'\n const label = result.ok ? tt('cluster.ok') : result.timedOut === true ? tt('cluster.timeout') : tt('cluster.fail')\n return (\n <tr key={result.alias}>\n <td className={css.mono}>{result.alias}</td>\n <td><span className={css.badge} data-status={status}>{label}</span></td>\n <td className={css.mono}>{result.exitCode ?? '-'}</td>\n <td>\n {result.stdout !== undefined && result.stdout !== '' && (\n <details className={css.cellDetails}>\n <summary>{tt('cluster.col.stdout')}</summary>\n <pre className={css.cellPre}>{result.stdout}</pre>\n </details>\n )}\n </td>\n <td>\n {result.stderr !== undefined && result.stderr !== '' && (\n <details className={css.cellDetails}>\n <summary>{tt('cluster.col.stderr')}</summary>\n <pre className={css.cellPre}>{result.stderr}</pre>\n </details>\n )}\n </td>\n <td className={css.cellMuted}>{result.error ?? ''}</td>\n <td className={css.mono}>{result.durationMs !== undefined ? result.durationMs + ' ms' : '-'}</td>\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )}\n </div>\n )\n}\n","/**\n * Host form dialog: create/edit one stored host entry. A fixed backdrop with\n * a centered card; Escape and backdrop clicks close it. Secrets (key path,\n * passphrase, password) are never pre-filled when editing (the API only\n * exposes the secret-free summary).\n */\nimport { useEffect, useState } from 'react'\nimport type { SshApi } from './api.ts'\nimport type { HostPayload, SshAuthKind, SshHostSummary } from '../../../../core/ssh/protocol.ts'\nimport { errorMessage, tt } from './helpers.ts'\nimport css from './panel.module.css'\n\n/** Host form dialog props. */\nexport interface HostFormDialogProps {\n api: SshApi\n /** The host being edited; null/undefined means create. */\n editing?: SshHostSummary | null\n onClose: () => void\n onSaved: (host: SshHostSummary) => void\n}\n\n/** The staged form values (all strings; parsed on save). */\ninterface FormState {\n alias: string\n host: string\n port: string\n user: string\n authKind: SshAuthKind\n keyPath: string\n passphrase: string\n password: string\n agentPath: string\n proxyJump: string\n description: string\n environment: string\n tags: string\n location: string\n}\n\n/** Split a comma-separated input into a trimmed, non-empty string list. */\nfunction splitList(text: string): string[] {\n return text.split(',').map(part => part.trim()).filter(part => part !== '')\n}\n\n/** Initial form state: the summary's public fields plus empty secrets. */\nfunction blankOf(editing: SshHostSummary | null | undefined): FormState {\n return {\n alias: editing?.alias ?? '',\n host: editing?.host ?? '',\n port: String(editing?.port ?? 22),\n user: editing?.user ?? '',\n authKind: editing?.auth ?? 'key',\n keyPath: '',\n passphrase: '',\n password: '',\n agentPath: '',\n proxyJump: (editing?.proxyJump ?? []).join(', '),\n description: editing?.description ?? '',\n environment: editing?.environment ?? '',\n tags: (editing?.tags ?? []).join(', '),\n location: editing?.location ?? '',\n }\n}\n\n/** The create/edit host modal. */\nexport function HostFormDialog({ api, editing, onClose, onSaved }: HostFormDialogProps) {\n const [form, setForm] = useState<FormState>(() => blankOf(editing))\n const [saving, setSaving] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n // Escape closes the dialog.\n useEffect(() => {\n const onKey = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') onClose()\n }\n document.addEventListener('keydown', onKey)\n return () => { document.removeEventListener('keydown', onKey) }\n }, [onClose])\n\n const set = <K extends keyof FormState>(key: K, value: FormState[K]): void => {\n setForm(prev => ({ ...prev, [key]: value }))\n }\n\n const save = async (): Promise<void> => {\n const alias = form.alias.trim()\n const host = form.host.trim()\n const user = form.user.trim()\n if (alias === '' || host === '' || user === '') {\n setError(tt('form.required'))\n return\n }\n const port = Number(form.port)\n if (!Number.isInteger(port) || port < 1 || port > 65535) {\n setError(tt('form.portInvalid'))\n return\n }\n // A password-auth host needs a password on create; when editing, a blank\n // secret field preserves the stored credential instead.\n if (editing == null && form.authKind === 'password' && form.password === '') {\n setError(tt('form.passwordRequired'))\n return\n }\n // Secrets are never echoed back by the API: when editing and the secret\n // fields are left empty, the auth block is omitted so the stored\n // authentication is preserved.\n const secretEmpty = form.authKind === 'password'\n ? form.password === ''\n : form.authKind === 'key'\n ? form.keyPath.trim() === ''\n : form.agentPath.trim() === ''\n const auth: HostPayload['auth'] = editing != null && secretEmpty\n ? undefined\n : form.authKind === 'password'\n ? { kind: 'password', password: form.password }\n : form.authKind === 'key'\n ? { kind: 'key', keyPath: form.keyPath.trim(), passphrase: form.passphrase === '' ? undefined : form.passphrase }\n : { kind: 'agent', agentPath: form.agentPath.trim() === '' ? undefined : form.agentPath.trim() }\n const payload: HostPayload = {\n host,\n port,\n user,\n auth,\n proxyJump: splitList(form.proxyJump),\n description: form.description.trim() === '' ? undefined : form.description.trim(),\n environment: form.environment.trim() === '' ? undefined : form.environment.trim(),\n tags: splitList(form.tags),\n location: form.location.trim() === '' ? undefined : form.location.trim(),\n }\n setSaving(true)\n setError(null)\n try {\n const saved = editing != null\n ? await api.updateHost(editing.alias, payload)\n : await api.createHost({ ...payload, alias })\n onSaved(saved)\n } catch (cause) {\n setError(errorMessage(cause))\n setSaving(false)\n }\n }\n\n return (\n <div className={css.modalBackdrop} onClick={onClose}>\n <div className={css.modal} role=\"dialog\" aria-modal=\"true\" onClick={event => { event.stopPropagation() }}>\n <h3 className={css.modalTitle}>{editing != null ? tt('form.title.edit', { alias: editing.alias }) : tt('form.title.create')}</h3>\n <div className={css.formRow}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.alias')}</span>\n <input className={css.input} value={form.alias} disabled={editing != null} onChange={event => { set('alias', event.target.value) }} />\n <span className={css.hint}>{tt('form.aliasHint')}</span>\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.host')}</span>\n <input className={css.input} value={form.host} onChange={event => { set('host', event.target.value) }} />\n </label>\n </div>\n <div className={css.formRow}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.port')}</span>\n <input className={css.input} type=\"number\" min={1} max={65535} value={form.port} onChange={event => { set('port', event.target.value) }} />\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.user')}</span>\n <input className={css.input} value={form.user} onChange={event => { set('user', event.target.value) }} />\n </label>\n </div>\n <div className={css.field}>\n <span className={css.fieldLabel}>{tt('form.auth')}</span>\n <div className={css.radioRow}>\n <label className={css.radioLabel}>\n <input type=\"radio\" name=\"dsh-ssh-auth\" checked={form.authKind === 'key'} onChange={() => { set('authKind', 'key') }} />\n {tt('form.auth.key')}\n </label>\n <label className={css.radioLabel}>\n <input type=\"radio\" name=\"dsh-ssh-auth\" checked={form.authKind === 'password'} onChange={() => { set('authKind', 'password') }} />\n {tt('form.auth.password')}\n </label>\n <label className={css.radioLabel}>\n <input type=\"radio\" name=\"dsh-ssh-auth\" checked={form.authKind === 'agent'} onChange={() => { set('authKind', 'agent') }} />\n {tt('form.auth.agent')}\n </label>\n </div>\n {editing != null && <span className={css.hint}>{tt('form.authKeepHint')}</span>}\n </div>\n {form.authKind === 'key' ? (\n <div className={css.formRow}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.keyPath')}</span>\n <input className={css.input} value={form.keyPath} onChange={event => { set('keyPath', event.target.value) }} />\n <span className={css.hint}>{tt('form.keyPathHint')}</span>\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.passphrase')}</span>\n <input className={css.input} type=\"password\" value={form.passphrase} onChange={event => { set('passphrase', event.target.value) }} />\n </label>\n </div>\n ) : form.authKind === 'agent' ? (\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.agentPath')}</span>\n <input className={css.input} value={form.agentPath} onChange={event => { set('agentPath', event.target.value) }} />\n <span className={css.hint}>{tt('form.agentPathHint')}</span>\n </label>\n ) : (\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.password')}</span>\n <input className={css.input} type=\"password\" value={form.password} onChange={event => { set('password', event.target.value) }} />\n <span className={css.hint}>{tt('form.passwordHint')}</span>\n </label>\n )}\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.proxyJump')}</span>\n <input className={css.input} value={form.proxyJump} onChange={event => { set('proxyJump', event.target.value) }} />\n <span className={css.hint}>{tt('form.proxyJumpHint')}</span>\n </label>\n <div className={css.formRow}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.environment')}</span>\n <input className={css.input} value={form.environment} onChange={event => { set('environment', event.target.value) }} />\n <span className={css.hint}>{tt('form.environmentHint')}</span>\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.location')}</span>\n <input className={css.input} value={form.location} onChange={event => { set('location', event.target.value) }} />\n </label>\n </div>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.description')}</span>\n <input className={css.input} value={form.description} onChange={event => { set('description', event.target.value) }} />\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('form.tags')}</span>\n <input className={css.input} value={form.tags} onChange={event => { set('tags', event.target.value) }} />\n <span className={css.hint}>{tt('form.tagsHint')}</span>\n </label>\n {error !== null && <p className={css.formError}>{tt('common.error', { error })}</p>}\n <div className={css.modalFooter}>\n <button type=\"button\" className={css.ghostButton} disabled={saving} onClick={onClose}>{tt('form.cancel')}</button>\n <button type=\"button\" className={css.primaryButton} disabled={saving} onClick={() => { void save() }}>{tt('form.save')}</button>\n </div>\n </div>\n </div>\n )\n}\n","/**\n * Hosts tab: the host table with search (debounced through listHosts),\n * add/edit/delete/test actions, ~/.ssh/config import, and a connect action\n * that hands the alias to the terminal tab via onConnect.\n */\nimport { useCallback, useEffect, useRef, useState, type ReactNode } from 'react'\nimport type { SshApi } from './api.ts'\nimport type { SshHostSummary, TestResult } from '../../../../core/ssh/protocol.ts'\nimport { errorMessage, tt } from './helpers.ts'\nimport { HostFormDialog } from './HostFormDialog.tsx'\nimport css from './panel.module.css'\n\n/** Hosts tab props. */\nexport interface HostsTabProps {\n api: SshApi\n /** Connect the given alias in the terminal tab. */\n onConnect: (alias: string) => void\n}\n\n/** The host-form dialog invocation. */\ntype DialogState = { mode: 'create' } | { mode: 'edit'; host: SshHostSummary }\n\n/** Host list grouping modes (#379). */\nexport type HostGroupBy = 'none' | 'environment' | 'tags'\n\n/** One collapsible group section of the grouped host list. */\nexport interface HostGroup {\n /** Group key: the environment name, one tag, or '' for the ungrouped bucket. */\n key: string\n hosts: SshHostSummary[]\n}\n\n/**\n * Bucket hosts into collapsible groups (#379). Grouping by tags places a\n * multi-tag host in every one of its tag groups (folder view); hosts without\n * the grouping key land in the '' bucket, which always sorts last. Groups\n * sort alphabetically; host order inside a group follows the API listing.\n */\nexport function groupHosts(hosts: SshHostSummary[], groupBy: HostGroupBy): HostGroup[] {\n if (groupBy === 'none') return [{ key: '', hosts }]\n const buckets = new Map<string, SshHostSummary[]>()\n const push = (key: string, host: SshHostSummary): void => {\n const bucket = buckets.get(key)\n if (bucket === undefined) buckets.set(key, [host])\n else bucket.push(host)\n }\n for (const host of hosts) {\n if (groupBy === 'environment') {\n push(host.environment ?? '', host)\n } else if (host.tags.length === 0) {\n push('', host)\n } else {\n for (const tag of host.tags) push(tag, host)\n }\n }\n return [...buckets.entries()]\n .sort(([a], [b]) => (a === '' ? 1 : b === '' ? -1 : a.localeCompare(b)))\n .map(([key, group]) => ({ key, hosts: group }))\n}\n\n/** The hosts table plus its toolbar and dialogs. */\nexport function HostsTab({ api, onConnect }: HostsTabProps) {\n const [hosts, setHosts] = useState<SshHostSummary[] | null>(null)\n const [error, setError] = useState<string | null>(null)\n const [search, setSearch] = useState('')\n const [testingAlias, setTestingAlias] = useState<string | null>(null)\n const [testResults, setTestResults] = useState<Record<string, TestResult>>({})\n const [importing, setImporting] = useState(false)\n const [notice, setNotice] = useState<string | null>(null)\n const [dialog, setDialog] = useState<DialogState | null>(null)\n const [groupBy, setGroupBy] = useState<HostGroupBy>('none')\n const [collapsed, setCollapsed] = useState<Record<string, boolean>>({})\n const [testingGroup, setTestingGroup] = useState<string | null>(null)\n const seqRef = useRef(0)\n // Unmount guard for the async load below: the seq check only orders\n // overlapping loads, it does not stop a late resolution/rejection landing\n // after the tab unmounted — a setState there races the test-environment\n // teardown (window is not defined; observed as a main-CI flake). The\n // sibling tabs (terminal / transfer / tunnels) already guard with a\n // disposed flag.\n const mountedRef = useRef(true)\n useEffect(() => () => { mountedRef.current = false }, [])\n\n const load = useCallback(async (query?: string): Promise<void> => {\n const seq = ++seqRef.current\n try {\n const list = await api.listHosts(query)\n if (!mountedRef.current || seq !== seqRef.current) return\n setHosts(list)\n setError(null)\n } catch (cause) {\n if (!mountedRef.current || seq !== seqRef.current) return\n setError(errorMessage(cause))\n }\n }, [api])\n\n useEffect(() => { void load() }, [load])\n\n // Debounced search: every keystroke re-filters through the API.\n useEffect(() => {\n const timer = setTimeout(() => {\n const query = search.trim()\n void load(query === '' ? undefined : query)\n }, 300)\n return () => { clearTimeout(timer) }\n }, [search, load])\n\n // Every async setState path guards with mountedRef, not just load(): a\n // promise settling after unmount would setState against the torn-down\n // environment (window is not defined, main-CI flake).\n const runTest = async (alias: string): Promise<void> => {\n if (!mountedRef.current) return\n setTestingAlias(alias)\n try {\n const result = await api.testHost(alias)\n if (!mountedRef.current) return\n setTestResults(prev => ({ ...prev, [alias]: result }))\n } catch (cause) {\n if (!mountedRef.current) return\n setTestResults(prev => ({ ...prev, [alias]: { ok: false, error: errorMessage(cause) } }))\n } finally {\n if (mountedRef.current) setTestingAlias(null)\n }\n }\n\n const deleteHost = async (alias: string): Promise<void> => {\n if (!window.confirm(tt('hosts.deleteConfirm', { alias }))) return\n try {\n await api.deleteHost(alias)\n if (!mountedRef.current) return\n void load()\n } catch (cause) {\n if (!mountedRef.current) return\n setError(errorMessage(cause))\n }\n }\n\n // Group-header batch action (#379): test every host in the group.\n const testGroup = async (group: HostGroup): Promise<void> => {\n if (!mountedRef.current) return\n setTestingGroup(group.key)\n try {\n await Promise.all(group.hosts.map(host => runTest(host.alias)))\n } finally {\n if (mountedRef.current) setTestingGroup(null)\n }\n }\n\n const importConfig = async (): Promise<void> => {\n if (!mountedRef.current) return\n setImporting(true)\n try {\n const result = await api.importSshConfig()\n if (!mountedRef.current) return\n setNotice(tt('hosts.imported', { parsed: result.parsed, added: result.added, skipped: result.skipped }))\n void load()\n } catch (cause) {\n if (!mountedRef.current) return\n setError(errorMessage(cause))\n } finally {\n if (mountedRef.current) setImporting(false)\n }\n }\n\n const renderHostRow = (host: SshHostSummary): ReactNode => {\n const test = testResults[host.alias]\n return (\n <tr key={host.alias} data-dsh-part=\"host-row\">\n <td className={css.mono}>{host.alias}</td>\n <td className={css.mono}>{host.host}:{host.port}</td>\n <td>{host.user}</td>\n <td><span className={css.badge} data-kind={host.auth}>{host.auth === 'key' ? tt('form.auth.key') : host.auth === 'password' ? tt('form.auth.password') : tt('form.auth.agent')}</span></td>\n <td className={css.cellMuted}>{host.environment ?? ''}</td>\n <td className={css.cellMuted}>{host.tags.join(', ')}</td>\n <td className={css.cellMuted}>{host.description ?? ''}</td>\n <td>\n <div className={css.actions}>\n <button type=\"button\" className={css.linkButton} disabled={testingAlias === host.alias} onClick={() => { void runTest(host.alias) }}>\n {testingAlias === host.alias ? tt('hosts.testing') : tt('hosts.test')}\n </button>\n {testingAlias === host.alias && <span className={css.spinner} aria-hidden=\"true\" />}\n {test !== undefined && (\n <span className={css.inlineTest} data-status={test.ok ? 'ok' : 'fail'}>\n {test.ok ? tt('hosts.testOk', { latency: test.latencyMs ?? 0 }) : tt('hosts.testFail', { error: test.error ?? '' })}\n </span>\n )}\n <button type=\"button\" className={css.linkButton} onClick={() => { setDialog({ mode: 'edit', host }) }}>{tt('hosts.edit')}</button>\n <button type=\"button\" className={css.linkButton} data-danger onClick={() => { void deleteHost(host.alias) }}>{tt('hosts.delete')}</button>\n <button type=\"button\" className={css.ghostButton} onClick={() => { onConnect(host.alias) }}>{tt('hosts.connected')}</button>\n </div>\n </td>\n </tr>\n )\n }\n\n const renderHostTable = (rows: SshHostSummary[]): ReactNode => (\n <table className={css.table} data-dsh-part=\"host-table\">\n <thead>\n <tr>\n <th>{tt('hosts.col.alias')}</th>\n <th>{tt('hosts.col.host')}</th>\n <th>{tt('hosts.col.user')}</th>\n <th>{tt('hosts.col.auth')}</th>\n <th>{tt('hosts.col.environment')}</th>\n <th>{tt('hosts.col.tags')}</th>\n <th>{tt('hosts.col.description')}</th>\n <th>{tt('hosts.col.actions')}</th>\n </tr>\n </thead>\n <tbody>\n {rows.map(renderHostRow)}\n </tbody>\n </table>\n )\n\n const groups = hosts === null ? [] : groupHosts(hosts, groupBy)\n\n return (\n <div className={css.fillBody}>\n <div className={css.toolbar}>\n <input className={css.search} type=\"search\" placeholder={tt('hosts.search')} value={search} onChange={event => { setSearch(event.target.value) }} />\n <select\n className={css.groupBySelect}\n aria-label={tt('hosts.groupBy.label')}\n value={groupBy}\n onChange={event => { setGroupBy(event.target.value as HostGroupBy) }}\n >\n <option value=\"none\">{tt('hosts.groupBy.none')}</option>\n <option value=\"environment\">{tt('hosts.groupBy.environment')}</option>\n <option value=\"tags\">{tt('hosts.groupBy.tags')}</option>\n </select>\n <div className={css.toolbarSpacer} />\n <button type=\"button\" className={css.primaryButton} onClick={() => { setDialog({ mode: 'create' }) }}>{tt('hosts.add')}</button>\n <button type=\"button\" className={css.ghostButton} disabled={importing} onClick={() => { void importConfig() }}>{importing ? tt('common.loading') : tt('hosts.import')}</button>\n </div>\n {notice !== null && <div className={css.banner} data-kind=\"ok\">{notice}</div>}\n {error !== null && <div className={css.banner} data-kind=\"error\">{tt('common.error', { error })}</div>}\n {hosts === null && error === null && <div className={css.loading}>{tt('common.loading')}</div>}\n {hosts !== null && hosts.length === 0 && <div className={css.empty}>{tt('hosts.empty')}</div>}\n {hosts !== null && hosts.length > 0 && groupBy === 'none' && (\n <div className={css.tableWrap}>\n {renderHostTable(hosts)}\n </div>\n )}\n {hosts !== null && hosts.length > 0 && groupBy !== 'none' && (\n <div className={css.tableWrap}>\n {groups.map(group => {\n const isCollapsed = collapsed[group.key] === true\n const label = group.key === ''\n ? (groupBy === 'tags' ? tt('hosts.group.noTags') : tt('hosts.group.ungrouped'))\n : group.key\n return (\n <section key={group.key} className={css.groupSection}>\n <div className={css.groupHeader}>\n <button\n type=\"button\"\n className={css.groupToggle}\n aria-expanded={!isCollapsed}\n onClick={() => { setCollapsed(prev => ({ ...prev, [group.key]: !isCollapsed })) }}\n >\n <span className={css.groupChevron} data-collapsed={isCollapsed || undefined} aria-hidden=\"true\" />\n <span className={css.groupName}>{label}</span>\n <span className={css.groupCount}>{tt('hosts.group.count', { count: group.hosts.length })}</span>\n </button>\n <button\n type=\"button\"\n className={css.linkButton}\n disabled={testingGroup === group.key}\n onClick={() => { void testGroup(group) }}\n >\n {testingGroup === group.key ? tt('hosts.testing') : tt('hosts.group.testAll')}\n </button>\n </div>\n {!isCollapsed && renderHostTable(group.hosts)}\n </section>\n )\n })}\n </div>\n )}\n {dialog !== null && (\n <HostFormDialog\n api={api}\n editing={dialog.mode === 'edit' ? dialog.host : null}\n onClose={() => { setDialog(null) }}\n onSaved={() => { setDialog(null); void load() }}\n />\n )}\n </div>\n )\n}\n","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)(\"object\"==typeof exports?exports:e)[s]=i[s]}}(globalThis,(()=>(()=>{\"use strict\";var e={2840:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;const n=i(7721),o=i(4292),a=i(7150),l=i(7098),h=i(6501),c=i(7093);let d=class extends a.Disposable{constructor(e,t,i,s){super(),this._terminal=e,this._coreBrowserService=i,this._renderService=s,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=\"\";const r=this._coreBrowserService.mainDocument;this._accessibilityContainer=r.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=r.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=r.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new o.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error(\"Cannot enable accessibility before Terminal.open\");this._terminal.element.insertAdjacentElement(\"afterbegin\",this._accessibilityContainer),this._register(this._terminal.onResize((e=>this._handleResize(e.rows)))),this._register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this._register(this._terminal.onScroll((()=>this._refreshRows()))),this._register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this._register(this._terminal.onLineFeed((()=>this._handleChar(\"\\n\")))),this._register(this._terminal.onA11yTab((e=>this._handleTab(e)))),this._register(this._terminal.onKey((e=>this._handleKey(e.key)))),this._register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this._register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._register((0,c.addDisposableListener)(r,\"selectionchange\",(()=>this._handleSelectionChange()))),this._register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRowsDimensions(),this._refreshRows(),this._register((0,a.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(\" \")}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=n.tooMuchOutput.get())))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.lines.get(i.ydisp+r),t=[],n=e?.translateToString(!0,void 0,void 0,t)||\"\",o=(i.ydisp+r+1).toString(),a=this._rowElements[r];a&&(0===n.length?(a.textContent=\" \",this._rowColumns.set(a,[0,1])):(a.textContent=n,this._rowColumns.set(a,t)),a.setAttribute(\"aria-posinset\",o),a.setAttribute(\"aria-setsize\",s),this._alignRowWidth(a))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute(\"aria-posinset\")===(0===t?\"1\":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener(\"focus\",this._topBoundaryFocusListener),n.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(\"afterbegin\",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(0===this._rowElements.length)return;const e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error(\"anchorNode and/or focusNode are null\");let t={node:e.anchorNode,offset:e.anchorOffset},i={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===i.node&&t.offset>i.offset)&&([t,i]=[i,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;const s=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(s)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:s,offset:s.textContent?.length??0}),!this._rowContainer.contains(i.node))return;const r=({node:e,offset:t})=>{const i=e instanceof Text?e.parentNode:e;let s=parseInt(i?.getAttribute(\"aria-posinset\"),10)-1;if(isNaN(s))return console.warn(\"row is invalid. Race condition?\"),null;const r=this._rowColumns.get(i);if(!r)return console.warn(\"columns is null. Race condition?\"),null;let n=t<r.length?r[t]:r.slice(-1)[0]+1;return n>=this._terminal.cols&&(++s,n=0),{row:s,column:n}},n=r(t),o=r(i);if(n&&o){if(n.row>o.row||n.row===o.row&&n.column>=o.column)throw new Error(\"invalid range\");this._terminal.select(n.column,n.row,(o.row-n.row)*this._terminal.cols-n.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=this._coreBrowserService.mainDocument.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=\"\";const t=e.getBoundingClientRect().width,i=this._rowColumns.get(e)?.slice(-1)?.[0];if(!i)return;const s=i*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${s/t})`}};t.AccessibilityManager=d,t.AccessibilityManager=d=s([r(1,h.IInstantiationService),r(2,l.ICoreBrowserService),r(3,l.IRenderService)],d)},7861:(e,t)=>{function i(e){return e.replace(/\\r?\\n/g,\"\\r\")}function s(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function r(e,t,r,n){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode&&!0!==n.rawOptions.ignoreBracketedPasteMode),r.triggerDataEvent(e,!0),t.value=\"\"}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i,s){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData(\"text/plain\"),t,i,s)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7174:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;const s=i(7710);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},1718:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserTerminal=void 0;const s=i(7861),r=i(7721),n=i(3285),o=i(4017),a=i(4196),l=i(9925),h=i(3618),c=i(3955),d=i(4792),u=i(945),_=i(9574),f=i(9820),p=i(9784),g=i(5783),m=i(2079),v=i(7098),S=i(9078),b=i(4103),C=i(5777),y=i(701),w=i(6107),E=i(3534),D=i(706),L=i(8693),R=i(4720),A=i(6501),T=i(2486),k=i(2840),M=i(8906),O=i(802),I=i(7093),P=i(7150);class x extends C.CoreTerminal{get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(e={}){super(e),this._linkifier=this._register(new P.MutableDisposable),this.browser=y,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new P.MutableDisposable),this._onCursorMove=this._register(new O.Emitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new O.Emitter),this.onKey=this._onKey.event,this._onRender=this._register(new O.Emitter),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new O.Emitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new O.Emitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new O.Emitter),this.onBell=this._onBell.event,this._onFocus=this._register(new O.Emitter),this._onBlur=this._register(new O.Emitter),this._onA11yCharEmitter=this._register(new O.Emitter),this._onA11yTabEmitter=this._register(new O.Emitter),this._onWillOpen=this._register(new O.Emitter),this._setup(),this._decorationService=this._instantiationService.createInstance(R.DecorationService),this._instantiationService.setService(A.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(f.LinkProviderService),this._instantiationService.setService(v.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(n.OscLinkProvider)),this._register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this._register(this._inputHandler.onRequestRefreshRows((e=>this.refresh(e?.start??0,e?.end??this.rows-1)))),this._register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this._register(this._inputHandler.onRequestReset((()=>this.reset()))),this._register(this._inputHandler.onRequestWindowsOptionsReport((e=>this._reportWindowsOptions(e)))),this._register(this._inputHandler.onColor((e=>this._handleColorEvent(e)))),this._register(O.Event.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(O.Event.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(O.Event.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(O.Event.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows)))),this._register((0,P.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(e){if(this._themeService)for(const t of e){let e,i=\"\";switch(t.index){case 256:e=\"foreground\",i=\"10\";break;case 257:e=\"background\",i=\"11\";break;case 258:e=\"cursor\",i=\"12\";break;default:e=\"ansi\",i=\"4;\"+t.index}switch(t.type){case 0:const s=b.color.toColorRGB(\"ansi\"===e?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${E.C0.ESC}]${i};${(0,L.toRgbString)(s)}${E.C1_ESCAPED.ST}`);break;case 1:if(\"ansi\"===e)this._themeService.modifyColors((e=>e.ansi[t.index]=b.channels.toColor(...t.color)));else{const i=e;this._themeService.modifyColors((e=>e[i]=b.channels.toColor(...t.color)))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(k.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(E.C0.ESC+\"[I\"),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(E.C0.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,o=this.buffer.y*this._renderService.dimensions.css.cell.height,a=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=a+\"px\",this.textarea.style.top=o+\"px\",this.textarea.style.width=n+\"px\",this.textarea.style.height=s+\"px\",this.textarea.style.lineHeight=s+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this._register((0,I.addDisposableListener)(this.element,\"copy\",(e=>{this.hasSelection()&&(0,s.copyHandler)(e,this._selectionService)})));const e=e=>(0,s.handlePasteEvent)(e,this.textarea,this.coreService,this.optionsService);this._register((0,I.addDisposableListener)(this.textarea,\"paste\",e)),this._register((0,I.addDisposableListener)(this.element,\"paste\",e)),y.isFirefox?this._register((0,I.addDisposableListener)(this.element,\"mousedown\",(e=>{2===e.button&&(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this._register((0,I.addDisposableListener)(this.element,\"contextmenu\",(e=>{(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),y.isLinux&&this._register((0,I.addDisposableListener)(this.element,\"auxclick\",(e=>{1===e.button&&(0,s.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this._register((0,I.addDisposableListener)(this.textarea,\"keyup\",(e=>this._keyUp(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"keydown\",(e=>this._keyDown(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"keypress\",(e=>this._keyPress(e)),!0)),this._register((0,I.addDisposableListener)(this.textarea,\"compositionstart\",(()=>this._compositionHelper.compositionstart()))),this._register((0,I.addDisposableListener)(this.textarea,\"compositionupdate\",(e=>this._compositionHelper.compositionupdate(e)))),this._register((0,I.addDisposableListener)(this.textarea,\"compositionend\",(()=>this._compositionHelper.compositionend()))),this._register((0,I.addDisposableListener)(this.textarea,\"input\",(e=>this._inputEvent(e)),!0)),this._register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){if(!e)throw new Error(\"Terminal requires a parent element.\");if(e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(\"div\"),this.element.dir=\"ltr\",this.element.classList.add(\"terminal\"),this.element.classList.add(\"xterm\"),e.appendChild(this.element);const t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this._register((0,I.addDisposableListener)(this.screenElement,\"mousemove\",(e=>this.updateCursorStyle(e)))),this._helperContainer=this._document.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);const i=this.textarea=this._document.createElement(\"textarea\");this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",r.promptLabel.get()),y.isChromeOS||this.textarea.setAttribute(\"aria-multiline\",\"false\"),this.textarea.setAttribute(\"autocorrect\",\"off\"),this.textarea.setAttribute(\"autocapitalize\",\"off\"),this.textarea.setAttribute(\"spellcheck\",\"false\"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(\"disableStdin\",(()=>i.readOnly=this.optionsService.rawOptions.disableStdin))),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(_.CoreBrowserService,this.textarea,e.ownerDocument.defaultView??window,this._document??\"undefined\"!=typeof window?window.document:null)),this._instantiationService.setService(v.ICoreBrowserService,this._coreBrowserService),this._register((0,I.addDisposableListener)(this.textarea,\"focus\",(e=>this._handleTextAreaFocus(e)))),this._register((0,I.addDisposableListener)(this.textarea,\"blur\",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(d.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(v.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(S.ThemeService),this._instantiationService.setService(v.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(u.CharacterJoinerService),this._instantiationService.setService(v.ICharacterJoinerService,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(g.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(v.IRenderService,this._renderService),this._register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=this._document.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance(h.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(p.MouseService),this._instantiationService.setService(v.IMouseService,this._mouseService);const s=this._linkifier.value=this._register(this._instantiationService.createInstance(M.Linkifier,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this._register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this._register(this.onBlur((()=>this._renderService.handleBlur()))),this._register(this.onFocus((()=>this._renderService.handleFocus()))),this._viewport=this._register(this._instantiationService.createInstance(o.Viewport,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)}))),this._selectionService=this._register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,s)),this._instantiationService.setService(v.ISelectionService,this._selectionService),this._register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this._register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this._register(this._selectionService.onRequestRedraw((e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode)))),this._register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this._register(O.Event.any(this._onScroll.event,this._inputHandler.onScroll)((()=>{this._selectionService.refresh(),this._viewport?.queueSync()}))),this._register(this._instantiationService.createInstance(a.BufferDecorationRenderer,this.screenElement)),this._register((0,I.addDisposableListener)(this.element,\"mousedown\",(e=>this._selectionService.handleMouseDown(e)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(\"enable-mouse-events\")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(k.AccessibilityManager,this)),this._register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",(e=>this._handleScreenReaderModeOptionChange(e)))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRuler\",(e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(c.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case\"mousemove\":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case\"mouseup\":r=0,s=t.button<3?t.button:3;break;case\"mousedown\":r=1,s=t.button<3?t.button:3;break;case\"wheel\":if(e._customWheelEventHandler&&!1===e._customWheelEventHandler(t))return!1;const i=t.deltaY;if(0===i)return!1;if(0===e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return!1;r=i<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.removeEventListener(\"mousemove\",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this._register(this.coreMouseService.onProtocolChange((e=>{e?(\"debug\"===this.optionsService.rawOptions.logLevel&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(e)),this.element.classList.add(\"enable-mouse-events\"),this._selectionService.disable()):(this._logService.debug(\"Unbinding from mouse events.\"),this.element.classList.remove(\"enable-mouse-events\"),this._selectionService.enable()),8&e?s.mousemove||(t.addEventListener(\"mousemove\",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener(\"mousemove\",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener(\"wheel\",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener(\"wheel\",s.wheel),s.wheel=null),2&e?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener(\"mousemove\",s.mousedrag),s.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register((0,I.addDisposableListener)(t,\"mousedown\",(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.addEventListener(\"mousemove\",s.mousedrag),this.cancel(e)}))),this._register((0,I.addDisposableListener)(t,\"wheel\",(t=>{if(!s.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(t))return!1;if(!this.buffer.hasScrollback){if(0===t.deltaY)return!1;if(0===e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return this.cancel(t,!0);const i=E.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(t.deltaY<0?\"A\":\"B\");return this.coreService.triggerDataEvent(i,!0),this.cancel(t,!0)}}}),{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(\"column-select\"):this.element.classList.remove(\"column-select\")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}paste(e){(0,s.paste)(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:\"\"}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;t||\"Dead\"!==e.key&&\"AltGraph\"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,D.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==E.C0.ETX&&i.key!==E.C0.CR||(this.textarea.value=\"\"),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey?this.cancel(e,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(\"AltGraph\");return\"keypress\"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&\"insertText\"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(w.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;const e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(\"focus\")?this.coreService.triggerDataEvent(E.C0.ESC+\"[I\"):this.coreService.triggerDataEvent(E.C0.ESC+\"[O\")}_reportWindowsOptions(e){if(this._renderService)switch(e){case T.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${E.C0.ESC}[4;${t};${e}t`);break;case T.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const i=this._renderService.dimensions.css.cell.width.toFixed(0),s=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${E.C0.ESC}[6;${s};${i}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}}t.CoreBrowserTerminal=x},8906:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier=void 0;const n=i(7150),o=i(6501),a=i(7098),l=i(802),h=i(7093);let c=class extends n.Disposable{get currentLink(){return this._currentLink}constructor(e,t,i,s,r){super(),this._element=e,this._mouseService=t,this._renderService=i,this._bufferService=s,this._linkProviderService=r,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new l.Emitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new l.Emitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register((0,n.toDisposable)((()=>{(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this._register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this._register((0,h.addDisposableListener)(this._element,\"mouseleave\",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this._register((0,h.addDisposableListener)(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this._register((0,h.addDisposableListener)(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this._register((0,h.addDisposableListener)(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}_handleMouseMove(e){this._lastMouseEvent=e;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e<i.length;e++){const t=i[e];if(t.classList.contains(\"xterm\"))break;if(t.classList.contains(\"xterm-hover\"))return}this._lastBufferCell&&t.x===this._lastBufferCell.x&&t.y===this._lastBufferCell.y||(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(e,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){this._activeProviderReplies&&t||(this._activeProviderReplies?.forEach((e=>{e?.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let i=!1;for(const[s,r]of this._linkProviderService.linkProviders.entries())if(t){const t=this._activeProviderReplies?.get(s);t&&(i=this._checkLinkProviderResult(s,e,i))}else r.provideLinks(e.y,(t=>{if(this._isMouseOut)return;const r=t?.map((e=>({link:e})));this._activeProviderReplies?.set(s,r),i=this._checkLinkProviderResult(s,e,i),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;s<t.size;s++){const r=t.get(s);if(r)for(let t=0;t<r.length;t++){const s=r[t],n=s.link.range.start.y<e?0:s.link.range.start.x,o=s.link.range.end.y>e?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){if(!this._activeProviderReplies)return i;const s=this._activeProviderReplies.get(e);let r=!1;for(let t=0;t<e;t++)this._activeProviderReplies.has(t)&&!this._activeProviderReplies.get(t)||(r=!0);if(!r&&s){const e=s.find((e=>this._linkAtPosition(e.link,t)));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let e=0;e<this._activeProviderReplies.size;e++){const s=this._activeProviderReplies.get(e)?.find((e=>this._linkAtPosition(e.link,t)));if(s){i=!0,this._handleNewLink(s);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);var i,s;t&&this._mouseDownLink&&(i=this._mouseDownLink.link,s=this._currentLink.link,i.text===s.text&&i.range.start.x===s.range.start.x&&i.range.start.y===s.range.start.y&&i.range.end.x===s.range.end.x&&i.range.end.y===s.range.end.y)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(\"xterm-cursor-pointer\",e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp,i=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=i&&(this._clearCurrentLink(t,i),this._lastMouseEvent)){const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}}))))}_linkHover(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};t.Linkifier=c,t.Linkifier=c=s([r(1,a.IMouseService),r(2,a.IRenderService),r(3,o.IBufferService),r(4,a.ILinkProviderService)],c)},7721:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0;let i=\"Terminal input\";const s={get:()=>i,set:e=>i=e};t.promptLabel=s;let r=\"Too much output to announce, navigate to rows manually to read\";const n={get:()=>r,set:e=>r=e};t.tooMuchOutput=n},3285:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkProvider=void 0;const n=i(3055),o=i(6501);let a=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){const i=this._bufferService.buffer.lines.get(e-1);if(!i)return void t(void 0);const s=[],r=this._optionsService.rawOptions.linkHandler,o=new n.CellData,a=i.getTrimmedLength();let h=-1,c=-1,d=!1;for(let t=0;t<a;t++)if(-1!==c||i.hasContent(t)){if(i.loadCell(t,o),o.hasExtendedAttrs()&&o.extended.urlId){if(-1===c){c=t,h=o.extended.urlId;continue}d=o.extended.urlId!==h}else-1!==c&&(d=!0);if(d||-1!==c&&t===a-1){const i=this._oscLinkService.getLinkData(h)?.uri;if(i){const n={start:{x:c+1,y:e},end:{x:t+(d||t!==a-1?0:1),y:e}};let o=!1;if(!r?.allowNonHttpProtocols)try{const e=new URL(i);[\"http:\",\"https:\"].includes(e.protocol)||(o=!0)}catch(e){o=!0}o||s.push({text:i,range:n,activate:(e,t)=>r?r.activate(e,t,n):l(0,t),hover:(e,t)=>r?.hover?.(e,t,n),leave:(e,t)=>r?.leave?.(e,t,n)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(c=t,h=o.extended.urlId):(c=-1,h=-1)}}t(s)}};function l(e,t){if(confirm(`Do you want to navigate to ${t}?\\n\\nWARNING: This link could potentially be dangerous`)){const e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}t.OscLinkProvider=a,t.OscLinkProvider=a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a)},4852:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},4292:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=performance.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},9302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_ANSI_COLORS=void 0;const s=i(4103);t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[s.css.toColor(\"#2e3436\"),s.css.toColor(\"#cc0000\"),s.css.toColor(\"#4e9a06\"),s.css.toColor(\"#c4a000\"),s.css.toColor(\"#3465a4\"),s.css.toColor(\"#75507b\"),s.css.toColor(\"#06989a\"),s.css.toColor(\"#d3d7cf\"),s.css.toColor(\"#555753\"),s.css.toColor(\"#ef2929\"),s.css.toColor(\"#8ae234\"),s.css.toColor(\"#fce94f\"),s.css.toColor(\"#729fcf\"),s.css.toColor(\"#ad7fa8\"),s.css.toColor(\"#34e2e2\"),s.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const r=t[i/36%6|0],n=t[i/6%6|0],o=t[i%6];e.push({css:s.channels.toCss(r,n,o),rgba:s.channels.toRgba(r,n,o)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:s.channels.toCss(i,i,i),rgba:s.channels.toRgba(i,i,i)})}return e})())},4017:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;const n=i(7098),o=i(7150),a=i(6501),l=i(7093),h=i(8234),c=i(802),d=i(9881);let u=class extends o.Disposable{constructor(e,t,i,s,r,n,a,u){super(),this._bufferService=i,this._optionsService=a,this._renderService=u,this._onRequestScrollLines=this._register(new c.Emitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;const _=this._register(new d.Scrollable({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>(0,l.scheduleAtNextAnimationFrame)(s.window,e)}));this._register(this._optionsService.onSpecificOptionChange(\"smoothScrollDuration\",(()=>{_.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)}))),this._scrollableElement=this._register(new h.SmoothScrollableElement(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},_)),this._register(this._optionsService.onMultipleOptionChange([\"scrollSensitivity\",\"fastScrollSensitivity\",\"overviewRuler\"],(()=>this._scrollableElement.updateOptions(this._getChangeOptions())))),this._register(r.onProtocolChange((e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(16&e)})}))),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(c.Event.runAndSubscribe(n.onChangeColors,(()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css}))),e.appendChild(this._scrollableElement.getDomNode()),this._register((0,o.toDisposable)((()=>this._scrollableElement.getDomNode().remove()))),this._styleElement=s.mainDocument.createElement(\"style\"),t.appendChild(this._styleElement),this._register((0,o.toDisposable)((()=>this._styleElement.remove()))),this._register(c.Event.runAndSubscribe(n.onChangeColors,(()=>{this._styleElement.textContent=[\".xterm .xterm-scrollable-element > .scrollbar > .slider {\",` background: ${n.colors.scrollbarSliderBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {\",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,\"}\",\".xterm .xterm-scrollable-element > .scrollbar > .slider.active {\",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,\"}\"].join(\"\\n\")}))),this._register(this._bufferService.onResize((()=>this.queueSync()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._latestYDisp=void 0,this.queueSync()}))),this._register(this._bufferService.onScroll((()=>this._sync()))),this._register(this._scrollableElement.onScroll((e=>this._handleScroll(e))))}scrollLines(e){const t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){void 0!==e&&(this._latestYDisp=e),void 0===this._queuedAnimationFrame&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback((()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)})))}_sync(e=this._bufferService.buffer.ydisp){this._renderService&&!this._isSyncing&&(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService)return;if(this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;const t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),i=t-this._bufferService.buffer.ydisp;0!==i&&(this._latestYDisp=t,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};t.Viewport=u,t.Viewport=u=s([r(2,a.IBufferService),r(3,n.ICoreBrowserService),r(4,a.ICoreMouseService),r(5,n.IThemeService),r(6,a.IOptionsService),r(7,n.IRenderService)],u)},4196:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(7098),o=i(7150),a=i(6501);let l=class extends o.Disposable{constructor(e,t,i,s,r){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=i,this._decorationService=s,this._renderService=r,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(\"div\"),this._container.classList.add(\"xterm-decoration-container\"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this._register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this._register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this._register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this._register(this._decorationService.onDecorationRemoved((e=>this._removeDecoration(e)))),this._register((0,o.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){const t=this._coreBrowserService.mainDocument.createElement(\"div\");t.classList.add(\"xterm-decoration\"),t.classList.toggle(\"xterm-decoration-top-layer\",\"top\"===e?.options?.layer),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",t.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+\"px\",t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const i=e.options.x??0;return i&&i>this._bufferService.cols&&(t.style.display=\"none\"),this._refreshXPosition(e,t),t}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose((()=>{this._decorationElements.delete(e),i.remove()}))),i.style.display=this._altBufferIsActive?\"none\":\"block\",this._altBufferIsActive||(i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",i.style.top=t*this._renderService.dimensions.css.cell.height+\"px\",i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){if(!t)return;const i=e.options.x??0;\"right\"===(e.options.anchor||\"left\")?t.style.right=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\":t.style.left=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\"}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};t.BufferDecorationRenderer=l,t.BufferDecorationRenderer=l=s([r(1,a.IBufferService),r(2,n.ICoreBrowserService),r(3,a.IDecorationService),r(4,n.IRenderService)],l)},957:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||\"full\"]&&t<=e.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},9925:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(957),o=i(7098),a=i(7150),l=i(6501),h={full:0,left:0,center:0,right:0},c={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0};let u=class extends a.Disposable{get _width(){return this._optionsService.options.overviewRuler?.width||0}constructor(e,t,i,s,r,o,l,h){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._themeService=l,this._coreBrowserService=h,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(\"canvas\"),this._canvas.classList.add(\"xterm-decoration-overview-ruler\"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register((0,a.toDisposable)((()=>this._canvas?.remove())));const c=this._canvas.getContext(\"2d\");if(!c)throw new Error(\"Ctx cannot be null\");this._ctx=c,this._register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this._register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0)))),this._register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this._register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?\"none\":\"block\"}))),this._register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))),this._register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this._register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._register(this._optionsService.onSpecificOptionChange(\"overviewRuler\",(()=>this._queueRefresh(!0)))),this._register(this._themeService.onChangeColors((()=>this._queueRefresh()))),this._queueRefresh(!0)}_refreshDrawConstants(){const e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);c.full=this._canvas.width,c.left=e,c.center=t,c.right=e,this._refreshDrawHeightConstants(),d.full=1,d.left=1,d.center=1+c.left,d.right=1+c.left+c.center}_refreshDrawHeightConstants(){h.full=Math.round(2*this._coreBrowserService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);h.left=t,h.center=t,h.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*h.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();const e=this._colorZoneStore.zones;for(const t of e)\"full\"!==t.position&&this._renderColorZone(t);for(const t of e)\"full\"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(d[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-h[e.position||\"full\"]/2),c[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+h[e.position||\"full\"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};t.OverviewRulerRenderer=u,t.OverviewRulerRenderer=u=s([r(2,l.IBufferService),r(3,l.IDecorationService),r(4,o.IRenderService),r(5,l.IOptionsService),r(6,o.IThemeService),r(7,o.ICoreBrowserService)],u)},3618:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;const n=i(7098),o=i(6501),a=i(3534);let l=class{get isComposing(){return this._isComposing}constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(20===e.keyCode||229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,\"\");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.length<e.length?this._coreService.triggerDataEvent(`${a.C0.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}}),0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,s=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=s+\"px\",this._compositionView.style.top=i+\"px\",this._compositionView.style.height=t+\"px\",this._compositionView.style.lineHeight=t+\"px\",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+\"px\";const r=this._compositionView.getBoundingClientRect();this._textarea.style.left=s+\"px\",this._textarea.style.top=i+\"px\",this._textarea.style.width=Math.max(r.width,1)+\"px\",this._textarea.style.height=Math.max(r.height,1)+\"px\",this._textarea.style.lineHeight=r.height+\"px\"}e||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};t.CompositionHelper=l,t.CompositionHelper=l=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],l)},5251:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,l,h){if(!o)return;const c=i(e,t,s);return c?(c[0]=Math.ceil((c[0]+(h?a/2:0))/a),c[1]=Math.ceil(c[1]/l),c[0]=Math.min(Math.max(c[0],1),r+(h?1:0)),c[1]=Math.min(Math.max(c[1],1),n),c):void 0}},9686:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=function(e,t,i,s){const o=i.buffer.x,c=i.buffer.y;if(!i.buffer.hasScrollback)return function(e,t,i,s,o,c){return 0===r(t,s,o,c).length?\"\":h(a(e,t,e,t-n(t,o),!1,o).length,l(\"D\",c))}(o,c,0,t,i,s)+r(c,t,i,s)+function(e,t,i,s,o,c){let d;d=r(t,s,o,c).length>0?s-n(s,o):t;const u=s,_=function(e,t,i,s,o,a){let l;return l=r(i,s,o,a).length>0?s-n(s,o):t,e<i&&l<=s||e>=i&&l<s?\"C\":\"D\"}(e,t,i,s,o,c);return h(a(e,d,i,u,\"C\"===_,o).length,l(_,c))}(o,c,e,t,i,s);let d;if(c===t)return d=o>e?\"D\":\"C\",h(Math.abs(o-e),l(d,s));d=c>t?\"D\":\"C\";const u=Math.abs(c-t);return h(function(e,t){return t.cols-e}(c>t?e:o,i)+(u-1)*i.cols+1+((c>t?o:e)-1),l(d,s))};const s=i(3534);function r(e,t,i,s){const r=e-n(e,i),a=t-n(t,i),c=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(e,i),a=t-n(t,i);for(let n=0;n<Math.abs(r-a);n++){const a=\"A\"===o(e,t)?-1:1,l=i.buffer.lines.get(r+a*n);l?.isWrapped&&s++}return s}(e,t,i);return h(c,l(o(e,t),s))}function n(e,t){let i=0,s=t.buffer.lines.get(e),r=s?.isWrapped;for(;r&&e>=0&&e<t.rows;)i++,s=t.buffer.lines.get(--e),r=s?.isWrapped;return i}function o(e,t){return e>t?\"A\":\"B\"}function a(e,t,i,s,r,n){let o=e,a=t,l=\"\";for(;(o!==i||a!==s)&&a>=0&&a<n.buffer.lines.length;)o+=r?1:-1,r&&o>n.cols-1?(l+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(l+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return l+n.buffer.translateBufferLineToString(a,!1,e,o)}function l(e,t){const i=t?\"O\":\"[\";return s.C0.ESC+i+e}function h(e,t){e=Math.floor(e);let i=\"\";for(let s=0;s<e;s++)i+=t;return i}},3955:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;const n=i(1433),o=i(2744),a=i(9176),l=i(6181),h=i(2274),c=i(7098),d=i(4103),u=i(7150),_=i(6501),f=i(802),p=\"xterm-dom-renderer-owner-\",g=\"xterm-rows\",m=\"xterm-fg-\",v=\"xterm-bg-\",S=\"xterm-focus\",b=\"xterm-selection\";let C=1,y=class extends u.Disposable{constructor(e,t,i,s,r,a,c,d,_,m,v,S,y,w){super(),this._terminal=e,this._document=t,this._element=i,this._screenElement=s,this._viewportElement=r,this._helperContainer=a,this._linkifier2=c,this._charSizeService=_,this._optionsService=m,this._bufferService=v,this._coreService=S,this._coreBrowserService=y,this._themeService=w,this._terminalClass=C++,this._rowElements=[],this._selectionRenderModel=(0,h.createSelectionRenderModel)(),this.onRequestRedraw=this._register(new f.Emitter).event,this._rowContainer=this._document.createElement(\"div\"),this._rowContainer.classList.add(g),this._rowContainer.style.lineHeight=\"normal\",this._rowContainer.setAttribute(\"aria-hidden\",\"true\"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(\"div\"),this._selectionContainer.classList.add(b),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=(0,l.createRenderDimensions)(),this._updateDimensions(),this._register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this._register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=d.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(p+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this._register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this._register((0,u.toDisposable)((()=>{this._element.classList.remove(p+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .${g} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${g} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${g} .xterm-dim { color: ${d.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const i=`blink_underline_${this._terminalClass}`,s=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;t+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${s} { 50% { box-shadow: none; }}`,t+=`@keyframes ${r} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${g}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${g} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${b} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${b} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${b} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(const[i,s]of e.ansi.entries())t+=`${this._terminalSelector} .${m}${i} { color: ${s.css}; }${this._terminalSelector} .${m}${i}.xterm-dim { color: ${d.color.multiplyOpacity(s,.5).css}; }${this._terminalSelector} .${v}${i} { background-color: ${s.css}; }`;t+=`${this._terminalSelector} .${m}${a.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(e.background).css}; }${this._terminalSelector} .${m}${a.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${v}${a.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){const e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=this._document.createElement(\"div\");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(S),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;if(this._selectionRenderModel.update(this._terminal,e,t,i),!this._selectionRenderModel.hasSelection)return;const s=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,a=this._document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,l=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,l));const h=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,h)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=this._document.createElement(\"div\"),n=t*this.dimensions.css.cell.width;let o=this.dimensions.css.cell.width*(i-t);return n+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-n),r.style.height=s*this.dimensions.css.cell.height+\"px\",r.style.top=e*this.dimensions.css.cell.height+\"px\",r.style.left=`${n}px`,r.style.width=`${o}px`,r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const e of this._rowElements)e.replaceChildren()}renderRows(e,t){const i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,a=this._optionsService.rawOptions.cursorInactiveStyle;for(let l=e;l<=t;l++){const e=l+i.ydisp,t=this._rowElements[l],h=i.lines.get(e);if(!t||!h)break;t.replaceChildren(...this._rowFactory.createRow(h,e,e===s,o,a,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${p}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);const o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),s=Math.max(Math.min(s,o),0),r=Math.min(r,this._bufferService.cols);const a=this._bufferService.buffer,l=a.ybase+a.y,h=Math.min(a.x,r-1),c=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,u=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=i;o<=s;++o){const _=o+a.ydisp,f=this._rowElements[o],p=a.lines.get(_);if(!f||!p)break;f.replaceChildren(...this._rowFactory.createRow(p,_,_===l,d,u,h,c,this.dimensions.css.cell.width,this._widthCache,n?o===i?e:0:-1,n?(o===s?t:r)-1:-1))}}};t.DomRenderer=y,t.DomRenderer=y=s([r(7,_.IInstantiationService),r(8,c.ICharSizeService),r(9,_.IOptionsService),r(10,_.IBufferService),r(11,_.ICoreService),r(12,c.ICoreBrowserService),r(13,c.IThemeService)],y)},1433:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=void 0;const n=i(9176),o=i(8938),a=i(3055),l=i(6501),h=i(4103),c=i(7098),d=i(945),u=i(6181),_=i(5451);let f=class{constructor(e,t,i,s,r,n,o){this._document=e,this._characterJoinerService=t,this._optionsService=i,this._coreBrowserService=s,this._coreService=r,this._decorationService=n,this._themeService=o,this._workCell=new a.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,t,i,s,r,a,l,c,u,f,g){const m=[],v=this._characterJoinerService.getJoinedCharacters(t),S=this._themeService.colors;let b,C=e.getNoBgTrimmedLength();i&&C<a+1&&(C=a+1);let y=0,w=\"\",E=0,D=0,L=0,R=0,A=!1,T=0,k=!1,M=0,O=0;const I=[],P=-1!==f&&-1!==g;for(let x=0;x<C;x++){e.loadCell(x,this._workCell);let C=this._workCell.getWidth();if(0===C)continue;let B=!1,N=x>=O,U=x,F=this._workCell;if(v.length>0&&x===v[0][0]&&N){const s=v.shift(),r=this._isCellInSelection(s[0],t);for(E=s[0]+1;E<s[1];E++)N&&=r===this._isCellInSelection(E,t);N&&=!i||a<s[0]||a>=s[1],N?(B=!0,F=new d.JoinedCellData(this._workCell,e.translateToString(!0,s[0],s[1]),s[1]-s[0]),U=s[1]-1,C=F.getWidth()):O=s[1]}const W=this._isCellInSelection(x,t),H=i&&x===a,K=P&&x>=f&&x<=g;let z=!1;this._decorationService.forEachDecorationAtCell(x,t,void 0,(e=>{z=!0}));let j=F.getChars()||o.WHITESPACE_CELL_CHAR;if(\" \"===j&&(F.isUnderline()||F.isOverline())&&(j=\" \"),M=C*c-u.get(j,F.isBold(),F.isItalic()),b){if(y&&(W&&k||!W&&!k&&F.bg===D)&&(W&&k&&S.selectionForeground||F.fg===L)&&F.extended.ext===R&&K===A&&M===T&&!H&&!B&&!z&&N){F.isInvisible()?w+=o.WHITESPACE_CELL_CHAR:w+=j,y++;continue}y&&(b.textContent=w),b=this._document.createElement(\"span\"),y=0,w=\"\"}else b=this._document.createElement(\"span\");if(D=F.bg,L=F.fg,R=F.extended.ext,A=K,T=M,k=W,B&&a>=x&&a<=U&&(a=x),!this._coreService.isCursorHidden&&H&&this._coreService.isCursorInitialized)if(I.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)l&&I.push(\"xterm-cursor-blink\"),I.push(\"bar\"===s?\"xterm-cursor-bar\":\"underline\"===s?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(r)switch(r){case\"outline\":I.push(\"xterm-cursor-outline\");break;case\"block\":I.push(\"xterm-cursor-block\");break;case\"bar\":I.push(\"xterm-cursor-bar\");break;case\"underline\":I.push(\"xterm-cursor-underline\")}if(F.isBold()&&I.push(\"xterm-bold\"),F.isItalic()&&I.push(\"xterm-italic\"),F.isDim()&&I.push(\"xterm-dim\"),w=F.isInvisible()?o.WHITESPACE_CELL_CHAR:F.getChars()||o.WHITESPACE_CELL_CHAR,F.isUnderline()&&(I.push(`xterm-underline-${F.extended.underlineStyle}`),\" \"===w&&(w=\" \"),!F.isUnderlineColorDefault()))if(F.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${_.AttributeData.toColorRGB(F.getUnderlineColor()).join(\",\")})`;else{let e=F.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&F.isBold()&&e<8&&(e+=8),b.style.textDecorationColor=S.ansi[e].css}F.isOverline()&&(I.push(\"xterm-overline\"),\" \"===w&&(w=\" \")),F.isStrikethrough()&&I.push(\"xterm-strikethrough\"),K&&(b.style.textDecoration=\"underline\");let $=F.getFgColor(),V=F.getFgColorMode(),G=F.getBgColor(),q=F.getBgColorMode();const X=!!F.isInverse();if(X){const e=$;$=G,G=e;const t=V;V=q,q=t}let Y,Z,J,Q=!1;switch(this._decorationService.forEachDecorationAtCell(x,t,void 0,(e=>{\"top\"!==e.options.layer&&Q||(e.backgroundColorRGB&&(q=50331648,G=e.backgroundColorRGB.rgba>>8&16777215,Y=e.backgroundColorRGB),e.foregroundColorRGB&&(V=50331648,$=e.foregroundColorRGB.rgba>>8&16777215,Z=e.foregroundColorRGB),Q=\"top\"===e.options.layer)})),!Q&&W&&(Y=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,G=Y.rgba>>8&16777215,q=50331648,Q=!0,S.selectionForeground&&(V=50331648,$=S.selectionForeground.rgba>>8&16777215,Z=S.selectionForeground)),Q&&I.push(\"xterm-decoration-top\"),q){case 16777216:case 33554432:J=S.ansi[G],I.push(`xterm-bg-${G}`);break;case 50331648:J=h.channels.toColor(G>>16,G>>8&255,255&G),this._addStyle(b,`background-color:#${p((G>>>0).toString(16),\"0\",6)}`);break;default:X?(J=S.foreground,I.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):J=S.background}switch(Y||F.isDim()&&(Y=h.color.multiplyOpacity(J,.5)),V){case 16777216:case 33554432:F.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(b,J,S.ansi[$],F,Y,void 0)||I.push(`xterm-fg-${$}`);break;case 50331648:const e=h.channels.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(b,J,e,F,Y,Z)||this._addStyle(b,`color:#${p($.toString(16),\"0\",6)}`);break;default:this._applyMinimumContrast(b,J,S.foreground,F,Y,Z)||X&&I.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}I.length&&(b.className=I.join(\" \"),I.length=0),H||B||z||!N?b.textContent=w:y++,M!==this.defaultSpacing&&(b.style.letterSpacing=`${M}px`),m.push(b),x=U}return b&&y&&(b.textContent=w),m}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,u.treatGlyphAsBackgroundColor)(s.getCode()))return!1;const o=this._getContrastCache(s);let a;if(r||n||(a=o.getColor(t.rgba,i.rgba)),void 0===a){const e=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);a=h.color.ensureContrastRatio(r||t,n||i,e),o.setColor((r||t).rgba,(n||i).rgba,a??null)}return!!a&&(this._addStyle(e,`color:${a.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(\"style\",`${e.getAttribute(\"style\")||\"\"}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e<s[0]&&t<=s[1]:e<i[0]&&t>=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t<s[1]||i[1]===s[1]&&t===i[1]&&e>=i[0]&&e<s[0]||i[1]<s[1]&&t===s[1]&&e<s[0]||i[1]<s[1]&&t===i[1]&&e>=i[0])}};function p(e,t,i){for(;e.length<i;)e=t+e;return e}t.DomRendererRowFactory=f,t.DomRendererRowFactory=f=s([r(1,c.ICharacterJoinerService),r(2,l.IOptionsService),r(3,c.ICoreBrowserService),r(4,l.ICoreService),r(5,l.IDecorationService),r(6,c.IThemeService)],f)},2744:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WidthCache=void 0,t.WidthCache=class{constructor(e,t){this._flat=new Float32Array(256),this._font=\"\",this._fontSize=0,this._weight=\"normal\",this._weightBold=\"bold\",this._measureElements=[],this._container=e.createElement(\"div\"),this._container.classList.add(\"xterm-width-cache-measure-container\"),this._container.setAttribute(\"aria-hidden\",\"true\"),this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";const i=e.createElement(\"span\");i.classList.add(\"xterm-char-measure-element\");const s=e.createElement(\"span\");s.classList.add(\"xterm-char-measure-element\"),s.style.fontWeight=\"bold\";const r=e.createElement(\"span\");r.classList.add(\"xterm-char-measure-element\"),r.style.fontStyle=\"italic\";const n=e.createElement(\"span\");n.classList.add(\"xterm-char-measure-element\"),n.style.fontWeight=\"bold\",n.style.fontStyle=\"italic\",this._measureElements=[i,s,r,n],this._container.appendChild(i),this._container.appendChild(s),this._container.appendChild(r),this._container.appendChild(n),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,i,s){e===this._font&&t===this._fontSize&&i===this._weight&&s===this._weightBold||(this._font=e,this._fontSize=t,this._weight=i,this._weightBold=s,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${s}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${s}`,this.clear())}get(e,t,i){let s=0;if(!t&&!i&&1===e.length&&(s=e.charCodeAt(0))<256){if(-9999!==this._flat[s])return this._flat[s];const t=this._measure(e,0);return t>0&&(this._flat[s]=t),t}let r=e;t&&(r+=\"B\"),i&&(r+=\"I\");let n=this._holey.get(r);if(void 0===n){let s=0;t&&(s|=1),i&&(s|=2),n=this._measure(e,s),n>0&&this._holey.set(r,n)}return n}_measure(e,t){const i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}}},9176:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257},6181:(e,t)=>{function i(e){return 57508<=e&&e<=57558}function s(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}Object.defineProperty(t,\"__esModule\",{value:!0}),t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.isEmoji=s,t.allowRescaling=function(e,t,r,n){return 1===t&&r>Math.ceil(1.5*n)&&void 0!==e&&e>255&&!s(e)&&!i(e)&&!function(e){return 57344<=e&&e<=63743}(e)},t.treatGlyphAsBackgroundColor=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},t.computeNextVariantOffset=function(e,t,i=0){return(e-(2*Math.round(t)-i))%(2*Math.round(t))}},2274:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSelectionRenderModel=function(){return new i};class i{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1])return void this.clear();const r=e.buffers.active.ydisp,n=t[1]-r,o=i[1]-r,a=Math.max(n,0),l=Math.min(o,e.rows-1);a>=e.rows||l<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=n,this.viewportEndRow=o,this.viewportCappedStartRow=a,this.viewportCappedEndRow=l,this.startCol=t[0],this.endCol=i[0])}isCellSelected(e,t,i){return!!this.hasSelection&&(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t<this.endCol&&i<=this.viewportCappedEndRow:t<this.startCol&&i>=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol)}}},5959:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},4792:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;const n=i(6501),o=i(7150),a=i(802);let l=class extends o.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new a.Emitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new d(this._optionsService))}catch{this._measureStrategy=this._register(new c(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],(()=>this.measure())))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};t.CharSizeService=l,t.CharSizeService=l=s([r(2,n.IOptionsService)],l);class h extends o.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){void 0!==e&&e>0&&void 0!==t&&t>0&&(this._result.width=e,this._result.height=t)}}class c extends h{constructor(e,t,i){super(),this._document=e,this._parentElement=t,this._optionsService=i,this._measureElement=this._document.createElement(\"span\"),this._measureElement.classList.add(\"xterm-char-measure-element\"),this._measureElement.textContent=\"W\".repeat(32),this._measureElement.setAttribute(\"aria-hidden\",\"true\"),this._measureElement.style.whiteSpace=\"pre\",this._measureElement.style.fontKerning=\"none\",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class d extends h{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(\"2d\");const t=this._ctx.measureText(\"W\");if(!(\"width\"in t&&\"fontBoundingBoxAscent\"in t&&\"fontBoundingBoxDescent\"in t))throw new Error(\"Required font metrics not supported\")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const e=this._ctx.measureText(\"W\");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}}},945:function(e,t,i){var s,r=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},n=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const o=i(5451),a=i(8938),l=i(3055),h=i(6501);class c extends o.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData=\"\",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let d=s=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new l.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(0===this._characterJoiners.length)return[];const t=this._bufferService.buffer.lines.get(e);if(!t||0===t.length)return[];const i=[],s=t.translateToString(!0);let r=0,n=0,o=0,l=t.getFg(0),h=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==l||this._workCell.bg!==h){if(e-r>1){const e=this._getJoinedRanges(s,o,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}r=e,o=n,l=this._workCell.fg,h=this._workCell.bg}n+=this._workCell.getChars().length||a.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-r>1){const e=this._getJoinedRanges(s,o,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}return i}_getJoinedRanges(e,t,i,r,n){const o=e.substring(t,i);let a=[];try{a=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{const t=this._characterJoiners[e].handler(o);for(let e=0;e<t.length;e++)s._mergeRanges(a,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(a,r,n),a}_stringRangesToCellRanges(e,t,i){let s=0,r=!1,n=0,o=e[s];if(o){for(let l=i;l<this._bufferService.cols;l++){const i=t.getWidth(l),h=t.getString(l).length||a.WHITESPACE_CELL_CHAR.length;if(0!==i){if(!r&&o[0]<=n&&(o[0]=l,r=!0),o[1]<=n){if(o[1]=l,o=e[++s],!o)break;o[0]<=n?(o[0]=l,r=!0):r=!1}n+=h}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let i=!1;for(let s=0;s<e.length;s++){const r=e[s];if(i){if(t[1]<=r[0])return e[s-1][1]=t[1],e;if(t[1]<=r[1])return e[s-1][1]=Math.max(t[1],r[1]),e.splice(s,1),e;e.splice(s,1),s--}else{if(t[1]<=r[0])return e.splice(s,0,t),e;if(t[1]<=r[1])return r[0]=Math.min(t[0],r[0]),e;t[0]<r[1]&&(r[0]=Math.min(t[0],r[0]),i=!0)}}return i?e[e.length-1][1]=t[1]:e.push(t),e}};t.CharacterJoinerService=d,t.CharacterJoinerService=d=s=r([n(0,h.IBufferService)],d)},9574:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0;const s=i(802),r=i(7093),n=i(7150);class o extends n.Disposable{constructor(e,t,i){super(),this._textarea=e,this._window=t,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new a(this._window)),this._onDprChange=this._register(new s.Emitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new s.Emitter),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((e=>this._screenDprMonitor.setWindow(e)))),this._register(s.Event.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register((0,r.addDisposableListener)(this._textarea,\"focus\",(()=>this._isFocused=!0))),this._register((0,r.addDisposableListener)(this._textarea,\"blur\",(()=>this._isFocused=!1)))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}t.CoreBrowserService=o;class a extends n.Disposable{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new n.MutableDisposable),this._onDprChange=this._register(new s.Emitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register((0,n.toDisposable)((()=>this.clearListener())))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,r.addDisposableListener)(this._parentWindow,\"resize\",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},9820:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkProviderService=void 0;const s=i(7150);class r extends s.Disposable{constructor(){super(),this.linkProviders=[],this._register((0,s.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{const t=this.linkProviders.indexOf(e);-1!==t&&this.linkProviders.splice(t,1)}}}}t.LinkProviderService=r},9784:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;const n=i(7098),o=i(5251);let a=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};t.MouseService=a,t.MouseService=a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a)},5783:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;const n=i(4852),o=i(7098),a=i(7150),l=i(6168),h=i(6501),c=i(802);let d=class extends a.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,i,s,r,o,h,d,_){super(),this._rowCount=e,this._optionsService=i,this._charSizeService=s,this._coreService=r,this._coreBrowserService=d,this._renderer=this._register(new a.MutableDisposable),this._pausedResizeTask=new l.DebouncedIdleTask,this._observerDisposable=this._register(new a.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new c.Emitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new c.Emitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new c.Emitter),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new c.Emitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new n.RenderDebouncer(((e,t)=>this._renderRows(e,t)),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new u(this._coreBrowserService,this._coreService,(()=>this._fullRefresh())),this._register((0,a.toDisposable)((()=>this._syncOutputHandler.dispose()))),this._register(this._coreBrowserService.onDprChange((()=>this.handleDevicePixelRatioChange()))),this._register(h.onResize((()=>this._fullRefresh()))),this._register(h.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this._register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this._register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this._register(o.onDecorationRegistered((()=>this._fullRefresh()))),this._register(o.onDecorationRemoved((()=>this._fullRefresh()))),this._register(this._optionsService.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\",\"rescaleOverlappingGlyphs\"],(()=>{this.clear(),this.handleResize(h.cols,h.rows),this._fullRefresh()}))),this._register(this._optionsService.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],(()=>this.refreshRows(h.buffer.y,h.buffer.y,!0)))),this._register(_.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange((e=>this._registerIntersectionObserver(e,t))))}_registerIntersectionObserver(e,t){if(\"IntersectionObserver\"in e){const i=new e.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});i.observe(t),this._observerDisposable.value=(0,a.toDisposable)((()=>i.disconnect()))}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){if(this._isPaused)return void(this._needsFullRefresh=!0);if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(e,t);const s=this._syncOutputHandler.flush();s&&(e=Math.min(e,s.start),t=Math.max(t,s.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){this._renderer.value&&(this._coreService.decPrivateModes.synchronizedOutput?this._syncOutputHandler.bufferRows(e,t):(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0))}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,i){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,this._renderer.value?.handleSelectionChanged(e,t,i)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};t.RenderService=d,t.RenderService=d=s([r(2,h.IOptionsService),r(3,o.ICharSizeService),r(4,h.ICoreService),r(5,h.IDecorationService),r(6,h.IBufferService),r(7,o.ICoreBrowserService),r(8,o.IThemeService)],d);class u{constructor(e,t,i){this._coreBrowserService=e,this._coreService=t,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),void 0===this._timeout&&(this._timeout=this._coreBrowserService.window.setTimeout((()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()}),1e3))}flush(){if(void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;const e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}}},2079:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;const n=i(5251),o=i(9686),a=i(5959),l=i(7098),h=i(7150),c=i(701),d=i(9384),u=i(3055),_=i(6501),f=i(802),p=String.fromCharCode(160),g=new RegExp(p,\"g\");let m=class extends h.Disposable{constructor(e,t,i,s,r,n,o,l,c){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=o,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new f.Emitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new f.Emitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new f.Emitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new f.Emitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this._register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new a.SelectionModel(this._bufferService),this._activeSelectionMode=0,this._register((0,h.toDisposable)((()=>{this._removeMouseDownListeners()}))),this._register(this._bufferService.onResize((e=>{e.rowsChanged&&this.clearSelection()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";const r=e[0]<t[0]?e[0]:t[0],n=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){const e=i.translateBufferLineToString(o,!0,r,n);s.push(e)}}else{const r=e[1]===t[1]?t[0]:void 0;s.push(i.translateBufferLineToString(e[1],!0,e[0],r));for(let r=e[1]+1;r<=t[1]-1;r++){const e=i.lines.get(r),t=i.translateBufferLineToString(r,!0);e?.isWrapped?s[s.length-1]+=t:s.push(t)}if(e[1]!==t[1]){const e=i.lines.get(t[1]),r=i.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?s[s.length-1]+=r:s.push(r)}}return s.map((e=>e.replace(g,\" \"))).join(c.isWindows?\"\\r\\n\":\"\\n\")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),c.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]<i[1]||t[1]===i[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<i[0]||t[1]<i[1]&&e[1]===i[1]&&e[0]<i[0]||t[1]<i[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){const i=this._linkifier.currentLink?.link?.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=(0,d.getRangeLength)(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const s=this._getMouseBufferCoords(e);return!!s&&(this._selectWordAt(s,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return c.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(\"mouseup\",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(\"mousemove\",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(\"mouseup\",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(c.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]<i.lines.length){const e=i.lines.get(this._model.selectionEnd[1]);e&&0===e.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}t&&t[0]===this._model.selectionEnd[0]&&t[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,o.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._handleTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e[0]),l=a;const h=e[0]-a;let c=0,d=0,u=0,_=0;if(\" \"===o.charAt(a)){for(;a>0&&\" \"===o.charAt(a-1);)a--;for(;l<o.length&&\" \"===o.charAt(l+1);)l++}else{let t=e[0],i=e[0];0===n.getWidth(t)&&(c++,t--),2===n.getWidth(i)&&(d++,i++);const s=n.getString(i).length;for(s>1&&(_+=s-1,l+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(c++,t--):e>1&&(u+=e-1,a-=e-1),a--,t--}for(;i<n.length&&l+1<o.length&&!this._isCharWordSeparator(n.loadCell(i+1,this._workCell));){n.loadCell(i+1,this._workCell);const e=this._workCell.getChars().length;2===this._workCell.getWidth()?(d++,i++):e>1&&(_+=e-1,l+=e-1),l++,i++}}l++;let f=a+h-c+u,p=Math.min(this._bufferService.cols,l-a+c+d-u-_);if(t||\"\"!==o.slice(a,l).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,p+=e}}}if(s&&f+p===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if(t?.isWrapped&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(p+=t.length)}}return{start:f,length:p}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,d.getRangeLength)(i,this._bufferService.cols)}};t.SelectionService=m,t.SelectionService=m=s([r(3,_.IBufferService),r(4,_.ICoreService),r(5,l.IMouseService),r(6,_.IOptionsService),r(7,l.IRenderService),r(8,l.ICoreBrowserService)],m)},7098:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ILinkProviderService=t.IThemeService=t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(6201);t.ICharSizeService=(0,s.createDecorator)(\"CharSizeService\"),t.ICoreBrowserService=(0,s.createDecorator)(\"CoreBrowserService\"),t.IMouseService=(0,s.createDecorator)(\"MouseService\"),t.IRenderService=(0,s.createDecorator)(\"RenderService\"),t.ISelectionService=(0,s.createDecorator)(\"SelectionService\"),t.ICharacterJoinerService=(0,s.createDecorator)(\"CharacterJoinerService\"),t.IThemeService=(0,s.createDecorator)(\"ThemeService\"),t.ILinkProviderService=(0,s.createDecorator)(\"LinkProviderService\")},9078:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ThemeService=void 0;const n=i(7174),o=i(9302),a=i(4103),l=i(7150),h=i(6501),c=i(802),d=a.css.toColor(\"#ffffff\"),u=a.css.toColor(\"#000000\"),_=a.css.toColor(\"#ffffff\"),f=u,p={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117},g=d;let m=class extends l.Disposable{get colors(){return this._colors}constructor(e){super(),this._optionsService=e,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this._register(new c.Emitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:d,background:u,cursor:_,cursorAccent:f,selectionForeground:void 0,selectionBackgroundTransparent:p,selectionBackgroundOpaque:a.color.blend(u,p),selectionInactiveBackgroundTransparent:p,selectionInactiveBackgroundOpaque:a.color.blend(u,p),scrollbarSliderBackground:a.color.opacity(d,.2),scrollbarSliderHoverBackground:a.color.opacity(d,.4),scrollbarSliderActiveBackground:a.color.opacity(d,.5),overviewRulerBorder:d,ansi:o.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(\"minimumContrastRatio\",(()=>this._contrastCache.clear()))),this._register(this._optionsService.onSpecificOptionChange(\"theme\",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(e={}){const t=this._colors;if(t.foreground=v(e.foreground,d),t.background=v(e.background,u),t.cursor=a.color.blend(t.background,v(e.cursor,_)),t.cursorAccent=a.color.blend(t.background,v(e.cursorAccent,f)),t.selectionBackgroundTransparent=v(e.selectionBackground,p),t.selectionBackgroundOpaque=a.color.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=v(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=a.color.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?v(e.selectionForeground,a.NULL_COLOR):void 0,t.selectionForeground===a.NULL_COLOR&&(t.selectionForeground=void 0),a.color.isOpaque(t.selectionBackgroundTransparent)){const e=.3;t.selectionBackgroundTransparent=a.color.opacity(t.selectionBackgroundTransparent,e)}if(a.color.isOpaque(t.selectionInactiveBackgroundTransparent)){const e=.3;t.selectionInactiveBackgroundTransparent=a.color.opacity(t.selectionInactiveBackgroundTransparent,e)}if(t.scrollbarSliderBackground=v(e.scrollbarSliderBackground,a.color.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=v(e.scrollbarSliderHoverBackground,a.color.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=v(e.scrollbarSliderActiveBackground,a.color.opacity(t.foreground,.5)),t.overviewRulerBorder=v(e.overviewRulerBorder,g),t.ansi=o.DEFAULT_ANSI_COLORS.slice(),t.ansi[0]=v(e.black,o.DEFAULT_ANSI_COLORS[0]),t.ansi[1]=v(e.red,o.DEFAULT_ANSI_COLORS[1]),t.ansi[2]=v(e.green,o.DEFAULT_ANSI_COLORS[2]),t.ansi[3]=v(e.yellow,o.DEFAULT_ANSI_COLORS[3]),t.ansi[4]=v(e.blue,o.DEFAULT_ANSI_COLORS[4]),t.ansi[5]=v(e.magenta,o.DEFAULT_ANSI_COLORS[5]),t.ansi[6]=v(e.cyan,o.DEFAULT_ANSI_COLORS[6]),t.ansi[7]=v(e.white,o.DEFAULT_ANSI_COLORS[7]),t.ansi[8]=v(e.brightBlack,o.DEFAULT_ANSI_COLORS[8]),t.ansi[9]=v(e.brightRed,o.DEFAULT_ANSI_COLORS[9]),t.ansi[10]=v(e.brightGreen,o.DEFAULT_ANSI_COLORS[10]),t.ansi[11]=v(e.brightYellow,o.DEFAULT_ANSI_COLORS[11]),t.ansi[12]=v(e.brightBlue,o.DEFAULT_ANSI_COLORS[12]),t.ansi[13]=v(e.brightMagenta,o.DEFAULT_ANSI_COLORS[13]),t.ansi[14]=v(e.brightCyan,o.DEFAULT_ANSI_COLORS[14]),t.ansi[15]=v(e.brightWhite,o.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const i=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let s=0;s<i;s++)t.ansi[s+16]=v(e.extendedAnsi[s],o.DEFAULT_ANSI_COLORS[s+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(void 0!==e)switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}else for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e]}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function v(e,t){if(void 0!==e)try{return a.css.toColor(e)}catch{}return t}t.ThemeService=m,t.ThemeService=m=s([r(0,h.IOptionsService)],m)},5639:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;const s=i(7150),r=i(802);class n extends s.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new r.Emitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new r.Emitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new r.Emitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;i<Math.min(e,this.length);i++)t[i]=this._array[this._getCyclicIndex(i)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...i){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<i.length;t++)this._array[this._getCyclicIndex(e+t)]=i[t];if(i.length&&this.onInsertEmitter.fire({index:e,amount:i.length}),this._length+i.length>this._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+i<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s<t;s++)this.set(e+s+i,this.get(e+s))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}}t.CircularList=n},7453:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=function e(t,i=5){if(\"object\"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},4103:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0,t.toPaddedHex=d,t.contrastRatio=u;let i=0,s=0,r=0,n=0;var o,a,l,h,c;function d(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function u(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}t.NULL_COLOR={css:\"#00000000\",rgba:0},function(e){e.toCss=function(e,t,i,s){return void 0!==s?`#${d(e)}${d(t)}${d(i)}${d(s)}`:`#${d(e)}${d(t)}${d(i)}`},e.toRgba=function(e,t,i,s=255){return(e<<24|t<<16|i<<8|s)>>>0},e.toColor=function(t,i,s,r){return{css:e.toCss(t,i,s,r),rgba:e.toRgba(t,i,s,r)}}}(o||(t.channels=o={})),function(e){function t(e,t){return n=Math.round(255*t),[i,s,r]=c.toChannels(e.rgba),{css:o.toCss(i,s,r,n),rgba:o.toRgba(i,s,r,n)}}e.blend=function(e,t){if(n=(255&t.rgba)/255,1===n)return{css:t.css,rgba:t.rgba};const a=t.rgba>>24&255,l=t.rgba>>16&255,h=t.rgba>>8&255,c=e.rgba>>24&255,d=e.rgba>>16&255,u=e.rgba>>8&255;return i=c+Math.round((a-c)*n),s=d+Math.round((l-d)*n),r=u+Math.round((h-u)*n),{css:o.toCss(i,s,r),rgba:o.toRgba(i,s,r)}},e.isOpaque=function(e){return!(255&~e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=c.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return o.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[i,s,r]=c.toChannels(t),{css:o.toCss(i,s,r),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return n=255&e.rgba,t(e,n*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(a||(t.color=a={})),function(e){let t,a;try{const e=document.createElement(\"canvas\");e.width=1,e.height=1;const i=e.getContext(\"2d\",{willReadFrequently:!0});i&&(t=i,t.globalCompositeOperation=\"copy\",a=t.createLinearGradient(0,0,1,1))}catch{}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),o.toColor(i,s,r);case 5:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),n=parseInt(e.slice(4,5).repeat(2),16),o.toColor(i,s,r,n);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const l=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(l)return i=parseInt(l[1]),s=parseInt(l[2]),r=parseInt(l[3]),n=Math.round(255*(void 0===l[5]?1:parseFloat(l[5]))),o.toColor(i,s,r,n);if(!t||!a)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=a,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[i,s,r,n]=t.getImageData(0,0,1,1).data,255!==n)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:o.toRgba(i,s,r,n),css:e}}}(l||(t.css=l={})),function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(h||(t.rgb=h={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,l=t>>8&255,c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));for(;c<i&&(o>0||a>0||l>0);)o-=Math.max(0,Math.ceil(.1*o)),a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));return(o<<24|a<<16|l<<8|255)>>>0}function a(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,l=t>>8&255,c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));for(;c<i&&(o<255||a<255||l<255);)o=Math.min(255,o+Math.ceil(.1*(255-o))),a=Math.min(255,a+Math.ceil(.1*(255-a))),l=Math.min(255,l+Math.ceil(.1*(255-l))),c=u(h.relativeLuminance2(o,a,l),h.relativeLuminance2(s,r,n));return(o<<24|a<<16|l<<8|255)>>>0}e.blend=function(e,t){if(n=(255&t)/255,1===n)return t;const a=t>>24&255,l=t>>16&255,h=t>>8&255,c=e>>24&255,d=e>>16&255,u=e>>8&255;return i=c+Math.round((a-c)*n),s=d+Math.round((l-d)*n),r=u+Math.round((h-u)*n),o.toRgba(i,s,r)},e.ensureContrastRatio=function(e,i,s){const r=h.relativeLuminance(e>>8),n=h.relativeLuminance(i>>8);if(u(r,n)<s){if(n<r){const n=t(e,i,s),o=u(r,h.relativeLuminance(n>>8));if(o<s){const t=a(e,i,s);return o>u(r,h.relativeLuminance(t>>8))?n:t}return n}const o=a(e,i,s),l=u(r,h.relativeLuminance(o>>8));if(l<s){const n=t(e,i,s);return l>u(r,h.relativeLuminance(n>>8))?o:n}return o}},e.reduceLuminance=t,e.increaseLuminance=a,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}}(c||(t.rgba=c={}))},5777:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;const s=i(6501),r=i(6025),n=i(7276),o=i(9640),a=i(56),l=i(4071),h=i(7792),c=i(6415),d=i(5746),u=i(5882),_=i(2486),f=i(3562),p=i(8811),g=i(802),m=i(7150);let v=!1;class S extends m.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new g.Emitter),this._onScroll.event((e=>{this._onScrollApi?.fire(e.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}constructor(e){super(),this._windowsWrappingHeuristics=this._register(new m.MutableDisposable),this._onBinary=this._register(new g.Emitter),this.onBinary=this._onBinary.event,this._onData=this._register(new g.Emitter),this.onData=this._onData.event,this._onLineFeed=this._register(new g.Emitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new g.Emitter),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new g.Emitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new g.Emitter),this._instantiationService=new r.InstantiationService,this.optionsService=this._register(new a.OptionsService(e)),this._instantiationService.setService(s.IOptionsService,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(o.BufferService)),this._instantiationService.setService(s.IBufferService,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(n.LogService)),this._instantiationService.setService(s.ILogService,this._logService),this.coreService=this._register(this._instantiationService.createInstance(l.CoreService)),this._instantiationService.setService(s.ICoreService,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(h.CoreMouseService)),this._instantiationService.setService(s.ICoreMouseService,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(c.UnicodeService)),this._instantiationService.setService(s.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(d.CharsetService),this._instantiationService.setService(s.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(p.OscLinkService),this._instantiationService.setService(s.IOscLinkService,this._oscLinkService),this._inputHandler=this._register(new _.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(g.Event.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(g.Event.forward(this._bufferService.onResize,this._onResize)),this._register(g.Event.forward(this.coreService.onData,this._onData)),this._register(g.Event.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom(!0)))),this._register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this._register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],(()=>this._handleWindowsPtyOptionChange()))),this._register(this._bufferService.onScroll((()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this._register(new f.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t)))),this._register(g.Event.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=s.LogLevelEnum.WARN&&!v&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),v=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,o.MINIMUM_COLS),t=Math.max(t,o.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1;const t=this.optionsService.rawOptions.windowsPty;t&&void 0!==t.buildNumber&&void 0!==t.buildNumber?e=!!(\"conpty\"===t.backend&&t.buildNumber<21376):this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const e=[];e.push(this.onLineFeed(u.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},(()=>((0,u.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,m.toDisposable)((()=>{for(const t of e)t.dispose()}))}}}t.CoreTerminal=S},2486:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0,t.isValidColorIndex=R;const n=i(3534),o=i(6760),a=i(6717),l=i(7150),h=i(726),c=i(6107),d=i(8938),u=i(3055),_=i(5451),f=i(6501),p=i(6415),g=i(1346),m=i(9823),v=i(8693),S=i(802),b={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},C=131072;function y(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var w;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(w||(t.WindowsOptionsReportType=w={}));let E=0;class D extends l.Disposable{getAttrData(){return this._curAttrData}constructor(e,t,i,s,r,l,d,u,_=new a.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=l,this._coreMouseService=d,this._unicodeService=u,this._parser=_,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new h.StringToUtf32,this._utf8Decoder=new h.Utf8ToUtf32,this._windowTitle=\"\",this._iconName=\"\",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this._register(new S.Emitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new S.Emitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new S.Emitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new S.Emitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new S.Emitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new S.Emitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new S.Emitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new S.Emitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new S.Emitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new S.Emitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new S.Emitter),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new S.Emitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new S.Emitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new L(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{\"HOOK\"===t&&(i=i.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:\"@\"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:\"A\"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:\"B\"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:\"C\"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:\"D\"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:\"E\"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:\"F\"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:\"G\"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:\"H\"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:\"I\"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:\"J\"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:\"K\"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:\"L\"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:\"M\"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:\"P\"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:\"S\"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:\"T\"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:\"X\"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:\"Z\"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:\"`\"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:\"a\"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:\"b\"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:\"c\"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:\"d\"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:\"e\"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:\"f\"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:\"g\"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:\"h\"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:\"l\"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:\"m\"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:\"n\"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:\"r\"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:\"s\"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:\"t\"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:\"u\"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new g.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new g.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new g.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new g.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new g.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new g.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new g.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new g.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new g.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new g.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new g.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new g.OscHandler((e=>this.restoreCursorColor(e)))),this._parser.registerEscHandler({final:\"7\"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:\"8\"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:\"D\"},(()=>this.index())),this._parser.registerEscHandler({final:\"E\"},(()=>this.nextLine())),this._parser.registerEscHandler({final:\"H\"},(()=>this.tabSet())),this._parser.registerEscHandler({final:\"M\"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:\"=\"},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:\">\"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:\"c\"},(()=>this.fullReset())),this._parser.registerEscHandler({final:\"n\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"o\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"|\"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:\"}\"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:\"~\"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:\"%\",final:\"@\"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:\"%\",final:\"G\"},(()=>this.selectDefaultCharset()));for(const e in o.CHARSETS)this._parser.registerEscHandler({intermediates:\"(\",final:e},(()=>this.selectCharset(\"(\"+e))),this._parser.registerEscHandler({intermediates:\")\",final:e},(()=>this.selectCharset(\")\"+e))),this._parser.registerEscHandler({intermediates:\"*\",final:e},(()=>this.selectCharset(\"*\"+e))),this._parser.registerEscHandler({intermediates:\"+\",final:e},(()=>this.selectCharset(\"+\"+e))),this._parser.registerEscHandler({intermediates:\"-\",final:e},(()=>this.selectCharset(\"-\"+e))),this._parser.registerEscHandler({intermediates:\".\",final:e},(()=>this.selectCharset(\".\"+e))),this._parser.registerEscHandler({intermediates:\"/\",final:e},(()=>this.selectCharset(\"/\"+e)));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error(\"Parsing error: \",e),e))),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new m.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=f.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t(\"#SLOW_TIMEOUT\")),5e3)))]).catch((e=>{if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>C&&(n=this._parseStack.position+C)}if(this._logService.logLevel<=f.LogLevelEnum.DEBUG&&this._logService.debug(\"parsing data \"+(\"string\"==typeof e?` \"${e}\"`:` \"${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join(\"\")}\"`)),this._logService.logLevel===f.LogLevelEnum.TRACE&&this._logService.trace(\"parsing data (codes)\",\"string\"==typeof e?e.split(\"\").map((e=>e.charCodeAt(0))):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<C&&(this._parseBuffer=new Uint32Array(Math.min(e.length,C))),o||this._dirtyRowTracker.clearRange(),e.length>C)for(let t=n;t<e.length;t+=C){const n=t+C<e.length?t+C:e.length,o=\"string\"==typeof e?this._stringDecoder.decode(e.substring(t,n),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,n),this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,o))return this._preserveStack(s,r,o,t),this._logSlowResolvingAsync(i),i}else if(!o){const t=\"string\"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,t))return this._preserveStack(s,r,t,0),this._logSlowResolvingAsync(i),i}this._activeBuffer.x===s&&this._activeBuffer.y===r||this._onCursorMove.fire();const a=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),l=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);l<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(l,this._bufferService.rows-1),end:Math.min(a,this._bufferService.rows-1)})}print(e,t,i){let s,r;const n=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,a=this._bufferService.cols,l=this._coreService.decPrivateModes.wraparound,u=this._coreService.modes.insertMode,_=this._curAttrData;let f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&i-t>0&&2===f.getWidth(this._activeBuffer.x-1)&&f.setCellFromCodepoint(this._activeBuffer.x-1,0,1,_);let g=this._parser.precedingJoinState;for(let m=t;m<i;++m){if(s=e[m],s<127&&n){const e=n[String.fromCharCode(s)];e&&(s=e.charCodeAt(0))}const t=this._unicodeService.charProperties(s,g);r=p.UnicodeService.extractWidth(t);const i=p.UnicodeService.extractShouldJoin(t),v=i?p.UnicodeService.extractWidth(g):0;if(g=t,o&&this._onA11yChar.fire((0,h.stringFromCodePoint)(s)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r-v>a)if(l){const e=f;let t=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&f instanceof c.BufferLine&&f.copyCellsFrom(e,t,0,v,!1);t<a;)e.setCellFromCodepoint(t++,0,1,_)}else if(this._activeBuffer.x=a-1,2===r)continue;if(i&&this._activeBuffer.x){const e=f.getWidth(this._activeBuffer.x-1)?1:2;f.addCodepointToCell(this._activeBuffer.x-e,s,r);for(let e=r-v;--e>=0;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,_)}else if(u&&(f.insertCells(this._activeBuffer.x,r-v,this._activeBuffer.getNullCell(_)),2===f.getWidth(a-1)&&f.setCellFromCodepoint(a-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,_)),f.setCellFromCodepoint(this._activeBuffer.x++,s,r,_),r>0)for(;--r;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,_)}this._parser.precedingJoinState=g,this._activeBuffer.x<a&&i-t>0&&0===f.getWidth(this._activeBuffer.x)&&!f.hasContent(this._activeBuffer.x)&&f.setCellFromCodepoint(this._activeBuffer.x,0,1,_),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!y(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new m.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new g.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i<this._bufferService.rows;i++)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(i);break;case 1:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--;){const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+i);if(e?.getTrimmedLength())break}for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0)}break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y,s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-s+1;for(;t--;)this._activeBuffer.lines.splice(r-1,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y;let s;for(s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,s=this._bufferService.rows-1+this._activeBuffer.ybase-s;t--;)this._activeBuffer.lines.splice(i,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(c.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){const t=this._parser.precedingJoinState;if(!t)return!0;const i=e.params[0]||1,s=p.UnicodeService.extractWidth(t),r=this._activeBuffer.x-s,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r),o=new Uint32Array(n.length*i);let a=0;for(let e=0;e<n.length;){const t=n.codePointAt(e)||0;o[a++]=t,e+=t>65535?2:1}let l=a;for(let e=1;e<i;++e)o.copyWithin(l,0,a),l+=a;return this.print(o,0,l),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[>83;40003;0c\")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+\"\").indexOf(e)}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),this._charsetService.setgCharset(1,o.DEFAULT_CHARSET),this._charsetService.setgCharset(2,o.DEFAULT_CHARSET),this._charsetService.setgCharset(3,o.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[t]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(e,t){const i=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:r}=this._coreMouseService,o=this._coreService,{buffers:a,cols:l}=this._bufferService,{active:h,alt:c}=a,d=this._optionsService.rawOptions,u=e=>e?1:2,_=e.params[0];return f=_,p=t?2===_?4:4===_?u(o.modes.insertMode):12===_?3:20===_?u(d.convertEol):0:1===_?u(i.applicationCursorKeys):3===_?d.windowOptions.setWinLines?80===l?2:132===l?1:0:0:6===_?u(i.origin):7===_?u(i.wraparound):8===_?3:9===_?u(\"X10\"===s):12===_?u(d.cursorBlink):25===_?u(!o.isCursorHidden):45===_?u(i.reverseWraparound):66===_?u(i.applicationKeypad):67===_?4:1e3===_?u(\"VT200\"===s):1002===_?u(\"DRAG\"===s):1003===_?u(\"ANY\"===s):1004===_?u(i.sendFocus):1005===_?4:1006===_?u(\"SGR\"===r):1015===_?4:1016===_?u(\"SGR_PIXELS\"===r):1048===_?1:47===_||1047===_||1049===_?u(h===c):2004===_?u(i.bracketedPasteMode):2026===_?u(i.synchronizedOutput):0,o.triggerDataEvent(`${n.C0.ESC}[${t?\"\":\"?\"}${f};${p}$y`),!0;var f,p}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=_.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o<i.length&&o+n+1+r<s.length);break}if(5===s[1]&&n+r>=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t<e.length&&n+r<s.length);for(let e=2;e<s.length;++e)-1===s[e]&&(s[e]=0);switch(s[0]){case 38:i.fg=this._updateAttrColor(i.fg,s[1],s[3],s[4],s[5]);break;case 48:i.bg=this._updateAttrColor(i.bg,s[1],s[3],s[4],s[5]);break;case 58:i.extended=i.extended.clone(),i.extended.underlineColor=this._updateAttrColor(i.extended.underlineColor,s[1],s[3],s[4],s[5])}return n}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=c.DEFAULT_ATTR_DATA.fg,e.bg=c.DEFAULT_ATTR_DATA.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r<t;r++)i=e.params[r],i>=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?this._processSGR0(s):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&c.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):53===i?s.bg|=1073741824:55===i?s.bg&=-1073741825:59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&c.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=0===e.length?1:e.params[0];if(0===t)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=\"block\";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=\"underline\";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=\"bar\"}const e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!y(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(w.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(\";\");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\\d+$/.exec(e)){const i=parseInt(e);if(R(i))if(\"?\"===s)t.push({type:0,index:i});else{const e=(0,v.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.indexOf(\";\");if(-1===t)return!0;const i=e.slice(0,t).trim(),s=e.slice(t+1);return s?this._createHyperlink(i,s):!i.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();const i=e.split(\":\");let s;const r=i.findIndex((e=>e.startsWith(\"id=\")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){const i=e.split(\";\");for(let e=0;e<i.length&&!(t>=this._specialColors.length);++e,++t)if(\"?\"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,v.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(\";\");for(let e=0;e<i.length;++e)if(/^\\d+$/.exec(i[e])){const s=parseInt(i[e]);R(s)&&t.push({type:2,index:s})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),!0}selectCharset(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(b[e[0]],o.CHARSETS[e[1]]||o.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new u.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){const i=this._activeBuffer.ybase+this._activeBuffer.y+t,s=this._activeBuffer.lines.get(i);s&&(s.fill(e),s.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){const i=this._bufferService.buffer,s=this._optionsService.rawOptions;return(e=>(this._coreService.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\\\`),!0))('\"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:'\"p'===e?'P1$r61;1\"p':\"r\"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:\"m\"===e?\"P1$r0m\":\" q\"===e?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}}t.InputHandler=D;let L=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(E=e,e=t,t=E),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function R(e){return 0<=e&&e<256}L=s([r(0,f.IBufferService)],L)},7710:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){return this._data.get(e,t)?.get(i,s)}clear(){this._data.clear()}}},701:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isNode=\"undefined\"!=typeof process&&\"title\"in process;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},3087:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SortedList=void 0;const s=i(6168);let r=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new s.IdleTaskQueue,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new s.IdleTaskQueue,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),0===this._insertedValues.length&&this._flushInsertedTask.enqueue((()=>this._flushInserted())),this._insertedValues.push(e)}_flushInserted(){const e=this._insertedValues.sort(((e,t)=>this._getKey(e)-this._getKey(t)));let t=0,i=0;const s=new Array(this._array.length+this._insertedValues.length);for(let r=0;r<s.length;r++)i>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[i])?(s[r]=e[t],t++):s[r]=this._array[i++];this._array=s,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(r=this._search(t),-1===r)return!1;if(this._getKey(this._array[r])!==t)return!1;do{if(this._array[r]===e)return 0===this._deletedIndices.length&&this._flushDeletedTask.enqueue((()=>this._flushDeleted())),this._deletedIndices.push(r),!0}while(++r<this._array.length&&this._getKey(this._array[r])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;const e=this._deletedIndices.sort(((e,t)=>e-t));let t=0;const i=new Array(this._array.length-e.length);let s=0;for(let r=0;r<this._array.length;r++)e[t]===r?t++:i[s++]=this._array[r];this._array=i,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&(r=this._search(e),!(r<0||r>=this._array.length)&&this._getKey(this._array[r])===e))do{yield this._array[r]}while(++r<this._array.length&&this._getKey(this._array[r])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&(r=this._search(e),!(r<0||r>=this._array.length)&&this._getKey(this._array[r])===e))do{t(this._array[r])}while(++r<this._array.length&&this._getKey(this._array[r])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,i=this._array.length-1;for(;i>=t;){let s=t+i>>1;const r=this._getKey(this._array[s]);if(r>e)i=s-1;else{if(!(r<e)){for(;s>0&&this._getKey(this._array[s-1])===e;)s--;return s}t=s+1}}return t}}},6168:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(701);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,i=0,s=e.timeRemaining(),r=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),i=Math.max(t,i),r=e.timeRemaining(),1.5*i>r)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class n extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}}t.PriorityTaskQueue=n,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:n,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},5882:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=t?.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)};const s=i(8938)},5451:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return!(50331648&~this.fg)}isBgRGB(){return!(50331648&~this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return!(50331648&this.fg)}isBgDefault(){return!(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&~this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}t.AttributeData=i;class s{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){const e=(3758096384&this._ext)>>29;return e<0?4294967288^e:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},1073:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(5639),r=i(6168),n=i(5451),o=i(6107),a=i(732),l=i(3055),h=i(8938),c=i(8158),d=i(6760);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=o.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=l.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]),this._whitespaceCell=l.CellData.fromCharData([0,h.WHITESPACE_CELL_CHAR,h.WHITESPACE_CELL_WIDTH,h.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new o.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;const i=e+this._optionsService.rawOptions.scrollback;return i>t.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=o.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(o.DEFAULT_ATTR_DATA);let s=0;const r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);let n=0;if(this._rows<t)for(let s=this._rows;s<t;s++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new o.BufferLine(e,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new o.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r<this.lines.maxLength){const e=this.lines.length-r;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),s>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&\"conpty\"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=this._optionsService.rawOptions.reflowCursorLine,s=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(o.DEFAULT_ATTR_DATA),i);if(s.length>0){const i=(0,a.reflowLargerCreateNewLayout)(this.lines,s);(0,a.reflowLargerApplyNewLayout)(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(o.DEFAULT_ATTR_DATA);let r=i;for(;r-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new o.BufferLine(e,s))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(e,t){const i=this._optionsService.rawOptions.reflowCursorLine,s=this.getNullCell(o.DEFAULT_ATTR_DATA),r=[];let n=0;for(let l=this.lines.length-1;l>=0;l--){let h=this.lines.get(l);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&l>0;)h=this.lines.get(--l),c.unshift(h);if(!i){const e=this.ybase+this.y;if(e>=l&&e<l+c.length)continue}const d=c[c.length-1].getTrimmedLength(),u=(0,a.reflowSmallerGetNewLineLengths)(c,this._cols,e),_=u.length-c.length;let f;f=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+_):Math.max(0,this.lines.length-this.lines.maxLength+_);const p=[];for(let e=0;e<_;e++){const e=this.getBlankLine(o.DEFAULT_ATTR_DATA,!0);p.push(e)}p.length>0&&(r.push({start:l+c.length+n,newLines:p}),n+=p.length),c.push(...p);let g=u.length-1,m=u[g];0===m&&(g--,m=u[g]);let v=c.length-_-1,S=d;for(;v>=0;){const e=Math.min(S,m);if(void 0===c[g])break;if(c[g].copyCellsFrom(c[v],S-e,m-e,e,!0),m-=e,0===m&&(g--,m=u[g]),S-=e,0===S){v--;const e=Math.max(v,0);S=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],s);let b=_-f;for(;b-- >0;)0===this.ybase?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+n)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+_,this.ybase+t-1)}if(r.length>0){const e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));const i=this.lines.length;let s=i-1,o=0,a=r[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+n);let l=0;for(let h=Math.min(this.lines.maxLength-1,i+n-1);h>=0;h--)if(a&&a.start>s+l){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(h--,a.newLines[e]);h++,e.push({index:s+1,amount:a.newLines.length}),l+=a.newLines.length,a=r[++o]}else this.lines.set(h,t[s--]);let h=0;for(let t=e.length-1;t>=0;t--)e[t].index+=h,this.lines.onInsertEmitter.fire(e[t]),h+=e[t].amount;const c=Math.max(0,i+n-this.lines.maxLength);c>0&&this.lines.onTrimEmitter.fire(c)}}translateBufferLineToString(e,t,i=0,s){const r=this.lines.get(e);return r?r.translateToString(t,i,s):\"\"}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:t,last:i}}setupTabStops(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){const t=new c.Marker(e);return this.markers.push(t),t.register(this.lines.onTrim((e=>{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},6107:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(5451),r=i(3055),n=i(8938),o=i(726);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);let a=0;class l{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||r.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let t=0;t<e;++t)this.setCell(t,s);this.length=e}get(e){const t=this._data[3*e+0],i=2097151&t;return[this._data[3*e+1],2097152&t?this._combined[e]:i?(0,o.stringFromCodePoint)(i):\"\",t>>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,o.stringFromCodePoint)(2097151&t):\"\"}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a=3*e,t.content=this._data[a+0],t.fg=this._data[a+1],t.bg=this._data[a+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodepoint(e,t,i,s){268435456&s.bg&&(this._extendedAttrs[e]=s.extended),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s.fg,this._data[3*e+2]=s.bg}addCodepointToCell(e,t,i){let s=this._data[3*e+0];2097152&s?this._combined[e]+=(0,o.stringFromCodePoint)(t):2097151&s?(this._combined[e]=(0,o.stringFromCodePoint)(2097151&s)+(0,o.stringFromCodePoint)(t),s&=-2097152,s|=2097152):s=t|1<<22,i&&(s&=-12582913,s|=i<<22),this._data[3*e+0]=s}insertCells(e,t,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length-e){const s=new r.CellData;for(let i=this.length-e-t-1;i>=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;s<t;++s)this.setCell(e+s,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,t,i){if(e%=this.length,t<this.length-e){const s=new r.CellData;for(let i=0;i<this.length-e-t;++i)this.setCell(e+i,this.loadCell(e+t+i,s));for(let e=this.length-t;e<this.length;++e)this.setCell(e,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,t,i,s=!1){if(s)for(e&&2===this.getWidth(e-1)&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;else for(e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.setCell(e++,i)}resize(e,t){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const i=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*i)this._data=new Uint32Array(this._data.buffer,0,i);else{const e=new Uint32Array(i);e.set(this._data),this._data=e}for(let i=this.length;i<e;++i)this.setCell(i,t)}else{this._data=this._data.subarray(0,i);const t=Object.keys(this._combined);for(let i=0;i<t.length;i++){const s=parseInt(t[i],10);s>=e&&delete this._combined[s]}const s=Object.keys(this._extendedAttrs);for(let t=0;t<s.length;t++){const i=parseInt(s[t],10);i>=e&&delete this._extendedAttrs[i]}}return this.length=e,4*i*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(const t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(const t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){const e=new l(0);e._data=new Uint32Array(this._data),e.length=this.length;for(const t in this._combined)e._combined[t]=this._combined[t];for(const t in this._extendedAttrs)e._extendedAttrs[t]=this._extendedAttrs[t];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r<s;r++){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}const o=Object.keys(e._combined);for(let s=0;s<o.length;s++){const r=parseInt(o[s],10);r>=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e,t,i,s){t=t??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),s&&(s.length=0);let r=\"\";for(;t<i;){const e=this._data[3*t+0],i=2097151&e,a=2097152&e?this._combined[t]:i?(0,o.stringFromCodePoint)(i):n.WHITESPACE_CELL_CHAR;if(r+=a,s)for(let e=0;e<a.length;++e)s.push(t);t+=e>>22||1}return s&&s.push(t),r}}t.BufferLine=l},9384:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},732:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.reflowLargerGetLinesToRemove=function(e,t,s,r,n,o){const a=[];for(let l=0;l<e.length-1;l++){let h=l,c=e.get(++h);if(!c.isWrapped)continue;const d=[e.get(l)];for(;h<e.length&&c.isWrapped;)d.push(c),c=e.get(++h);if(!o&&r>=l&&r<h){l+=d.length-1;continue}let u=0,_=i(d,u,t),f=1,p=0;for(;f<d.length;){const e=i(d,f,t),r=e-p,o=s-_,a=Math.min(r,o);d[u].copyCellsFrom(d[f],p,_,a,!1),_+=a,_===s&&(u++,_=0),p+=a,p===e&&(f++,p=0),0===_&&0!==u&&2===d[u-1].getWidth(s-1)&&(d[u].copyCellsFrom(d[u-1],s-1,_++,1,!1),d[u-1].setCell(s-1,n))}d[u].replaceCells(_,s,n);let g=0;for(let e=d.length-1;e>0&&(e>u||0===d[e].getTrimmedLength());e--)g++;g>0&&(a.push(l+d.length-g),a.push(g)),l+=d.length-1}return a},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;o<e.length;o++)if(r===o){const i=t[++s];e.onDeleteEmitter.fire({index:o-n,amount:i}),o+=i-1,n+=i,r=t[++s]}else i.push(o);return{layout:i,countRemoved:n}},t.reflowLargerApplyNewLayout=function(e,t){const i=[];for(let s=0;s<t.length;s++)i.push(e.get(t[s]));for(let t=0;t<i.length;t++)e.set(t,i[t]);e.length=t.length},t.reflowSmallerGetNewLineLengths=function(e,t,s){const r=[],n=e.map(((s,r)=>i(e,r,t))).reduce(((e,t)=>e+t));let o=0,a=0,l=0;for(;l<n;){if(n-l<s){r.push(n-l);break}o+=s;const h=i(e,a,t);o>h&&(o-=h,a++);const c=2===e[a].getWidth(o-1);c&&o--;const d=c?s-1:s;r.push(d),l+=d}return r},t.getWrappedLineTrimmedLength=i},4097:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;const s=i(7150),r=i(1073),n=i(802);class o extends s.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new n.Emitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this._register(this._optionsService.onSpecificOptionChange(\"tabStopWidth\",(()=>this.setupTabStops())))}reset(){this._normal=new r.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new r.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},3055:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(726),r=i(8938),n=i(5451);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},8938:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=t.DEFAULT_COLOR<<9|256,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},8158:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;const s=i(802),r=i(7150);class n{get id(){return this._id}constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new s.Emitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r.dispose)(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}}t.Marker=n,n._nextId=1},6760:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={\"`\":\"◆\",a:\"▒\",b:\"␉\",c:\"␌\",d:\"␍\",e:\"␊\",f:\"°\",g:\"±\",h:\"␤\",i:\"␋\",j:\"┘\",k:\"┐\",l:\"┌\",m:\"└\",n:\"┼\",o:\"⎺\",p:\"⎻\",q:\"─\",r:\"⎼\",s:\"⎽\",t:\"├\",u:\"┤\",v:\"┴\",w:\"┬\",x:\"│\",y:\"≤\",z:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},3534:(e,t)=>{var i,s,r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL=\"\\0\",e.SOH=\"\u0001\",e.STX=\"\u0002\",e.ETX=\"\u0003\",e.EOT=\"\u0004\",e.ENQ=\"\u0005\",e.ACK=\"\u0006\",e.BEL=\"\u0007\",e.BS=\"\\b\",e.HT=\"\\t\",e.LF=\"\\n\",e.VT=\"\\v\",e.FF=\"\\f\",e.CR=\"\\r\",e.SO=\"\u000e\",e.SI=\"\u000f\",e.DLE=\"\u0010\",e.DC1=\"\u0011\",e.DC2=\"\u0012\",e.DC3=\"\u0013\",e.DC4=\"\u0014\",e.NAK=\"\u0015\",e.SYN=\"\u0016\",e.ETB=\"\u0017\",e.CAN=\"\u0018\",e.EM=\"\u0019\",e.SUB=\"\u001a\",e.ESC=\"\u001b\",e.FS=\"\u001c\",e.GS=\"\u001d\",e.RS=\"\u001e\",e.US=\"\u001f\",e.SP=\" \",e.DEL=\"\"}(i||(t.C0=i={})),function(e){e.PAD=\"€\",e.HOP=\"\",e.BPH=\"‚\",e.NBH=\"ƒ\",e.IND=\"„\",e.NEL=\"…\",e.SSA=\"†\",e.ESA=\"‡\",e.HTS=\"ˆ\",e.HTJ=\"‰\",e.VTS=\"Š\",e.PLD=\"‹\",e.PLU=\"Œ\",e.RI=\"\",e.SS2=\"Ž\",e.SS3=\"\",e.DCS=\"\",e.PU1=\"‘\",e.PU2=\"’\",e.STS=\"“\",e.CCH=\"”\",e.MW=\"•\",e.SPA=\"–\",e.EPA=\"—\",e.SOS=\"˜\",e.SGCI=\"™\",e.SCI=\"š\",e.CSI=\"›\",e.ST=\"œ\",e.OSC=\"\",e.PM=\"ž\",e.APC=\"Ÿ\"}(s||(t.C1=s={})),function(e){e.ST=`${i.ESC}\\\\`}(r||(t.C1_ESCAPED=r={}))},706:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\");break;case 8:o.key=e.ctrlKey?\"\\b\":s.C0.DEL,e.altKey&&(o.key=s.C0.ESC+o.key);break;case 9:if(e.shiftKey){o.key=s.C0.ESC+\"[Z\";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"D\":t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"C\":t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"A\":t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"B\":t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+\"[2~\");break;case 46:o.key=a?s.C0.ESC+\"[3;\"+(a+1)+\"~\":s.C0.ESC+\"[3~\";break;case 36:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"H\":t?s.C0.ESC+\"OH\":s.C0.ESC+\"[H\";break;case 35:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"F\":t?s.C0.ESC+\"OF\":s.C0.ESC+\"[F\";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+\"[5;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[5~\";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+\"[6;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[6~\";break;case 112:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"P\":s.C0.ESC+\"OP\";break;case 113:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"Q\":s.C0.ESC+\"OQ\";break;case 114:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"R\":s.C0.ESC+\"OR\";break;case 115:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"S\":s.C0.ESC+\"OS\";break;case 116:o.key=a?s.C0.ESC+\"[15;\"+(a+1)+\"~\":s.C0.ESC+\"[15~\";break;case 117:o.key=a?s.C0.ESC+\"[17;\"+(a+1)+\"~\":s.C0.ESC+\"[17~\";break;case 118:o.key=a?s.C0.ESC+\"[18;\"+(a+1)+\"~\":s.C0.ESC+\"[18~\";break;case 119:o.key=a?s.C0.ESC+\"[19;\"+(a+1)+\"~\":s.C0.ESC+\"[19~\";break;case 120:o.key=a?s.C0.ESC+\"[20;\"+(a+1)+\"~\":s.C0.ESC+\"[20~\";break;case 121:o.key=a?s.C0.ESC+\"[21;\"+(a+1)+\"~\":s.C0.ESC+\"[21~\";break;case 122:o.key=a?s.C0.ESC+\"[23;\"+(a+1)+\"~\":s.C0.ESC+\"[23~\";break;case 123:o.key=a?s.C0.ESC+\"[24;\"+(a+1)+\"~\":s.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&(\"_\"===e.key&&(o.key=s.C0.US),\"@\"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=t?.[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if(32===e.keyCode)o.key=s.C0.ESC+(e.ctrlKey?s.C0.NUL:\" \");else if(\"Dead\"===e.key&&e.code.startsWith(\"Key\")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o};const s=i(3534),r={48:[\"0\",\")\"],49:[\"1\",\"!\"],50:[\"2\",\"@\"],51:[\"3\",\"#\"],52:[\"4\",\"$\"],53:[\"5\",\"%\"],54:[\"6\",\"^\"],55:[\"7\",\"&\"],56:[\"8\",\"*\"],57:[\"9\",\"(\"],186:[\";\",\":\"],187:[\"=\",\"+\"],188:[\",\",\"<\"],189:[\"-\",\"_\"],190:[\".\",\">\"],191:[\"/\",\"?\"],192:[\"`\",\"~\"],219:[\"[\",\"{\"],220:[\"\\\\\",\"|\"],221:[\"]\",\"}\"],222:[\"'\",'\"']}},726:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r<i;++r){let t=e[r];t>65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n<i;++n){const r=e.charCodeAt(n);if(55296<=r&&r<=56319){if(++n>=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,l=0,h=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const l=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,c=l-o;for(;h<c;){if(h>=i)return 0;if(n=e[h++],128!=(192&n)){h--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===l?r<128?h--:t[a++]=r:3===l?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const c=i-4;let d=h;for(;d<i;){for(;!(!(d<c)||128&(s=e[d])||128&(r=e[d+1])||128&(n=e[d+2])||128&(o=e[d+3]));)t[a++]=s,t[a++]=r,t[a++]=n,t[a++]=o,d+=4;if(s=e[d++],s<128)t[a++]=s;else if(192==(224&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(l=(31&s)<<6|63&r,l<128){d--;continue}t[a++]=l}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(l=(15&s)<<12|(63&r)<<6|63&n,l<2048||l>=55296&&l<=57343||65279===l)continue;t[a++]=l}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(l=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,l<65536||l>1114111)continue;t[a++]=l}}return a}}},7428:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;const s=i(6415),r=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let o;t.UnicodeV6=class{constructor(){if(this.version=\"6\",!o){o=new Uint8Array(65536),o.fill(1),o[0]=0,o.fill(0,1,32),o.fill(0,127,160),o.fill(2,4352,4448),o[9001]=2,o[9002]=2,o.fill(2,11904,42192),o[12351]=1,o.fill(2,44032,55204),o.fill(2,63744,64256),o.fill(2,65040,65050),o.fill(2,65072,65136),o.fill(2,65280,65377),o.fill(2,65504,65511);for(let e=0;e<r.length;++e)o.fill(0,r[e][0],r[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?o[e]:function(e,t){let i,s=0,r=t.length-1;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e<t[i][0]))return!0;r=i-1}return!1}(e,n)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),r=0===i&&0!==t;if(r){const e=s.UnicodeService.extractWidth(t);0===e?r=!1:e>i&&(i=e)}return s.UnicodeService.createPropertyValue(0,i,r)}}},3562:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;const s=i(7150),r=i(802);class n extends s.Disposable{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new r.Emitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>performance.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(queueMicrotask((()=>{throw e})),Promise.resolve(!1)))).then(e)}const r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}t.WriteBuffer=n},8693:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf(\"rgb:\")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf(\"#\")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`};const i=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,s=/^[\\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?\"0\"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}},1263:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},9823:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(726),r=i(7262),n=i(1263),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,\"PUT\",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data=\"\",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=a,this._data=\"\",this._hitLimit=!1,e)));return this._params=a,this._data=\"\",this._hitLimit=!1,t}}},6717:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(7150),r=i(7262),n=i(1346),o=i(9823);class a{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;r<e.length;r++)this.table[t<<8|e[r]]=i<<4|s}}t.TransitionTable=a;const l=160;t.VT500_TRANSITION_TABLE=function(){const e=new a(4095),t=Array.apply(null,Array(256)).map(((e,t)=>t)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(l,0,2,0),e.add(l,8,5,8),e.add(l,6,0,6),e.add(l,11,0,11),e.add(l,13,13,13),e}();class h extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register((0,s.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this._register(new n.OscParser),this._dcsParser=this._register(new o.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let t=0;t<e.intermediates.length;++t){const s=e.intermediates.charCodeAt(t);if(32>s||s>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");i<<=8,i|=s}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let i=o;i<t;++i){switch(r=e[i],n=this._transitions.table[this.currentState<<8|(r<160?r:l)],n>>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<l){this._printHandler(e,i,s),i=s-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:i,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const o=this._csiHandlers[this._collect<<8|r];let a=o?o.length-1:-1;for(;a>=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i<t&&(r=e[i])>47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const h=this._escHandlers[this._collect<<8|r];let c=h?h.length-1:-1;for(;c>=0&&(s=h[c](),!0!==s);c--)if(s instanceof Promise)return this._preserveStack(4,h,c,n,i),s;c<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r<l){this._dcsParser.put(e,i,s),i=s-1;break}break;case 14:if(s=this._dcsParser.unhook(24!==r&&26!==r),s)return this._preserveStack(6,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let s=i+1;;s++)if(s>=t||(r=e[s])<32||r>127&&r<l){this._oscParser.put(e,i,s),i=s-1;break}break;case 6:if(s=this._oscParser.end(24!==r&&26!==r),s)return this._preserveStack(5,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n}}}t.EscapeSequenceParser=h},1346:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(1263),r=i(726),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,\"PUT\",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t<i;){const i=e[t++];if(59===i){this._state=2,this._start();break}if(i<48||57<i)return void(this._state=3);-1===this._id&&(this._id=0),this._id=10*this._id+i-48}2===this._state&&i-t>0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,\"END\",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data=\"\",this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data=\"\",this._hitLimit=!1,e)));return this._data=\"\",this._hitLimit=!1,t}}},7262:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;const i=2147483647;class s{static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){const s=e[i];if(Array.isArray(s))for(let e=0;e<s.length;++e)t.addSubParam(s[e]);else t.addParam(s)}return t}constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const e=new s(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){const e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t<this.length;++t){const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},3027:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===e){t=i;break}if(-1===t)throw new Error(\"Could not dispose an addon that has not been loaded\");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}}},3235:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferApiView=void 0;const s=i(793),r=i(3055);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},793:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLineApiView=void 0;const s=i(3055);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},5101:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(3235),r=i(7150),n=i(802);class o extends r.Disposable{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new n.Emitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s.BufferApiView(this._core.buffers.normal,\"normal\"),this._alternate=new s.BufferApiView(this._core.buffers.alt,\"alternate\"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error(\"Active buffer is neither normal nor alternate\")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}t.BufferNamespaceApi=o},6097:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},4335:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},9640:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(7150),o=i(4097),a=i(6501),l=i(802);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let h=class extends n.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new l.Emitter),this.onResize=this._onResize.event,this._onScroll=this._register(new l.Emitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=this._register(new o.BufferSet(e,this)),this._register(this.buffers.onBufferActivate((e=>{this._onScroll.fire(e.activeBuffer.ydisp)})))}resize(e,t){const i=this.cols!==e,s=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:i,rowsChanged:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t){const i=this.buffer;if(e<0){if(0===i.ydisp)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);const s=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),s!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))}};t.BufferService=h,t.BufferService=h=s([r(0,a.IOptionsService)],h)},5746:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},7792:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;const n=i(6501),o=i(7150),a=i(802),l={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function h(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const c=String.fromCharCode,d={DEFAULT:e=>{const t=[h(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\u001b[M${c(t[0])}${c(t[1])}${c(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${h(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${h(e,!0)};${e.x};${e.y}${t}`}};let u=class extends o.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._coreService=t,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new a.Emitter),this.onProtocolChange=this._onProtocolChange.event;for(const e of Object.keys(l))this.addProtocol(e,l[e]);for(const e of Object.keys(d))this.addEncoding(e,d[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,i){if(0===e.deltaY||e.shiftKey)return 0;if(void 0===t||void 0===i)return 0;const s=t/i;let r=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(r/=s+0,Math.abs(e.deltaY)<50&&(r*=.3),this._wheelPartialScroll+=r,r=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(r*=this._bufferService.rows),r}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,\"SGR_PIXELS\"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};t.CoreMouseService=u,t.CoreMouseService=u=s([r(0,n.IBufferService),r(1,n.ICoreService),r(2,n.IOptionsService)],u)},4071:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;const n=i(7453),o=i(7150),a=i(6501),l=i(802),h=Object.freeze({insertMode:!1}),c=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0});let d=class extends o.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new l.Emitter),this.onData=this._onData.event,this._onUserInput=this._register(new l.Emitter),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new l.Emitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new l.Emitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(c)}reset(){this.modes=(0,n.clone)(h),this.decPrivateModes=(0,n.clone)(c)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`),this._logService.trace(\"sending data (codes)\",(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`),this._logService.trace(\"sending binary (codes)\",(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};t.CoreService=d,t.CoreService=d=s([r(0,a.IBufferService),r(1,a.ILogService),r(2,a.IOptionsService)],d)},4720:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DecorationService=void 0;const s=i(4103),r=i(7150),n=i(3087),o=i(802);let a=0,l=0;class h extends r.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new n.SortedList((e=>e?.marker.line)),this._onDecorationRegistered=this._register(new o.Emitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new o.Emitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register((0,r.toDisposable)((()=>this.reset())))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new c(e);if(t){const e=t.marker.onDispose((()=>t.dispose())),i=t.onDispose((()=>{i.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())}));this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){let s=0,r=0;for(const n of this._decorations.getKeyIterator(t))s=n.options.x??0,r=s+(n.options.width??1),e>=s&&e<r&&(!i||(n.options.layer??\"bottom\")===i)&&(yield n)}forEachDecorationAtCell(e,t,i,s){this._decorations.forEachByKey(t,(t=>{a=t.options.x??0,l=a+(t.options.width??1),e>=a&&e<l&&(!i||(t.options.layer??\"bottom\")===i)&&s(t)}))}}t.DecorationService=h;class c extends r.DisposableStore{get backgroundColorRGB(){return null===this._cachedBg&&(this.options.backgroundColor?this._cachedBg=s.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return null===this._cachedFg&&(this.options.foregroundColor?this._cachedFg=s.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new o.Emitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new o.Emitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=\"full\")}dispose(){this._onDispose.fire(),super.dispose()}}},6025:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(6501),r=i(6201);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){for(const[t,i]of this._entries.entries())e(t,i)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7276:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.LogService=void 0,t.setTraceLogger=function(e){l=e},t.traceCall=function(e,t,i){if(\"function\"!=typeof i.value)throw new Error(\"not supported\");const s=i.value;i.value=function(...e){if(l.logLevel!==o.LogLevelEnum.TRACE)return s.apply(this,e);l.trace(`GlyphRenderer#${s.name}(${e.map((e=>JSON.stringify(e))).join(\", \")})`);const t=s.apply(this,e);return l.trace(`GlyphRenderer#${s.name} return`,t),t}};const n=i(7150),o=i(6501),a={trace:o.LogLevelEnum.TRACE,debug:o.LogLevelEnum.DEBUG,info:o.LogLevelEnum.INFO,warn:o.LogLevelEnum.WARN,error:o.LogLevelEnum.ERROR,off:o.LogLevelEnum.OFF};let l,h=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=o.LogLevelEnum.OFF,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(\"logLevel\",(()=>this._updateLogLevel()))),l=this}_updateLogLevel(){this._logLevel=a[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)\"function\"==typeof e[t]&&(e[t]=e[t]())}_log(e,t,i){this._evalLazyOptionalParams(i),e.call(console,(this._optionsService.options.logger?\"\":\"xterm.js: \")+t,...i)}trace(e,...t){this._logLevel<=o.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=o.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=o.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=o.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=o.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};t.LogService=h,t.LogService=h=s([r(0,o.IOptionsService)],h)},56:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(7150),r=i(701),n=i(802);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRuler:{}};const o=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"];class a extends s.Disposable{constructor(e){super(),this._onOptionChange=this._register(new n.Emitter),this.onOptionChange=this._onOptionChange.event;const i={...t.DEFAULT_OPTIONS};for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this._register((0,s.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(e,t){return this.onOptionChange((i=>{i===e&&t(this.rawOptions[e])}))}onMultipleOptionChange(e,t){return this.onOptionChange((i=>{-1!==e.indexOf(i)&&t()}))}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return\"block\"===e||\"underline\"===e||\"bar\"===e}(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=t.DEFAULT_OPTIONS[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(\"number\"==typeof i&&1<=i&&i<=1e3)break;i=o.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case\"scrollback\":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{}}return i}}t.OptionsService=a},8811:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkService=void 0;const n=i(6501);let o=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(o,n))),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=o,t.OscLinkService=o=s([r(0,n.IBufferService)],o)},6201:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.serviceRegistry=void 0,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r._id=e,t.serviceRegistry.set(e,r),r};const i=\"di$target\",s=\"di$dependencies\";t.serviceRegistry=new Map},6501:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(6201);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),function(e){e[e.TRACE=0]=\"TRACE\",e[e.DEBUG=1]=\"DEBUG\",e[e.INFO=2]=\"INFO\",e[e.WARN=3]=\"WARN\",e[e.ERROR=4]=\"ERROR\",e[e.OFF=5]=\"OFF\"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")},6415:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;const s=i(7428),r=i(802);class n{static extractShouldJoin(e){return!!(1&e)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,i=!1){return(16777215&e)<<3|(3&t)<<1|(i?1:0)}constructor(){this._providers=Object.create(null),this._active=\"\",this._onChange=new r.Emitter,this.onChange=this._onChange.event;const e=new s.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version \"${e}\"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0,i=0;const s=e.length;for(let r=0;r<s;++r){let o=e.charCodeAt(r);if(55296<=o&&o<=56319){if(++r>=s)return t+this.wcwidth(o);const i=e.charCodeAt(r);56320<=i&&i<=57343?o=1024*(o-55296)+i-56320+65536:t+=this.wcwidth(i)}const a=this.charProperties(o,i);let l=n.extractWidth(a);n.extractShouldJoin(a)&&(l-=n.extractWidth(i)),t+=l,i=a}return t}charProperties(e,t){return this._activeProvider.charProperties(e,t)}}t.UnicodeService=n},4333:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAndroid=t.isElectron=t.isWebkitWebView=t.isSafari=t.isChrome=t.isWebKit=t.isFirefox=t.onDidChangeFullscreen=t.onDidChangeZoomLevel=void 0,t.addMatchMediaChangeListener=o,t.setZoomLevel=function(e,t){n.INSTANCE.setZoomLevel(e,t)},t.getZoomLevel=function(e){return n.INSTANCE.getZoomLevel(e)},t.getZoomFactor=function(e){return n.INSTANCE.getZoomFactor(e)},t.setZoomFactor=function(e,t){n.INSTANCE.setZoomFactor(e,t)},t.setFullscreen=function(e,t){n.INSTANCE.setFullscreen(e,t)},t.isFullscreen=function(e){return n.INSTANCE.isFullscreen(e)},t.isStandalone=function(){return l},t.isWCOEnabled=function(){return navigator?.windowControlsOverlay?.visible},t.getWCOBoundingRect=function(){return navigator?.windowControlsOverlay?.getTitlebarAreaRect()};const s=i(4693),r=i(802);class n{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new r.Emitter,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new r.Emitter,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}static{this.INSTANCE=new n}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;const i=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(i,e),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;const i=this.getWindowId(t);this.mapWindowIdToFullScreen.set(i,e),this._onDidChangeFullscreen.fire(i)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}}function o(e,t,i){\"string\"==typeof t&&(t=e.matchMedia(t)),t.addEventListener(\"change\",i)}t.onDidChangeZoomLevel=n.INSTANCE.onDidChangeZoomLevel,t.onDidChangeFullscreen=n.INSTANCE.onDidChangeFullscreen;const a=\"object\"==typeof navigator?navigator.userAgent:\"\";t.isFirefox=a.indexOf(\"Firefox\")>=0,t.isWebKit=a.indexOf(\"AppleWebKit\")>=0,t.isChrome=a.indexOf(\"Chrome\")>=0,t.isSafari=!t.isChrome&&a.indexOf(\"Safari\")>=0,t.isWebkitWebView=!t.isChrome&&!t.isSafari&&t.isWebKit,t.isElectron=a.indexOf(\"Electron/\")>=0,t.isAndroid=a.indexOf(\"Android\")>=0;let l=!1;if(\"function\"==typeof s.mainWindow.matchMedia){const e=s.mainWindow.matchMedia(\"(display-mode: standalone) or (display-mode: window-controls-overlay)\"),t=s.mainWindow.matchMedia(\"(display-mode: fullscreen)\");l=e.matches,o(s.mainWindow,e,(({matches:e})=>{l&&t.matches||(l=e)}))}},7745:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BrowserFeatures=t.KeyboardSupport=void 0;const o=n(i(4333)),a=i(4693),l=n(i(8163));var h;!function(e){e[e.Always=0]=\"Always\",e[e.FullScreen=1]=\"FullScreen\",e[e.None=2]=\"None\"}(h||(t.KeyboardSupport=h={}));const c=\"object\"==typeof navigator?navigator:{};t.BrowserFeatures={clipboard:{writeText:l.isNative||document.queryCommandSupported&&document.queryCommandSupported(\"copy\")||!!(c&&c.clipboard&&c.clipboard.writeText),readText:l.isNative||!!(c&&c.clipboard&&c.clipboard.readText)},keyboard:l.isNative||o.isStandalone()?h.Always:c.keyboard||o.isSafari?h.FullScreen:h.None,touch:\"ontouchstart\"in a.mainWindow||c.maxTouchPoints>0,pointerEvents:a.mainWindow.PointerEvent&&(\"ontouchstart\"in a.mainWindow||navigator.maxTouchPoints>0)}},7093:function(e,t,i){var s,r=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SafeTriangle=t.DragAndDropObserver=t.ModifierKeyEmitter=t.DetectedFullscreenMode=t.Namespace=t.EventHelper=t.EventType=t.sharedMutationObserver=t.Dimension=t.WindowIntervalTimer=t.scheduleAtNextAnimationFrame=t.runAtThisOrScheduleAtNextAnimationFrame=t.WindowIdleValue=t.addStandardDisposableGenericMouseUpListener=t.addStandardDisposableGenericMouseDownListener=t.addStandardDisposableListener=t.onDidUnregisterWindow=t.onWillUnregisterWindow=t.onDidRegisterWindow=t.hasWindow=t.getWindowById=t.getWindowId=t.getWindowsCount=t.getWindows=t.getDocument=t.getWindow=t.registerWindow=void 0,t.clearNode=function(e){for(;e.firstChild;)e.firstChild.remove()},t.clearNodeRecursively=function e(t){for(;t.firstChild;){const i=t.firstChild;i.remove(),e(i)}},t.addDisposableListener=C,t.addDisposableGenericMouseDownListener=w,t.addDisposableGenericMouseMoveListener=function(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_MOVE:t.EventType.MOUSE_MOVE,i,s)},t.addDisposableGenericMouseUpListener=E,t.runWhenWindowIdle=function(e,t,i){return(0,d._runWhenIdle)(e,t,i)},t.disposableWindowInterval=function(e,t,i,s){let r=0;const n=e.setInterval((()=>{r++,(\"number\"==typeof s&&r>=s||!0===t())&&o.dispose()}),i),o=(0,p.toDisposable)((()=>{e.clearInterval(n)}));return o},t.measure=function(e,i){return(0,t.scheduleAtNextAnimationFrame)(e,i,1e4)},t.modify=function(e,i){return(0,t.scheduleAtNextAnimationFrame)(e,i,-1e4)},t.addDisposableThrottledListener=function(e,t,i,s,r){return new T(e,t,i,s,r)},t.getComputedStyle=k,t.getClientArea=function e(i,s){const r=(0,t.getWindow)(i),n=r.document;if(i!==n.body)return new O(i.clientWidth,i.clientHeight);if(g.isIOS&&r?.visualViewport)return new O(r.visualViewport.width,r.visualViewport.height);if(r?.innerWidth&&r.innerHeight)return new O(r.innerWidth,r.innerHeight);if(n.body&&n.body.clientWidth&&n.body.clientHeight)return new O(n.body.clientWidth,n.body.clientHeight);if(n.documentElement&&n.documentElement.clientWidth&&n.documentElement.clientHeight)return new O(n.documentElement.clientWidth,n.documentElement.clientHeight);if(s)return e(s);throw new Error(\"Unable to figure out browser width and height\")},t.getTopLeftOffset=I,t.size=function(e,t,i){\"number\"==typeof t&&(e.style.width=`${t}px`),\"number\"==typeof i&&(e.style.height=`${i}px`)},t.position=function(e,t,i,s,r,n=\"absolute\"){\"number\"==typeof t&&(e.style.top=`${t}px`),\"number\"==typeof i&&(e.style.right=`${i}px`),\"number\"==typeof s&&(e.style.bottom=`${s}px`),\"number\"==typeof r&&(e.style.left=`${r}px`),e.style.position=n},t.getDomNodePagePosition=function(e){const i=e.getBoundingClientRect(),s=(0,t.getWindow)(e);return{left:i.left+s.scrollX,top:i.top+s.scrollY,width:i.width,height:i.height}},t.getDomNodeZoomLevel=function(e){let t=e,i=1;do{const e=k(t).zoom;null!=e&&\"1\"!==e&&(i*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return i},t.getTotalWidth=P,t.getContentWidth=function(e){const t=M.getBorderLeftWidth(e)+M.getBorderRightWidth(e),i=M.getPaddingLeft(e)+M.getPaddingRight(e);return e.offsetWidth-t-i},t.getTotalScrollWidth=x,t.getContentHeight=function(e){const t=M.getBorderTopWidth(e)+M.getBorderBottomWidth(e),i=M.getPaddingTop(e)+M.getPaddingBottom(e);return e.offsetHeight-t-i},t.getTotalHeight=function(e){const t=M.getMarginTop(e)+M.getMarginBottom(e);return e.offsetHeight+t},t.getLargestChildWidth=function(e,t){const i=t.map((t=>Math.max(x(t),P(t))+function(e,t){if(null===e)return 0;const i=I(e),s=I(t);return i.left-s.left}(t,e)||0));return Math.max(...i)},t.isAncestor=B,t.setParentFlowTo=function(e,t){e.dataset[N]=t.id},t.isAncestorUsingFlowTo=function(e,t){let i=e;for(;i;){if(i===t)return!0;if(Q(i)){const e=U(i);if(e){i=e;continue}}i=i.parentNode}return!1},t.findParentWithClass=F,t.hasParentWithClass=function(e,t,i){return!!F(e,t,i)},t.isShadowRoot=W,t.isInShadowDOM=function(e){return!!H(e)},t.getShadowRoot=H,t.getActiveElement=K,t.isActiveElement=function(e){return K()===e},t.isAncestorOfActiveElement=function(e){return B(K(),e)},t.isActiveDocument=function(e){return e.ownerDocument===z()},t.getActiveDocument=z,t.getActiveWindow=function(){const e=z();return e.defaultView?.window??v.mainWindow},t.isGlobalStylesheet=function(e){return j.has(e)},t.createStyleSheet2=function(){return new $},t.createStyleSheet=V,t.cloneGlobalStylesheets=function(e){const t=new p.DisposableStore;for(const[i,s]of j)t.add(G(i,s,e));return t},t.createMetaElement=function(e=v.mainWindow.document.head){return q(\"meta\",e)},t.createLinkElement=function(e=v.mainWindow.document.head){return q(\"link\",e)},t.createCSSRule=function e(t,i,s=Y()){if(s&&i){s.sheet?.insertRule(`${t} {${i}}`,0);for(const r of j.get(s)??[])e(t,i,r)}},t.removeCSSRulesContainingSelector=function e(t,i=Y()){if(!i)return;const s=Z(i),r=[];for(let e=0;e<s.length;e++){const i=s[e];J(i)&&-1!==i.selectorText.indexOf(t)&&r.push(e)}for(let e=r.length-1;e>=0;e--)i.sheet?.deleteRule(r[e]);for(const s of j.get(i)??[])e(t,s)},t.isHTMLElement=Q,t.isHTMLAnchorElement=function(e){return e instanceof HTMLAnchorElement||e instanceof(0,t.getWindow)(e).HTMLAnchorElement},t.isHTMLSpanElement=function(e){return e instanceof HTMLSpanElement||e instanceof(0,t.getWindow)(e).HTMLSpanElement},t.isHTMLTextAreaElement=function(e){return e instanceof HTMLTextAreaElement||e instanceof(0,t.getWindow)(e).HTMLTextAreaElement},t.isHTMLInputElement=function(e){return e instanceof HTMLInputElement||e instanceof(0,t.getWindow)(e).HTMLInputElement},t.isHTMLButtonElement=function(e){return e instanceof HTMLButtonElement||e instanceof(0,t.getWindow)(e).HTMLButtonElement},t.isHTMLDivElement=function(e){return e instanceof HTMLDivElement||e instanceof(0,t.getWindow)(e).HTMLDivElement},t.isSVGElement=function(e){return e instanceof SVGElement||e instanceof(0,t.getWindow)(e).SVGElement},t.isMouseEvent=function(e){return e instanceof MouseEvent||e instanceof(0,t.getWindow)(e).MouseEvent},t.isKeyboardEvent=function(e){return e instanceof KeyboardEvent||e instanceof(0,t.getWindow)(e).KeyboardEvent},t.isPointerEvent=function(e){return e instanceof PointerEvent||e instanceof(0,t.getWindow)(e).PointerEvent},t.isDragEvent=function(e){return e instanceof DragEvent||e instanceof(0,t.getWindow)(e).DragEvent},t.isEventLike=function(e){const t=e;return!(!t||\"function\"!=typeof t.preventDefault||\"function\"!=typeof t.stopPropagation)},t.saveParentsScrollTop=function(e){const t=[];for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)t[i]=e.scrollTop,e=e.parentNode;return t},t.restoreParentsScrollTop=function(e,t){for(let i=0;e&&e.nodeType===e.ELEMENT_NODE;i++)e.scrollTop!==t[i]&&(e.scrollTop=t[i]),e=e.parentNode},t.trackFocus=function(e){return new ee(e)},t.after=function(e,t){return e.after(t),t},t.append=te,t.prepend=function(e,t){return e.insertBefore(t,e.firstChild),t},t.reset=function(e,...t){e.innerText=\"\",te(e,...t)},t.$=ne,t.join=function(e,t){const i=[];return e.forEach(((e,s)=>{s>0&&(t instanceof Node?i.push(t.cloneNode()):i.push(document.createTextNode(t))),i.push(e)})),i},t.setVisibility=function(e,...t){e?oe(...t):ae(...t)},t.show=oe,t.hide=ae,t.removeTabIndexAndUpdateFocus=function(e){if(e&&e.hasAttribute(\"tabIndex\")){if(e.ownerDocument.activeElement===e){const t=function(e){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(Q(e)&&e.hasAttribute(\"tabIndex\"))return e;e=e.parentNode}return null}(e.parentElement);t?.focus()}e.removeAttribute(\"tabindex\")}},t.finalHandler=function(e){return t=>{t.preventDefault(),t.stopPropagation(),e(t)}},t.domContentLoaded=function(e){return new Promise((t=>{if(\"complete\"===e.document.readyState||e.document&&null!==e.document.body)t(void 0);else{const i=()=>{e.window.removeEventListener(\"DOMContentLoaded\",i,!1),t()};e.window.addEventListener(\"DOMContentLoaded\",i,!1)}}))},t.computeScreenAwareSize=function(e,t){const i=e.devicePixelRatio*t;return Math.max(1,Math.floor(i))/e.devicePixelRatio},t.windowOpenNoOpener=function(e){v.mainWindow.open(e,\"_blank\",\"noopener\")},t.windowOpenPopup=function(e){const t=Math.floor(v.mainWindow.screenLeft+v.mainWindow.innerWidth/2-le/2),i=Math.floor(v.mainWindow.screenTop+v.mainWindow.innerHeight/2-he/2);v.mainWindow.open(e,\"_blank\",`width=${le},height=${he},top=${i},left=${t}`)},t.windowOpenWithSuccess=function(e,t=!0){const i=v.mainWindow.open();return!!i&&(t&&(i.opener=null),i.location.href=e,!0)},t.animate=function(e,i){const s=()=>{i(),r=(0,t.scheduleAtNextAnimationFrame)(e,s)};let r=(0,t.scheduleAtNextAnimationFrame)(e,s);return(0,p.toDisposable)((()=>r.dispose()))},t.asCSSPropertyValue=function(e){return`'${e.replace(/'/g,\"%27\")}'`},t.asCssValueWithDefault=function e(t,i){if(void 0!==t){const s=t.match(/^\\s*var\\((.+)\\)$/);if(s){const t=s[1].split(\",\",2);return 2===t.length&&(i=e(t[1].trim(),i)),`var(${t[0]}, ${i})`}return t}return i},t.detectFullscreen=function(e){return e.document.fullscreenElement||e.document.webkitFullscreenElement||e.document.webkitIsFullScreen?{mode:ce.DOCUMENT,guess:!1}:e.innerHeight===e.screen.height?{mode:ce.BROWSER,guess:!1}:(g.isMacintosh||g.isLinux)&&e.outerHeight===e.screen.height&&e.outerWidth===e.screen.width?{mode:ce.BROWSER,guess:!0}:null},t.multibyteAwareBtoa=function(e){return btoa(function(e){const t=new Uint16Array(e.length);for(let i=0;i<t.length;i++)t[i]=e.charCodeAt(i);let i=\"\";const s=new Uint8Array(t.buffer);for(let e=0;e<s.length;e++)i+=String.fromCharCode(s[e]);return i}(e))},t.getCookieValue=function(e){const t=document.cookie.match(\"(^|[^;]+)\\\\s*\"+e+\"\\\\s*=\\\\s*([^;]+)\");return t?t.pop():void 0},t.h=function(e,...t){let i,s;Array.isArray(t[0])?(i={},s=t[0]):(i=t[0]||{},s=t[1]);const r=_e.exec(e);if(!r||!r.groups)throw new Error(\"Bad use of h\");const n=r.groups.tag||\"div\",o=document.createElement(n);r.groups.id&&(o.id=r.groups.id);const a=[];if(r.groups.class)for(const e of r.groups.class.split(\".\"))\"\"!==e&&a.push(e);if(void 0!==i.className)for(const e of i.className.split(\".\"))\"\"!==e&&a.push(e);a.length>0&&(o.className=a.join(\" \"));const l={};if(r.groups.name&&(l[r.groups.name]=o),s)for(const e of s)Q(e)?o.appendChild(e):\"string\"==typeof e?o.append(e):\"root\"in e&&(Object.assign(l,e),o.appendChild(e.root));for(const[e,t]of Object.entries(i))if(\"className\"!==e)if(\"style\"===e)for(const[e,i]of Object.entries(t))o.style.setProperty(fe(e),\"number\"==typeof i?i+\"px\":\"\"+i);else\"tabIndex\"===e?o.tabIndex=t:o.setAttribute(fe(e),t.toString());return l.root=o,l},t.svgElem=function(e,...t){let i,s;Array.isArray(t[0])?(i={},s=t[0]):(i=t[0]||{},s=t[1]);const r=_e.exec(e);if(!r||!r.groups)throw new Error(\"Bad use of h\");const n=r.groups.tag||\"div\",o=document.createElementNS(\"http://www.w3.org/2000/svg\",n);r.groups.id&&(o.id=r.groups.id);const a=[];if(r.groups.class)for(const e of r.groups.class.split(\".\"))\"\"!==e&&a.push(e);if(void 0!==i.className)for(const e of i.className.split(\".\"))\"\"!==e&&a.push(e);a.length>0&&(o.className=a.join(\" \"));const l={};if(r.groups.name&&(l[r.groups.name]=o),s)for(const e of s)Q(e)?o.appendChild(e):\"string\"==typeof e?o.append(e):\"root\"in e&&(Object.assign(l,e),o.appendChild(e.root));for(const[e,t]of Object.entries(i))if(\"className\"!==e)if(\"style\"===e)for(const[e,i]of Object.entries(t))o.style.setProperty(fe(e),\"number\"==typeof i?i+\"px\":\"\"+i);else\"tabIndex\"===e?o.tabIndex=t:o.setAttribute(fe(e),t.toString());return l.root=o,l},t.copyAttributes=pe,t.trackAttributes=function(e,i,s){pe(e,i,s);const r=new p.DisposableStore;return r.add(t.sharedMutationObserver.observe(e,r,{attributes:!0,attributeFilter:s})((t=>{for(const s of t)\"attributes\"===s.type&&s.attributeName&&ge(e,i,s.attributeName)}))),r};const a=o(i(4333)),l=i(7745),h=i(5394),c=i(5964),d=i(1758),u=i(9807),_=o(i(802)),f=i(7883),p=i(7150),g=o(i(8163)),m=i(6304),v=i(4693),S=i(7704);s=function(){const e=new Map;(0,v.ensureCodeWindow)(v.mainWindow,1);const i={window:v.mainWindow,disposables:new p.DisposableStore};e.set(v.mainWindow.vscodeWindowId,i);const s=new _.Emitter,r=new _.Emitter,n=new _.Emitter;return{onDidRegisterWindow:s.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:r.event,registerWindow(i){if(e.has(i.vscodeWindowId))return p.Disposable.None;const o=new p.DisposableStore,a={window:i,disposables:o.add(new p.DisposableStore)};return e.set(i.vscodeWindowId,a),o.add((0,p.toDisposable)((()=>{e.delete(i.vscodeWindowId),r.fire(i)}))),o.add(C(i,t.EventType.BEFORE_UNLOAD,(()=>{n.fire(i)}))),s.fire(a),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(t,s){return(\"number\"==typeof t?e.get(t):void 0)??(s?i:void 0)},getWindow(e){const t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;const i=e;return i?.view?i.view.window:v.mainWindow},getDocument(e){const i=e;return(0,t.getWindow)(i).document}}}(),t.registerWindow=s.registerWindow,t.getWindow=s.getWindow,t.getDocument=s.getDocument,t.getWindows=s.getWindows,t.getWindowsCount=s.getWindowsCount,t.getWindowId=s.getWindowId,t.getWindowById=s.getWindowById,t.hasWindow=s.hasWindow,t.onDidRegisterWindow=s.onDidRegisterWindow,t.onWillUnregisterWindow=s.onWillUnregisterWindow,t.onDidUnregisterWindow=s.onDidUnregisterWindow;class b{constructor(e,t,i,s){this._node=e,this._type=t,this._handler=i,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function C(e,t,i,s){return new b(e,t,i,s)}function y(e,t){return function(i){return t(new c.StandardMouseEvent(e,i))}}function w(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_DOWN:t.EventType.MOUSE_DOWN,i,s)}function E(e,i,s){return C(e,g.isIOS&&l.BrowserFeatures.pointerEvents?t.EventType.POINTER_UP:t.EventType.MOUSE_UP,i,s)}t.addStandardDisposableListener=function(e,i,s,r){let n=s;return\"click\"===i||\"mousedown\"===i||\"contextmenu\"===i?n=y((0,t.getWindow)(e),s):\"keydown\"!==i&&\"keypress\"!==i&&\"keyup\"!==i||(n=function(e){return function(t){return e(new h.StandardKeyboardEvent(t))}}(s)),C(e,i,n,r)},t.addStandardDisposableGenericMouseDownListener=function(e,i,s){return w(e,y((0,t.getWindow)(e),i),s)},t.addStandardDisposableGenericMouseUpListener=function(e,i,s){return E(e,y((0,t.getWindow)(e),i),s)};class D extends d.AbstractIdleValue{constructor(e,t){super(e,t)}}t.WindowIdleValue=D;class L extends d.IntervalTimer{constructor(e){super(),this.defaultTarget=e&&(0,t.getWindow)(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}}t.WindowIntervalTimer=L;class R{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){(0,u.onUnexpectedError)(e)}}static sort(e,t){return t.priority-e.priority}}!function(){const e=new Map,i=new Map,s=new Map,r=new Map;t.scheduleAtNextAnimationFrame=(n,o,a=0)=>{const l=(0,t.getWindowId)(n),h=new R(o,a);let c=e.get(l);return c||(c=[],e.set(l,c)),c.push(h),s.get(l)||(s.set(l,!0),n.requestAnimationFrame((()=>(t=>{s.set(t,!1);const n=e.get(t)??[];for(i.set(t,n),e.set(t,[]),r.set(t,!0);n.length>0;)n.sort(R.sort),n.shift().execute();r.set(t,!1)})(l)))),h},t.runAtThisOrScheduleAtNextAnimationFrame=(e,s,n)=>{const o=(0,t.getWindowId)(e);if(r.get(o)){const e=new R(s,n);let t=i.get(o);return t||(t=[],i.set(o,t)),t.push(e),e}return(0,t.scheduleAtNextAnimationFrame)(e,s,n)}}();const A=function(e,t){return t};class T extends p.Disposable{constructor(e,t,i,s=A,r=8){super();let n=null,o=0;const a=this._register(new d.TimeoutTimer),l=()=>{o=(new Date).getTime(),i(n),n=null};this._register(C(e,t,(e=>{n=s(n,e);const t=(new Date).getTime()-o;t>=r?(a.cancel(),l()):a.setIfNotSet(l,r-t)})))}}function k(e){return(0,t.getWindow)(e).getComputedStyle(e,null)}class M{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const s=k(e),r=s?s.getPropertyValue(t):\"0\";return M.convertToPixels(e,r)}static getBorderLeftWidth(e){return M.getDimension(e,\"border-left-width\",\"borderLeftWidth\")}static getBorderRightWidth(e){return M.getDimension(e,\"border-right-width\",\"borderRightWidth\")}static getBorderTopWidth(e){return M.getDimension(e,\"border-top-width\",\"borderTopWidth\")}static getBorderBottomWidth(e){return M.getDimension(e,\"border-bottom-width\",\"borderBottomWidth\")}static getPaddingLeft(e){return M.getDimension(e,\"padding-left\",\"paddingLeft\")}static getPaddingRight(e){return M.getDimension(e,\"padding-right\",\"paddingRight\")}static getPaddingTop(e){return M.getDimension(e,\"padding-top\",\"paddingTop\")}static getPaddingBottom(e){return M.getDimension(e,\"padding-bottom\",\"paddingBottom\")}static getMarginLeft(e){return M.getDimension(e,\"margin-left\",\"marginLeft\")}static getMarginTop(e){return M.getDimension(e,\"margin-top\",\"marginTop\")}static getMarginRight(e){return M.getDimension(e,\"margin-right\",\"marginRight\")}static getMarginBottom(e){return M.getDimension(e,\"margin-bottom\",\"marginBottom\")}}class O{static{this.None=new O(0,0)}constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new O(e,t):this}static is(e){return\"object\"==typeof e&&\"number\"==typeof e.height&&\"number\"==typeof e.width}static lift(e){return e instanceof O?e:new O(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function I(e){let t=e.offsetParent,i=e.offsetTop,s=e.offsetLeft;for(;null!==(e=e.parentNode)&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){i-=e.scrollTop;const r=W(e)?null:k(e);r&&(s-=\"rtl\"!==r.direction?e.scrollLeft:-e.scrollLeft),e===t&&(s+=M.getBorderLeftWidth(e),i+=M.getBorderTopWidth(e),i+=e.offsetTop,s+=e.offsetLeft,t=e.offsetParent)}return{left:s,top:i}}function P(e){const t=M.getMarginLeft(e)+M.getMarginRight(e);return e.offsetWidth+t}function x(e){const t=M.getMarginLeft(e)+M.getMarginRight(e);return e.scrollWidth+t}function B(e,t){return Boolean(t?.contains(e))}t.Dimension=O;const N=\"parentFlowToElementId\";function U(e){const t=e.dataset[N];return\"string\"==typeof t?e.ownerDocument.getElementById(t):null}function F(e,t,i){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(i)if(\"string\"==typeof i){if(e.classList.contains(i))return null}else if(e===i)return null;e=e.parentNode}return null}function W(e){return e&&!!e.host&&!!e.mode}function H(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return W(e)?e:null}function K(){let e=z().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function z(){return(0,t.getWindowsCount)()<=1?v.mainWindow.document:Array.from((0,t.getWindows)()).map((({window:e})=>e.document)).find((e=>e.hasFocus()))??v.mainWindow.document}const j=new Map;class ${constructor(){this._currentCssStyle=\"\",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=V(v.mainWindow.document.head,(t=>t.innerText=e)))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function V(e=v.mainWindow.document.head,i,s){const r=document.createElement(\"style\");if(r.type=\"text/css\",r.media=\"screen\",i?.(r),e.appendChild(r),s&&s.add((0,p.toDisposable)((()=>r.remove()))),e===v.mainWindow.document.head){const e=new Set;j.set(r,e);for(const{window:i,disposables:n}of(0,t.getWindows)()){if(i===v.mainWindow)continue;const t=n.add(G(r,e,i));s?.add(t)}}return r}function G(e,i,s){const r=new p.DisposableStore,n=e.cloneNode(!0);s.document.head.appendChild(n),r.add((0,p.toDisposable)((()=>n.remove())));for(const t of Z(e))n.sheet?.insertRule(t.cssText,n.sheet?.cssRules.length);return r.add(t.sharedMutationObserver.observe(e,r,{childList:!0})((()=>{n.textContent=e.textContent}))),i.add(n),r.add((0,p.toDisposable)((()=>i.delete(n)))),r}function q(e,t=v.mainWindow.document.head){const i=document.createElement(e);return t.appendChild(i),i}t.sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let s=this.mutationObservers.get(e);s||(s=new Map,this.mutationObservers.set(e,s));const r=(0,m.hash)(i);let n=s.get(r);if(n)n.users+=1;else{const o=new _.Emitter,a=new MutationObserver((e=>o.fire(e)));a.observe(e,i);const l=n={users:1,observer:a,onDidMutate:o.event};t.add((0,p.toDisposable)((()=>{l.users-=1,0===l.users&&(o.dispose(),a.disconnect(),s?.delete(r),0===s?.size&&this.mutationObservers.delete(e))}))),s.set(r,n)}return n.onDidMutate}};let X=null;function Y(){return X||(X=V()),X}function Z(e){return e?.sheet?.rules?e.sheet.rules:e?.sheet?.cssRules?e.sheet.cssRules:[]}function J(e){return\"string\"==typeof e.selectorText}function Q(e){return e instanceof HTMLElement||e instanceof(0,t.getWindow)(e).HTMLElement}t.EventType={CLICK:\"click\",AUXCLICK:\"auxclick\",DBLCLICK:\"dblclick\",MOUSE_UP:\"mouseup\",MOUSE_DOWN:\"mousedown\",MOUSE_OVER:\"mouseover\",MOUSE_MOVE:\"mousemove\",MOUSE_OUT:\"mouseout\",MOUSE_ENTER:\"mouseenter\",MOUSE_LEAVE:\"mouseleave\",MOUSE_WHEEL:\"wheel\",POINTER_UP:\"pointerup\",POINTER_DOWN:\"pointerdown\",POINTER_MOVE:\"pointermove\",POINTER_LEAVE:\"pointerleave\",CONTEXT_MENU:\"contextmenu\",WHEEL:\"wheel\",KEY_DOWN:\"keydown\",KEY_PRESS:\"keypress\",KEY_UP:\"keyup\",LOAD:\"load\",BEFORE_UNLOAD:\"beforeunload\",UNLOAD:\"unload\",PAGE_SHOW:\"pageshow\",PAGE_HIDE:\"pagehide\",PASTE:\"paste\",ABORT:\"abort\",ERROR:\"error\",RESIZE:\"resize\",SCROLL:\"scroll\",FULLSCREEN_CHANGE:\"fullscreenchange\",WK_FULLSCREEN_CHANGE:\"webkitfullscreenchange\",SELECT:\"select\",CHANGE:\"change\",SUBMIT:\"submit\",RESET:\"reset\",FOCUS:\"focus\",FOCUS_IN:\"focusin\",FOCUS_OUT:\"focusout\",BLUR:\"blur\",INPUT:\"input\",STORAGE:\"storage\",DRAG_START:\"dragstart\",DRAG:\"drag\",DRAG_ENTER:\"dragenter\",DRAG_LEAVE:\"dragleave\",DRAG_OVER:\"dragover\",DROP:\"drop\",DRAG_END:\"dragend\",ANIMATION_START:a.isWebKit?\"webkitAnimationStart\":\"animationstart\",ANIMATION_END:a.isWebKit?\"webkitAnimationEnd\":\"animationend\",ANIMATION_ITERATION:a.isWebKit?\"webkitAnimationIteration\":\"animationiteration\"},t.EventHelper={stop:(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e)};class ee extends p.Disposable{static hasFocusWithin(e){if(Q(e)){const t=H(e);return B(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return B(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new _.Emitter),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new _.Emitter),this.onDidBlur=this._onDidBlur.event;let i=ee.hasFocusWithin(e),s=!1;const r=()=>{s=!1,i||(i=!0,this._onDidFocus.fire())},n=()=>{i&&(s=!0,(Q(e)?(0,t.getWindow)(e):e).setTimeout((()=>{s&&(s=!1,i=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{ee.hasFocusWithin(e)!==i&&(i?n():r())},this._register(C(e,t.EventType.FOCUS,r,!0)),this._register(C(e,t.EventType.BLUR,n,!0)),Q(e)&&(this._register(C(e,t.EventType.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(C(e,t.EventType.FOCUS_OUT,(()=>this._refreshStateHandler()))))}refreshState(){this._refreshStateHandler()}}function te(e,...t){if(e.append(...t),1===t.length&&\"string\"!=typeof t[0])return t[0]}const ie=/([\\w\\-]+)?(#([\\w\\-]+))?((\\.([\\w\\-]+))*)/;var se;function re(e,t,i,...s){const r=ie.exec(t);if(!r)throw new Error(\"Bad use of emmet\");const n=r[1]||\"div\";let o;return o=e!==se.HTML?document.createElementNS(e,n):document.createElement(n),r[3]&&(o.id=r[3]),r[4]&&(o.className=r[4].replace(/\\./g,\" \").trim()),i&&Object.entries(i).forEach((([e,t])=>{void 0!==t&&(/^on\\w+$/.test(e)?o[e]=t:\"selected\"===e?t&&o.setAttribute(e,\"true\"):o.setAttribute(e,t))})),o.append(...s),o}function ne(e,t,...i){return re(se.HTML,e,t,...i)}function oe(...e){for(const t of e)t.style.display=\"\",t.removeAttribute(\"aria-hidden\")}function ae(...e){for(const t of e)t.style.display=\"none\",t.setAttribute(\"aria-hidden\",\"true\")}!function(e){e.HTML=\"http://www.w3.org/1999/xhtml\",e.SVG=\"http://www.w3.org/2000/svg\"}(se||(t.Namespace=se={})),ne.SVG=function(e,t,...i){return re(se.SVG,e,t,...i)};const le=780,he=640;var ce;!function(e){e[e.DOCUMENT=1]=\"DOCUMENT\",e[e.BROWSER=2]=\"BROWSER\"}(ce||(t.DetectedFullscreenMode=ce={}));class de extends _.Emitter{constructor(){super(),this._subscriptions=new p.DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(_.Event.runAndSubscribe(t.onDidRegisterWindow,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:v.mainWindow,disposables:this._subscriptions}))}registerListeners(e,t){t.add(C(e,\"keydown\",(e=>{if(e.defaultPrevented)return;const t=new h.StandardKeyboardEvent(e);if(t.keyCode!==f.KeyCode.Alt||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=\"alt\";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=\"ctrl\";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=\"meta\";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=\"shift\";else{if(t.keyCode===f.KeyCode.Alt)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(C(e,\"keyup\",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased=\"alt\":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased=\"ctrl\":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased=\"meta\":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased=\"shift\":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(C(e.document.body,\"mousedown\",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(C(e.document.body,\"mouseup\",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(C(e.document.body,\"mousemove\",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(C(e,\"blur\",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}get isModifierPressed(){return this._keyStatus.altKey||this._keyStatus.ctrlKey||this._keyStatus.metaKey||this._keyStatus.shiftKey}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return de.instance||(de.instance=new de),de.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}t.ModifierKeyEmitter=de;class ue extends p.Disposable{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(C(this.element,t.EventType.DRAG_START,(e=>{this.callbacks.onDragStart?.(e)}))),this.callbacks.onDrag&&this._register(C(this.element,t.EventType.DRAG,(e=>{this.callbacks.onDrag?.(e)}))),this._register(C(this.element,t.EventType.DRAG_ENTER,(e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)}))),this._register(C(this.element,t.EventType.DRAG_OVER,(e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)}))),this._register(C(this.element,t.EventType.DRAG_LEAVE,(e=>{this.counter--,0===this.counter&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))}))),this._register(C(this.element,t.EventType.DRAG_END,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)}))),this._register(C(this.element,t.EventType.DROP,(e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)})))}}t.DragAndDropObserver=ue;const _e=/(?<tag>[\\w\\-]+)?(?:#(?<id>[\\w\\-]+))?(?<class>(?:\\.(?:[\\w\\-]+))*)(?:@(?<name>(?:[\\w\\_])+))?/;function fe(e){return e.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase()}function pe(e,t,i){for(const{name:s,value:r}of e.attributes)i&&!i.includes(s)||t.setAttribute(s,r)}function ge(e,t,i){const s=e.getAttribute(i);s?t.setAttribute(i,s):t.removeAttribute(i)}t.SafeTriangle=class{constructor(e,t,i){this.originX=e,this.originY=t,this.triangles=[];const{top:s,left:r,right:n,bottom:o}=i.getBoundingClientRect(),a=this.triangles;let l=0;a[l++]=r,a[l++]=s,a[l++]=n,a[l++]=s,a[l++]=r,a[l++]=s,a[l++]=r,a[l++]=o,a[l++]=n,a[l++]=s,a[l++]=n,a[l++]=o,a[l++]=r,a[l++]=o,a[l++]=n,a[l++]=o}contains(e,t){const{triangles:i,originX:s,originY:r}=this;for(let n=0;n<4;n++)if((0,S.isPointWithinTriangle)(e,t,s,r,i[2*n],i[2*n+1],i[2*n+2],i[2*n+3]))return!0;return!1}}},9675:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FastDomNode=void 0,t.createFastDomNode=function(e){return new i(e)};class i{constructor(e){this.domNode=e,this._maxWidth=\"\",this._width=\"\",this._height=\"\",this._top=\"\",this._left=\"\",this._bottom=\"\",this._right=\"\",this._paddingTop=\"\",this._paddingLeft=\"\",this._paddingBottom=\"\",this._paddingRight=\"\",this._fontFamily=\"\",this._fontWeight=\"\",this._fontSize=\"\",this._fontStyle=\"\",this._fontFeatureSettings=\"\",this._fontVariationSettings=\"\",this._textDecoration=\"\",this._lineHeight=\"\",this._letterSpacing=\"\",this._className=\"\",this._display=\"\",this._position=\"\",this._visibility=\"\",this._color=\"\",this._backgroundColor=\"\",this._layerHint=!1,this._contain=\"none\",this._boxShadow=\"\"}setMaxWidth(e){const t=s(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=s(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=s(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=s(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=s(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=s(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=s(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){const t=s(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){const t=s(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){const t=s(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){const t=s(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=s(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=s(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=s(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?\"translate3d(0px, 0px, 0px)\":\"\")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function s(e){return\"number\"==typeof e?`${e}px`:e}t.FastDomNode=i},8328:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.GlobalPointerMoveMonitor=void 0;const o=n(i(7093)),a=i(7150);t.GlobalPointerMoveMonitor=class{constructor(){this._hooks=new a.DisposableStore,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,s,r){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=r;let n=e;try{e.setPointerCapture(t),this._hooks.add((0,a.toDisposable)((()=>{try{e.releasePointerCapture(t)}catch(e){}})))}catch(t){n=o.getWindow(e)}this._hooks.add(o.addDisposableListener(n,o.EventType.POINTER_MOVE,(e=>{e.buttons===i?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)}))),this._hooks.add(o.addDisposableListener(n,o.EventType.POINTER_UP,(e=>this.stopMonitoring(!0))))}}},6609:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IframeUtils=void 0,t.parentOriginHash=async function(e,t){if(!crypto.subtle)throw new Error(\"'crypto.subtle' is not available so webviews will not work. This is likely because the editor is not running in a secure context (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");const i=JSON.stringify({parentOrigin:e,salt:t}),s=(new TextEncoder).encode(i);return function(e){const t=Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\");return BigInt(`0x${t}`).toString(32).padStart(52,\"0\")}(await crypto.subtle.digest(\"sha-256\",s))};const i=new WeakMap;function s(e){if(!e.parent||e.parent===e)return null;try{const t=e.location,i=e.parent.location;if(\"null\"!==t.origin&&\"null\"!==i.origin&&t.origin!==i.origin)return null}catch(e){return null}return e.parent}t.IframeUtils=class{static getSameOriginWindowChain(e){let t=i.get(e);if(!t){t=[],i.set(e,t);let r,n=e;do{r=s(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r}while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let i=0,s=0;const r=this.getSameOriginWindowChain(e);for(const e of r){const r=e.window.deref();if(i+=r?.scrollY??0,s+=r?.scrollX??0,r===t)break;if(!e.iframeElement)break;const n=e.iframeElement.getBoundingClientRect();i+=n.top,s+=n.left}return{top:i,left:s}}}},5394:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StandardKeyboardEvent=void 0,t.printKeyboardEvent=function(e){const t=[];return e.ctrlKey&&t.push(\"ctrl\"),e.shiftKey&&t.push(\"shift\"),e.altKey&&t.push(\"alt\"),e.metaKey&&t.push(\"meta\"),`modifiers: [${t.join(\",\")}], code: ${e.code}, keyCode: ${e.keyCode}, key: ${e.key}`},t.printStandardKeyboardEvent=function(e){const t=[];return e.ctrlKey&&t.push(\"ctrl\"),e.shiftKey&&t.push(\"shift\"),e.altKey&&t.push(\"alt\"),e.metaKey&&t.push(\"meta\"),`modifiers: [${t.join(\",\")}], code: ${e.code}, keyCode: ${e.keyCode} ('${a.KeyCodeUtils.toString(e.keyCode)}')`};const o=n(i(4333)),a=i(7883),l=i(2811),h=n(i(8163)),c=h.isMacintosh?a.KeyMod.WinCtrl:a.KeyMod.CtrlCmd,d=a.KeyMod.Alt,u=a.KeyMod.Shift,_=h.isMacintosh?a.KeyMod.CtrlCmd:a.KeyMod.WinCtrl;t.StandardKeyboardEvent=class{constructor(e){this._standardKeyboardEventBrand=!0;const t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(\"AltGraph\"),this.keyCode=function(e){if(e.charCode){const t=String.fromCharCode(e.charCode).toUpperCase();return a.KeyCodeUtils.fromString(t)}const t=e.keyCode;if(3===t)return a.KeyCode.PauseBreak;if(o.isFirefox)switch(t){case 59:return a.KeyCode.Semicolon;case 60:if(h.isLinux)return a.KeyCode.IntlBackslash;break;case 61:return a.KeyCode.Equal;case 107:return a.KeyCode.NumpadAdd;case 109:return a.KeyCode.NumpadSubtract;case 173:return a.KeyCode.Minus;case 224:if(h.isMacintosh)return a.KeyCode.Meta}else if(o.isWebKit){if(h.isMacintosh&&93===t)return a.KeyCode.Meta;if(!h.isMacintosh&&92===t)return a.KeyCode.Meta}return a.EVENT_KEY_CODE_MAP[t]||a.KeyCode.Unknown}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===a.KeyCode.Ctrl,this.altKey=this.altKey||this.keyCode===a.KeyCode.Alt,this.shiftKey=this.shiftKey||this.keyCode===a.KeyCode.Shift,this.metaKey=this.metaKey||this.keyCode===a.KeyCode.Meta,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=a.KeyCode.Unknown;this.keyCode!==a.KeyCode.Ctrl&&this.keyCode!==a.KeyCode.Shift&&this.keyCode!==a.KeyCode.Alt&&this.keyCode!==a.KeyCode.Meta&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=c),this.altKey&&(t|=d),this.shiftKey&&(t|=u),this.metaKey&&(t|=_),t|=e,t}_computeKeyCodeChord(){let e=a.KeyCode.Unknown;return this.keyCode!==a.KeyCode.Ctrl&&this.keyCode!==a.KeyCode.Shift&&this.keyCode!==a.KeyCode.Alt&&this.keyCode!==a.KeyCode.Meta&&(e=this.keyCode),new l.KeyCodeChord(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}}},5964:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StandardWheelEvent=t.DragMouseEvent=t.StandardMouseEvent=void 0;const o=n(i(4333)),a=i(6609),l=n(i(8163));class h{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=0===t.button,this.middleButton=1===t.button,this.rightButton=2===t.button,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,\"dblclick\"===t.type&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,\"number\"==typeof t.pageX?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const i=a.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=i.left,this.posy-=i.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}t.StandardMouseEvent=h,t.DragMouseEvent=class extends h{constructor(e,t){super(e,t),this.dataTransfer=t.dataTransfer}},t.StandardWheelEvent=class{constructor(e,t=0,i=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=i,this.deltaX=t;let s=!1;if(o.isChrome){const e=navigator.userAgent.match(/Chrome\\/(\\d+)/);s=(e?parseInt(e[1]):123)<=122}if(e){const t=e,i=e,r=e.view?.devicePixelRatio||1;if(void 0!==t.wheelDeltaY)this.deltaY=s?t.wheelDeltaY/(120*r):t.wheelDeltaY/120;else if(void 0!==i.VERTICAL_AXIS&&i.axis===i.VERTICAL_AXIS)this.deltaY=-i.detail/3;else if(\"wheel\"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?o.isFirefox&&!l.isMacintosh?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(void 0!==t.wheelDeltaX)o.isSafari&&l.isWindows?this.deltaX=-t.wheelDeltaX/120:this.deltaX=s?t.wheelDeltaX/(120*r):t.wheelDeltaX/120;else if(void 0!==i.HORIZONTAL_AXIS&&i.axis===i.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(\"wheel\"===e.type){const t=e;t.deltaMode===t.DOM_DELTA_LINE?o.isFirefox&&!l.isMacintosh?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=s?e.wheelDelta/(120*r):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}},8594:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Gesture=t.EventType=void 0;const a=o(i(7093)),l=i(4693),h=o(i(3058)),c=i(4838),d=i(802),u=i(7150),_=i(6317);var f;!function(e){e.Tap=\"-xterm-gesturetap\",e.Change=\"-xterm-gesturechange\",e.Start=\"-xterm-gesturestart\",e.End=\"-xterm-gesturesend\",e.Contextmenu=\"-xterm-gesturecontextmenu\"}(f||(t.EventType=f={}));class p extends u.Disposable{static{this.SCROLL_FRICTION=-.005}static{this.HOLD_DELAY=700}static{this.CLEAR_TAP_COUNT_TIME=400}constructor(){super(),this.dispatched=!1,this.targets=new _.LinkedList,this.ignoreTargets=new _.LinkedList,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(d.Event.runAndSubscribe(a.onDidRegisterWindow,(({window:e,disposables:t})=>{t.add(a.addDisposableListener(e.document,\"touchstart\",(e=>this.onTouchStart(e)),{passive:!1})),t.add(a.addDisposableListener(e.document,\"touchend\",(t=>this.onTouchEnd(e,t)))),t.add(a.addDisposableListener(e.document,\"touchmove\",(e=>this.onTouchMove(e)),{passive:!1}))}),{window:l.mainWindow,disposables:this._store}))}static addTarget(e){if(!p.isTouchDevice())return u.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,u.markAsSingleton)(new p));const t=p.INSTANCE.targets.push(e);return(0,u.toDisposable)(t)}static ignoreTarget(e){if(!p.isTouchDevice())return u.Disposable.None;p.INSTANCE||(p.INSTANCE=(0,u.markAsSingleton)(new p));const t=p.INSTANCE.ignoreTargets.push(e);return(0,u.toDisposable)(t)}static isTouchDevice(){return\"ontouchstart\"in l.mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,s=e.targetTouches.length;i<s;i++){const s=e.targetTouches.item(i);this.activeTouches[s.identifier]={id:s.identifier,initialTarget:s.target,initialTimeStamp:t,initialPageX:s.pageX,initialPageY:s.pageY,rollingTimestamps:[t],rollingPageX:[s.pageX],rollingPageY:[s.pageY]};const r=this.newGestureEvent(f.Start,s.target);r.pageX=s.pageX,r.pageY=s.pageY,this.dispatchEvent(r)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(e,t){const i=Date.now(),s=Object.keys(this.activeTouches).length;for(let r=0,n=t.changedTouches.length;r<n;r++){const n=t.changedTouches.item(r);if(!this.activeTouches.hasOwnProperty(String(n.identifier))){console.warn(\"move of an UNKNOWN touch\",n);continue}const o=this.activeTouches[n.identifier],a=Date.now()-o.initialTimeStamp;if(a<p.HOLD_DELAY&&Math.abs(o.initialPageX-h.tail(o.rollingPageX))<30&&Math.abs(o.initialPageY-h.tail(o.rollingPageY))<30){const e=this.newGestureEvent(f.Tap,o.initialTarget);e.pageX=h.tail(o.rollingPageX),e.pageY=h.tail(o.rollingPageY),this.dispatchEvent(e)}else if(a>=p.HOLD_DELAY&&Math.abs(o.initialPageX-h.tail(o.rollingPageX))<30&&Math.abs(o.initialPageY-h.tail(o.rollingPageY))<30){const e=this.newGestureEvent(f.Contextmenu,o.initialTarget);e.pageX=h.tail(o.rollingPageX),e.pageY=h.tail(o.rollingPageY),this.dispatchEvent(e)}else if(1===s){const t=h.tail(o.rollingPageX),s=h.tail(o.rollingPageY),r=h.tail(o.rollingTimestamps)-o.rollingTimestamps[0],n=t-o.rollingPageX[0],a=s-o.rollingPageY[0],l=[...this.targets].filter((e=>o.initialTarget instanceof Node&&e.contains(o.initialTarget)));this.inertia(e,l,i,Math.abs(n)/r,n>0?1:-1,t,Math.abs(a)/r,a>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(f.End,o.initialTarget)),delete this.activeTouches[n.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent(\"CustomEvent\");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===f.Tap){const t=(new Date).getTime();let i=0;i=t-this._lastSetTapCountTime>p.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=t,e.tapCount=i}else e.type!==f.Change&&e.type!==f.Contextmenu||(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const t of this.ignoreTargets)if(t.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let s=0,r=e.initialTarget;for(;r&&r!==i;)s++,r=r.parentElement;t.push([s,i])}t.sort(((e,t)=>e[0]-t[0]));for(const[i,s]of t)s.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,s,r,n,o,l,h){this.handle=a.scheduleAtNextAnimationFrame(e,(()=>{const a=Date.now(),c=a-i;let d=0,u=0,_=!0;s+=p.SCROLL_FRICTION*c,o+=p.SCROLL_FRICTION*c,s>0&&(_=!1,d=r*s*c),o>0&&(_=!1,u=l*o*c);const g=this.newGestureEvent(f.Change);g.translationX=d,g.translationY=u,t.forEach((e=>e.dispatchEvent(g))),_||this.inertia(e,t,a,s,r,n+d,o,l,h+u)}))}onTouchMove(e){const t=Date.now();for(let i=0,s=e.changedTouches.length;i<s;i++){const s=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(s.identifier))){console.warn(\"end of an UNKNOWN touch\",s);continue}const r=this.activeTouches[s.identifier],n=this.newGestureEvent(f.Change,r.initialTarget);n.translationX=s.pageX-h.tail(r.rollingPageX),n.translationY=s.pageY-h.tail(r.rollingPageY),n.pageX=s.pageX,n.pageY=s.pageY,this.dispatchEvent(n),r.rollingPageX.length>3&&(r.rollingPageX.shift(),r.rollingPageY.shift(),r.rollingTimestamps.shift()),r.rollingPageX.push(s.pageX),r.rollingPageY.push(s.pageY),r.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}t.Gesture=p,n([c.memoize],p,\"isTouchDevice\",null)},8801:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AbstractScrollbar=void 0;const o=n(i(7093)),a=i(9675),l=i(8328),h=i(8974),c=i(79),d=i(8286),u=n(i(8163));class _ extends d.Widget{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new c.ScrollbarVisibilityController(e.visibility,\"visible scrollbar \"+e.extraScrollbarClassName,\"invisible scrollbar \"+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new l.GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=(0,a.createFastDomNode)(document.createElement(\"div\")),this.domNode.setAttribute(\"role\",\"presentation\"),this.domNode.setAttribute(\"aria-hidden\",\"true\"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(\"absolute\"),this._register(o.addDisposableListener(this.domNode.domNode,o.EventType.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(e){const t=this._register(new h.ScrollbarArrow(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,s){this.slider=(0,a.createFastDomNode)(document.createElement(\"div\")),this.slider.setClassName(\"slider\"),this.slider.setPosition(\"absolute\"),this.slider.setTop(e),this.slider.setLeft(t),\"number\"==typeof i&&this.slider.setWidth(i),\"number\"==typeof s&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain(\"strict\"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(o.addDisposableListener(this.slider.domNode,o.EventType.POINTER_DOWN,(e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}))),this.onclick(this.slider.domNode,(e=>{e.leftButton&&e.stopPropagation()}))}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderPointerPosition(e);i<=r&&r<=s?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&\"number\"==typeof e.offsetX&&\"number\"==typeof e.offsetY)t=e.offsetX,i=e.offsetY;else{const s=o.getDomNodePagePosition(this.domNode.domNode);t=e.pageX-s.left,i=e.pageY-s.top}const s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!(e.target&&e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName(\"active\",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{const r=this._sliderOrthogonalPointerPosition(e),n=Math.abs(r-i);if(u.isWindows&&n>140)return void this._setDesiredScrollPositionNow(s.getScrollPosition());const o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(o))}),(()=>{this.slider.toggleClassName(\"active\",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}t.AbstractScrollbar=_},151:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HorizontalScrollbar=void 0;const s=i(8801),r=i(8245),n=i(9881);class o extends s.AbstractScrollbar{constructor(e,t,i){const s=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r.ScrollbarState(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===n.ScrollbarVisibility.Hidden?0:t.horizontalScrollbarSize,t.vertical===n.ScrollbarVisibility.Hidden?0:t.verticalScrollbarSize,s.width,s.scrollWidth,o.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:\"horizontal\",scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===n.ScrollbarVisibility.Hidden?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===n.ScrollbarVisibility.Hidden?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}t.HorizontalScrollbar=o},8234:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomScrollableElement=t.SmoothScrollableElement=t.ScrollableElement=t.AbstractScrollableElement=t.MouseWheelClassifier=void 0;const o=i(4333),a=n(i(7093)),l=i(9675),h=i(5964),c=i(151),d=i(5473),u=i(8286),_=i(1758),f=i(802),p=i(7150),g=n(i(8163)),m=i(9881);class v{constructor(e,t,i){this.timestamp=e,this.deltaX=t,this.deltaY=i,this.score=0}}class S{static{this.INSTANCE=new S}constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(-1===this._front&&-1===this._rear)return!1;let e=1,t=0,i=1,s=this._rear;for(;;){const r=s===this._front?e:Math.pow(2,-i);if(e-=r,t+=this._memory[s].score*r,s===this._front)break;s=(this._capacity+s-1)%this._capacity,i++}return t<=.5}acceptStandardWheelEvent(e){if(o.isChrome){const t=a.getWindow(e.browserEvent),i=(0,o.getZoomFactor)(t);this.accept(Date.now(),e.deltaX*i,e.deltaY*i)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,i){let s=null;const r=new v(e,t,i);-1===this._front&&-1===this._rear?(this._memory[0]=r,this._front=0,this._rear=0):(s=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=r),r.score=this._computeScore(r,s)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(i+=.25),t){const s=Math.abs(e.deltaX),r=Math.abs(e.deltaY),n=Math.abs(t.deltaX),o=Math.abs(t.deltaY),a=Math.max(Math.min(s,n),1),l=Math.max(Math.min(r,o),1),h=Math.max(s,n),c=Math.max(r,o);h%a==0&&c%l==0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}t.MouseWheelClassifier=S;class b extends u.Widget{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new f.Emitter),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new f.Emitter),this.onWillScroll=this._onWillScroll.event,this._options=function(e){const t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:\"\",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:void 0===e.scrollPredominantAxis||e.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:m.ScrollbarVisibility.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:m.ScrollbarVisibility.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:void 0!==e.scrollByPage&&e.scrollByPage};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,g.isMacintosh&&(t.className+=\" mac\"),t}(t),this._scrollable=i,this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)})));const s={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new d.VerticalScrollbar(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new c.HorizontalScrollbar(this._scrollable,this._options,s)),this._domNode=document.createElement(\"div\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className,this._domNode.setAttribute(\"role\",\"presentation\"),this._domNode.style.position=\"relative\",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._leftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._topShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,l.createFastDomNode)(document.createElement(\"div\")),this._topLeftShadowDomNode.setClassName(\"shadow\"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e))),this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e))),this._hideTimeout=this._register(new _.TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,p.dispose)(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,g.isMacintosh&&(this._options.className+=\" mac\"),this._domNode.className=\"xterm-scrollable-element \"+this._options.className}updateOptions(e){void 0!==e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),void 0!==e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),void 0!==e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),void 0!==e.horizontal&&(this._options.horizontal=e.horizontal),void 0!==e.vertical&&(this._options.vertical=e.vertical),void 0!==e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),void 0!==e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),void 0!==e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new h.StandardWheelEvent(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=(0,p.dispose)(this._mouseWheelToDispose),e)){const e=e=>{this._onMouseWheel(new h.StandardWheelEvent(e))};this._mouseWheelToDispose.push(a.addDisposableListener(this._listenOnDomNode,a.EventType.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;const t=S.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let s=e.deltaY*this._options.mouseWheelScrollSensitivity,r=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&r+s===0?r=s=0:Math.abs(s)>=Math.abs(r)?r=0:s=0),this._options.flipAxes&&([s,r]=[r,s]);const n=!g.isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!n||r||(r=s,s=0),e.browserEvent&&e.browserEvent.altKey&&(r*=this._options.fastScrollSensitivity,s*=this._options.fastScrollSensitivity);const o=this._scrollable.getFutureScrollPosition();let a={};if(s){const e=50*s,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(a,t)}if(r){const e=50*r,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(a,t)}a=this._scrollable.validateScrollPosition(a),(o.scrollLeft!==a.scrollLeft||o.scrollTop!==a.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),i=!0)}let s=i;!s&&this._options.alwaysConsumeMouseWheel&&(s=!0),!s&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(s=!0),s&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error(\"Please use `lazyRender` together with `renderNow`!\");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,s=i?\" left\":\"\",r=t?\" top\":\"\",n=i||t?\" top-left-corner\":\"\";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${r}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${r}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}t.AbstractScrollableElement=b,t.ScrollableElement=class extends b{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new m.Scrollable({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>a.scheduleAtNextAnimationFrame(a.getWindow(e),t)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},t.SmoothScrollableElement=class extends b{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},t.DomScrollableElement=class extends b{constructor(e,t){(t=t||{}).mouseWheelSmoothScroll=!1;const i=new m.Scrollable({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>a.scheduleAtNextAnimationFrame(a.getWindow(e),t)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll((e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)}))),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}},8974:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarArrow=t.ARROW_IMG_SIZE=void 0;const o=i(8328),a=i(8286),l=i(1758),h=n(i(7093));t.ARROW_IMG_SIZE=11;class c extends a.Widget{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(\"div\"),this.bgDomNode.className=\"arrow-background\",this.bgDomNode.style.position=\"absolute\",this.bgDomNode.style.width=e.bgWidth+\"px\",this.bgDomNode.style.height=e.bgHeight+\"px\",void 0!==e.top&&(this.bgDomNode.style.top=\"0px\"),void 0!==e.left&&(this.bgDomNode.style.left=\"0px\"),void 0!==e.bottom&&(this.bgDomNode.style.bottom=\"0px\"),void 0!==e.right&&(this.bgDomNode.style.right=\"0px\"),this.domNode=document.createElement(\"div\"),this.domNode.className=e.className,this.domNode.style.position=\"absolute\",this.domNode.style.width=t.ARROW_IMG_SIZE+\"px\",this.domNode.style.height=t.ARROW_IMG_SIZE+\"px\",void 0!==e.top&&(this.domNode.style.top=e.top+\"px\"),void 0!==e.left&&(this.domNode.style.left=e.left+\"px\"),void 0!==e.bottom&&(this.domNode.style.bottom=e.bottom+\"px\"),void 0!==e.right&&(this.domNode.style.right=e.right+\"px\"),this._pointerMoveMonitor=this._register(new o.GlobalPointerMoveMonitor),this._register(h.addStandardDisposableListener(this.bgDomNode,h.EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._register(h.addStandardDisposableListener(this.domNode,h.EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e)))),this._pointerdownRepeatTimer=this._register(new h.WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new l.TimeoutTimer)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,h.getWindow(e))}),200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(e=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),e.preventDefault())}}t.ScrollbarArrow=c},8245:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarState=void 0;class i{constructor(e,t,i,s,r,n){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=s,this._scrollSize=r,this._scrollPosition=n,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new i(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,s,r){const n=Math.max(0,i-e),o=Math.max(0,n-2*t),a=s>0&&s>i;if(!a)return{computedAvailableSize:Math.round(n),computedIsNeeded:a,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};const l=Math.round(Math.max(20,Math.floor(i*o/s))),h=(o-l)/(s-i),c=r*h;return{computedAvailableSize:Math.round(n),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:h,computedSliderPosition:Math.round(c)}}_refreshComputedValues(){const e=i._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return t<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;const t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}}t.ScrollbarState=i},79:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ScrollbarVisibilityController=void 0;const s=i(1758),r=i(7150),n=i(9881);class o extends r.Disposable{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new s.TimeoutTimer)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility!==n.ScrollbarVisibility.Hidden&&(this._visibility===n.ScrollbarVisibility.Visible||this._rawShouldBeVisible)}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{this._domNode?.setClassName(this._visibleClassName)}),0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?\" fade\":\"\")))}}t.ScrollbarVisibilityController=o},5473:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VerticalScrollbar=void 0;const s=i(8801),r=i(8245),n=i(9881);class o extends s.AbstractScrollbar{constructor(e,t,i){const s=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new r.ScrollbarState(t.verticalHasArrows?t.arrowSize:0,t.vertical===n.ScrollbarVisibility.Hidden?0:t.verticalScrollbarSize,0,s.height,s.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:\"vertical\",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw new Error(\"horizontalHasArrows is not supported in xterm.js\");this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===n.ScrollbarVisibility.Hidden?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}t.VerticalScrollbar=o},8286:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Widget=void 0;const o=n(i(7093)),a=i(5394),l=i(5964),h=i(8594),c=i(7150);class d extends c.Disposable{onclick(e,t){this._register(o.addDisposableListener(e,o.EventType.CLICK,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmousedown(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_DOWN,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmouseover(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_OVER,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onmouseleave(e,t){this._register(o.addDisposableListener(e,o.EventType.MOUSE_LEAVE,(i=>t(new l.StandardMouseEvent(o.getWindow(e),i)))))}onkeydown(e,t){this._register(o.addDisposableListener(e,o.EventType.KEY_DOWN,(e=>t(new a.StandardKeyboardEvent(e)))))}onkeyup(e,t){this._register(o.addDisposableListener(e,o.EventType.KEY_UP,(e=>t(new a.StandardKeyboardEvent(e)))))}oninput(e,t){this._register(o.addDisposableListener(e,o.EventType.INPUT,t))}onblur(e,t){this._register(o.addDisposableListener(e,o.EventType.BLUR,t))}onfocus(e,t){this._register(o.addDisposableListener(e,o.EventType.FOCUS,t))}onchange(e,t){this._register(o.addDisposableListener(e,o.EventType.CHANGE,t))}ignoreGesture(e){return h.Gesture.ignoreTarget(e)}}t.Widget=d},4693:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.mainWindow=void 0,t.ensureCodeWindow=function(e,t){},t.mainWindow=\"object\"==typeof window?window:globalThis},3058:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Permutation=t.CallbackIterable=t.ArrayQueue=t.booleanComparator=t.numberComparator=t.CompareResult=void 0,t.tail=function(e,t=0){return e[e.length-(1+t)]},t.tail2=function(e){if(0===e.length)throw new Error(\"Invalid tail call\");return[e.slice(0,e.length-1),e[e.length-1]]},t.equals=function(e,t,i=(e,t)=>e===t){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let s=0,r=e.length;s<r;s++)if(!i(e[s],t[s]))return!1;return!0},t.removeFastWithoutKeepingOrder=function(e,t){const i=e.length-1;t<i&&(e[t]=e[i]),e.pop()},t.binarySearch=function(e,t,i){return n(e.length,(s=>i(e[s],t)))},t.binarySearch2=n,t.quickSelect=function e(t,i,s){if((t|=0)>=i.length)throw new TypeError(\"invalid index\");const r=i[Math.floor(i.length*Math.random())],n=[],o=[],a=[];for(const e of i){const t=s(e,r);t<0?n.push(e):t>0?o.push(e):a.push(e)}return t<n.length?e(t,n,s):t<n.length+a.length?a[0]:e(t-(n.length+a.length),o,s)},t.groupBy=function(e,t){const i=[];let s;for(const r of e.slice(0).sort(t))s&&0===t(s[0],r)?s.push(r):(s=[r],i.push(s));return i},t.groupAdjacentBy=function*(e,t){let i,s;for(const r of e)void 0!==s&&t(s,r)?i.push(r):(i&&(yield i),i=[r]),s=r;i&&(yield i)},t.forEachAdjacent=function(e,t){for(let i=0;i<=e.length;i++)t(0===i?void 0:e[i-1],i===e.length?void 0:e[i])},t.forEachWithNeighbors=function(e,t){for(let i=0;i<e.length;i++)t(0===i?void 0:e[i-1],e[i],i+1===e.length?void 0:e[i+1])},t.sortedDiff=o,t.delta=function(e,t,i){const s=o(e,t,i),r=[],n=[];for(const t of s)r.push(...e.slice(t.start,t.start+t.deleteCount)),n.push(...t.toInsert);return{removed:r,added:n}},t.top=function(e,t,i){if(0===i)return[];const s=e.slice(0,i).sort(t);return a(e,t,s,i,e.length),s},t.topAsync=function(e,t,i,r,n){return 0===i?Promise.resolve([]):new Promise(((o,l)=>{(async()=>{const o=e.length,l=e.slice(0,i).sort(t);for(let h=i,c=Math.min(i+r,o);h<o;h=c,c=Math.min(c+r,o)){if(h>i&&await new Promise((e=>setTimeout(e))),n&&n.isCancellationRequested)throw new s.CancellationError;a(e,t,l,h,c)}return l})().then(o,l)}))},t.coalesce=function(e){return e.filter((e=>!!e))},t.coalesceInPlace=function(e){let t=0;for(let i=0;i<e.length;i++)e[i]&&(e[t]=e[i],t+=1);e.length=t},t.move=function(e,t,i){e.splice(i,0,e.splice(t,1)[0])},t.isFalsyOrEmpty=function(e){return!Array.isArray(e)||0===e.length},t.isNonEmptyArray=function(e){return Array.isArray(e)&&e.length>0},t.distinct=function(e,t=e=>e){const i=new Set;return e.filter((e=>{const s=t(e);return!i.has(s)&&(i.add(s),!0)}))},t.uniqueFilter=function(e){const t=new Set;return i=>{const s=e(i);return!t.has(s)&&(t.add(s),!0)}},t.firstOrDefault=function(e,t){return e.length>0?e[0]:t},t.lastOrDefault=function(e,t){return e.length>0?e[e.length-1]:t},t.commonPrefixLength=function(e,t,i=(e,t)=>e===t){let s=0;for(let r=0,n=Math.min(e.length,t.length);r<n&&i(e[r],t[r]);r++)s++;return s},t.range=function(e,t){let i=\"number\"==typeof t?e:0;\"number\"==typeof t?i=e:(i=0,t=e);const s=[];if(i<=t)for(let e=i;e<t;e++)s.push(e);else for(let e=i;e>t;e--)s.push(e);return s},t.index=function(e,t,i){return e.reduce(((e,s)=>(e[t(s)]=i?i(s):s,e)),Object.create(null))},t.insert=function(e,t){return e.push(t),()=>l(e,t)},t.remove=l,t.arrayInsert=function(e,t,i){const s=e.slice(0,t),r=e.slice(t);return s.concat(i,r)},t.shuffle=function(e,t){let i;if(\"number\"==typeof t){let e=t;i=()=>{const t=179426549*Math.sin(e++);return t-Math.floor(t)}}else i=Math.random;for(let t=e.length-1;t>0;t-=1){const s=Math.floor(i()*(t+1)),r=e[t];e[t]=e[s],e[s]=r}},t.pushToStart=function(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.unshift(t))},t.pushToEnd=function(e,t){const i=e.indexOf(t);i>-1&&(e.splice(i,1),e.push(t))},t.pushMany=function(e,t){for(const i of t)e.push(i)},t.mapArrayOrNot=function(e,t){return Array.isArray(e)?e.map(t):t(e)},t.asArray=function(e){return Array.isArray(e)?e:[e]},t.getRandomElement=function(e){return e[Math.floor(Math.random()*e.length)]},t.insertInto=h,t.splice=function(e,t,i,s){const r=c(e,t);let n=e.splice(r,i);return void 0===n&&(n=[]),h(e,r,s),n},t.compareBy=function(e,t){return(i,s)=>t(e(i),e(s))},t.tieBreakComparators=function(...e){return(t,i)=>{for(const s of e){const e=s(t,i);if(!d.isNeitherLessOrGreaterThan(e))return e}return d.neitherLessOrGreaterThan}},t.reverseOrder=function(e){return(t,i)=>-e(t,i)};const s=i(9807),r=i(8297);function n(e,t){let i=0,s=e-1;for(;i<=s;){const e=(i+s)/2|0,r=t(e);if(r<0)i=e+1;else{if(!(r>0))return e;s=e-1}}return-(i+1)}function o(e,t,i){const s=[];function r(e,t,i){if(0===t&&0===i.length)return;const r=s[s.length-1];r&&r.start+r.deleteCount===e?(r.deleteCount+=t,r.toInsert.push(...i)):s.push({start:e,deleteCount:t,toInsert:i})}let n=0,o=0;for(;;){if(n===e.length){r(n,0,t.slice(o));break}if(o===t.length){r(n,e.length-n,[]);break}const s=e[n],a=t[o],l=i(s,a);0===l?(n+=1,o+=1):l<0?(r(n,1,[]),n+=1):l>0&&(r(n,0,[a]),o+=1)}return s}function a(e,t,i,s,n){for(const o=i.length;s<n;s++){const n=e[s];if(t(n,i[o-1])<0){i.pop();const e=(0,r.findFirstIdxMonotonousOrArrLen)(i,(e=>t(n,e)<0));i.splice(e,0,n)}}}function l(e,t){const i=e.indexOf(t);if(i>-1)return e.splice(i,1),t}function h(e,t,i){const s=c(e,t),r=e.length,n=i.length;e.length=r+n;for(let t=r-1;t>=s;t--)e[t+n]=e[t];for(let t=0;t<n;t++)e[t+s]=i[t]}function c(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}var d;!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(d||(t.CompareResult=d={})),t.numberComparator=(e,t)=>e-t,t.booleanComparator=(e,i)=>(0,t.numberComparator)(e?1:0,i?1:0),t.ArrayQueue=class{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;const i=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,i}takeFromEndWhile(e){let t=this.lastIdx;for(;t>=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(0!==this.length)return this.items[this.firstIdx]}peekLast(){if(0!==this.length)return this.items[this.lastIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}removeLast(){const e=this.items[this.lastIdx];return this.lastIdx--,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}};class u{static{this.empty=new u((e=>{}))}constructor(e){this.iterate=e}forEach(e){this.iterate((t=>(e(t),!0)))}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new u((t=>this.iterate((i=>!e(i)||t(i)))))}map(e){return new u((t=>this.iterate((i=>t(e(i))))))}some(e){let t=!1;return this.iterate((i=>(t=e(i),!t))),t}findFirst(e){let t;return this.iterate((i=>!e(i)||(t=i,!1))),t}findLast(e){let t;return this.iterate((i=>(e(i)&&(t=i),!0))),t}findLastMaxBy(e){let t,i=!0;return this.iterate((s=>((i||d.isGreaterThan(e(s,t)))&&(i=!1,t=s),!0))),t}}t.CallbackIterable=u;class _{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort(((i,s)=>t(e[i],e[s])));return new _(i)}apply(e){return e.map(((t,i)=>e[this._indexMap[i]]))}inverse(){const e=this._indexMap.slice();for(let t=0;t<this._indexMap.length;t++)e[this._indexMap[t]]=t;return new _(e)}}t.Permutation=_},8297:(e,t)=>{function i(e,t,i=e.length-1){for(let s=i;s>=0;s--)if(t(e[s]))return s;return-1}function s(e,t,i=0,s=e.length){let r=i,n=s;for(;r<n;){const i=Math.floor((r+n)/2);t(e[i])?r=i+1:n=i}return r-1}function r(e,t,i=0,s=e.length){let r=i,n=s;for(;r<n;){const i=Math.floor((r+n)/2);t(e[i])?n=i:r=i+1}return r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MonotonousArray=void 0,t.findLast=function(e,t){const s=i(e,t);if(-1!==s)return e[s]},t.findLastIdx=i,t.findLastMonotonous=function(e,t){const i=s(e,t);return-1===i?void 0:e[i]},t.findLastIdxMonotonous=s,t.findFirstMonotonous=function(e,t){const i=r(e,t);return i===e.length?void 0:e[i]},t.findFirstIdxMonotonousOrArrLen=r,t.findFirstIdxMonotonous=function(e,t,i=0,s=e.length){const n=r(e,t,i,s);return n===e.length?-1:n},t.findFirstMax=o,t.findLastMax=function(e,t){if(0===e.length)return;let i=e[0];for(let s=1;s<e.length;s++){const r=e[s];t(r,i)>=0&&(i=r)}return i},t.findFirstMin=function(e,t){return o(e,((e,i)=>-t(e,i)))},t.findMaxIdx=function(e,t){if(0===e.length)return-1;let i=0;for(let s=1;s<e.length;s++)t(e[s],e[i])>0&&(i=s);return i},t.mapFindFirst=function(e,t){for(const i of e){const e=t(i);if(void 0!==e)return e}};class n{static{this.assertInvariants=!1}constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(e){if(n.assertInvariants){if(this._prevFindLastPredicate)for(const t of this._array)if(this._prevFindLastPredicate(t)&&!e(t))throw new Error(\"MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.\");this._prevFindLastPredicate=e}const t=s(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,-1===t?void 0:this._array[t]}}function o(e,t){if(0===e.length)return;let i=e[0];for(let s=1;s<e.length;s++){const r=e[s];t(r,i)>0&&(i=r)}return i}t.MonotonousArray=n},1758:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AsyncIterableSource=t.CancelableAsyncIterableObject=t.AsyncIterableObject=t.LazyStatefulPromise=t.StatefulPromise=t.Promises=t.DeferredPromise=t.IntervalCounter=t.TaskSequentializer=t.GlobalIdleValue=t.AbstractIdleValue=t._runWhenIdle=t.runWhenGlobalIdle=t.ThrottledWorker=t.RunOnceWorker=t.ProcessTimeRunOnceScheduler=t.RunOnceScheduler=t.IntervalTimer=t.TimeoutTimer=t.LimitedQueue=t.Queue=t.Limiter=t.AutoOpenBarrier=t.Barrier=t.ThrottledDelayer=t.Delayer=t.SequencerByKey=t.Sequencer=t.Throttler=void 0,t.isThenable=c,t.createCancelablePromise=d,t.raceCancellation=function(e,t,i){return new Promise(((s,r)=>{const n=t.onCancellationRequested((()=>{n.dispose(),s(i)}));e.then(s,r).finally((()=>n.dispose()))}))},t.raceCancellationError=function(e,t){return new Promise(((i,s)=>{const n=t.onCancellationRequested((()=>{n.dispose(),s(new r.CancellationError)}));e.then(i,s).finally((()=>n.dispose()))}))},t.raceCancellablePromises=async function(e){let t=-1;const i=e.map(((e,i)=>e.then((e=>(t=i,e)))));try{return await Promise.race(i)}finally{e.forEach(((e,i)=>{i!==t&&e.cancel()}))}},t.raceTimeout=function(e,t,i){let s;const r=setTimeout((()=>{s?.(void 0),i?.()}),t);return Promise.race([e.finally((()=>clearTimeout(r))),new Promise((e=>s=e))])},t.asPromise=function(e){return new Promise(((t,i)=>{const s=e();c(s)?s.then(t,i):t(s)}))},t.promiseWithResolvers=u,t.timeout=g,t.disposableTimeout=function(e,t=0,i){const s=setTimeout((()=>{e(),i&&r.dispose()}),t),r=(0,o.toDisposable)((()=>{clearTimeout(s),i?.deleteAndLeak(r)}));return i?.add(r),r},t.sequence=function(e){const t=[];let i=0;const s=e.length;return Promise.resolve(null).then((function r(n){null!=n&&t.push(n);const o=i<s?e[i++]():null;return o?o.then(r):Promise.resolve(t)}))},t.first=function(e,t=e=>!!e,i=null){let s=0;const r=e.length,n=()=>{if(s>=r)return Promise.resolve(i);const o=e[s++];return Promise.resolve(o()).then((e=>t(e)?Promise.resolve(e):n()))};return n()},t.firstParallel=function(e,t=e=>!!e,i=null){if(0===e.length)return Promise.resolve(i);let s=e.length;const r=()=>{s=-1;for(const t of e)t.cancel?.()};return new Promise(((n,o)=>{for(const a of e)a.then((e=>{--s>=0&&t(e)?(r(),n(e)):0===s&&n(i)})).catch((e=>{--s>=0&&(r(),o(e))}))}))},t.retry=async function(e,t,i){let s;for(let r=0;r<i;r++)try{return await e()}catch(e){s=e,await g(t)}throw s},t.createCancelableAsyncIterable=function(e){const t=new s.CancellationTokenSource,i=e(t.token);return new A(t,(async e=>{const s=t.token.onCancellationRequested((()=>{s.dispose(),t.dispose(),e.reject(new r.CancellationError)}));try{for await(const s of i){if(t.token.isCancellationRequested)return;e.emitOne(s)}s.dispose(),t.dispose()}catch(i){s.dispose(),t.dispose(),e.reject(i)}}))};const s=i(8447),r=i(9807),n=i(802),o=i(7150),a=i(8163),l=i(5015),h=i(626);function c(e){return!!e&&\"function\"==typeof e.then}function d(e){const t=new s.CancellationTokenSource,i=e(t.token),n=new Promise(((e,s)=>{const n=t.token.onCancellationRequested((()=>{n.dispose(),s(new r.CancellationError)}));Promise.resolve(i).then((i=>{n.dispose(),t.dispose(),e(i)}),(e=>{n.dispose(),t.dispose(),s(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return n.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return n.finally(e)}}}function u(){let e,t;return{promise:new Promise(((i,s)=>{e=i,t=s})),resolve:e,reject:t}}class _{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error(\"Throttler is disposed\"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}t.Throttler=_,t.Sequencer=class{constructor(){this.current=Promise.resolve(null)}queue(e){return this.current=this.current.then((()=>e()),(()=>e()))}},t.SequencerByKey=class{constructor(){this.promiseMap=new Map}queue(e,t){const i=(this.promiseMap.get(e)??Promise.resolve()).catch((()=>{})).then(t).finally((()=>{this.promiseMap.get(e)===i&&this.promiseMap.delete(e)}));return this.promiseMap.set(e,i),i}};class f{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const i=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===l.MicrotaskDelay?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(i):((e,t)=>{let i=!0;const s=setTimeout((()=>{i=!1,t()}),e);return{isTriggered:()=>i,dispose:()=>{clearTimeout(s),i=!1}}})(t,i),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new r.CancellationError),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}t.Delayer=f,t.ThrottledDelayer=class{constructor(e){this.delayer=new f(e),this.throttler=new _}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}};class p{constructor(){this._isOpen=!1,this._promise=new Promise(((e,t)=>{this._completePromise=e}))}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}}function g(e,t){return t?new Promise(((i,s)=>{const n=setTimeout((()=>{o.dispose(),i()}),e),o=t.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new r.CancellationError)}))})):d((t=>g(e,t)))}t.Barrier=p,t.AutoOpenBarrier=class extends p{constructor(e){super(),this._timeout=setTimeout((()=>this.open()),e)}open(){clearTimeout(this._timeout),super.open()}};class m{constructor(e){this._size=0,this._isDisposed=!1,this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new n.Emitter}whenIdle(){return this.size>0?n.Event.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(e){if(this._isDisposed)throw new Error(\"Object has been disposed\");return this._size++,new Promise(((t,i)=>{this.outstandingPromises.push({factory:e,c:t,e:i}),this.consume()}))}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){const e=this.outstandingPromises.shift();this.runningPromises++;const t=e.factory();t.then(e.c,e.e),t.then((()=>this.consumed()),(()=>this.consumed()))}}consumed(){this._isDisposed||(this.runningPromises--,0==--this._size&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error(\"Object has been disposed\");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}}t.Limiter=m,t.Queue=class extends m{constructor(){super(1)}},t.LimitedQueue=class{constructor(){this.sequentializer=new C,this.tasks=0}queue(e){return this.sequentializer.isRunning()?this.sequentializer.queue((()=>this.sequentializer.run(this.tasks++,e()))):this.sequentializer.run(this.tasks++,e())}},t.TimeoutTimer=class{constructor(e,t){this._isDisposed=!1,this._token=-1,\"function\"==typeof e&&\"number\"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new r.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed TimeoutTimer\");this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){if(this._isDisposed)throw new r.BugIndicatingError(\"Calling 'setIfNotSet' on a disposed TimeoutTimer\");-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}},t.IntervalTimer=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new r.BugIndicatingError(\"Calling 'cancelAndSet' on a disposed IntervalTimer\");this.cancel();const s=i.setInterval((()=>{e()}),t);this.disposable=(0,o.toDisposable)((()=>{i.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel(),this.isDisposed=!0}};class v{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner?.()}}t.RunOnceScheduler=v,t.ProcessTimeRunOnceScheduler=class{constructor(e,t){t%1e3!=0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`),this.runner=e,this.timeout=t,this.counter=0,this.intervalToken=-1,this.intervalHandler=this.onInterval.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearInterval(this.intervalToken),this.intervalToken=-1)}schedule(e=this.timeout){e%1e3!=0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(e/1e3),this.intervalToken=setInterval(this.intervalHandler,1e3)}isScheduled(){return-1!==this.intervalToken}onInterval(){this.counter--,this.counter>0||(clearInterval(this.intervalToken),this.intervalToken=-1,this.runner?.())}},t.RunOnceWorker=class extends v{constructor(e,t){super(e,t),this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){const e=this.units;this.units=[],this.runner?.(e)}dispose(){this.units=[],super.dispose()}};class S extends o.Disposable{constructor(e,t){super(),this.options=e,this.handler=t,this.pendingWork=[],this.throttler=this._register(new o.MutableDisposable),this.disposed=!1}get pending(){return this.pendingWork.length}work(e){if(this.disposed)return!1;if(\"number\"==typeof this.options.maxBufferedWork)if(this.throttler.value){if(this.pending+e.length>this.options.maxBufferedWork)return!1}else if(this.pending+e.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1;for(const t of e)this.pendingWork.push(t);return this.throttler.value||this.doWork(),!0}doWork(){this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&(this.throttler.value=new v((()=>{this.throttler.clear(),this.doWork()}),this.options.throttleDelay),this.throttler.value.schedule())}dispose(){super.dispose(),this.disposed=!0}}t.ThrottledWorker=S,\"function\"!=typeof globalThis.requestIdleCallback||\"function\"!=typeof globalThis.cancelIdleCallback?t._runWhenIdle=(e,t)=>{(0,a.setTimeout0)((()=>{if(i)return;const e=Date.now()+15,s={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(s))}));let i=!1;return{dispose(){i||(i=!0)}}}:t._runWhenIdle=(e,t,i)=>{const s=e.requestIdleCallback(t,\"number\"==typeof i?{timeout:i}:void 0);let r=!1;return{dispose(){r||(r=!0,e.cancelIdleCallback(s))}}},t.runWhenGlobalIdle=e=>(0,t._runWhenIdle)(globalThis,e);class b{constructor(e,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=(0,t._runWhenIdle)(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}t.AbstractIdleValue=b,t.GlobalIdleValue=class extends b{constructor(e){super(globalThis,e)}};class C{isRunning(e){return\"number\"==typeof e?this._running?.taskId===e:!!this._running}get running(){return this._running?.promise}cancelRunning(){this._running?.cancel()}run(e,t,i){return this._running={taskId:e,cancel:()=>i?.(),promise:t},t.then((()=>this.doneRunning(e)),(()=>this.doneRunning(e))),t}doneRunning(e){this._running&&e===this._running.taskId&&(this._running=void 0,this.runQueued())}runQueued(){if(this._queued){const e=this._queued;this._queued=void 0,e.run().then(e.promiseResolve,e.promiseReject)}}queue(e){if(this._queued)this._queued.run=e;else{const{promise:t,resolve:i,reject:s}=u();this._queued={run:e,promise:t,promiseResolve:i,promiseReject:s}}return this._queued.promise}hasQueued(){return!!this._queued}async join(){return this._queued?.promise??this._running?.promise}}var y,w,E;t.TaskSequentializer=C,t.IntervalCounter=class{constructor(e,t=()=>Date.now()){this.interval=e,this.nowFn=t,this.lastIncrementTime=0,this.value=0}increment(){const e=this.nowFn();return e-this.lastIncrementTime>this.interval&&(this.lastIncrementTime=e,this.value=0),this.value++,this.value}},function(e){e[e.Resolved=0]=\"Resolved\",e[e.Rejected=1]=\"Rejected\"}(y||(y={}));class D{get isRejected(){return this.outcome?.outcome===y.Rejected}get isResolved(){return this.outcome?.outcome===y.Resolved}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===y.Resolved?this.outcome?.value:void 0}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:y.Resolved,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:y.Rejected,value:e},t()}))}cancel(){return this.error(new r.CancellationError)}}t.DeferredPromise=D,function(e){e.settled=async function(e){let t;const i=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return i},e.withAsyncBody=function(e){return new Promise((async(t,i)=>{try{await e(t,i)}catch(e){i(e)}}))}}(w||(t.Promises=w={}));class L{get value(){return this._value}get error(){return this._error}get isResolved(){return this._isResolved}constructor(e){this._value=void 0,this._error=void 0,this._isResolved=!1,this.promise=e.then((e=>(this._value=e,this._isResolved=!0,e)),(e=>{throw this._error=e,this._isResolved=!0,e}))}requireValue(){if(!this._isResolved)throw new r.BugIndicatingError(\"Promise is not resolved yet\");if(this._error)throw this._error;return this._value}}t.StatefulPromise=L,t.LazyStatefulPromise=class{constructor(e){this._compute=e,this._promise=new h.Lazy((()=>new L(this._compute())))}requireValue(){return this._promise.value.requireValue()}getPromise(){return this._promise.value.promise}get currentValue(){return this._promise.rawValue?.value}},function(e){e[e.Initial=0]=\"Initial\",e[e.DoneOK=1]=\"DoneOK\",e[e.DoneError=2]=\"DoneError\"}(E||(E={}));class R{static fromArray(e){return new R((t=>{t.emitMany(e)}))}static fromPromise(e){return new R((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new R((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new R((async t=>{await Promise.all(e.map((async e=>{for await(const i of e)t.emitOne(i)})))}))}static{this.EMPTY=R.fromArray([])}constructor(e,t){this._state=E.Initial,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new n.Emitter,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(this._state===E.DoneError)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===E.DoneOK)return{done:!0,value:void 0};await n.Event.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new R((async i=>{for await(const s of e)i.emitOne(t(s))}))}map(e){return R.map(this,e)}static filter(e,t){return new R((async i=>{for await(const s of e)t(s)&&i.emitOne(s)}))}filter(e){return R.filter(this,e)}static coalesce(e){return R.filter(e,(e=>!!e))}coalesce(){return R.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return R.toPromise(this)}emitOne(e){this._state===E.Initial&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===E.Initial&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===E.Initial&&(this._state=E.DoneOK,this._onStateChanged.fire())}reject(e){this._state===E.Initial&&(this._state=E.DoneError,this._error=e,this._onStateChanged.fire())}}t.AsyncIterableObject=R;class A extends R{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}t.CancelableAsyncIterableObject=A,t.AsyncIterableSource=class{constructor(e){let t,i;this._deferred=new D,this._asyncIterable=new R((e=>{if(!t)return i&&e.emitMany(i),this._errorFn=t=>e.reject(t),this._emitFn=t=>e.emitOne(t),this._deferred.p;e.reject(t)}),e),this._emitFn=e=>{i||(i=[]),i.push(e)},this._errorFn=e=>{t||(t=e)}}get asyncIterable(){return this._asyncIterable}resolve(){this._deferred.complete()}reject(e){this._errorFn(e),this._deferred.complete()}emitOne(e){this._emitFn(e)}}},8447:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0,t.cancelOnDispose=function(e){const t=new a;return e.add({dispose(){t.cancel()}}),t.token};const s=i(802),r=Object.freeze((function(e,t){const i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}));var n;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof o||!(!t||\"object\"!=typeof t)&&\"boolean\"==typeof t.isCancellationRequested&&\"function\"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(n||(t.CancellationToken=n={}));class o{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?r:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class a{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token instanceof o&&this._token.cancel():this._token=n.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=n.None}}t.CancellationTokenSource=a},4869:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharCode=void 0,function(e){e[e.Null=0]=\"Null\",e[e.Backspace=8]=\"Backspace\",e[e.Tab=9]=\"Tab\",e[e.LineFeed=10]=\"LineFeed\",e[e.CarriageReturn=13]=\"CarriageReturn\",e[e.Space=32]=\"Space\",e[e.ExclamationMark=33]=\"ExclamationMark\",e[e.DoubleQuote=34]=\"DoubleQuote\",e[e.Hash=35]=\"Hash\",e[e.DollarSign=36]=\"DollarSign\",e[e.PercentSign=37]=\"PercentSign\",e[e.Ampersand=38]=\"Ampersand\",e[e.SingleQuote=39]=\"SingleQuote\",e[e.OpenParen=40]=\"OpenParen\",e[e.CloseParen=41]=\"CloseParen\",e[e.Asterisk=42]=\"Asterisk\",e[e.Plus=43]=\"Plus\",e[e.Comma=44]=\"Comma\",e[e.Dash=45]=\"Dash\",e[e.Period=46]=\"Period\",e[e.Slash=47]=\"Slash\",e[e.Digit0=48]=\"Digit0\",e[e.Digit1=49]=\"Digit1\",e[e.Digit2=50]=\"Digit2\",e[e.Digit3=51]=\"Digit3\",e[e.Digit4=52]=\"Digit4\",e[e.Digit5=53]=\"Digit5\",e[e.Digit6=54]=\"Digit6\",e[e.Digit7=55]=\"Digit7\",e[e.Digit8=56]=\"Digit8\",e[e.Digit9=57]=\"Digit9\",e[e.Colon=58]=\"Colon\",e[e.Semicolon=59]=\"Semicolon\",e[e.LessThan=60]=\"LessThan\",e[e.Equals=61]=\"Equals\",e[e.GreaterThan=62]=\"GreaterThan\",e[e.QuestionMark=63]=\"QuestionMark\",e[e.AtSign=64]=\"AtSign\",e[e.A=65]=\"A\",e[e.B=66]=\"B\",e[e.C=67]=\"C\",e[e.D=68]=\"D\",e[e.E=69]=\"E\",e[e.F=70]=\"F\",e[e.G=71]=\"G\",e[e.H=72]=\"H\",e[e.I=73]=\"I\",e[e.J=74]=\"J\",e[e.K=75]=\"K\",e[e.L=76]=\"L\",e[e.M=77]=\"M\",e[e.N=78]=\"N\",e[e.O=79]=\"O\",e[e.P=80]=\"P\",e[e.Q=81]=\"Q\",e[e.R=82]=\"R\",e[e.S=83]=\"S\",e[e.T=84]=\"T\",e[e.U=85]=\"U\",e[e.V=86]=\"V\",e[e.W=87]=\"W\",e[e.X=88]=\"X\",e[e.Y=89]=\"Y\",e[e.Z=90]=\"Z\",e[e.OpenSquareBracket=91]=\"OpenSquareBracket\",e[e.Backslash=92]=\"Backslash\",e[e.CloseSquareBracket=93]=\"CloseSquareBracket\",e[e.Caret=94]=\"Caret\",e[e.Underline=95]=\"Underline\",e[e.BackTick=96]=\"BackTick\",e[e.a=97]=\"a\",e[e.b=98]=\"b\",e[e.c=99]=\"c\",e[e.d=100]=\"d\",e[e.e=101]=\"e\",e[e.f=102]=\"f\",e[e.g=103]=\"g\",e[e.h=104]=\"h\",e[e.i=105]=\"i\",e[e.j=106]=\"j\",e[e.k=107]=\"k\",e[e.l=108]=\"l\",e[e.m=109]=\"m\",e[e.n=110]=\"n\",e[e.o=111]=\"o\",e[e.p=112]=\"p\",e[e.q=113]=\"q\",e[e.r=114]=\"r\",e[e.s=115]=\"s\",e[e.t=116]=\"t\",e[e.u=117]=\"u\",e[e.v=118]=\"v\",e[e.w=119]=\"w\",e[e.x=120]=\"x\",e[e.y=121]=\"y\",e[e.z=122]=\"z\",e[e.OpenCurlyBrace=123]=\"OpenCurlyBrace\",e[e.Pipe=124]=\"Pipe\",e[e.CloseCurlyBrace=125]=\"CloseCurlyBrace\",e[e.Tilde=126]=\"Tilde\",e[e.NoBreakSpace=160]=\"NoBreakSpace\",e[e.U_Combining_Grave_Accent=768]=\"U_Combining_Grave_Accent\",e[e.U_Combining_Acute_Accent=769]=\"U_Combining_Acute_Accent\",e[e.U_Combining_Circumflex_Accent=770]=\"U_Combining_Circumflex_Accent\",e[e.U_Combining_Tilde=771]=\"U_Combining_Tilde\",e[e.U_Combining_Macron=772]=\"U_Combining_Macron\",e[e.U_Combining_Overline=773]=\"U_Combining_Overline\",e[e.U_Combining_Breve=774]=\"U_Combining_Breve\",e[e.U_Combining_Dot_Above=775]=\"U_Combining_Dot_Above\",e[e.U_Combining_Diaeresis=776]=\"U_Combining_Diaeresis\",e[e.U_Combining_Hook_Above=777]=\"U_Combining_Hook_Above\",e[e.U_Combining_Ring_Above=778]=\"U_Combining_Ring_Above\",e[e.U_Combining_Double_Acute_Accent=779]=\"U_Combining_Double_Acute_Accent\",e[e.U_Combining_Caron=780]=\"U_Combining_Caron\",e[e.U_Combining_Vertical_Line_Above=781]=\"U_Combining_Vertical_Line_Above\",e[e.U_Combining_Double_Vertical_Line_Above=782]=\"U_Combining_Double_Vertical_Line_Above\",e[e.U_Combining_Double_Grave_Accent=783]=\"U_Combining_Double_Grave_Accent\",e[e.U_Combining_Candrabindu=784]=\"U_Combining_Candrabindu\",e[e.U_Combining_Inverted_Breve=785]=\"U_Combining_Inverted_Breve\",e[e.U_Combining_Turned_Comma_Above=786]=\"U_Combining_Turned_Comma_Above\",e[e.U_Combining_Comma_Above=787]=\"U_Combining_Comma_Above\",e[e.U_Combining_Reversed_Comma_Above=788]=\"U_Combining_Reversed_Comma_Above\",e[e.U_Combining_Comma_Above_Right=789]=\"U_Combining_Comma_Above_Right\",e[e.U_Combining_Grave_Accent_Below=790]=\"U_Combining_Grave_Accent_Below\",e[e.U_Combining_Acute_Accent_Below=791]=\"U_Combining_Acute_Accent_Below\",e[e.U_Combining_Left_Tack_Below=792]=\"U_Combining_Left_Tack_Below\",e[e.U_Combining_Right_Tack_Below=793]=\"U_Combining_Right_Tack_Below\",e[e.U_Combining_Left_Angle_Above=794]=\"U_Combining_Left_Angle_Above\",e[e.U_Combining_Horn=795]=\"U_Combining_Horn\",e[e.U_Combining_Left_Half_Ring_Below=796]=\"U_Combining_Left_Half_Ring_Below\",e[e.U_Combining_Up_Tack_Below=797]=\"U_Combining_Up_Tack_Below\",e[e.U_Combining_Down_Tack_Below=798]=\"U_Combining_Down_Tack_Below\",e[e.U_Combining_Plus_Sign_Below=799]=\"U_Combining_Plus_Sign_Below\",e[e.U_Combining_Minus_Sign_Below=800]=\"U_Combining_Minus_Sign_Below\",e[e.U_Combining_Palatalized_Hook_Below=801]=\"U_Combining_Palatalized_Hook_Below\",e[e.U_Combining_Retroflex_Hook_Below=802]=\"U_Combining_Retroflex_Hook_Below\",e[e.U_Combining_Dot_Below=803]=\"U_Combining_Dot_Below\",e[e.U_Combining_Diaeresis_Below=804]=\"U_Combining_Diaeresis_Below\",e[e.U_Combining_Ring_Below=805]=\"U_Combining_Ring_Below\",e[e.U_Combining_Comma_Below=806]=\"U_Combining_Comma_Below\",e[e.U_Combining_Cedilla=807]=\"U_Combining_Cedilla\",e[e.U_Combining_Ogonek=808]=\"U_Combining_Ogonek\",e[e.U_Combining_Vertical_Line_Below=809]=\"U_Combining_Vertical_Line_Below\",e[e.U_Combining_Bridge_Below=810]=\"U_Combining_Bridge_Below\",e[e.U_Combining_Inverted_Double_Arch_Below=811]=\"U_Combining_Inverted_Double_Arch_Below\",e[e.U_Combining_Caron_Below=812]=\"U_Combining_Caron_Below\",e[e.U_Combining_Circumflex_Accent_Below=813]=\"U_Combining_Circumflex_Accent_Below\",e[e.U_Combining_Breve_Below=814]=\"U_Combining_Breve_Below\",e[e.U_Combining_Inverted_Breve_Below=815]=\"U_Combining_Inverted_Breve_Below\",e[e.U_Combining_Tilde_Below=816]=\"U_Combining_Tilde_Below\",e[e.U_Combining_Macron_Below=817]=\"U_Combining_Macron_Below\",e[e.U_Combining_Low_Line=818]=\"U_Combining_Low_Line\",e[e.U_Combining_Double_Low_Line=819]=\"U_Combining_Double_Low_Line\",e[e.U_Combining_Tilde_Overlay=820]=\"U_Combining_Tilde_Overlay\",e[e.U_Combining_Short_Stroke_Overlay=821]=\"U_Combining_Short_Stroke_Overlay\",e[e.U_Combining_Long_Stroke_Overlay=822]=\"U_Combining_Long_Stroke_Overlay\",e[e.U_Combining_Short_Solidus_Overlay=823]=\"U_Combining_Short_Solidus_Overlay\",e[e.U_Combining_Long_Solidus_Overlay=824]=\"U_Combining_Long_Solidus_Overlay\",e[e.U_Combining_Right_Half_Ring_Below=825]=\"U_Combining_Right_Half_Ring_Below\",e[e.U_Combining_Inverted_Bridge_Below=826]=\"U_Combining_Inverted_Bridge_Below\",e[e.U_Combining_Square_Below=827]=\"U_Combining_Square_Below\",e[e.U_Combining_Seagull_Below=828]=\"U_Combining_Seagull_Below\",e[e.U_Combining_X_Above=829]=\"U_Combining_X_Above\",e[e.U_Combining_Vertical_Tilde=830]=\"U_Combining_Vertical_Tilde\",e[e.U_Combining_Double_Overline=831]=\"U_Combining_Double_Overline\",e[e.U_Combining_Grave_Tone_Mark=832]=\"U_Combining_Grave_Tone_Mark\",e[e.U_Combining_Acute_Tone_Mark=833]=\"U_Combining_Acute_Tone_Mark\",e[e.U_Combining_Greek_Perispomeni=834]=\"U_Combining_Greek_Perispomeni\",e[e.U_Combining_Greek_Koronis=835]=\"U_Combining_Greek_Koronis\",e[e.U_Combining_Greek_Dialytika_Tonos=836]=\"U_Combining_Greek_Dialytika_Tonos\",e[e.U_Combining_Greek_Ypogegrammeni=837]=\"U_Combining_Greek_Ypogegrammeni\",e[e.U_Combining_Bridge_Above=838]=\"U_Combining_Bridge_Above\",e[e.U_Combining_Equals_Sign_Below=839]=\"U_Combining_Equals_Sign_Below\",e[e.U_Combining_Double_Vertical_Line_Below=840]=\"U_Combining_Double_Vertical_Line_Below\",e[e.U_Combining_Left_Angle_Below=841]=\"U_Combining_Left_Angle_Below\",e[e.U_Combining_Not_Tilde_Above=842]=\"U_Combining_Not_Tilde_Above\",e[e.U_Combining_Homothetic_Above=843]=\"U_Combining_Homothetic_Above\",e[e.U_Combining_Almost_Equal_To_Above=844]=\"U_Combining_Almost_Equal_To_Above\",e[e.U_Combining_Left_Right_Arrow_Below=845]=\"U_Combining_Left_Right_Arrow_Below\",e[e.U_Combining_Upwards_Arrow_Below=846]=\"U_Combining_Upwards_Arrow_Below\",e[e.U_Combining_Grapheme_Joiner=847]=\"U_Combining_Grapheme_Joiner\",e[e.U_Combining_Right_Arrowhead_Above=848]=\"U_Combining_Right_Arrowhead_Above\",e[e.U_Combining_Left_Half_Ring_Above=849]=\"U_Combining_Left_Half_Ring_Above\",e[e.U_Combining_Fermata=850]=\"U_Combining_Fermata\",e[e.U_Combining_X_Below=851]=\"U_Combining_X_Below\",e[e.U_Combining_Left_Arrowhead_Below=852]=\"U_Combining_Left_Arrowhead_Below\",e[e.U_Combining_Right_Arrowhead_Below=853]=\"U_Combining_Right_Arrowhead_Below\",e[e.U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below=854]=\"U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below\",e[e.U_Combining_Right_Half_Ring_Above=855]=\"U_Combining_Right_Half_Ring_Above\",e[e.U_Combining_Dot_Above_Right=856]=\"U_Combining_Dot_Above_Right\",e[e.U_Combining_Asterisk_Below=857]=\"U_Combining_Asterisk_Below\",e[e.U_Combining_Double_Ring_Below=858]=\"U_Combining_Double_Ring_Below\",e[e.U_Combining_Zigzag_Above=859]=\"U_Combining_Zigzag_Above\",e[e.U_Combining_Double_Breve_Below=860]=\"U_Combining_Double_Breve_Below\",e[e.U_Combining_Double_Breve=861]=\"U_Combining_Double_Breve\",e[e.U_Combining_Double_Macron=862]=\"U_Combining_Double_Macron\",e[e.U_Combining_Double_Macron_Below=863]=\"U_Combining_Double_Macron_Below\",e[e.U_Combining_Double_Tilde=864]=\"U_Combining_Double_Tilde\",e[e.U_Combining_Double_Inverted_Breve=865]=\"U_Combining_Double_Inverted_Breve\",e[e.U_Combining_Double_Rightwards_Arrow_Below=866]=\"U_Combining_Double_Rightwards_Arrow_Below\",e[e.U_Combining_Latin_Small_Letter_A=867]=\"U_Combining_Latin_Small_Letter_A\",e[e.U_Combining_Latin_Small_Letter_E=868]=\"U_Combining_Latin_Small_Letter_E\",e[e.U_Combining_Latin_Small_Letter_I=869]=\"U_Combining_Latin_Small_Letter_I\",e[e.U_Combining_Latin_Small_Letter_O=870]=\"U_Combining_Latin_Small_Letter_O\",e[e.U_Combining_Latin_Small_Letter_U=871]=\"U_Combining_Latin_Small_Letter_U\",e[e.U_Combining_Latin_Small_Letter_C=872]=\"U_Combining_Latin_Small_Letter_C\",e[e.U_Combining_Latin_Small_Letter_D=873]=\"U_Combining_Latin_Small_Letter_D\",e[e.U_Combining_Latin_Small_Letter_H=874]=\"U_Combining_Latin_Small_Letter_H\",e[e.U_Combining_Latin_Small_Letter_M=875]=\"U_Combining_Latin_Small_Letter_M\",e[e.U_Combining_Latin_Small_Letter_R=876]=\"U_Combining_Latin_Small_Letter_R\",e[e.U_Combining_Latin_Small_Letter_T=877]=\"U_Combining_Latin_Small_Letter_T\",e[e.U_Combining_Latin_Small_Letter_V=878]=\"U_Combining_Latin_Small_Letter_V\",e[e.U_Combining_Latin_Small_Letter_X=879]=\"U_Combining_Latin_Small_Letter_X\",e[e.LINE_SEPARATOR=8232]=\"LINE_SEPARATOR\",e[e.PARAGRAPH_SEPARATOR=8233]=\"PARAGRAPH_SEPARATOR\",e[e.NEXT_LINE=133]=\"NEXT_LINE\",e[e.U_CIRCUMFLEX=94]=\"U_CIRCUMFLEX\",e[e.U_GRAVE_ACCENT=96]=\"U_GRAVE_ACCENT\",e[e.U_DIAERESIS=168]=\"U_DIAERESIS\",e[e.U_MACRON=175]=\"U_MACRON\",e[e.U_ACUTE_ACCENT=180]=\"U_ACUTE_ACCENT\",e[e.U_CEDILLA=184]=\"U_CEDILLA\",e[e.U_MODIFIER_LETTER_LEFT_ARROWHEAD=706]=\"U_MODIFIER_LETTER_LEFT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_RIGHT_ARROWHEAD=707]=\"U_MODIFIER_LETTER_RIGHT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_UP_ARROWHEAD=708]=\"U_MODIFIER_LETTER_UP_ARROWHEAD\",e[e.U_MODIFIER_LETTER_DOWN_ARROWHEAD=709]=\"U_MODIFIER_LETTER_DOWN_ARROWHEAD\",e[e.U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING=722]=\"U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING\",e[e.U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING=723]=\"U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING\",e[e.U_MODIFIER_LETTER_UP_TACK=724]=\"U_MODIFIER_LETTER_UP_TACK\",e[e.U_MODIFIER_LETTER_DOWN_TACK=725]=\"U_MODIFIER_LETTER_DOWN_TACK\",e[e.U_MODIFIER_LETTER_PLUS_SIGN=726]=\"U_MODIFIER_LETTER_PLUS_SIGN\",e[e.U_MODIFIER_LETTER_MINUS_SIGN=727]=\"U_MODIFIER_LETTER_MINUS_SIGN\",e[e.U_BREVE=728]=\"U_BREVE\",e[e.U_DOT_ABOVE=729]=\"U_DOT_ABOVE\",e[e.U_RING_ABOVE=730]=\"U_RING_ABOVE\",e[e.U_OGONEK=731]=\"U_OGONEK\",e[e.U_SMALL_TILDE=732]=\"U_SMALL_TILDE\",e[e.U_DOUBLE_ACUTE_ACCENT=733]=\"U_DOUBLE_ACUTE_ACCENT\",e[e.U_MODIFIER_LETTER_RHOTIC_HOOK=734]=\"U_MODIFIER_LETTER_RHOTIC_HOOK\",e[e.U_MODIFIER_LETTER_CROSS_ACCENT=735]=\"U_MODIFIER_LETTER_CROSS_ACCENT\",e[e.U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR=741]=\"U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR\",e[e.U_MODIFIER_LETTER_HIGH_TONE_BAR=742]=\"U_MODIFIER_LETTER_HIGH_TONE_BAR\",e[e.U_MODIFIER_LETTER_MID_TONE_BAR=743]=\"U_MODIFIER_LETTER_MID_TONE_BAR\",e[e.U_MODIFIER_LETTER_LOW_TONE_BAR=744]=\"U_MODIFIER_LETTER_LOW_TONE_BAR\",e[e.U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR=745]=\"U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR\",e[e.U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK=746]=\"U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK\",e[e.U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK=747]=\"U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK\",e[e.U_MODIFIER_LETTER_UNASPIRATED=749]=\"U_MODIFIER_LETTER_UNASPIRATED\",e[e.U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD=751]=\"U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_UP_ARROWHEAD=752]=\"U_MODIFIER_LETTER_LOW_UP_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD=753]=\"U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD=754]=\"U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD\",e[e.U_MODIFIER_LETTER_LOW_RING=755]=\"U_MODIFIER_LETTER_LOW_RING\",e[e.U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT=756]=\"U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT\",e[e.U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT=757]=\"U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT\",e[e.U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT=758]=\"U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT\",e[e.U_MODIFIER_LETTER_LOW_TILDE=759]=\"U_MODIFIER_LETTER_LOW_TILDE\",e[e.U_MODIFIER_LETTER_RAISED_COLON=760]=\"U_MODIFIER_LETTER_RAISED_COLON\",e[e.U_MODIFIER_LETTER_BEGIN_HIGH_TONE=761]=\"U_MODIFIER_LETTER_BEGIN_HIGH_TONE\",e[e.U_MODIFIER_LETTER_END_HIGH_TONE=762]=\"U_MODIFIER_LETTER_END_HIGH_TONE\",e[e.U_MODIFIER_LETTER_BEGIN_LOW_TONE=763]=\"U_MODIFIER_LETTER_BEGIN_LOW_TONE\",e[e.U_MODIFIER_LETTER_END_LOW_TONE=764]=\"U_MODIFIER_LETTER_END_LOW_TONE\",e[e.U_MODIFIER_LETTER_SHELF=765]=\"U_MODIFIER_LETTER_SHELF\",e[e.U_MODIFIER_LETTER_OPEN_SHELF=766]=\"U_MODIFIER_LETTER_OPEN_SHELF\",e[e.U_MODIFIER_LETTER_LOW_LEFT_ARROW=767]=\"U_MODIFIER_LETTER_LOW_LEFT_ARROW\",e[e.U_GREEK_LOWER_NUMERAL_SIGN=885]=\"U_GREEK_LOWER_NUMERAL_SIGN\",e[e.U_GREEK_TONOS=900]=\"U_GREEK_TONOS\",e[e.U_GREEK_DIALYTIKA_TONOS=901]=\"U_GREEK_DIALYTIKA_TONOS\",e[e.U_GREEK_KORONIS=8125]=\"U_GREEK_KORONIS\",e[e.U_GREEK_PSILI=8127]=\"U_GREEK_PSILI\",e[e.U_GREEK_PERISPOMENI=8128]=\"U_GREEK_PERISPOMENI\",e[e.U_GREEK_DIALYTIKA_AND_PERISPOMENI=8129]=\"U_GREEK_DIALYTIKA_AND_PERISPOMENI\",e[e.U_GREEK_PSILI_AND_VARIA=8141]=\"U_GREEK_PSILI_AND_VARIA\",e[e.U_GREEK_PSILI_AND_OXIA=8142]=\"U_GREEK_PSILI_AND_OXIA\",e[e.U_GREEK_PSILI_AND_PERISPOMENI=8143]=\"U_GREEK_PSILI_AND_PERISPOMENI\",e[e.U_GREEK_DASIA_AND_VARIA=8157]=\"U_GREEK_DASIA_AND_VARIA\",e[e.U_GREEK_DASIA_AND_OXIA=8158]=\"U_GREEK_DASIA_AND_OXIA\",e[e.U_GREEK_DASIA_AND_PERISPOMENI=8159]=\"U_GREEK_DASIA_AND_PERISPOMENI\",e[e.U_GREEK_DIALYTIKA_AND_VARIA=8173]=\"U_GREEK_DIALYTIKA_AND_VARIA\",e[e.U_GREEK_DIALYTIKA_AND_OXIA=8174]=\"U_GREEK_DIALYTIKA_AND_OXIA\",e[e.U_GREEK_VARIA=8175]=\"U_GREEK_VARIA\",e[e.U_GREEK_OXIA=8189]=\"U_GREEK_OXIA\",e[e.U_GREEK_DASIA=8190]=\"U_GREEK_DASIA\",e[e.U_IDEOGRAPHIC_FULL_STOP=12290]=\"U_IDEOGRAPHIC_FULL_STOP\",e[e.U_LEFT_CORNER_BRACKET=12300]=\"U_LEFT_CORNER_BRACKET\",e[e.U_RIGHT_CORNER_BRACKET=12301]=\"U_RIGHT_CORNER_BRACKET\",e[e.U_LEFT_BLACK_LENTICULAR_BRACKET=12304]=\"U_LEFT_BLACK_LENTICULAR_BRACKET\",e[e.U_RIGHT_BLACK_LENTICULAR_BRACKET=12305]=\"U_RIGHT_BLACK_LENTICULAR_BRACKET\",e[e.U_OVERLINE=8254]=\"U_OVERLINE\",e[e.UTF8_BOM=65279]=\"UTF8_BOM\",e[e.U_FULLWIDTH_SEMICOLON=65307]=\"U_FULLWIDTH_SEMICOLON\",e[e.U_FULLWIDTH_COMMA=65292]=\"U_FULLWIDTH_COMMA\"}(i||(t.CharCode=i={}))},9087:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SetWithKey=void 0,t.groupBy=function(e,t){const i=Object.create(null);for(const s of e){const e=t(s);let r=i[e];r||(r=i[e]=[]),r.push(s)}return i},t.diffSets=function(e,t){const i=[],s=[];for(const s of e)t.has(s)||i.push(s);for(const i of t)e.has(i)||s.push(i);return{removed:i,added:s}},t.diffMaps=function(e,t){const i=[],s=[];for(const[s,r]of e)t.has(s)||i.push(r);for(const[i,r]of t)e.has(i)||s.push(r);return{removed:i,added:s}},t.intersection=function(e,t){const i=new Set;for(const s of t)e.has(s)&&i.add(s);return i};class s{static{i=Symbol.toStringTag}constructor(e,t){this.toKey=t,this._map=new Map,this[i]=\"SetWithKey\";for(const t of e)this.add(t)}get size(){return this._map.size}add(e){const t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(const e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(const e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach((i=>e.call(t,i,i,this)))}[Symbol.iterator](){return this.values()}}t.SetWithKey=s},4838:(e,t)=>{function i(e){return(t,i,s)=>{let r=null,n=null;if(\"function\"==typeof s.value?(r=\"value\",n=s.value):\"function\"==typeof s.get&&(r=\"get\",n=s.get),!n)throw new Error(\"not supported\");s[r]=e(n,i)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.memoize=function(e,t,i){let s=null,r=null;if(\"function\"==typeof i.value?(s=\"value\",r=i.value,0!==r.length&&console.warn(\"Memoize should only be used in functions with zero parameters\")):\"function\"==typeof i.get&&(s=\"get\",r=i.get),!r)throw new Error(\"not supported\");const n=`$memoize$${t}`;i[s]=function(...e){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,e)}),this[n]}},t.debounce=function(e,t,s){return i(((i,r)=>{const n=`$debounce$${r}`,o=`$debounce$result$${r}`;return function(...r){this[o]||(this[o]=s?s():void 0),clearTimeout(this[n]),t&&(this[o]=t(this[o],...r),r=[this[o]]),this[n]=setTimeout((()=>{i.apply(this,r),this[o]=s?s():void 0}),e)}}))},t.throttle=function(e,t,s){return i(((i,r)=>{const n=`$throttle$timer$${r}`,o=`$throttle$result$${r}`,a=`$throttle$lastRun$${r}`,l=`$throttle$pending$${r}`;return function(...r){if(this[o]||(this[o]=s?s():void 0),null!==this[a]&&void 0!==this[a]||(this[a]=-Number.MAX_VALUE),t&&(this[o]=t(this[o],...r)),this[l])return;const h=this[a]+e;h<=Date.now()?(this[a]=Date.now(),i.apply(this,[this[o]]),this[o]=s?s():void 0):(this[l]=!0,this[n]=setTimeout((()=>{this[l]=!1,this[a]=Date.now(),i.apply(this,[this[o]]),this[o]=s?s():void 0}),h-Date.now()))}}))}},9807:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BugIndicatingError=t.ErrorNoTelemetry=t.ExpectedError=t.NotSupportedError=t.NotImplementedError=t.ReadonlyError=t.CancellationError=t.errorHandler=t.ErrorHandler=void 0,t.setUnexpectedErrorHandler=function(e){t.errorHandler.setUnexpectedErrorHandler(e)},t.isSigPipeError=function(e){if(!e||\"object\"!=typeof e)return!1;const t=e;return\"EPIPE\"===t.code&&\"WRITE\"===t.syscall?.toUpperCase()},t.onUnexpectedError=function(e){r(e)||t.errorHandler.onUnexpectedError(e)},t.onUnexpectedExternalError=function(e){r(e)||t.errorHandler.onUnexpectedExternalError(e)},t.transformErrorForSerialization=function(e){if(e instanceof Error){const{name:t,message:i}=e;return{$isError:!0,name:t,message:i,stack:e.stacktrace||e.stack,noTelemetry:c.isErrorNoTelemetry(e)}}return e},t.transformErrorFromSerialization=function(e){let t;return e.noTelemetry?t=new c:(t=new Error,t.name=e.name),t.message=e.message,t.stack=e.stack,t},t.isCancellationError=r,t.canceled=function(){const e=new Error(s);return e.name=e.message,e},t.illegalArgument=function(e){return e?new Error(`Illegal argument: ${e}`):new Error(\"Illegal argument\")},t.illegalState=function(e){return e?new Error(`Illegal state: ${e}`):new Error(\"Illegal state\")},t.getErrorMessage=function(e){return e?e.message?e.message:e.stack?e.stack.split(\"\\n\")[0]:String(e):\"Error\"};class i{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(c.isErrorNoTelemetry(e))throw new c(e.message+\"\\n\\n\"+e.stack);throw new Error(e.message+\"\\n\\n\"+e.stack)}throw e}),0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach((t=>{t(e)}))}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}t.ErrorHandler=i,t.errorHandler=new i;const s=\"Canceled\";function r(e){return e instanceof n||e instanceof Error&&e.name===s&&e.message===s}class n extends Error{constructor(){super(s),this.name=this.message}}t.CancellationError=n;class o extends TypeError{constructor(e){super(e?`${e} is read-only and cannot be changed`:\"Cannot change read-only property\")}}t.ReadonlyError=o;class a extends Error{constructor(e){super(\"NotImplemented\"),e&&(this.message=e)}}t.NotImplementedError=a;class l extends Error{constructor(e){super(\"NotSupported\"),e&&(this.message=e)}}t.NotSupportedError=l;class h extends Error{constructor(){super(...arguments),this.isExpected=!0}}t.ExpectedError=h;class c extends Error{constructor(e){super(e),this.name=\"CodeExpectedError\"}static fromError(e){if(e instanceof c)return e;const t=new c;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return\"CodeExpectedError\"===e.name}}t.ErrorNoTelemetry=c;class d extends Error{constructor(e){super(e||\"An unexpected bug occurred.\"),Object.setPrototypeOf(this,d.prototype)}}t.BugIndicatingError=d},802:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ValueWithChangeEvent=t.Relay=t.EventBufferer=t.DynamicListEventMultiplexer=t.EventMultiplexer=t.MicrotaskEmitter=t.DebounceEmitter=t.PauseableEmitter=t.AsyncEmitter=t.createEventDeliveryQueue=t.Emitter=t.ListenerRefusalError=t.ListenerLeakError=t.EventProfiling=t.Event=void 0,t.setGlobalLeakWarningThreshold=function(e){const t=c;return c=e,{dispose(){c=t}}};const s=i(9807),r=i(8841),n=i(7150),o=i(6317),a=i(9725);var l;!function(e){function t(e){return(t,i=null,s)=>{let r,n=!1;return r=e((e=>{if(!n)return r?r.dispose():n=!0,t.call(i,e)}),null,s),n&&r.dispose(),r}}function i(e,t,i){return r(((i,s=null,r)=>e((e=>i.call(s,t(e))),null,r)),i)}function s(e,t,i){return r(((i,s=null,r)=>e((e=>t(e)&&i.call(s,e)),null,r)),i)}function r(e,t){let i;const s=new m({onWillAddFirstListener(){i=e(s.fire,s)},onDidRemoveLastListener(){i?.dispose()}});return t?.add(s),s.event}function o(e,t,i=100,s=!1,r=!1,n,o){let a,l,h,c,d=0;const u=new m({leakWarningThreshold:n,onWillAddFirstListener(){a=e((e=>{d++,l=t(l,e),s&&!h&&(u.fire(l),l=void 0),c=()=>{const e=l;l=void 0,h=void 0,(!s||d>1)&&u.fire(e),d=0},\"number\"==typeof i?(clearTimeout(h),h=setTimeout(c,i)):void 0===h&&(h=0,queueMicrotask(c))}))},onWillRemoveListener(){r&&d>0&&c?.()},onDidRemoveLastListener(){c=void 0,a.dispose()}});return o?.add(u),u.event}e.None=()=>n.Disposable.None,e.defer=function(e,t){return o(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=i,e.forEach=function(e,t,i){return r(((i,s=null,r)=>e((e=>{t(e),i.call(s,e)}),null,r)),i)},e.filter=s,e.signal=function(e){return e},e.any=function(...e){return(t,i=null,s)=>{return r=(0,n.combinedDisposable)(...e.map((e=>e((e=>t.call(i,e)))))),(o=s)instanceof Array?o.push(r):o&&o.add(r),r;var r,o}},e.reduce=function(e,t,s,r){let n=s;return i(e,(e=>(n=t(n,e),n)),r)},e.debounce=o,e.accumulate=function(t,i=0,s){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),i,void 0,!0,void 0,s)},e.latch=function(e,t=(e,t)=>e===t,i){let r,n=!0;return s(e,(e=>{const i=n||!t(e,r);return n=!1,r=e,i}),i)},e.split=function(t,i,s){return[e.filter(t,i,s),e.filter(t,(e=>!i(e)),s)]},e.buffer=function(e,t=!1,i=[],s){let r=i.slice(),n=e((e=>{r?r.push(e):a.fire(e)}));s&&s.add(n);const o=()=>{r?.forEach((e=>a.fire(e))),r=null},a=new m({onWillAddFirstListener(){n||(n=e((e=>a.fire(e))),s&&s.add(n))},onDidAddFirstListener(){r&&(t?setTimeout(o):o())},onDidRemoveLastListener(){n&&n.dispose(),n=null}});return s&&s.add(a),a.event},e.chain=function(e,t){return(i,s,r)=>{const n=t(new l);return e((function(e){const t=n.evaluate(e);t!==a&&i.call(s,t)}),void 0,r)}};const a=Symbol(\"HaltChainable\");class l{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:a)),this}reduce(e,t){let i=t;return this.steps.push((t=>(i=e(i,t),i))),this}latch(e=(e,t)=>e===t){let t,i=!0;return this.steps.push((s=>{const r=i||!e(s,t);return i=!1,t=s,r?s:a})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===a)break;return e}}e.fromNodeEventEmitter=function(e,t,i=e=>e){const s=(...e)=>r.fire(i(...e)),r=new m({onWillAddFirstListener:()=>e.on(t,s),onDidRemoveLastListener:()=>e.removeListener(t,s)});return r.event},e.fromDOMEventEmitter=function(e,t,i=e=>e){const s=(...e)=>r.fire(i(...e)),r=new m({onWillAddFirstListener:()=>e.addEventListener(t,s),onDidRemoveLastListener:()=>e.removeEventListener(t,s)});return r.event},e.toPromise=function(e){return new Promise((i=>t(e)(i)))},e.fromPromise=function(e){const t=new m;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.forward=function(e,t){return e((e=>t.fire(e)))},e.runAndSubscribe=function(e,t,i){return t(i),e((e=>t(e)))};class h{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const i={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new m(i),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new h(e,t).emitter.event},e.fromObservableLight=function(e){return(t,i,s)=>{let r=0,o=!1;const a={beginUpdate(){r++},endUpdate(){r--,0===r&&(e.reportChanges(),o&&(o=!1,t.call(i)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const l={dispose(){e.removeObserver(a)}};return s instanceof n.DisposableStore?s.add(l):Array.isArray(s)&&s.push(l),l}}}(l||(t.Event=l={}));class h{static{this.all=new Set}static{this._idPool=0}constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${h._idPool++}`,h.all.add(this)}start(e){this._stopWatch=new a.StopWatch,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}t.EventProfiling=h;let c=-1;class d{static{this._idPool=1}constructor(e,t,i=(d._idPool++).toString(16).padStart(3,\"0\")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){const i=this.threshold;if(i<=0||t<i)return;this._stacks||(this._stacks=new Map);const s=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,s+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*i;const[e,s]=this.getMostFrequentStack(),r=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${s}):`;console.warn(r),console.warn(e);const n=new _(r,e);this._errorHandler(n)}return()=>{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,s]of this._stacks)(!e||t<s)&&(e=[i,s],t=s);return e}}class u{static create(){const e=new Error;return new u(e.stack??\"\")}constructor(e){this.value=e}print(){console.warn(this.value.split(\"\\n\").slice(2).join(\"\\n\"))}}class _ extends Error{constructor(e,t){super(e),this.name=\"ListenerLeakError\",this.stack=t}}t.ListenerLeakError=_;class f extends Error{constructor(e,t){super(e),this.name=\"ListenerRefusalError\",this.stack=t}}t.ListenerRefusalError=f;let p=0;class g{constructor(e){this.value=e,this.id=p++}}class m{constructor(e){this._size=0,this._options=e,this._leakageMon=c>0||this._options?.leakWarningThreshold?new d(e?.onListenerError??s.onUnexpectedError,this._options?.leakWarningThreshold??c):void 0,this._perfMon=this._options?._profName?new h(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);const t=this._leakageMon.getMostFrequentStack()??[\"UNKNOWN stack\",-1],i=new f(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||s.onUnexpectedError)(i),n.Disposable.None}if(this._disposed)return n.Disposable.None;t&&(e=e.bind(t));const r=new g(e);let o;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(r.stack=u.create(),o=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof g?(this._deliveryQueue??=new v,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=(0,n.toDisposable)((()=>{o?.(),this._removeListener(r)}));return i instanceof n.DisposableStore?i.add(a):Array.isArray(i)&&i.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),void(this._size=0);const t=this._listeners,i=t.indexOf(e);if(-1===i)throw console.log(\"disposed?\",this._disposed),console.log(\"size?\",this._size),console.log(\"arr?\",JSON.stringify(this._listeners)),new Error(\"Attempted to dispose unknown listener\");this._size--,t[i]=void 0;const s=this._deliveryQueue.current===this;if(2*this._size<=t.length){let e=0;for(let i=0;i<t.length;i++)t[i]?t[e++]=t[i]:s&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;const i=this._options?.onListenerError||s.onUnexpectedError;if(i)try{e.value(t)}catch(e){i(e)}else e.value(t)}_deliverQueue(e){const t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof g)this._deliver(this._listeners,e);else{const t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}}t.Emitter=m,t.createEventDeliveryQueue=()=>new v;class v{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}t.AsyncEmitter=class extends m{async fireAsync(e,t,i){if(this._listeners)for(this._asyncDeliveryQueue||(this._asyncDeliveryQueue=new o.LinkedList),((e,t)=>{if(e instanceof g)t(e);else for(let i=0;i<e.length;i++){const s=e[i];s&&t(s)}})(this._listeners,(t=>this._asyncDeliveryQueue.push([t.value,e])));this._asyncDeliveryQueue.size>0&&!t.isCancellationRequested;){const[e,r]=this._asyncDeliveryQueue.shift(),n=[],o={...r,token:t,waitUntil:t=>{if(Object.isFrozen(n))throw new Error(\"waitUntil can NOT be called asynchronous\");i&&(t=i(t,e)),n.push(t)}};try{e(o)}catch(e){(0,s.onUnexpectedError)(e);continue}Object.freeze(n),await Promise.allSettled(n).then((e=>{for(const t of e)\"rejected\"===t.status&&(0,s.onUnexpectedError)(t.reason)}))}}};class S extends m{get isPaused(){return 0!==this._isPaused}constructor(e){super(e),this._isPaused=0,this._eventQueue=new o.LinkedList,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}t.PauseableEmitter=S,t.DebounceEmitter=class extends S{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}},t.MicrotaskEmitter=class extends m{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}};class b{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new m({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),(0,n.toDisposable)((0,r.createSingleCallFunction)((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(const e of this.events)e.listener?.dispose();this.events=[]}}t.EventMultiplexer=b,t.DynamicListEventMultiplexer=class{constructor(e,t,i,s){this._store=new n.DisposableStore;const r=this._store.add(new b),o=this._store.add(new n.DisposableMap);function a(e){o.set(e,r.add(s(e)))}for(const t of e)a(t);this._store.add(t((e=>{a(e)}))),this._store.add(i((e=>{o.deleteAndDispose(e)}))),this.event=r.event}dispose(){this._store.dispose()}},t.EventBufferer=class{constructor(){this.data=[]}wrapEvent(e,t,i){return(s,r,n)=>e((e=>{const n=this.data[this.data.length-1];if(!t)return void(n?n.buffers.push((()=>s.call(r,e))):s.call(r,e));const o=n;o?(o.items??=[],o.items.push(e),0===o.buffers.length&&n.buffers.push((()=>{o.reducedResult??=i?o.items.reduce(t,i):o.items.reduce(t),s.call(r,o.reducedResult)}))):s.call(r,t(i,e))}),void 0,n)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach((e=>e())),i}},t.Relay=class{constructor(){this.listening=!1,this.inputEvent=l.None,this.inputEventListener=n.Disposable.None,this.emitter=new m({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}},t.ValueWithChangeEvent=class{static const(e){return new C(e)}constructor(e){this._value=e,this._onDidChange=new m,this.onDidChange=this._onDidChange.event}get value(){return this._value}set value(e){e!==this._value&&(this._value=e,this._onDidChange.fire(void 0))}};class C{constructor(e){this.value=e,this.onDidChange=l.None}}},8841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSingleCallFunction=function(e,t){const i=this;let s,r=!1;return function(){if(r)return s;if(r=!0,t)try{s=e.apply(i,arguments)}finally{t()}else s=e.apply(i,arguments);return s}}},6304:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,s,r)}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&s(t,e,i);return r(t,e),t};Object.defineProperty(t,\"__esModule\",{value:!0}),t.StringSHA1=t.Hasher=void 0,t.hash=function(e){return a(e,0)},t.doHash=a,t.numberHash=l,t.stringHash=h,t.toHexString=_;const o=n(i(1316));function a(e,t){switch(typeof e){case\"object\":return null===e?l(349,t):Array.isArray(e)?(i=e,s=l(104579,s=t),i.reduce(((e,t)=>a(t,e)),s)):function(e,t){return t=l(181387,t),Object.keys(e).sort().reduce(((t,i)=>(t=h(i,t),a(e[i],t))),t)}(e,t);case\"string\":return h(e,t);case\"boolean\":return function(e,t){return l(e?433:863,t)}(e,t);case\"number\":return l(e,t);case\"undefined\":return l(937,t);default:return l(617,t)}var i,s}function l(e,t){return(t<<5)-t+e|0}function h(e,t){t=l(149417,t);for(let i=0,s=e.length;i<s;i++)t=l(e.charCodeAt(i),t);return t}var c;function d(e,t,i=32){const s=i-t;return(e<<t|(~((1<<s)-1)&e)>>>s)>>>0}function u(e,t=0,i=e.byteLength,s=0){for(let r=0;r<i;r++)e[t+r]=s}function _(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((e=>e.toString(16).padStart(2,\"0\"))).join(\"\"):function(e,t,i=\"0\"){for(;e.length<t;)e=i+e;return e}((e>>>0).toString(16),t/4)}t.Hasher=class{constructor(){this._value=0}get value(){return this._value}hash(e){return this._value=a(e,this._value),this._value}},function(e){e[e.BLOCK_SIZE=64]=\"BLOCK_SIZE\",e[e.UNICODE_REPLACEMENT=65533]=\"UNICODE_REPLACEMENT\"}(c||(c={}));class f{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(c.BLOCK_SIZE+3),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const i=this._buff;let s,r,n=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(s=a,r=-1,a=0):(s=e.charCodeAt(0),r=0);;){let l=s;if(o.isHighSurrogate(s)){if(!(r+1<t)){a=s;break}{const t=e.charCodeAt(r+1);o.isLowSurrogate(t)?(r++,l=o.computeCodePoint(s,t)):l=c.UNICODE_REPLACEMENT}}else o.isLowSurrogate(s)&&(l=c.UNICODE_REPLACEMENT);if(n=this._push(i,n,l),r++,!(r<t))break;s=e.charCodeAt(r)}this._buffLen=n,this._leftoverHighSurrogate=a}_push(e,t,i){return i<128?e[t++]=i:i<2048?(e[t++]=192|(1984&i)>>>6,e[t++]=128|(63&i)>>>0):i<65536?(e[t++]=224|(61440&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0):(e[t++]=240|(1835008&i)>>>18,e[t++]=128|(258048&i)>>>12,e[t++]=128|(4032&i)>>>6,e[t++]=128|(63&i)>>>0),t>=c.BLOCK_SIZE&&(this._step(),t-=c.BLOCK_SIZE,this._totalLen+=c.BLOCK_SIZE,e[0]=e[c.BLOCK_SIZE+0],e[1]=e[c.BLOCK_SIZE+1],e[2]=e[c.BLOCK_SIZE+2]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,c.UNICODE_REPLACEMENT)),this._totalLen+=this._buffLen,this._wrapUp()),_(this._h0)+_(this._h1)+_(this._h2)+_(this._h3)+_(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,u(this._buff,this._buffLen),this._buffLen>56&&(this._step(),u(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=f._bigBlock32,t=this._buffDV;for(let i=0;i<64;i+=4)e.setUint32(i,t.getUint32(i,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,d(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let i,s,r,n=this._h0,o=this._h1,a=this._h2,l=this._h3,h=this._h4;for(let t=0;t<80;t++)t<20?(i=o&a|~o&l,s=1518500249):t<40?(i=o^a^l,s=1859775393):t<60?(i=o&a|o&l|a&l,s=2400959708):(i=o^a^l,s=3395469782),r=d(n,5)+i+h+s+e.getUint32(4*t,!1)&4294967295,h=l,l=a,a=d(o,30),o=n,n=r;this._h0=this._h0+n&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+h&4294967295}}t.StringSHA1=f},4218:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.Iterable=void 0,function(e){function t(e){return e&&\"object\"==typeof e&&\"function\"==typeof e[Symbol.iterator]}e.is=t;const i=Object.freeze([]);function*s(e){yield e}e.empty=function(){return i},e.single=s,e.wrap=function(e){return t(e)?e:s(e)},e.from=function(e){return e||i},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){let i=0;for(const s of e)if(t(s,i++))return!0;return!1},e.find=function(e,t){for(const i of e)if(t(i))return i},e.filter=function*(e,t){for(const i of e)t(i)&&(yield i)},e.map=function*(e,t){let i=0;for(const s of e)yield t(s,i++)},e.flatMap=function*(e,t){let i=0;for(const s of e)yield*t(s,i++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,i){let s=i;for(const i of e)s=t(s,i);return s},e.slice=function*(e,t,i=e.length){for(t<0&&(t+=e.length),i<0?i+=e.length:i>e.length&&(i=e.length);t<i;t++)yield e[t]},e.consume=function(t,i=Number.POSITIVE_INFINITY){const s=[];if(0===i)return[s,t];const r=t[Symbol.iterator]();for(let t=0;t<i;t++){const t=r.next();if(t.done)return[s,e.empty()];s.push(t.value)}return[s,{[Symbol.iterator]:()=>r}]},e.asyncToArray=async function(e){const t=[];for await(const i of e)t.push(i);return Promise.resolve(t)}}(i||(t.Iterable=i={}))},7883:(e,t)=>{var i,s;Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyMod=t.KeyCodeUtils=t.ScanCodeUtils=t.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE=t.EVENT_KEY_CODE_MAP=t.ScanCode=t.KeyCode=void 0,t.KeyChord=function(e,t){return(e|(65535&t)<<16>>>0)>>>0},function(e){e[e.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",e[e.Unknown=0]=\"Unknown\",e[e.Backspace=1]=\"Backspace\",e[e.Tab=2]=\"Tab\",e[e.Enter=3]=\"Enter\",e[e.Shift=4]=\"Shift\",e[e.Ctrl=5]=\"Ctrl\",e[e.Alt=6]=\"Alt\",e[e.PauseBreak=7]=\"PauseBreak\",e[e.CapsLock=8]=\"CapsLock\",e[e.Escape=9]=\"Escape\",e[e.Space=10]=\"Space\",e[e.PageUp=11]=\"PageUp\",e[e.PageDown=12]=\"PageDown\",e[e.End=13]=\"End\",e[e.Home=14]=\"Home\",e[e.LeftArrow=15]=\"LeftArrow\",e[e.UpArrow=16]=\"UpArrow\",e[e.RightArrow=17]=\"RightArrow\",e[e.DownArrow=18]=\"DownArrow\",e[e.Insert=19]=\"Insert\",e[e.Delete=20]=\"Delete\",e[e.Digit0=21]=\"Digit0\",e[e.Digit1=22]=\"Digit1\",e[e.Digit2=23]=\"Digit2\",e[e.Digit3=24]=\"Digit3\",e[e.Digit4=25]=\"Digit4\",e[e.Digit5=26]=\"Digit5\",e[e.Digit6=27]=\"Digit6\",e[e.Digit7=28]=\"Digit7\",e[e.Digit8=29]=\"Digit8\",e[e.Digit9=30]=\"Digit9\",e[e.KeyA=31]=\"KeyA\",e[e.KeyB=32]=\"KeyB\",e[e.KeyC=33]=\"KeyC\",e[e.KeyD=34]=\"KeyD\",e[e.KeyE=35]=\"KeyE\",e[e.KeyF=36]=\"KeyF\",e[e.KeyG=37]=\"KeyG\",e[e.KeyH=38]=\"KeyH\",e[e.KeyI=39]=\"KeyI\",e[e.KeyJ=40]=\"KeyJ\",e[e.KeyK=41]=\"KeyK\",e[e.KeyL=42]=\"KeyL\",e[e.KeyM=43]=\"KeyM\",e[e.KeyN=44]=\"KeyN\",e[e.KeyO=45]=\"KeyO\",e[e.KeyP=46]=\"KeyP\",e[e.KeyQ=47]=\"KeyQ\",e[e.KeyR=48]=\"KeyR\",e[e.KeyS=49]=\"KeyS\",e[e.KeyT=50]=\"KeyT\",e[e.KeyU=51]=\"KeyU\",e[e.KeyV=52]=\"KeyV\",e[e.KeyW=53]=\"KeyW\",e[e.KeyX=54]=\"KeyX\",e[e.KeyY=55]=\"KeyY\",e[e.KeyZ=56]=\"KeyZ\",e[e.Meta=57]=\"Meta\",e[e.ContextMenu=58]=\"ContextMenu\",e[e.F1=59]=\"F1\",e[e.F2=60]=\"F2\",e[e.F3=61]=\"F3\",e[e.F4=62]=\"F4\",e[e.F5=63]=\"F5\",e[e.F6=64]=\"F6\",e[e.F7=65]=\"F7\",e[e.F8=66]=\"F8\",e[e.F9=67]=\"F9\",e[e.F10=68]=\"F10\",e[e.F11=69]=\"F11\",e[e.F12=70]=\"F12\",e[e.F13=71]=\"F13\",e[e.F14=72]=\"F14\",e[e.F15=73]=\"F15\",e[e.F16=74]=\"F16\",e[e.F17=75]=\"F17\",e[e.F18=76]=\"F18\",e[e.F19=77]=\"F19\",e[e.F20=78]=\"F20\",e[e.F21=79]=\"F21\",e[e.F22=80]=\"F22\",e[e.F23=81]=\"F23\",e[e.F24=82]=\"F24\",e[e.NumLock=83]=\"NumLock\",e[e.ScrollLock=84]=\"ScrollLock\",e[e.Semicolon=85]=\"Semicolon\",e[e.Equal=86]=\"Equal\",e[e.Comma=87]=\"Comma\",e[e.Minus=88]=\"Minus\",e[e.Period=89]=\"Period\",e[e.Slash=90]=\"Slash\",e[e.Backquote=91]=\"Backquote\",e[e.BracketLeft=92]=\"BracketLeft\",e[e.Backslash=93]=\"Backslash\",e[e.BracketRight=94]=\"BracketRight\",e[e.Quote=95]=\"Quote\",e[e.OEM_8=96]=\"OEM_8\",e[e.IntlBackslash=97]=\"IntlBackslash\",e[e.Numpad0=98]=\"Numpad0\",e[e.Numpad1=99]=\"Numpad1\",e[e.Numpad2=100]=\"Numpad2\",e[e.Numpad3=101]=\"Numpad3\",e[e.Numpad4=102]=\"Numpad4\",e[e.Numpad5=103]=\"Numpad5\",e[e.Numpad6=104]=\"Numpad6\",e[e.Numpad7=105]=\"Numpad7\",e[e.Numpad8=106]=\"Numpad8\",e[e.Numpad9=107]=\"Numpad9\",e[e.NumpadMultiply=108]=\"NumpadMultiply\",e[e.NumpadAdd=109]=\"NumpadAdd\",e[e.NUMPAD_SEPARATOR=110]=\"NUMPAD_SEPARATOR\",e[e.NumpadSubtract=111]=\"NumpadSubtract\",e[e.NumpadDecimal=112]=\"NumpadDecimal\",e[e.NumpadDivide=113]=\"NumpadDivide\",e[e.KEY_IN_COMPOSITION=114]=\"KEY_IN_COMPOSITION\",e[e.ABNT_C1=115]=\"ABNT_C1\",e[e.ABNT_C2=116]=\"ABNT_C2\",e[e.AudioVolumeMute=117]=\"AudioVolumeMute\",e[e.AudioVolumeUp=118]=\"AudioVolumeUp\",e[e.AudioVolumeDown=119]=\"AudioVolumeDown\",e[e.BrowserSearch=120]=\"BrowserSearch\",e[e.BrowserHome=121]=\"BrowserHome\",e[e.BrowserBack=122]=\"BrowserBack\",e[e.BrowserForward=123]=\"BrowserForward\",e[e.MediaTrackNext=124]=\"MediaTrackNext\",e[e.MediaTrackPrevious=125]=\"MediaTrackPrevious\",e[e.MediaStop=126]=\"MediaStop\",e[e.MediaPlayPause=127]=\"MediaPlayPause\",e[e.LaunchMediaPlayer=128]=\"LaunchMediaPlayer\",e[e.LaunchMail=129]=\"LaunchMail\",e[e.LaunchApp2=130]=\"LaunchApp2\",e[e.Clear=131]=\"Clear\",e[e.MAX_VALUE=132]=\"MAX_VALUE\"}(i||(t.KeyCode=i={})),function(e){e[e.DependsOnKbLayout=-1]=\"DependsOnKbLayout\",e[e.None=0]=\"None\",e[e.Hyper=1]=\"Hyper\",e[e.Super=2]=\"Super\",e[e.Fn=3]=\"Fn\",e[e.FnLock=4]=\"FnLock\",e[e.Suspend=5]=\"Suspend\",e[e.Resume=6]=\"Resume\",e[e.Turbo=7]=\"Turbo\",e[e.Sleep=8]=\"Sleep\",e[e.WakeUp=9]=\"WakeUp\",e[e.KeyA=10]=\"KeyA\",e[e.KeyB=11]=\"KeyB\",e[e.KeyC=12]=\"KeyC\",e[e.KeyD=13]=\"KeyD\",e[e.KeyE=14]=\"KeyE\",e[e.KeyF=15]=\"KeyF\",e[e.KeyG=16]=\"KeyG\",e[e.KeyH=17]=\"KeyH\",e[e.KeyI=18]=\"KeyI\",e[e.KeyJ=19]=\"KeyJ\",e[e.KeyK=20]=\"KeyK\",e[e.KeyL=21]=\"KeyL\",e[e.KeyM=22]=\"KeyM\",e[e.KeyN=23]=\"KeyN\",e[e.KeyO=24]=\"KeyO\",e[e.KeyP=25]=\"KeyP\",e[e.KeyQ=26]=\"KeyQ\",e[e.KeyR=27]=\"KeyR\",e[e.KeyS=28]=\"KeyS\",e[e.KeyT=29]=\"KeyT\",e[e.KeyU=30]=\"KeyU\",e[e.KeyV=31]=\"KeyV\",e[e.KeyW=32]=\"KeyW\",e[e.KeyX=33]=\"KeyX\",e[e.KeyY=34]=\"KeyY\",e[e.KeyZ=35]=\"KeyZ\",e[e.Digit1=36]=\"Digit1\",e[e.Digit2=37]=\"Digit2\",e[e.Digit3=38]=\"Digit3\",e[e.Digit4=39]=\"Digit4\",e[e.Digit5=40]=\"Digit5\",e[e.Digit6=41]=\"Digit6\",e[e.Digit7=42]=\"Digit7\",e[e.Digit8=43]=\"Digit8\",e[e.Digit9=44]=\"Digit9\",e[e.Digit0=45]=\"Digit0\",e[e.Enter=46]=\"Enter\",e[e.Escape=47]=\"Escape\",e[e.Backspace=48]=\"Backspace\",e[e.Tab=49]=\"Tab\",e[e.Space=50]=\"Space\",e[e.Minus=51]=\"Minus\",e[e.Equal=52]=\"Equal\",e[e.BracketLeft=53]=\"BracketLeft\",e[e.BracketRight=54]=\"BracketRight\",e[e.Backslash=55]=\"Backslash\",e[e.IntlHash=56]=\"IntlHash\",e[e.Semicolon=57]=\"Semicolon\",e[e.Quote=58]=\"Quote\",e[e.Backquote=59]=\"Backquote\",e[e.Comma=60]=\"Comma\",e[e.Period=61]=\"Period\",e[e.Slash=62]=\"Slash\",e[e.CapsLock=63]=\"CapsLock\",e[e.F1=64]=\"F1\",e[e.F2=65]=\"F2\",e[e.F3=66]=\"F3\",e[e.F4=67]=\"F4\",e[e.F5=68]=\"F5\",e[e.F6=69]=\"F6\",e[e.F7=70]=\"F7\",e[e.F8=71]=\"F8\",e[e.F9=72]=\"F9\",e[e.F10=73]=\"F10\",e[e.F11=74]=\"F11\",e[e.F12=75]=\"F12\",e[e.PrintScreen=76]=\"PrintScreen\",e[e.ScrollLock=77]=\"ScrollLock\",e[e.Pause=78]=\"Pause\",e[e.Insert=79]=\"Insert\",e[e.Home=80]=\"Home\",e[e.PageUp=81]=\"PageUp\",e[e.Delete=82]=\"Delete\",e[e.End=83]=\"End\",e[e.PageDown=84]=\"PageDown\",e[e.ArrowRight=85]=\"ArrowRight\",e[e.ArrowLeft=86]=\"ArrowLeft\",e[e.ArrowDown=87]=\"ArrowDown\",e[e.ArrowUp=88]=\"ArrowUp\",e[e.NumLock=89]=\"NumLock\",e[e.NumpadDivide=90]=\"NumpadDivide\",e[e.NumpadMultiply=91]=\"NumpadMultiply\",e[e.NumpadSubtract=92]=\"NumpadSubtract\",e[e.NumpadAdd=93]=\"NumpadAdd\",e[e.NumpadEnter=94]=\"NumpadEnter\",e[e.Numpad1=95]=\"Numpad1\",e[e.Numpad2=96]=\"Numpad2\",e[e.Numpad3=97]=\"Numpad3\",e[e.Numpad4=98]=\"Numpad4\",e[e.Numpad5=99]=\"Numpad5\",e[e.Numpad6=100]=\"Numpad6\",e[e.Numpad7=101]=\"Numpad7\",e[e.Numpad8=102]=\"Numpad8\",e[e.Numpad9=103]=\"Numpad9\",e[e.Numpad0=104]=\"Numpad0\",e[e.NumpadDecimal=105]=\"NumpadDecimal\",e[e.IntlBackslash=106]=\"IntlBackslash\",e[e.ContextMenu=107]=\"ContextMenu\",e[e.Power=108]=\"Power\",e[e.NumpadEqual=109]=\"NumpadEqual\",e[e.F13=110]=\"F13\",e[e.F14=111]=\"F14\",e[e.F15=112]=\"F15\",e[e.F16=113]=\"F16\",e[e.F17=114]=\"F17\",e[e.F18=115]=\"F18\",e[e.F19=116]=\"F19\",e[e.F20=117]=\"F20\",e[e.F21=118]=\"F21\",e[e.F22=119]=\"F22\",e[e.F23=120]=\"F23\",e[e.F24=121]=\"F24\",e[e.Open=122]=\"Open\",e[e.Help=123]=\"Help\",e[e.Select=124]=\"Select\",e[e.Again=125]=\"Again\",e[e.Undo=126]=\"Undo\",e[e.Cut=127]=\"Cut\",e[e.Copy=128]=\"Copy\",e[e.Paste=129]=\"Paste\",e[e.Find=130]=\"Find\",e[e.AudioVolumeMute=131]=\"AudioVolumeMute\",e[e.AudioVolumeUp=132]=\"AudioVolumeUp\",e[e.AudioVolumeDown=133]=\"AudioVolumeDown\",e[e.NumpadComma=134]=\"NumpadComma\",e[e.IntlRo=135]=\"IntlRo\",e[e.KanaMode=136]=\"KanaMode\",e[e.IntlYen=137]=\"IntlYen\",e[e.Convert=138]=\"Convert\",e[e.NonConvert=139]=\"NonConvert\",e[e.Lang1=140]=\"Lang1\",e[e.Lang2=141]=\"Lang2\",e[e.Lang3=142]=\"Lang3\",e[e.Lang4=143]=\"Lang4\",e[e.Lang5=144]=\"Lang5\",e[e.Abort=145]=\"Abort\",e[e.Props=146]=\"Props\",e[e.NumpadParenLeft=147]=\"NumpadParenLeft\",e[e.NumpadParenRight=148]=\"NumpadParenRight\",e[e.NumpadBackspace=149]=\"NumpadBackspace\",e[e.NumpadMemoryStore=150]=\"NumpadMemoryStore\",e[e.NumpadMemoryRecall=151]=\"NumpadMemoryRecall\",e[e.NumpadMemoryClear=152]=\"NumpadMemoryClear\",e[e.NumpadMemoryAdd=153]=\"NumpadMemoryAdd\",e[e.NumpadMemorySubtract=154]=\"NumpadMemorySubtract\",e[e.NumpadClear=155]=\"NumpadClear\",e[e.NumpadClearEntry=156]=\"NumpadClearEntry\",e[e.ControlLeft=157]=\"ControlLeft\",e[e.ShiftLeft=158]=\"ShiftLeft\",e[e.AltLeft=159]=\"AltLeft\",e[e.MetaLeft=160]=\"MetaLeft\",e[e.ControlRight=161]=\"ControlRight\",e[e.ShiftRight=162]=\"ShiftRight\",e[e.AltRight=163]=\"AltRight\",e[e.MetaRight=164]=\"MetaRight\",e[e.BrightnessUp=165]=\"BrightnessUp\",e[e.BrightnessDown=166]=\"BrightnessDown\",e[e.MediaPlay=167]=\"MediaPlay\",e[e.MediaRecord=168]=\"MediaRecord\",e[e.MediaFastForward=169]=\"MediaFastForward\",e[e.MediaRewind=170]=\"MediaRewind\",e[e.MediaTrackNext=171]=\"MediaTrackNext\",e[e.MediaTrackPrevious=172]=\"MediaTrackPrevious\",e[e.MediaStop=173]=\"MediaStop\",e[e.Eject=174]=\"Eject\",e[e.MediaPlayPause=175]=\"MediaPlayPause\",e[e.MediaSelect=176]=\"MediaSelect\",e[e.LaunchMail=177]=\"LaunchMail\",e[e.LaunchApp2=178]=\"LaunchApp2\",e[e.LaunchApp1=179]=\"LaunchApp1\",e[e.SelectTask=180]=\"SelectTask\",e[e.LaunchScreenSaver=181]=\"LaunchScreenSaver\",e[e.BrowserSearch=182]=\"BrowserSearch\",e[e.BrowserHome=183]=\"BrowserHome\",e[e.BrowserBack=184]=\"BrowserBack\",e[e.BrowserForward=185]=\"BrowserForward\",e[e.BrowserStop=186]=\"BrowserStop\",e[e.BrowserRefresh=187]=\"BrowserRefresh\",e[e.BrowserFavorites=188]=\"BrowserFavorites\",e[e.ZoomToggle=189]=\"ZoomToggle\",e[e.MailReply=190]=\"MailReply\",e[e.MailForward=191]=\"MailForward\",e[e.MailSend=192]=\"MailSend\",e[e.MAX_VALUE=193]=\"MAX_VALUE\"}(s||(t.ScanCode=s={}));class r{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||i.Unknown}}const n=new r,o=new r,a=new r;t.EVENT_KEY_CODE_MAP=new Array(230),t.NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};const l=[],h=Object.create(null),c=Object.create(null);var d,u;t.ScanCodeUtils={lowerCaseToEnum:e=>c[e]||s.None,toEnum:e=>h[e]||s.None,toString:e=>l[e]||\"None\"},function(e){e.toString=function(e){return n.keyCodeToStr(e)},e.fromString=function(e){return n.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return a.keyCodeToStr(e)},e.fromUserSettings=function(e){return o.strToKeyCode(e)||a.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=i.Numpad0&&e<=i.NumpadDivide)return null;switch(e){case i.UpArrow:return\"Up\";case i.DownArrow:return\"Down\";case i.LeftArrow:return\"Left\";case i.RightArrow:return\"Right\"}return n.keyCodeToStr(e)}}(d||(t.KeyCodeUtils=d={})),function(e){e[e.CtrlCmd=2048]=\"CtrlCmd\",e[e.Shift=1024]=\"Shift\",e[e.Alt=512]=\"Alt\",e[e.WinCtrl=256]=\"WinCtrl\"}(u||(t.KeyMod=u={}))},2811:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ResolvedKeybinding=t.ResolvedChord=t.Keybinding=t.ScanCodeChord=t.KeyCodeChord=void 0,t.decodeKeybinding=function(e,t){if(\"number\"==typeof e){if(0===e)return null;const i=(65535&e)>>>0,s=(4294901760&e)>>>16;return new c(0!==s?[a(i,t),a(s,t)]:[a(i,t)])}{const i=[];for(let s=0;s<e.length;s++)i.push(a(e[s],t));return new c(i)}},t.createSimpleKeybinding=a;const s=i(9807),r=i(7883),n=i(8163);var o;function a(e,t){const i=!!(e&o.CtrlCmd),s=!!(e&o.WinCtrl),r=t===n.OperatingSystem.Macintosh?s:i,a=!!(e&o.Shift),h=!!(e&o.Alt),c=t===n.OperatingSystem.Macintosh?i:s,d=e&o.KeyCode;return new l(r,a,h,c,d)}!function(e){e[e.CtrlCmd=2048]=\"CtrlCmd\",e[e.Shift=1024]=\"Shift\",e[e.Alt=512]=\"Alt\",e[e.WinCtrl=256]=\"WinCtrl\",e[e.KeyCode=255]=\"KeyCode\"}(o||(o={}));class l{constructor(e,t,i,s,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.keyCode=r}equals(e){return e instanceof l&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){return`K${this.ctrlKey?\"1\":\"0\"}${this.shiftKey?\"1\":\"0\"}${this.altKey?\"1\":\"0\"}${this.metaKey?\"1\":\"0\"}${this.keyCode}`}isModifierKey(){return this.keyCode===r.KeyCode.Unknown||this.keyCode===r.KeyCode.Ctrl||this.keyCode===r.KeyCode.Meta||this.keyCode===r.KeyCode.Alt||this.keyCode===r.KeyCode.Shift}toKeybinding(){return new c([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===r.KeyCode.Ctrl||this.shiftKey&&this.keyCode===r.KeyCode.Shift||this.altKey&&this.keyCode===r.KeyCode.Alt||this.metaKey&&this.keyCode===r.KeyCode.Meta}}t.KeyCodeChord=l;class h{constructor(e,t,i,s,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.scanCode=r}equals(e){return e instanceof h&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.scanCode===e.scanCode}getHashCode(){return`S${this.ctrlKey?\"1\":\"0\"}${this.shiftKey?\"1\":\"0\"}${this.altKey?\"1\":\"0\"}${this.metaKey?\"1\":\"0\"}${this.scanCode}`}isDuplicateModifierCase(){return this.ctrlKey&&(this.scanCode===r.ScanCode.ControlLeft||this.scanCode===r.ScanCode.ControlRight)||this.shiftKey&&(this.scanCode===r.ScanCode.ShiftLeft||this.scanCode===r.ScanCode.ShiftRight)||this.altKey&&(this.scanCode===r.ScanCode.AltLeft||this.scanCode===r.ScanCode.AltRight)||this.metaKey&&(this.scanCode===r.ScanCode.MetaLeft||this.scanCode===r.ScanCode.MetaRight)}}t.ScanCodeChord=h;class c{constructor(e){if(0===e.length)throw(0,s.illegalArgument)(\"chords\");this.chords=e}getHashCode(){let e=\"\";for(let t=0,i=this.chords.length;t<i;t++)0!==t&&(e+=\";\"),e+=this.chords[t].getHashCode();return e}equals(e){if(null===e)return!1;if(this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}}t.Keybinding=c,t.ResolvedChord=class{constructor(e,t,i,s,r,n){this.ctrlKey=e,this.shiftKey=t,this.altKey=i,this.metaKey=s,this.keyLabel=r,this.keyAriaLabel=n}},t.ResolvedKeybinding=class{}},626:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Lazy=void 0,t.Lazy=class{constructor(e){this.executor=e,this._didRun=!1}get hasValue(){return this._didRun}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}},7150:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DisposableMap=t.ImmortalReference=t.AsyncReferenceCollection=t.ReferenceCollection=t.SafeDisposable=t.RefCountedDisposable=t.MandatoryMutableDisposable=t.MutableDisposable=t.Disposable=t.DisposableStore=t.DisposableTracker=void 0,t.setDisposableTracker=function(e){l=e},t.trackDisposable=c,t.markAsDisposed=d,t.markAsSingleton=function(e){return l?.markAsSingleton(e),e},t.isDisposable=_,t.dispose=f,t.disposeIfDisposable=function(e){for(const t of e)_(t)&&t.dispose();return[]},t.combinedDisposable=function(...e){const t=p((()=>f(e)));return function(e,t){if(l)for(const i of e)l.setParent(i,t)}(e,t),t},t.toDisposable=p,t.disposeOnReturn=function(e){const t=new g;try{e(t)}finally{t.dispose()}};const s=i(3058),r=i(9087),n=i(2608),o=i(8841),a=i(4218);let l=null;class h{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(e){let t=this.livingDisposables.get(e);return t||(t={parent:null,source:null,isSingleton:!1,value:e,idx:h.idx++},this.livingDisposables.set(e,t)),t}trackDisposable(e){const t=this.getDisposableData(e);t.source||(t.source=(new Error).stack)}setParent(e,t){this.getDisposableData(e).parent=t}markAsDisposed(e){this.livingDisposables.delete(e)}markAsSingleton(e){this.getDisposableData(e).isSingleton=!0}getRootParent(e,t){const i=t.get(e);if(i)return i;const s=e.parent?this.getRootParent(this.getDisposableData(e.parent),t):e;return t.set(e,s),s}getTrackedDisposables(){const e=new Map;return[...this.livingDisposables.entries()].filter((([,t])=>null!==t.source&&!this.getRootParent(t,e).isSingleton)).flatMap((([e])=>e))}computeLeakingDisposables(e=10,t){let i;if(t)i=t;else{const e=new Map,t=[...this.livingDisposables.values()].filter((t=>null!==t.source&&!this.getRootParent(t,e).isSingleton));if(0===t.length)return;const s=new Set(t.map((e=>e.value)));if(i=t.filter((e=>!(e.parent&&s.has(e.parent)))),0===i.length)throw new Error(\"There are cyclic diposable chains!\")}if(!i)return;function o(e){const t=e.source.split(\"\\n\").map((e=>e.trim().replace(\"at \",\"\"))).filter((e=>\"\"!==e));return function(e,t){for(;e.length>0&&t.some((t=>\"string\"==typeof t?t===e[0]:e[0].match(t)));)e.shift()}(t,[\"Error\",/^trackDisposable \\(.*\\)$/,/^DisposableTracker.trackDisposable \\(.*\\)$/]),t.reverse()}const a=new n.SetMap;for(const e of i){const t=o(e);for(let i=0;i<=t.length;i++)a.add(t.slice(0,i).join(\"\\n\"),e)}i.sort((0,s.compareBy)((e=>e.idx),s.numberComparator));let l=\"\",h=0;for(const t of i.slice(0,e)){h++;const e=o(t),s=[];for(let t=0;t<e.length;t++){let n=e[t];n=`(shared with ${a.get(e.slice(0,t+1).join(\"\\n\")).size}/${i.length} leaks) at ${n}`;const l=a.get(e.slice(0,t).join(\"\\n\")),h=(0,r.groupBy)([...l].map((e=>o(e)[t])),(e=>e));delete h[e[t]];for(const[e,t]of Object.entries(h))s.unshift(` - stacktraces of ${t.length} other leaks continue with ${e}`);s.unshift(n)}l+=`\\n\\n\\n==================== Leaking disposable ${h}/${i.length}: ${t.value.constructor.name} ====================\\n${s.join(\"\\n\")}\\n============================================================\\n\\n`}return i.length>e&&(l+=`\\n\\n\\n... and ${i.length-e} more leaking disposables\\n\\n`),{leaks:i,details:l}}}function c(e){return l?.trackDisposable(e),e}function d(e){l?.markAsDisposed(e)}function u(e,t){l?.setParent(e,t)}function _(e){return\"object\"==typeof e&&null!==e&&\"function\"==typeof e.dispose&&0===e.dispose.length}function f(e){if(a.Iterable.is(e)){const t=[];for(const i of e)if(i)try{i.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,\"Encountered errors while disposing of store\");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function p(e){const t=c({dispose:(0,o.createSingleCallFunction)((()=>{d(t),e()}))});return t}t.DisposableTracker=h;class g{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,c(this)}dispose(){this._isDisposed||(d(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{f(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error(\"Cannot register a disposable on itself!\");return u(e,this),this._isDisposed?g.DISABLE_DISPOSED_WARNING||console.warn(new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error(\"Cannot dispose a disposable on itself!\");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),u(e,null))}}t.DisposableStore=g;class m{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new g,c(this),u(this._store,this)}dispose(){d(this),this._store.dispose()}_register(e){if(e===this)throw new Error(\"Cannot register a disposable on itself!\");return this._store.add(e)}}t.Disposable=m;class v{constructor(){this._isDisposed=!1,c(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&u(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,d(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){const e=this._value;return this._value=void 0,e&&u(e,null),e}}t.MutableDisposable=v,t.MandatoryMutableDisposable=class{constructor(e){this._disposable=new v,this._isDisposed=!1,this._disposable.value=e}get value(){return this._disposable.value}set value(e){this._isDisposed||e===this._disposable.value||(this._disposable.value=e)}dispose(){this._isDisposed=!0,this._disposable.dispose()}},t.RefCountedDisposable=class{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}},t.SafeDisposable=class{constructor(){this.dispose=()=>{},this.unset=()=>{},this.isset=()=>!1,c(this)}set(e){let t=e;return this.unset=()=>t=void 0,this.isset=()=>void 0!==t,this.dispose=()=>{t&&(t(),t=void 0,d(this))},this}},t.ReferenceCollection=class{constructor(){this.references=new Map}acquire(e,...t){let i=this.references.get(e);i||(i={counter:0,object:this.createReferencedObject(e,...t)},this.references.set(e,i));const{object:s}=i,r=(0,o.createSingleCallFunction)((()=>{0==--i.counter&&(this.destroyReferencedObject(e,i.object),this.references.delete(e))}));return i.counter++,{object:s,dispose:r}}},t.AsyncReferenceCollection=class{constructor(e){this.referenceCollection=e}async acquire(e,...t){const i=this.referenceCollection.acquire(e,...t);try{return{object:await i.object,dispose:()=>i.dispose()}}catch(e){throw i.dispose(),e}}},t.ImmortalReference=class{constructor(e){this.object=e}dispose(){}};class S{constructor(){this._store=new Map,this._isDisposed=!1,c(this)}dispose(){d(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{f(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get size(){return this._store.size}get(e){return this._store.get(e)}set(e,t,i=!1){this._isDisposed&&console.warn(new Error(\"Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!\").stack),i||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}deleteAndLeak(e){const t=this._store.get(e);return this._store.delete(e),t}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}t.DisposableMap=S},6317:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkedList=void 0;class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}}class s{constructor(){this._first=i.Undefined,this._last=i.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===i.Undefined}clear(){let e=this._first;for(;e!==i.Undefined;){const t=e.next;e.prev=i.Undefined,e.next=i.Undefined,e=t}this._first=i.Undefined,this._last=i.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const s=new i(e);if(this._first===i.Undefined)this._first=s,this._last=s;else if(t){const e=this._last;this._last=s,s.prev=e,e.next=s}else{const e=this._first;this._first=s,s.next=e,e.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==i.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==i.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==i.Undefined&&e.next!==i.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===i.Undefined&&e.next===i.Undefined?(this._first=i.Undefined,this._last=i.Undefined):e.next===i.Undefined?(this._last=this._last.prev,this._last.next=i.Undefined):e.prev===i.Undefined&&(this._first=this._first.next,this._first.prev=i.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==i.Undefined;)yield e.element,e=e.next}}t.LinkedList=s},2608:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SetMap=t.BidirectionalMap=t.CounterSet=t.Touch=void 0,t.getOrSet=function(e,t,i){let s=e.get(t);return void 0===s&&(s=i,e.set(t,s)),s},t.mapToString=function(e){const t=[];return e.forEach(((e,i)=>{t.push(`${i} => ${e}`)})),`Map(${e.size}) {${t.join(\", \")}}`},t.setToString=function(e){const t=[];return e.forEach((e=>{t.push(e)})),`Set(${e.size}) {${t.join(\", \")}}`},t.mapsStrictEqualIgnoreOrder=function(e,t){if(e===t)return!0;if(e.size!==t.size)return!1;for(const[i,s]of e)if(!t.has(i)||t.get(i)!==s)return!1;for(const[i]of t)if(!e.has(i))return!1;return!0},function(e){e[e.None=0]=\"None\",e[e.AsOld=1]=\"AsOld\",e[e.AsNew=2]=\"AsNew\"}(i||(t.Touch=i={})),t.CounterSet=class{constructor(){this.map=new Map}add(e){return this.map.set(e,(this.map.get(e)||0)+1),this}delete(e){let t=this.map.get(e)||0;return 0!==t&&(t--,0===t?this.map.delete(e):this.map.set(e,t),!0)}has(e){return this.map.has(e)}},t.BidirectionalMap=class{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return void 0!==t&&(this._m1.delete(e),this._m2.delete(t),!0)}forEach(e,t){this._m1.forEach(((i,s)=>{e.call(t,i,s,this)}))}keys(){return this._m1.keys()}values(){return this._m1.values()}},t.SetMap=class{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),0===i.size&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){return this.map.get(e)||new Set}}},7704:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SlidingWindowAverage=t.MovingAverage=t.Counter=void 0,t.clamp=function(e,t,i){return Math.min(Math.max(e,t),i)},t.rot=function(e,t){return(t+e%t)%t},t.isPointWithinTriangle=function(e,t,i,s,r,n,o,a){const l=o-i,h=a-s,c=r-i,d=n-s,u=e-i,_=t-s,f=l*l+h*h,p=l*c+h*d,g=l*u+h*_,m=c*c+d*d,v=c*u+d*_,S=1/(f*m-p*p),b=(m*g-p*v)*S,C=(f*v-p*g)*S;return b>=0&&C>=0&&b+C<1},t.Counter=class{constructor(){this._next=0}getNext(){return this._next++}},t.MovingAverage=class{constructor(){this._n=1,this._val=0}update(e){return this._val=this._val+(e-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}},t.SlidingWindowAverage=class{constructor(e){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(e),this._values.fill(0,0,e)}update(e){const t=this._values[this._index];return this._values[this._index]=e,this._index=(this._index+1)%this._values.length,this._sum-=t,this._sum+=e,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}},8163:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAndroid=t.isEdge=t.isSafari=t.isFirefox=t.isChrome=t.OS=t.OperatingSystem=t.setTimeout0=t.setTimeout0IsFaster=t.translationsConfigFile=t.platformLocale=t.locale=t.Language=t.language=t.userAgent=t.platform=t.isCI=t.isMobile=t.isIOS=t.webWorkerOrigin=t.isWebWorker=t.isWeb=t.isElectron=t.isNative=t.isLinuxSnap=t.isLinux=t.isMacintosh=t.isWindows=t.Platform=t.LANGUAGE_DEFAULT=void 0,t.PlatformToString=function(e){switch(e){case C.Web:return\"Web\";case C.Mac:return\"Mac\";case C.Linux:return\"Linux\";case C.Windows:return\"Windows\"}},t.isLittleEndian=function(){if(!L){L=!0;const e=new Uint8Array(2);e[0]=1,e[1]=2;const t=new Uint16Array(e.buffer);D=513===t[0]}return D},t.isBigSurOrNewer=function(e){return parseFloat(e)>=20},t.LANGUAGE_DEFAULT=\"en\";let i,s,r,n=!1,o=!1,a=!1,l=!1,h=!1,c=!1,d=!1,u=!1,_=!1,f=!1,p=t.LANGUAGE_DEFAULT,g=t.LANGUAGE_DEFAULT;const m=globalThis;let v;void 0!==m.vscode&&void 0!==m.vscode.process?v=m.vscode.process:\"undefined\"!=typeof process&&\"string\"==typeof process?.versions?.node&&(v=process);const S=\"string\"==typeof v?.versions?.electron,b=S&&\"renderer\"===v?.type;if(\"object\"==typeof v){n=\"win32\"===v.platform,o=\"darwin\"===v.platform,a=\"linux\"===v.platform,l=a&&!!v.env.SNAP&&!!v.env.SNAP_REVISION,d=S,_=!!v.env.CI||!!v.env.BUILD_ARTIFACTSTAGINGDIRECTORY,i=t.LANGUAGE_DEFAULT,p=t.LANGUAGE_DEFAULT;const e=v.env.VSCODE_NLS_CONFIG;if(e)try{const r=JSON.parse(e);i=r.userLocale,g=r.osLocale,p=r.resolvedLanguage||t.LANGUAGE_DEFAULT,s=r.languagePack?.translationsConfigFile}catch(e){}h=!0}else\"object\"!=typeof navigator||b?console.error(\"Unable to resolve platform.\"):(r=navigator.userAgent,n=r.indexOf(\"Windows\")>=0,o=r.indexOf(\"Macintosh\")>=0,u=(r.indexOf(\"Macintosh\")>=0||r.indexOf(\"iPad\")>=0||r.indexOf(\"iPhone\")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,a=r.indexOf(\"Linux\")>=0,f=r?.indexOf(\"Mobi\")>=0,c=!0,p=globalThis._VSCODE_NLS_LANGUAGE||t.LANGUAGE_DEFAULT,i=navigator.language.toLowerCase(),g=i);var C;!function(e){e[e.Web=0]=\"Web\",e[e.Mac=1]=\"Mac\",e[e.Linux=2]=\"Linux\",e[e.Windows=3]=\"Windows\"}(C||(t.Platform=C={}));let y=C.Web;var w,E;o?y=C.Mac:n?y=C.Windows:a&&(y=C.Linux),t.isWindows=n,t.isMacintosh=o,t.isLinux=a,t.isLinuxSnap=l,t.isNative=h,t.isElectron=d,t.isWeb=c,t.isWebWorker=c&&\"function\"==typeof m.importScripts,t.webWorkerOrigin=t.isWebWorker?m.origin:void 0,t.isIOS=u,t.isMobile=f,t.isCI=_,t.platform=y,t.userAgent=r,t.language=p,function(e){e.value=function(){return t.language},e.isDefaultVariant=function(){return 2===t.language.length?\"en\"===t.language:t.language.length>=3&&\"e\"===t.language[0]&&\"n\"===t.language[1]&&\"-\"===t.language[2]},e.isDefault=function(){return\"en\"===t.language}}(w||(t.Language=w={})),t.locale=i,t.platformLocale=g,t.translationsConfigFile=s,t.setTimeout0IsFaster=\"function\"==typeof m.postMessage&&!m.importScripts,t.setTimeout0=(()=>{if(t.setTimeout0IsFaster){const e=[];m.addEventListener(\"message\",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,s=e.length;i<s;i++){const s=e[i];if(s.id===t.data.vscodeScheduleAsyncWork)return e.splice(i,1),void s.callback()}}));let t=0;return i=>{const s=++t;e.push({id:s,callback:i}),m.postMessage({vscodeScheduleAsyncWork:s},\"*\")}}return e=>setTimeout(e)})(),function(e){e[e.Windows=1]=\"Windows\",e[e.Macintosh=2]=\"Macintosh\",e[e.Linux=3]=\"Linux\"}(E||(t.OperatingSystem=E={})),t.OS=o||u?E.Macintosh:n?E.Windows:E.Linux;let D=!0,L=!1;t.isChrome=!!(t.userAgent&&t.userAgent.indexOf(\"Chrome\")>=0),t.isFirefox=!!(t.userAgent&&t.userAgent.indexOf(\"Firefox\")>=0),t.isSafari=!!(!t.isChrome&&t.userAgent&&t.userAgent.indexOf(\"Safari\")>=0),t.isEdge=!!(t.userAgent&&t.userAgent.indexOf(\"Edg/\")>=0),t.isAndroid=!!(t.userAgent&&t.userAgent.indexOf(\"Android\")>=0)},9881:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SmoothScrollingOperation=t.SmoothScrollingUpdate=t.Scrollable=t.ScrollState=t.ScrollbarVisibility=void 0;const s=i(802),r=i(7150);var n;!function(e){e[e.Auto=1]=\"Auto\",e[e.Hidden=2]=\"Hidden\",e[e.Visible=3]=\"Visible\"}(n||(t.ScrollbarVisibility=n={}));class o{constructor(e,t,i,s,r,n,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,i|=0,s|=0,r|=0,n|=0,o|=0),this.rawScrollLeft=s,this.rawScrollTop=o,t<0&&(t=0),s+t>i&&(s=i-t),s<0&&(s=0),r<0&&(r=0),o+r>n&&(o=n-r),o<0&&(o=0),this.width=t,this.scrollWidth=i,this.scrollLeft=s,this.height=r,this.scrollHeight=n,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new o(this._forceIntegerValues,void 0!==e.width?e.width:this.width,void 0!==e.scrollWidth?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,void 0!==e.height?e.height:this.height,void 0!==e.scrollHeight?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new o(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==e.scrollLeft?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==e.scrollTop?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,s=this.scrollWidth!==e.scrollWidth,r=this.scrollLeft!==e.scrollLeft,n=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:s,scrollLeftChanged:r,heightChanged:n,scrollHeightChanged:o,scrollTopChanged:a}}}t.ScrollState=o;class a extends r.Disposable{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new s.Emitter),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new o(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){const i=this._state.withScrollDimensions(e,t);this._setState(i,Boolean(this._smoothScrolling)),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let s;s=t?new c(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{const t=this._state.withScrollPosition(e);this._smoothScrolling=c.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);return this._setState(t,!0),this._smoothScrolling?e.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}}t.Scrollable=a;class l{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function h(e,t){const i=t-e;return function(t){return e+i*(1-(s=1-t,Math.pow(s,3)));var s}}t.SmoothScrollingUpdate=l;class c{constructor(e,t,i,s){this.from=e,this.to=t,this.duration=s,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,i){if(Math.abs(e-t)>2.5*i){let o,a;return e<t?(o=e+.75*i,a=t-.75*i):(o=e-.75*i,a=t+.75*i),s=h(e,o),r=h(a,t),n=.33,function(e){return e<n?s(e/n):r((e-n)/(1-n))}}var s,r,n;return h(e,t)}dispose(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){const t=(e-this.startTime)/this.duration;if(t<1){const e=this.scrollLeft(t),i=this.scrollTop(t);return new l(e,i,!1)}return new l(this.to.scrollLeft,this.to.scrollTop,!0)}combine(e,t,i){return c.start(e,t,i)}static start(e,t,i){i+=10;const s=Date.now()-10;return new c(e,t,s,i)}}t.SmoothScrollingOperation=c},9725:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.StopWatch=void 0;const i=globalThis.performance&&\"function\"==typeof globalThis.performance.now;class s{static create(e){return new s(e)}constructor(e){this._now=i&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}t.StopWatch=s},1316:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.noBreakWhitespace=t.CodePointIterator=void 0,t.isFalsyOrWhitespace=function(e){return!e||\"string\"!=typeof e||0===e.trim().length},t.format=function(e,...t){return 0===t.length?e:e.replace(n,(function(e,i){const s=parseInt(i,10);return isNaN(s)||s<0||s>=t.length?e:t[s]}))},t.format2=function(e,t){return 0===Object.keys(t).length?e:e.replace(o,((e,i)=>t[i]??e))},t.htmlAttributeEncodeValue=function(e){return e.replace(/[<>\"'&]/g,(e=>{switch(e){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&apos;\";case\"&\":return\"&amp;\"}return e}))},t.escape=function(e){return e.replace(/[<>&]/g,(function(e){switch(e){case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case\"&\":return\"&amp;\";default:return e}}))},t.escapeRegExpCharacters=a,t.count=function(e,t){let i=0,s=e.indexOf(t);for(;-1!==s;)i++,s=e.indexOf(t,s+t.length);return i},t.truncate=function(e,t,i=\"…\"){return e.length<=t?e:`${e.substr(0,t)}${i}`},t.truncateMiddle=function(e,t,i=\"…\"){if(e.length<=t)return e;const s=Math.ceil(t/2)-i.length/2,r=Math.floor(t/2)-i.length/2;return`${e.substr(0,s)}${i}${e.substr(e.length-r)}`},t.trim=function(e,t=\" \"){return h(l(e,t),t)},t.ltrim=l,t.rtrim=h,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g,\"\\\\$&\").replace(/[\\*]/g,\".*\")},t.stripWildcards=function(e){return e.replace(/\\*/g,\"\")},t.createRegExp=function(e,t,i={}){if(!e)throw new Error(\"Cannot create regex from empty string\");t||(e=a(e)),i.wholeWord&&(/\\B/.test(e.charAt(0))||(e=\"\\\\b\"+e),/\\B/.test(e.charAt(e.length-1))||(e+=\"\\\\b\"));let s=\"\";return i.global&&(s+=\"g\"),i.matchCase||(s+=\"i\"),i.multiline&&(s+=\"m\"),i.unicode&&(s+=\"u\"),new RegExp(e,s)},t.regExpLeadsToEndlessLoop=function(e){return\"^\"!==e.source&&\"^$\"!==e.source&&\"$\"!==e.source&&\"^\\\\s*$\"!==e.source&&!(!e.exec(\"\")||0!==e.lastIndex)},t.splitLines=function(e){return e.split(/\\r\\n|\\r|\\n/)},t.splitLinesIncludeSeparators=function(e){const t=[],i=e.split(/(\\r\\n|\\r|\\n)/);for(let e=0;e<Math.ceil(i.length/2);e++)t.push(i[2*e]+(i[2*e+1]??\"\"));return t},t.firstNonWhitespaceIndex=function(e){for(let t=0,i=e.length;t<i;t++){const i=e.charCodeAt(t);if(i!==s.CharCode.Space&&i!==s.CharCode.Tab)return t}return-1},t.getLeadingWhitespace=function(e,t=0,i=e.length){for(let r=t;r<i;r++){const i=e.charCodeAt(r);if(i!==s.CharCode.Space&&i!==s.CharCode.Tab)return e.substring(t,r)}return e.substring(t,i)},t.lastNonWhitespaceIndex=function(e,t=e.length-1){for(let i=t;i>=0;i--){const t=e.charCodeAt(i);if(t!==s.CharCode.Space&&t!==s.CharCode.Tab)return i}return-1},t.replaceAsync=function(e,t,i){const s=[];let r=0;for(const n of e.matchAll(t)){if(s.push(e.slice(r,n.index)),void 0===n.index)throw new Error(\"match.index should be defined\");r=n.index+n[0].length,s.push(i(n[0],...n.slice(1),n.index,e,n.groups))}return s.push(e.slice(r)),Promise.all(s).then((e=>e.join(\"\")))},t.compare=function(e,t){return e<t?-1:e>t?1:0},t.compareSubstring=c,t.compareIgnoreCase=function(e,t){return d(e,t,0,e.length,0,t.length)},t.compareSubstringIgnoreCase=d,t.isAsciiDigit=function(e){return e>=s.CharCode.Digit0&&e<=s.CharCode.Digit9},t.isLowerAsciiLetter=u,t.isUpperAsciiLetter=function(e){return e>=s.CharCode.A&&e<=s.CharCode.Z},t.equalsIgnoreCase=function(e,t){return e.length===t.length&&0===d(e,t)},t.startsWithIgnoreCase=function(e,t){const i=t.length;return!(t.length>e.length)&&0===d(e,t,0,i)},t.commonPrefixLength=function(e,t){const i=Math.min(e.length,t.length);let s;for(s=0;s<i;s++)if(e.charCodeAt(s)!==t.charCodeAt(s))return s;return i},t.commonSuffixLength=function(e,t){const i=Math.min(e.length,t.length);let s;const r=e.length-1,n=t.length-1;for(s=0;s<i;s++)if(e.charCodeAt(r-s)!==t.charCodeAt(n-s))return s;return i},t.isHighSurrogate=_,t.isLowSurrogate=f,t.computeCodePoint=p,t.getNextCodePoint=g;const s=i(4869),r=i(8960),n=/{(\\d+)}/g,o=/{([^}]+)}/g;function a(e){return e.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g,\"\\\\$&\")}function l(e,t){if(!e||!t)return e;const i=t.length;if(0===i||0===e.length)return e;let s=0;for(;e.indexOf(t,s)===s;)s+=i;return e.substring(s)}function h(e,t){if(!e||!t)return e;const i=t.length,s=e.length;if(0===i||0===s)return e;let r=s,n=-1;for(;n=e.lastIndexOf(t,r-1),-1!==n&&n+i===r;){if(0===n)return\"\";r=n}return e.substring(0,r)}function c(e,t,i=0,s=e.length,r=0,n=t.length){for(;i<s&&r<n;i++,r++){const s=e.charCodeAt(i),n=t.charCodeAt(r);if(s<n)return-1;if(s>n)return 1}const o=s-i,a=n-r;return o<a?-1:o>a?1:0}function d(e,t,i=0,s=e.length,r=0,n=t.length){for(;i<s&&r<n;i++,r++){let o=e.charCodeAt(i),a=t.charCodeAt(r);if(o===a)continue;if(o>=128||a>=128)return c(e.toLowerCase(),t.toLowerCase(),i,s,r,n);u(o)&&(o-=32),u(a)&&(a-=32);const l=o-a;if(0!==l)return l}const o=s-i,a=n-r;return o<a?-1:o>a?1:0}function u(e){return e>=s.CharCode.a&&e<=s.CharCode.z}function _(e){return 55296<=e&&e<=56319}function f(e){return 56320<=e&&e<=57343}function p(e,t){return t-56320+(e-55296<<10)+65536}function g(e,t,i){const s=e.charCodeAt(i);if(_(s)&&i+1<t){const t=e.charCodeAt(i+1);if(f(t))return p(s,t)}return s}t.CodePointIterator=class{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=function(e,t){const i=e.charCodeAt(t-1);if(f(i)&&t>1){const s=e.charCodeAt(t-2);if(_(s))return p(s,i)}return i}(this._str,this._offset);return this._offset-=e>=r.Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN?2:1,e}nextCodePoint(){const e=g(this._str,this._len,this._offset);return this._offset+=e>=r.Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN?2:1,e}eol(){return this._offset>=this._len}},t.noBreakWhitespace=\" \"},5015:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.MicrotaskDelay=void 0,t.MicrotaskDelay=Symbol(\"MicrotaskDelay\")},8960:(e,t)=>{var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.Constants=void 0,t.toUint8=function(e){return e<0?0:e>i.MAX_UINT_8?i.MAX_UINT_8:0|e},t.toUint32=function(e){return e<0?0:e>i.MAX_UINT_32?i.MAX_UINT_32:0|e},function(e){e[e.MAX_SAFE_SMALL_INTEGER=1073741824]=\"MAX_SAFE_SMALL_INTEGER\",e[e.MIN_SAFE_SMALL_INTEGER=-1073741824]=\"MIN_SAFE_SMALL_INTEGER\",e[e.MAX_UINT_8=255]=\"MAX_UINT_8\",e[e.MAX_UINT_16=65535]=\"MAX_UINT_16\",e[e.MAX_UINT_32=4294967295]=\"MAX_UINT_32\",e[e.UNICODE_SUPPLEMENTARY_PLANE_BEGIN=65536]=\"UNICODE_SUPPLEMENTARY_PLANE_BEGIN\"}(i||(t.Constants=i={}))}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Terminal=void 0;const t=i(7721),r=i(1718),n=i(7150),o=i(3027),a=i(5101),l=i(6097),h=i(4335),c=[\"cols\",\"rows\"];let d=0;class u extends n.Disposable{constructor(e){super(),this._core=this._register(new r.CoreBrowserTerminal(e)),this._addonManager=this._register(new o.AddonManager),this._publicOptions={...this._core.options};const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(c.includes(e))throw new Error(`Option \"${e}\" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error(\"You must set the allowProposedApi option to true to use proposed API\")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new l.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new h.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new a.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":t=\"x10\";break;case\"VT200\":t=\"vt200\";break;case\"DRAG\":t=\"drag\";break;case\"ANY\":t=\"any\"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return t.promptLabel.get()},set promptLabel(e){t.promptLabel.set(e)},get tooMuchOutput(){return t.tooMuchOutput.get()},set tooMuchOutput(e){t.tooMuchOutput.set(e)}}}_verifyIntegers(...e){for(d of e)if(d===1/0||isNaN(d)||d%1!=0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...e){for(d of e)if(d&&(d===1/0||isNaN(d)||d%1!=0||d<0))throw new Error(\"This API only accepts positive integers\")}}e.Terminal=u})(),s})()));\n//# sourceMappingURL=xterm.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(globalThis,(()=>(()=>{\"use strict\";var e={};return(()=>{var t=e;Object.defineProperty(t,\"__esModule\",{value:!0}),t.FitAddon=void 0,t.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){const e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;const t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;const e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;const t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(r.getPropertyValue(\"height\")),o=Math.max(0,parseInt(r.getPropertyValue(\"width\"))),s=window.getComputedStyle(this._terminal.element),n=i-(parseInt(s.getPropertyValue(\"padding-top\"))+parseInt(s.getPropertyValue(\"padding-bottom\"))),l=o-(parseInt(s.getPropertyValue(\"padding-right\"))+parseInt(s.getPropertyValue(\"padding-left\")))-t;return{cols:Math.max(2,Math.floor(l/e.css.cell.width)),rows:Math.max(1,Math.floor(n/e.css.cell.height))}}}})(),e})()));\n//# sourceMappingURL=addon-fit.js.map","/** xterm.css text embedded at build-authoring time (the ?raw suffix is not resolvable by the tsdown/rolldown pipeline). Generated file — see the package docs. */\nexport const XTERM_CSS: string = \"/**\\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\\n * https://github.com/chjj/term.js\\n * @license MIT\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy\\n * of this software and associated documentation files (the \\\"Software\\\"), to deal\\n * in the Software without restriction, including without limitation the rights\\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\n * copies of the Software, and to permit persons to whom the Software is\\n * furnished to do so, subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in\\n * all copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\\n * THE SOFTWARE.\\n *\\n * Originally forked from (with the author's permission):\\n * Fabrice Bellard's javascript vt100 for jslinux:\\n * http://bellard.org/jslinux/\\n * Copyright (c) 2011 Fabrice Bellard\\n * The original design remains. The terminal itself\\n * has been extended to include xterm CSI codes, among\\n * other features.\\n */\\n\\n/**\\n * Default styles for xterm.js\\n */\\n\\n.xterm {\\n cursor: text;\\n position: relative;\\n user-select: none;\\n -ms-user-select: none;\\n -webkit-user-select: none;\\n}\\n\\n.xterm.focus,\\n.xterm:focus {\\n outline: none;\\n}\\n\\n.xterm .xterm-helpers {\\n position: absolute;\\n top: 0;\\n /**\\n * The z-index of the helpers must be higher than the canvases in order for\\n * IMEs to appear on top.\\n */\\n z-index: 5;\\n}\\n\\n.xterm .xterm-helper-textarea {\\n padding: 0;\\n border: 0;\\n margin: 0;\\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\\n position: absolute;\\n opacity: 0;\\n left: -9999em;\\n top: 0;\\n width: 0;\\n height: 0;\\n z-index: -5;\\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\\n white-space: nowrap;\\n overflow: hidden;\\n resize: none;\\n}\\n\\n.xterm .composition-view {\\n /* TODO: Composition position got messed up somewhere */\\n background: #000;\\n color: #FFF;\\n display: none;\\n position: absolute;\\n white-space: nowrap;\\n z-index: 1;\\n}\\n\\n.xterm .composition-view.active {\\n display: block;\\n}\\n\\n.xterm .xterm-viewport {\\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\\n background-color: #000;\\n overflow-y: scroll;\\n cursor: default;\\n position: absolute;\\n right: 0;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n}\\n\\n.xterm .xterm-screen {\\n position: relative;\\n}\\n\\n.xterm .xterm-screen canvas {\\n position: absolute;\\n left: 0;\\n top: 0;\\n}\\n\\n.xterm-char-measure-element {\\n display: inline-block;\\n visibility: hidden;\\n position: absolute;\\n top: 0;\\n left: -9999em;\\n line-height: normal;\\n}\\n\\n.xterm.enable-mouse-events {\\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\\n cursor: default;\\n}\\n\\n.xterm.xterm-cursor-pointer,\\n.xterm .xterm-cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.xterm.column-select.focus {\\n /* Column selection mode */\\n cursor: crosshair;\\n}\\n\\n.xterm .xterm-accessibility:not(.debug),\\n.xterm .xterm-message {\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n z-index: 10;\\n color: transparent;\\n pointer-events: none;\\n}\\n\\n.xterm .xterm-accessibility-tree:not(.debug) *::selection {\\n color: transparent;\\n}\\n\\n.xterm .xterm-accessibility-tree {\\n font-family: monospace;\\n user-select: text;\\n white-space: pre;\\n}\\n\\n.xterm .xterm-accessibility-tree > div {\\n transform-origin: left;\\n width: fit-content;\\n}\\n\\n.xterm .live-region {\\n position: absolute;\\n left: -9999px;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n}\\n\\n.xterm-dim {\\n /* Dim should not apply to background, so the opacity of the foreground color is applied\\n * explicitly in the generated class and reset to 1 here */\\n opacity: 1 !important;\\n}\\n\\n.xterm-underline-1 { text-decoration: underline; }\\n.xterm-underline-2 { text-decoration: double underline; }\\n.xterm-underline-3 { text-decoration: wavy underline; }\\n.xterm-underline-4 { text-decoration: dotted underline; }\\n.xterm-underline-5 { text-decoration: dashed underline; }\\n\\n.xterm-overline {\\n text-decoration: overline;\\n}\\n\\n.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }\\n.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }\\n.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }\\n.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }\\n.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }\\n\\n.xterm-strikethrough {\\n text-decoration: line-through;\\n}\\n\\n.xterm-screen .xterm-decoration-container .xterm-decoration {\\n\\tz-index: 6;\\n\\tposition: absolute;\\n}\\n\\n.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {\\n\\tz-index: 7;\\n}\\n\\n.xterm-decoration-overview-ruler {\\n z-index: 8;\\n position: absolute;\\n top: 0;\\n right: 0;\\n pointer-events: none;\\n}\\n\\n.xterm-decoration-top {\\n z-index: 2;\\n position: relative;\\n}\\n\\n\\n\\n/* Derived from vs/base/browser/ui/scrollbar/media/scrollbar.css */\\n\\n/* xterm.js customization: Override xterm's cursor style */\\n.xterm .xterm-scrollable-element > .scrollbar {\\n cursor: default;\\n}\\n\\n/* Arrows */\\n.xterm .xterm-scrollable-element > .scrollbar > .scra {\\n\\tcursor: pointer;\\n\\tfont-size: 11px !important;\\n}\\n\\n.xterm .xterm-scrollable-element > .visible {\\n\\topacity: 1;\\n\\n\\t/* Background rule added for IE9 - to allow clicks on dom node */\\n\\tbackground:rgba(0,0,0,0);\\n\\n\\ttransition: opacity 100ms linear;\\n\\t/* In front of peek view */\\n\\tz-index: 11;\\n}\\n.xterm .xterm-scrollable-element > .invisible {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n.xterm .xterm-scrollable-element > .invisible.fade {\\n\\ttransition: opacity 800ms linear;\\n}\\n\\n/* Scrollable Content Inset Shadow */\\n.xterm .xterm-scrollable-element > .shadow {\\n\\tposition: absolute;\\n\\tdisplay: none;\\n}\\n.xterm .xterm-scrollable-element > .shadow.top {\\n\\tdisplay: block;\\n\\ttop: 0;\\n\\tleft: 3px;\\n\\theight: 3px;\\n\\twidth: 100%;\\n\\tbox-shadow: var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset;\\n}\\n.xterm .xterm-scrollable-element > .shadow.left {\\n\\tdisplay: block;\\n\\ttop: 3px;\\n\\tleft: 0;\\n\\theight: 100%;\\n\\twidth: 3px;\\n\\tbox-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;\\n}\\n.xterm .xterm-scrollable-element > .shadow.top-left-corner {\\n\\tdisplay: block;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\theight: 3px;\\n\\twidth: 3px;\\n}\\n.xterm .xterm-scrollable-element > .shadow.top.left {\\n\\tbox-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;\\n}\\n\"\n","/**\n * Terminal tab: an xterm.js PTY view over the host's WebSocket terminal route.\n * A host <select> plus connect/disconnect controls; the terminal container is\n * sized by FitAddon (default 80x24 before first fit). On remote exit the last\n * output stays visible and input is disabled. xterm's stylesheet is injected\n * once per page load (module-level guard).\n */\nimport { useEffect, useRef, useState, useSyncExternalStore } from 'react'\nimport { Terminal, type IDisposable } from '@xterm/xterm'\nimport { FitAddon } from '@xterm/addon-fit'\nimport type { SshApi, TerminalConnection } from './api.ts'\nimport type { SshHostSummary } from '../../../../core/ssh/protocol.ts'\nimport { XTERM_CSS } from './xterm.css.ts'\nimport { errorMessage, resolveTerminalFontFamily, tt, type TerminalFontSource } from './helpers.ts'\nimport css from './panel.module.css'\n\n/** Terminal tab props. */\nexport interface TerminalTabProps {\n api: SshApi\n /** Alias preselected by a \"connect\" action from the hosts tab. */\n presetAlias?: string\n /** Monotonic id of the connect request (re-applies presetAlias). */\n requestId?: number\n /**\n * Live terminal-font setting source (issue #577). Absent in tests and\n * legacy mounts: the font then comes from the CSS custom-property chain.\n */\n terminalFont?: TerminalFontSource\n}\n\n/** The terminal session lifecycle state shown in the status banner. */\ntype TerminalStatus =\n | { kind: 'idle' }\n | { kind: 'connecting' }\n | { kind: 'connected'; alias: string }\n | { kind: 'exited'; alias: string; detail?: string }\n | { kind: 'error'; detail: string }\n\n/** In-flight 2FA challenge prompts. */\ninterface AuthPromptState {\n name: string\n instructions: string\n prompts: Array<{ prompt: string; echo: boolean }>\n}\n\n/** Injected-once guard for the xterm stylesheet (one tag per page load). */\nlet xtermCssInjected = false\n\nfunction ensureXtermCss(): void {\n if (xtermCssInjected || typeof document === 'undefined') return\n xtermCssInjected = true\n if (document.querySelector('style[data-dsh-ssh-xterm]') !== null) return\n const style = document.createElement('style')\n style.dataset.dshSshXterm = ''\n style.textContent = XTERM_CSS\n document.head.appendChild(style)\n}\n\n/** No-op source stand-in so the hook order stays stable without the prop. */\nconst NO_FONT_SOURCE: TerminalFontSource = {\n get: () => undefined,\n subscribe: () => () => undefined,\n}\n\n/** The xterm terminal view. */\nexport function TerminalTab({ api, presetAlias, requestId, terminalFont }: TerminalTabProps) {\n const [hosts, setHosts] = useState<SshHostSummary[]>([])\n const [alias, setAlias] = useState(presetAlias ?? '')\n const [status, setStatus] = useState<TerminalStatus>({ kind: 'idle' })\n const [authPrompt, setAuthPrompt] = useState<AuthPromptState | undefined>(undefined)\n const [authInputs, setAuthInputs] = useState<string[]>([])\n const containerRef = useRef<HTMLDivElement | null>(null)\n const termRef = useRef<Terminal | null>(null)\n const fitRef = useRef<FitAddon | null>(null)\n const connRef = useRef<TerminalConnection | null>(null)\n const dataSubRef = useRef<IDisposable | null>(null)\n const fontSource = terminalFont ?? NO_FONT_SOURCE\n const fontOverride = useSyncExternalStore(fontSource.subscribe, fontSource.get)\n\n useEffect(() => { ensureXtermCss() }, [])\n\n // Live re-apply a terminal-font change (issue #577): xterm re-measures\n // and repaints on the options write; a refit keeps cols/rows aligned with\n // the new metrics and the remote PTY learns the new size.\n useEffect(() => {\n const term = termRef.current\n if (term === null) return\n const next = resolveTerminalFontFamily(fontOverride)\n if (term.options.fontFamily === next) return\n term.options.fontFamily = next\n fitRef.current?.fit()\n connRef.current?.resize(term.cols, term.rows)\n }, [fontOverride])\n\n // Fetch the host list on tab activation.\n useEffect(() => {\n let disposed = false\n void (async () => {\n try {\n const list = await api.listHosts()\n if (!disposed) setHosts(list)\n } catch (cause) {\n if (!disposed) setStatus({ kind: 'error', detail: errorMessage(cause) })\n }\n })()\n return () => { disposed = true }\n }, [api])\n\n // A hosts-tab connect action preselects its alias here.\n useEffect(() => {\n if (presetAlias !== undefined) setAlias(presetAlias)\n }, [presetAlias, requestId])\n\n const teardown = (): void => {\n setAuthPrompt(undefined)\n setAuthInputs([])\n const connection = connRef.current\n connRef.current = null\n if (connection !== null) {\n connection.onReady = undefined\n connection.onOutput = undefined\n connection.onExit = undefined\n connection.onAuthPrompt = undefined\n connection.close()\n }\n // Release the xterm input subscription explicitly and dispose the\n // terminal so no listener (or the terminal Renderer) survives a\n // disconnect or the tab unmounting.\n dataSubRef.current?.dispose()\n dataSubRef.current = null\n termRef.current?.dispose()\n termRef.current = null\n fitRef.current = null\n }\n\n // Unmount cleanup (never touches state on an unmounting component).\n useEffect(() => () => { teardown() }, [])\n\n // Keep the terminal fitted to its container. A window resize is only one\n // trigger: the status banner appearing after connect, panel resizes, and\n // sidebar toggles all change the container without a window resize, so the\n // container itself is observed (otherwise the viewport keeps the pre-banner\n // height and the last line is clipped below the fold). ResizeObserver may\n // be absent (jsdom tests); the window listener then remains the only path.\n useEffect(() => {\n let lastCols = -1\n let lastRows = -1\n const sync = (): void => {\n const term = termRef.current\n const fit = fitRef.current\n if (term === null || fit === null) return\n fit.fit()\n const conn = connRef.current\n if (conn !== null && (term.cols !== lastCols || term.rows !== lastRows)) {\n lastCols = term.cols\n lastRows = term.rows\n conn.resize(term.cols, term.rows)\n }\n }\n window.addEventListener('resize', sync)\n const container = containerRef.current\n if (container === null || typeof ResizeObserver === 'undefined') {\n return () => { window.removeEventListener('resize', sync) }\n }\n const observer = new ResizeObserver(() => { sync() })\n observer.observe(container)\n return () => {\n observer.disconnect()\n window.removeEventListener('resize', sync)\n }\n }, [])\n\n const connect = (): void => {\n const target = alias\n const container = containerRef.current\n if (target === '' || container === null) return\n if (status.kind === 'connecting' || status.kind === 'connected') return\n teardown()\n setStatus({ kind: 'connecting' })\n const term = new Terminal({\n convertEol: false,\n cursorBlink: true,\n fontSize: 13,\n fontFamily: resolveTerminalFontFamily(fontOverride),\n theme: { background: '#0b0e14', foreground: '#d8dee9', cursor: '#a3b8d0' },\n })\n const fit = new FitAddon()\n term.loadAddon(fit)\n term.open(container)\n fit.fit()\n const connection = api.openTerminal(target, term.cols, term.rows)\n termRef.current = term\n fitRef.current = fit\n connRef.current = connection\n let settled = false\n dataSubRef.current = term.onData(data => { connection.send(data) })\n connection.onAuthPrompt = (name, instructions, prompts) => {\n setAuthPrompt({ name, instructions, prompts })\n setAuthInputs(prompts.map(() => ''))\n }\n connection.onReady = () => {\n setAuthPrompt(undefined)\n setAuthInputs([])\n setStatus({ kind: 'connected', alias: target })\n }\n connection.onOutput = data => { term.write(data) }\n connection.onExit = (_code, error) => {\n if (settled) return\n settled = true\n setAuthPrompt(undefined)\n setAuthInputs([])\n dataSubRef.current?.dispose()\n dataSubRef.current = null\n term.options.disableStdin = true\n connRef.current = null\n // Keep the last output visible; input is now disabled.\n setStatus({ kind: 'exited', alias: target, detail: error })\n }\n }\n\n const disconnect = (): void => {\n teardown()\n setStatus({ kind: 'idle' })\n }\n\n const submitAuth = (e?: React.FormEvent): void => {\n e?.preventDefault()\n if (connRef.current === null || authPrompt === undefined) return\n connRef.current.sendAuthResponse(authInputs)\n setAuthPrompt(undefined)\n }\n\n const active = status.kind === 'connecting' || status.kind === 'connected'\n\n return (\n <div className={css.termBody}>\n <div className={css.controls}>\n <select className={css.input} value={alias} onChange={event => { setAlias(event.target.value) }}>\n <option value=\"\">{tt('terminal.selectHost')}</option>\n {hosts.map(host => <option key={host.alias} value={host.alias}>{host.alias} ({host.host})</option>)}\n </select>\n <button type=\"button\" className={css.primaryButton} disabled={alias === '' || active} onClick={connect}>{tt('terminal.connect')}</button>\n <button type=\"button\" className={css.ghostButton} disabled={!active} onClick={disconnect}>{tt('terminal.disconnect')}</button>\n </div>\n {status.kind === 'connecting' && <div className={css.banner} data-kind=\"info\">{tt('terminal.connecting')}</div>}\n {status.kind === 'connected' && <div className={css.banner} data-kind=\"ok\">{tt('terminal.ready', { alias: status.alias })}</div>}\n {status.kind === 'exited' && (\n <div className={css.banner} data-kind=\"info\">{tt('terminal.exited', { alias: status.alias })}{status.detail !== undefined ? ' (' + status.detail + ')' : ''}</div>\n )}\n {status.kind === 'error' && <div className={css.banner} data-kind=\"error\">{tt('terminal.error', { error: status.detail })}</div>}\n <div className={css.termWrap}>\n <div ref={containerRef} className={css.termContainer} data-dsh-part=\"terminal\" />\n {status.kind === 'idle' && (\n <div className={css.termPlaceholder}>{hosts.length === 0 ? tt('hosts.empty') : tt('terminal.placeholder')}</div>\n )}\n {authPrompt !== undefined && (\n <div className={css.modalBackdrop} style={{ position: 'absolute', zIndex: 10 }}>\n <form className={css.modalCard} style={{ maxWidth: 420 }} onSubmit={submitAuth}>\n <div className={css.modalHeader}>\n <h3 className={css.modalTitle}>{authPrompt.name || tt('terminal.auth.title')}</h3>\n </div>\n <p className={css.hint}>{authPrompt.instructions || tt('terminal.auth.hint')}</p>\n {authPrompt.prompts.map((p, idx) => (\n <label key={idx} className={css.field}>\n <span className={css.fieldLabel}>{p.prompt.trim() || tt('terminal.auth.title')}</span>\n <input\n autoFocus={idx === 0}\n className={css.input}\n type={p.echo ? 'text' : 'password'}\n placeholder={tt('terminal.auth.placeholder')}\n value={authInputs[idx] ?? ''}\n onChange={event => {\n const next = [...authInputs]\n next[idx] = event.target.value\n setAuthInputs(next)\n }}\n />\n </label>\n ))}\n <div className={css.modalFooter}>\n <button type=\"button\" className={css.ghostButton} onClick={disconnect}>{tt('terminal.auth.cancel')}</button>\n <button type=\"submit\" className={css.primaryButton}>{tt('terminal.auth.submit')}</button>\n </div>\n </form>\n </div>\n )}\n </div>\n </div>\n )\n}\n","/**\n * Transfer tab: upload/download one file with progress, plus a toggleable\n * remote directory browser (api.ls) whose file rows fill the remote path\n * input and whose directory rows navigate.\n */\nimport { useEffect, useRef, useState, type ChangeEvent } from 'react'\nimport type { SshApi } from './api.ts'\nimport type { RemoteDirEntry, SshHostSummary, TransferProgress } from '../../../../core/ssh/protocol.ts'\nimport { errorMessage, tt } from './helpers.ts'\nimport css from './panel.module.css'\n\n/** Transfer tab props. */\nexport interface TransferTabProps {\n api: SshApi\n}\n\n/** One in-flight transfer (drives the progress bar). */\ninterface TransferState {\n kind: 'upload' | 'download'\n phase: TransferProgress['phase']\n percent: number\n speedBps?: number\n file: string\n}\n\n/** The last transfer's outcome line. */\ntype TransferStatus = { kind: 'ok'; bytes: number } | { kind: 'error'; error: string }\n\n/** Join a directory path with a child entry name. */\nfunction joinRemotePath(dir: string, name: string): string {\n const base = dir.endsWith('/') ? dir : dir + '/'\n return base + name\n}\n\n/** Parent path of a remote directory ('/' stays '/'). */\nfunction parentOf(dir: string): string {\n const trimmed = dir.replace(/\\/+$/, '')\n const index = trimmed.lastIndexOf('/')\n if (index <= 0) return '/'\n return trimmed.slice(0, index)\n}\n\n/** Human byte sizes through the transfer.* locale templates. */\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) return tt('transfer.bytes', { value: bytes })\n if (bytes < 1024 * 1024) return tt('transfer.kib', { value: (bytes / 1024).toFixed(1) })\n if (bytes < 1024 * 1024 * 1024) return tt('transfer.mib', { value: (bytes / (1024 * 1024)).toFixed(1) })\n return tt('transfer.gib', { value: (bytes / (1024 * 1024 * 1024)).toFixed(1) })\n}\n\n/** The upload/download tab. */\nexport function TransferTab({ api }: TransferTabProps) {\n const [hosts, setHosts] = useState<SshHostSummary[]>([])\n const [listError, setListError] = useState<string | null>(null)\n const [alias, setAlias] = useState('')\n const [remotePath, setRemotePath] = useState('')\n const [browseOpen, setBrowseOpen] = useState(false)\n const [browseDir, setBrowseDir] = useState('/')\n const [entries, setEntries] = useState<RemoteDirEntry[]>([])\n const [browsing, setBrowsing] = useState(false)\n const [transfer, setTransfer] = useState<TransferState | null>(null)\n const [status, setStatus] = useState<TransferStatus | null>(null)\n const fileRef = useRef<HTMLInputElement | null>(null)\n const seqRef = useRef(0)\n\n useEffect(() => {\n let disposed = false\n void (async () => {\n try {\n const list = await api.listHosts()\n if (!disposed) setHosts(list)\n } catch (cause) {\n if (!disposed) setListError(errorMessage(cause))\n }\n })()\n return () => { disposed = true }\n }, [api])\n\n const loadDir = async (path: string): Promise<void> => {\n if (alias === '') return\n const seq = ++seqRef.current\n setBrowsing(true)\n try {\n const list = await api.ls(alias, path)\n if (seq !== seqRef.current) return\n const sorted = [...list].sort((a, b) => {\n if (a.type !== b.type) return a.type === 'dir' ? -1 : 1\n return a.name.localeCompare(b.name)\n })\n setEntries(sorted)\n setBrowseDir(path)\n setListError(null)\n } catch (cause) {\n if (seq === seqRef.current) setListError(errorMessage(cause))\n } finally {\n if (seq === seqRef.current) setBrowsing(false)\n }\n }\n\n const openBrowse = (): void => {\n if (alias === '') return\n setBrowseOpen(true)\n const path = remotePath.trim() === '' ? '/' : remotePath.trim()\n void loadDir(path)\n }\n\n const handleFile = async (event: ChangeEvent<HTMLInputElement>): Promise<void> => {\n const file = event.target.files?.[0]\n event.target.value = ''\n if (file === undefined || alias === '' || remotePath.trim() === '' || transfer !== null) return\n setStatus(null)\n setTransfer({ kind: 'upload', phase: 'connecting', percent: 0, file: file.name })\n try {\n const outcome = await api.uploadFile(file, alias, remotePath.trim(), progress => {\n setTransfer(prev => prev === null ? prev : {\n kind: 'upload',\n phase: progress.phase,\n percent: progress.percent,\n speedBps: progress.speedBps,\n file: progress.file,\n })\n })\n setStatus({ kind: 'ok', bytes: outcome.transferredBytes })\n } catch (cause) {\n setStatus({ kind: 'error', error: errorMessage(cause) })\n } finally {\n setTransfer(null)\n }\n }\n\n const handleDownload = async (): Promise<void> => {\n if (alias === '' || remotePath.trim() === '' || transfer !== null) return\n setStatus(null)\n setTransfer({ kind: 'download', phase: 'connecting', percent: 0, file: remotePath.trim() })\n try {\n const result = await api.downloadFile(alias, remotePath.trim(), progress => {\n setTransfer(prev => prev === null ? prev : {\n kind: 'download',\n phase: progress.phase,\n percent: progress.percent,\n speedBps: progress.speedBps,\n file: progress.file,\n })\n })\n // Streamed downloads (File System Access API) were already saved; the\n // Blob fallback triggers a browser save here.\n if (!result.streamed && result.blob !== undefined) {\n const url = URL.createObjectURL(result.blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = result.filename\n document.body.appendChild(anchor)\n anchor.click()\n anchor.remove()\n // Defer the revoke: some engines need the URL alive past the click.\n setTimeout(() => { URL.revokeObjectURL(url) }, 10_000)\n }\n setStatus({ kind: 'ok', bytes: result.bytes })\n } catch (cause) {\n setStatus({ kind: 'error', error: errorMessage(cause) })\n } finally {\n setTransfer(null)\n }\n }\n\n const ready = alias !== '' && remotePath.trim() !== '' && transfer === null\n\n return (\n <div className={css.tabBody}>\n <div className={css.controls}>\n <select className={css.input} value={alias} onChange={event => { setAlias(event.target.value) }}>\n <option value=\"\">{tt('transfer.selectHost')}</option>\n {hosts.map(host => <option key={host.alias} value={host.alias}>{host.alias} ({host.host})</option>)}\n </select>\n <input className={css.input} placeholder={tt('transfer.remotePathHint')} value={remotePath} onChange={event => { setRemotePath(event.target.value) }} />\n <button type=\"button\" className={css.ghostButton} disabled={alias === ''} onClick={openBrowse}>{tt('transfer.browseRemote')}</button>\n <div className={css.toolbarSpacer} />\n <button type=\"button\" className={css.primaryButton} disabled={!ready} onClick={() => { fileRef.current?.click() }}>{tt('transfer.upload')}</button>\n <button type=\"button\" className={css.ghostButton} disabled={!ready} onClick={() => { void handleDownload() }}>{tt('transfer.download')}</button>\n <input ref={fileRef} type=\"file\" className={css.hiddenFile} onChange={event => { void handleFile(event) }} />\n </div>\n {listError !== null && <div className={css.banner} data-kind=\"error\">{tt('common.error', { error: listError })}</div>}\n {browseOpen && (\n <div className={css.browsePanel}>\n <div className={css.browseHeader}>\n <span className={css.browsePath}>{browseDir}</span>\n <button type=\"button\" className={css.linkButton} disabled={browsing} onClick={() => { void loadDir(browseDir) }}>{tt('transfer.refresh')}</button>\n </div>\n <div className={css.browseList}>\n {browseDir !== '/' && (\n <button type=\"button\" className={css.dirRow} data-up onClick={() => { void loadDir(parentOf(browseDir)) }}>\n <span className={css.dirName}>{tt('transfer.upLevel')}</span>\n <span className={css.dirType} />\n <span className={css.dirSize} />\n </button>\n )}\n {entries.map(entry => (\n <button key={entry.name} type=\"button\" className={css.dirRow} data-type={entry.type} onClick={() => {\n if (entry.type === 'dir') {\n void loadDir(joinRemotePath(browseDir, entry.name))\n } else {\n setRemotePath(joinRemotePath(browseDir, entry.name))\n }\n }}>\n <span className={css.dirName}>{entry.name}</span>\n <span className={css.dirType}>{entry.type === 'dir' ? '[' + tt('transfer.dir') + ']' : entry.type === 'file' ? '[' + tt('transfer.file') + ']' : ''}</span>\n <span className={css.dirSize}>{formatBytes(entry.size)}</span>\n </button>\n ))}\n </div>\n </div>\n )}\n {transfer !== null && (\n <div className={css.transferBlock}>\n <div className={css.progressMeta}>\n <span>{transfer.kind === 'upload' ? tt('transfer.uploading', { file: transfer.file }) : tt('transfer.downloading')}</span>\n <span>{tt('transfer.percent', { value: Math.round(transfer.percent) })}</span>\n {transfer.speedBps !== undefined && transfer.phase === 'transferring' && <span>{tt('transfer.speed', { value: formatBytes(transfer.speedBps) })}</span>}\n </div>\n <div className={css.progressTrack}>\n <div className={css.progressBar} style={{ width: Math.min(100, Math.max(0, transfer.percent)) + '%' }} />\n </div>\n </div>\n )}\n {status !== null && (\n <div className={css.banner} data-kind={status.kind}>\n {status.kind === 'ok' ? tt('transfer.done', { bytes: status.bytes }) : tt('transfer.failed', { error: status.error })}\n </div>\n )}\n </div>\n )\n}\n","/**\n * Tunnels tab: the live local port-forward list (auto-refresh every 5s while\n * mounted) with per-row stop, a stop-all action scoped to the selected alias,\n * and a new-tunnel form.\n */\nimport { useEffect, useRef, useState } from 'react'\nimport type { SshApi } from './api.ts'\nimport type { SshHostSummary, TunnelInfo } from '../../../../core/ssh/protocol.ts'\nimport { errorMessage, tt } from './helpers.ts'\nimport css from './panel.module.css'\n\n/** Live-tunnel polling interval while the tab is mounted (ms). */\nexport const TUNNEL_POLL_MS = 5000\n\n/**\n * Return `next` only when the tunnel list changed in a user-visible way\n * (identity, ordering or any renderable field), else `null` so a poll tick\n * with no real change keeps the previous reference and React skips the\n * re-render. `prev === null` (first load) always accepts the list.\n */\nexport function diffTunnels(prev: TunnelInfo[] | null, next: TunnelInfo[]): TunnelInfo[] | null {\n if (prev === null) return next\n if (prev.length !== next.length) return next\n for (let index = 0; index < prev.length; index += 1) {\n const a = prev[index]\n const b = next[index]\n if (a.id !== b.id || a.alias !== b.alias || a.state !== b.state\n || a.localPort !== b.localPort || a.remoteHost !== b.remoteHost\n || a.remotePort !== b.remotePort || a.startedAt !== b.startedAt\n || a.error !== b.error) {\n return next\n }\n }\n return null\n}\n\n/** Tunnels tab props. */\nexport interface TunnelsTabProps {\n api: SshApi\n}\n\n/** The tunnels tab. */\nexport function TunnelsTab({ api }: TunnelsTabProps) {\n const [hosts, setHosts] = useState<SshHostSummary[]>([])\n const [tunnels, setTunnels] = useState<TunnelInfo[] | null>(null)\n const [error, setError] = useState<string | null>(null)\n const [notice, setNotice] = useState<string | null>(null)\n const [alias, setAlias] = useState('')\n const [remotePort, setRemotePort] = useState('')\n const [remoteHost, setRemoteHost] = useState('')\n const [localPort, setLocalPort] = useState('')\n const [busy, setBusy] = useState(false)\n\n // Hosts for the new-tunnel form (failure does not block tunnel listing).\n useEffect(() => {\n let disposed = false\n void (async () => {\n try {\n const list = await api.listHosts()\n if (!disposed) setHosts(list)\n } catch {\n // Tunnels may still exist; keep the list usable.\n }\n })()\n return () => { disposed = true }\n }, [api])\n\n // Live list with a TUNNEL_POLL_MS heartbeat while mounted. Every load\n // carries a sequence number so stale responses never overwrite newer\n // state, and the list is diff-set so an unchanged poll tick keeps the\n // previous state reference (no wasted re-render).\n const seqRef = useRef(0)\n useEffect(() => {\n const load = async (): Promise<void> => {\n const seq = ++seqRef.current\n try {\n const list = await api.listTunnels()\n if (seq !== seqRef.current) return\n setTunnels(prev => diffTunnels(prev, list) ?? prev)\n setError(null)\n } catch (cause) {\n if (seq !== seqRef.current) return\n setError(errorMessage(cause))\n }\n }\n void load()\n const timer = setInterval(() => { void load() }, TUNNEL_POLL_MS)\n return () => { clearInterval(timer) }\n }, [api])\n\n const refresh = async (): Promise<void> => {\n const seq = ++seqRef.current\n try {\n const list = await api.listTunnels()\n if (seq !== seqRef.current) return\n setTunnels(list)\n setError(null)\n } catch (cause) {\n if (seq !== seqRef.current) return\n setError(errorMessage(cause))\n }\n }\n\n const stopTunnel = async (tunnelId: string): Promise<void> => {\n try {\n await api.stopTunnel(tunnelId)\n await refresh()\n } catch (cause) {\n setError(errorMessage(cause))\n }\n }\n\n const stopAll = async (): Promise<void> => {\n if (!window.confirm(tt('tunnel.stopAllConfirm'))) return\n setBusy(true)\n try {\n await api.stopAllTunnels(alias === '' ? undefined : alias)\n await refresh()\n } catch (cause) {\n setError(errorMessage(cause))\n } finally {\n setBusy(false)\n }\n }\n\n const start = async (): Promise<void> => {\n if (alias === '' || remotePort.trim() === '') return\n const remotePortNumber = Number(remotePort)\n const localPortNumber = localPort.trim() === '' ? undefined : Number(localPort)\n if (!Number.isInteger(remotePortNumber) || remotePortNumber < 1 || remotePortNumber > 65535) {\n setError(tt('form.portInvalid'))\n return\n }\n if (localPortNumber !== undefined && (!Number.isInteger(localPortNumber) || localPortNumber < 1 || localPortNumber > 65535)) {\n setError(tt('form.portInvalid'))\n return\n }\n setBusy(true)\n setNotice(null)\n try {\n const tunnel = await api.startTunnel({\n alias,\n remotePort: remotePortNumber,\n remoteHost: remoteHost.trim() === '' ? undefined : remoteHost.trim(),\n localPort: localPortNumber,\n })\n setNotice(tt('tunnel.started', { localPort: tunnel.localPort }))\n setRemotePort('')\n setRemoteHost('')\n setLocalPort('')\n await refresh()\n } catch (cause) {\n setError(tt('tunnel.failed', { error: errorMessage(cause) }))\n } finally {\n setBusy(false)\n }\n }\n\n return (\n <div className={css.tabBody}>\n <div className={css.controls}>\n <button type=\"button\" className={css.ghostButton} disabled={busy} onClick={() => { void stopAll() }}>{tt('tunnel.stopAll')}</button>\n <button type=\"button\" className={css.ghostButton} onClick={() => { void refresh() }}>{tt('common.refresh')}</button>\n </div>\n {error !== null && <div className={css.banner} data-kind=\"error\">{error}</div>}\n {notice !== null && <div className={css.banner} data-kind=\"ok\">{notice}</div>}\n {tunnels !== null && tunnels.length === 0 && <div className={css.empty}>{tt('tunnel.empty')}</div>}\n <div className={css.tunnelList}>\n {(tunnels ?? []).map(tunnel => (\n <div key={tunnel.id} className={css.tunnelRow} data-state={tunnel.state}>\n <span className={css.tunnelLabel}>{tt('tunnel.row', { alias: tunnel.alias, localPort: tunnel.localPort, remoteHost: tunnel.remoteHost, remotePort: tunnel.remotePort })}</span>\n <button type=\"button\" className={css.ghostButton} onClick={() => { void stopTunnel(tunnel.id) }}>{tt('tunnel.stop')}</button>\n </div>\n ))}\n </div>\n <div className={css.formCard}>\n <div className={css.formRow}>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('tunnel.alias')}</span>\n <select className={css.input} value={alias} onChange={event => { setAlias(event.target.value) }}>\n <option value=\"\">{tt('terminal.selectHost')}</option>\n {hosts.map(host => <option key={host.alias} value={host.alias}>{host.alias}</option>)}\n </select>\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('tunnel.remotePort')}</span>\n <input className={css.input} type=\"number\" min={1} max={65535} value={remotePort} onChange={event => { setRemotePort(event.target.value) }} />\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('tunnel.remoteHost')}</span>\n <input className={css.input} value={remoteHost} placeholder={tt('tunnel.remoteHostHint')} onChange={event => { setRemoteHost(event.target.value) }} />\n </label>\n <label className={css.field}>\n <span className={css.fieldLabel}>{tt('tunnel.localPort')}</span>\n <input className={css.input} type=\"number\" min={1} max={65535} value={localPort} placeholder={tt('tunnel.localPortHint')} onChange={event => { setLocalPort(event.target.value) }} />\n </label>\n </div>\n <div>\n <button type=\"button\" className={css.primaryButton} disabled={busy || alias === '' || remotePort.trim() === ''} onClick={() => { void start() }}>{tt('tunnel.start')}</button>\n </div>\n </div>\n </div>\n )\n}\n","/**\n * 原生页面外壳 —— 与官方插件页(PluginManagerPage)同一套版心与加载外观。\n *\n * 官方插件页的结构是:`section[data-plugin-panel]`(100% 高、外层滚动、\n * clamp(24px,4vw,48px) 左右留白)+ 居中 960px 内容列 + 28px 上边距的页头\n * (20px/500 标题 + 13px 说明行)+ 右侧工具条;数据未就绪时用 `aria-busy`\n * 与提示行表达。SSH / 记忆 / Git Worktree 三个家族主栏面板统一复用本模块,\n * 因此它们的加载方式与布局和官方插件页完全一致。\n */\nimport type { ReactNode } from 'react'\nimport css from './page-shell.module.css'\n\n/** 页面外壳属性。 */\nexport interface PageShellProps {\n /** 页面标题,与侧栏行使用同一个名字。 */\n title: string\n /** 家族标记:写到 `data-dsh-plugin`(沿用各面板原来的语义属性)。 */\n plugin?: string\n /** 标题下的说明行;省略或空串时不渲染。 */\n intro?: string\n /** 页头右侧工具条内容。 */\n toolbar?: ReactNode\n /** 数据加载中:驱动 `aria-busy` 并让读屏软件播报加载态。 */\n busy?: boolean\n /** 页面内容:每个直接子节点都是 960px 版心内的一节。 */\n children: ReactNode\n}\n\n/** 版心内的一节内容(分组)。 */\nexport interface PageSectionProps {\n /** 填满页头以下的剩余高度(终端、列表这类需要内部滚动的区块)。 */\n fill?: boolean\n /** 追加的类名(内容自有样式)。 */\n className?: string\n children: ReactNode\n}\n\n/** 加载 / 空 / 失败提示行的种类。 */\nexport type PageNoticeKind = 'loading' | 'empty' | 'error'\n\n/** 提示行属性。 */\nexport interface PageNoticeProps {\n kind: PageNoticeKind\n /** 提示文案。 */\n children: ReactNode\n /** 右侧动作(例如「重试」);省略则不渲染。 */\n action?: ReactNode\n}\n\n/** 提示行在版本内的稳定标记。 */\nexport const PAGE_NOTICE_PART = 'page-notice'\n\n/** 一节内容:与插件页的分组同款纵向布局。 */\nexport function PageSection({ fill = false, className, children }: PageSectionProps): JSX.Element {\n const classes = [css.section, fill ? css.sectionFill : '', className ?? ''].filter((name) => name !== '')\n return <div className={classes.join(' ')}>{children}</div>\n}\n\n/** 加载 / 空 / 失败提示行:与插件页的 status 行同款排版。 */\nexport function PageNotice({ kind, children, action }: PageNoticeProps): JSX.Element {\n const classes = kind === 'error' ? `${css.notice} ${css.noticeError}` : css.notice\n return (\n <p className={classes} data-dsh-part={PAGE_NOTICE_PART} data-kind={kind}>\n <span>{children}</span>\n {action === undefined ? null : <span className={css.noticeAction}>{action}</span>}\n </p>\n )\n}\n\n/** 主栏页面外壳。 */\nexport function PageShell({ title, plugin, intro, toolbar, busy = false, children }: PageShellProps): JSX.Element {\n return (\n <section className={css.page} data-dsh-page=\"\" aria-busy={busy} {...(plugin === undefined ? {} : { 'data-dsh-plugin': plugin })}>\n <header className={css.pageHead} data-window-drag=\"\">\n <div className={css.pageHeading}>\n <h1 className={css.pageTitle}>{title}</h1>\n {intro === undefined || intro === '' ? null : (\n <div className={css.pageIntro} data-dsh-part=\"page-intro\"><span>{intro}</span></div>\n )}\n </div>\n {toolbar === undefined ? null : <div className={css.toolbar} data-dsh-part=\"page-toolbar\">{toolbar}</div>}\n </header>\n {children}\n </section>\n )\n}","/**\n * SSH 主栏页面:0.2 原生 `main` 面板,版心与加载态复用 page-shell(与官方\n * 插件页同形)。页头下是五个标签页(主机 / 终端 / 传输 / 隧道 / 集群),\n * 标签状态属于浏览器会话状态;未激活的标签卸载,因此每个标签在激活时各自\n * 取数。主机页的连接动作会切到终端标签并预选别名。\n */\nimport { useState } from 'react'\nimport type { SshApi } from './api.ts'\nimport { tt, type TerminalFontSource } from './helpers.ts'\nimport { ClusterTab } from './ClusterTab.tsx'\nimport { HostsTab } from './HostsTab.tsx'\nimport { TerminalTab } from './TerminalTab.tsx'\nimport { TransferTab } from './TransferTab.tsx'\nimport { TunnelsTab } from './TunnelsTab.tsx'\nimport { PageSection, PageShell } from '../../page-shell.tsx'\nimport css from './panel.module.css'\n\n/** The panel's tab identifiers. */\nexport type SshTab = 'hosts' | 'terminal' | 'transfer' | 'tunnels' | 'cluster'\n\n/** Panel shell props. */\nexport interface SshPanelProps {\n /** The SSH API client every tab operates through. */\n api: SshApi\n /** Live terminal-font setting source handed to the terminal tab (issue #577). */\n terminalFont?: TerminalFontSource\n}\n\n/** The tab bar definition (labels resolved at render time). */\nconst TABS: ReadonlyArray<{ id: SshTab; label: () => string }> = [\n { id: 'hosts', label: () => tt('tab.hosts') },\n { id: 'terminal', label: () => tt('tab.terminal') },\n { id: 'transfer', label: () => tt('tab.transfer') },\n { id: 'tunnels', label: () => tt('tab.tunnels') },\n { id: 'cluster', label: () => tt('tab.cluster') },\n]\n\n/** A pending \"connect this host\" request handed to the terminal tab. */\ninterface ConnectRequest {\n alias: string\n nonce: number\n}\n\n/** The tabbed SSH page. */\nexport function SshPanel({ api, terminalFont }: SshPanelProps) {\n const [activeTab, setActiveTab] = useState<SshTab>('hosts')\n const [connectRequest, setConnectRequest] = useState<ConnectRequest | null>(null)\n\n const handleConnect = (alias: string): void => {\n setActiveTab('terminal')\n setConnectRequest(prev => ({ alias, nonce: (prev?.nonce ?? 0) + 1 }))\n }\n\n return (\n <PageShell plugin=\"ssh\" title={tt('panel.title')} intro={tt('panel.intro')}>\n <PageSection>\n <div className={css.tabBar} role=\"tablist\" data-dsh-part=\"tab-bar\">\n {TABS.map(tab => (\n <button key={tab.id} type=\"button\" role=\"tab\" aria-selected={activeTab === tab.id} data-active={activeTab === tab.id ? '' : undefined} data-dsh-part=\"tab\" className={css.tab} onClick={() => { setActiveTab(tab.id) }}>\n {tab.label()}\n </button>\n ))}\n </div>\n </PageSection>\n <PageSection fill>\n <div className={css.panelContent} data-dsh-part=\"panel-content\">\n {activeTab === 'hosts' && <HostsTab api={api} onConnect={handleConnect} />}\n {activeTab === 'terminal' && <TerminalTab api={api} presetAlias={connectRequest?.alias} requestId={connectRequest?.nonce} terminalFont={terminalFont} />}\n {activeTab === 'transfer' && <TransferTab api={api} />}\n {activeTab === 'tunnels' && <TunnelsTab api={api} />}\n {activeTab === 'cluster' && <ClusterTab api={api} />}\n </div>\n </PageSection>\n </PageShell>\n )\n}","/**\n * Panel open/close state machine — pure, no DOM, unit-testable. Mirrors the\n * sibling panel controllers: a snapshot + subscribe contract drives the\n * sidebar entry highlight and the panel visibility attributes.\n */\n\nexport interface PanelSnapshot {\n panelOpen: boolean\n}\n\nexport class PanelController {\n private state: PanelSnapshot = { panelOpen: false }\n private listeners = new Set<() => void>()\n\n /** The current immutable snapshot. */\n getSnapshot(): PanelSnapshot {\n return this.state\n }\n\n /** Subscribe to state changes; returns an unsubscribe function. */\n subscribe(listener: () => void): () => void {\n this.listeners.add(listener)\n return () => {\n this.listeners.delete(listener)\n }\n }\n\n open(): void {\n this.patch({ panelOpen: true })\n }\n\n close(): void {\n this.patch({ panelOpen: false })\n }\n\n toggle(): void {\n this.patch({ panelOpen: !this.state.panelOpen })\n }\n\n /** Replace the snapshot; notifies only when the observable state changed. */\n private patch(next: Partial<PanelSnapshot>): void {\n const prev = this.state\n this.state = { ...prev, ...next }\n if (this.state.panelOpen === prev.panelOpen) return\n for (const listener of [...this.listeners]) listener()\n }\n}\n","/**\n * Browser API client for the host /api/dsh-memoir routes. The only data path\n * the panel uses — same-origin fetch, JSON envelope { ok, value | error }.\n * The fetch implementation is injectable for tests.\n */\n\nimport type { MemoirStatus, SectionKey } from './types.ts'\n\n/** Error carrying the route's JSON error message. */\nexport class MemoirApiError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'MemoirApiError'\n }\n}\n\ninterface EnvelopeResponse {\n status: number\n ok: boolean\n json(): Promise<unknown>\n}\n\n/** Parse the envelope or throw a MemoirApiError (transport or route error). */\nexport async function readEnvelope(response: EnvelopeResponse): Promise<unknown> {\n let body: unknown\n try {\n body = await response.json()\n } catch {\n throw new MemoirApiError(`HTTP ${response.status}: invalid JSON response`)\n }\n if (typeof body !== 'object' || body === null || (body as { ok?: boolean }).ok !== true) {\n const record = body as { error?: { message?: string } } | null\n const message = record && typeof record.error === 'object' && record.error !== null && typeof record.error.message === 'string'\n ? record.error.message\n : `HTTP ${response.status}`\n throw new MemoirApiError(message)\n }\n return (body as { value: unknown }).value\n}\n\n/** Query-string helper (omits undefined/empty values). */\nexport function query(params: Record<string, string | undefined>): string {\n const search = new URLSearchParams()\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== '') search.set(key, String(value))\n }\n const text = search.toString()\n return text === '' ? '' : '?' + text\n}\n\n/** One memory entry as the panel sees it over the wire. */\nexport interface WireEntry {\n id: string\n section: SectionKey\n title?: string\n content: string\n time: number\n source?: { sessionId?: string; turnId?: number }\n /** Legacy v3 wire alias; prefer source.sessionId. */\n sessionId?: string\n importance?: number\n pinned?: boolean\n status?: MemoirStatus\n supersedes?: string[]\n tags?: string[]\n}\n\nexport interface WireProject {\n key: string\n path: string\n title: string\n updatedAt: number\n entries: WireEntry[]\n}\n\n/** The host /diagnostics payload (v0.4 observability, v0.4.2 extended). */\nexport interface WireDiagnostics {\n storeRevision: number\n snapshotEpoch: number\n cache: {\n revision: number\n epoch: number\n loads: number\n hits: number\n misses: number\n hitRate: number\n fileReads: number\n statProbes: number\n corruptBackups: number\n renders: number\n renderComputes: number\n renderHitRate: number\n lastLoadMs?: number\n }\n snapshotCount: number\n snapshotMax: number\n hotMemory: { selected: number; total: number; estimatedTokens: number } | null\n /** v0.4.2: retrieval index / query cache / last query. */\n retrieval: {\n index: { docs: number; terms: number; epoch: number } | null\n cache: { hits: number; misses: number; evictions: number; hitRate: number; size: number; capacity: number }\n lastQuery: { query: string; latencyMs: number; candidates: number; returned: number; at: number } | null\n }\n /** v0.4.2: the most recently frozen session snapshot. */\n snapshot: { hash: string; createdAt: number; storeRevision: number } | null\n config: {\n announceToAgent: boolean\n autoDistill: boolean\n autoDistillEvery: number\n autoDistillCooldownMin: number\n autoDistillMinTools: number\n hotMemoryTokens: number\n hotMemoryMaxTokens: number\n readDefaultLimit: number\n readMaxLimit: number\n sessionSnapshotMax: number\n queryCacheSize: number\n }\n}\n\n/** Full live runtime settings managed by both GUI settings surfaces. */\nexport interface WireMemoirSettings {\n announceToAgent: boolean\n autoDistill: boolean\n autoDistillEvery: number\n autoDistillCooldownMin: number\n autoDistillMinTools: number\n hotMemoryTokens: number\n hotMemoryMaxTokens: number\n readDefaultLimit: number\n readMaxLimit: number\n sessionSnapshotMax: number\n queryCacheSize: number\n}\n\nexport interface WireMemoirSettingsSnapshot {\n settings: WireMemoirSettings\n source: 'profile' | 'web'\n}\n\n/** v0.5.3 source compatibility aliases. */\nexport type WireAutoDistillSettings = WireMemoirSettings\nexport type WireAutoDistillSettingsSnapshot = WireMemoirSettingsSnapshot\n\n/** One ranked /search hit (v0.4.2: shared RetrievalEngine order). */\nexport interface WireSearchResult {\n projectPath: string\n entry: WireEntry\n score: number\n}\n\nexport type WireRecordResolution = 'update' | 'supersede' | 'force-record'\nexport type WireRecordAction = 'recorded' | 'needs-resolution' | 'updated' | 'superseded' | 'force-recorded'\n\nexport interface WireSimilarityCandidate {\n kind: 'duplicate' | 'conflict'\n score: number\n components: { bm25: number; title: number; tokenJaccard: number }\n reasons: string[]\n entry: WireEntry\n projectPath: string\n}\n\nexport interface WireRecordResult {\n action: WireRecordAction\n recorded: boolean\n entry?: WireEntry\n candidates: WireSimilarityCandidate[]\n}\n\n/** The /hot-memory inspector payload (v0.4.2). */\nexport interface WireHotMemory {\n text: string\n selected: WireEntry[]\n total: number\n estimatedTokens: number\n}\n\nexport interface RecordPayload {\n path: string\n section: SectionKey\n title?: string\n content: string\n importance?: number\n pinned?: boolean\n supersedes?: string[]\n tags?: string[]\n resolution?: WireRecordResolution\n targetId?: string\n}\n\ntype FetchLike = (input: string, init?: RequestInit) => Promise<EnvelopeResponse>\n\n/** The browser half's only data entry point. */\nexport class MemoirApi {\n private readonly fetchImpl: FetchLike\n\n /**\n * @param fetchImpl - injectable fetch (defaults to globalThis.fetch).\n */\n constructor(fetchImpl?: FetchLike) {\n this.fetchImpl = fetchImpl ?? ((...args) => globalThis.fetch(...args) as Promise<EnvelopeResponse>)\n }\n\n /** Read one project's memory (empty project shape when unknown). */\n async project(path: string, options: { section?: SectionKey; query?: string; status?: MemoirStatus | 'all' } = {}): Promise<{ project: WireProject }> {\n const response = await this.fetchImpl('/api/dsh-memoir/project' + query({ path, ...options }))\n return readEnvelope(response) as Promise<{ project: WireProject }>\n }\n\n /** Read the cross-project global index. */\n async global(options: { section?: SectionKey; query?: string; status?: MemoirStatus | 'all' } = {}): Promise<{ projects: WireProject[] }> {\n const response = await this.fetchImpl('/api/dsh-memoir/global' + query({ ...options }))\n return readEnvelope(response) as Promise<{ projects: WireProject[] }>\n }\n\n /** Read runtime diagnostics (cache hit rates, snapshot/hot-memory stats). */\n async diagnostics(path?: string): Promise<WireDiagnostics> {\n const response = await this.fetchImpl('/api/dsh-memoir/diagnostics' + query({ path }))\n return readEnvelope(response) as Promise<WireDiagnostics>\n }\n\n /** Read all live settings and whether they come from Web overrides. */\n async settings(): Promise<WireMemoirSettingsSnapshot> {\n const response = await this.fetchImpl('/api/dsh-memoir/settings')\n return readEnvelope(response) as Promise<WireMemoirSettingsSnapshot>\n }\n\n /** Persist and immediately apply the complete runtime policy. */\n async updateSettings(settings: WireMemoirSettings): Promise<WireMemoirSettingsSnapshot> {\n const response = await this.fetchImpl('/api/dsh-memoir/settings', {\n method: 'PUT',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(settings),\n })\n return readEnvelope(response) as Promise<WireMemoirSettingsSnapshot>\n }\n\n /** Remove the Web override and restore the profile defaults captured at boot. */\n async resetSettings(): Promise<WireMemoirSettingsSnapshot> {\n const response = await this.fetchImpl('/api/dsh-memoir/settings', {\n method: 'DELETE',\n headers: { 'content-type': 'application/json' },\n body: '{}',\n })\n return readEnvelope(response) as Promise<WireMemoirSettingsSnapshot>\n }\n\n /**\n * Ranked search over the host RetrievalEngine (v0.4.2) — the same ranking\n * memoir_read uses, so the GUI search and the agent recall never diverge.\n */\n async search(options: { scope: 'project' | 'global' | 'all'; path?: string; section?: SectionKey; query: string; limit?: number; status?: MemoirStatus | 'all' }): Promise<{ results: WireSearchResult[] }> {\n const response = await this.fetchImpl('/api/dsh-memoir/search' + query({\n scope: options.scope,\n path: options.path,\n section: options.section,\n query: options.query,\n limit: options.limit === undefined ? undefined : String(options.limit),\n status: options.status,\n }))\n return readEnvelope(response) as Promise<{ results: WireSearchResult[] }>\n }\n\n /** Hot-memory preview for one workspace (the inspector). */\n async hotMemory(path: string): Promise<{ hotMemory: WireHotMemory | null }> {\n const response = await this.fetchImpl('/api/dsh-memoir/hot-memory' + query({ path }))\n return readEnvelope(response) as Promise<{ hotMemory: WireHotMemory | null }>\n }\n\n /** Record one entry in the host-side project memory store. */\n async record(payload: RecordPayload): Promise<WireRecordResult> {\n const response = await this.fetchImpl('/api/dsh-memoir/entries', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(payload),\n })\n return readEnvelope(response) as Promise<WireRecordResult>\n }\n\n /** Delete one entry by id. */\n async remove(payload: { path: string; id: string }): Promise<{ removed: boolean }> {\n const response = await this.fetchImpl('/api/dsh-memoir/entries', {\n method: 'DELETE',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(payload),\n })\n return readEnvelope(response) as Promise<{ removed: boolean }>\n }\n\n /** Update entry content or lifecycle metadata without deleting. */\n async update(payload: { path: string; id: string; section?: SectionKey; title?: string | null; content?: string; importance?: number; pinned?: boolean; status?: MemoirStatus; supersedes?: string[]; tags?: string[] }): Promise<{ entry: WireEntry | null; updated: boolean }> {\n const response = await this.fetchImpl('/api/dsh-memoir/entries', {\n method: 'PATCH',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(payload),\n })\n return readEnvelope(response) as Promise<{ entry: WireEntry | null; updated: boolean }>\n }\n}\n","/**\n * Project-path tracker for the memoir panel.\n *\n * DSH 0.2 moved session selection out of the sessions service: `sessions.list`\n * no longer carries `current` and `sessions.open` is gone. The durable\n * selection cell now lives on `uiWorkspace.selection` (`dsh.sessions.current`)\n * and the center column's binding is published by `uiSession` — through the\n * public `adapter.current` face first, with the private `current` twin as a\n * fallback — while the project path still rides the sessions list rows\n * (`byId[id].cwd`).\n *\n * The memoir page is a global main panel, so it receives no injected session\n * id; it resolves the project from the selection sources in order and reads the\n * cwd off the sessions list. Sources are resolved lazily on every read so a\n * service provided after registration is picked up instead of frozen into a\n * stub. Pure logic — unit-testable with doubles.\n */\n\n/** Observable face shared by the sessions list and the selection stores. */\nexport interface ObservableLike<T> {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\nexport interface SessionRecordLike {\n cwd?: string\n}\n\nexport interface SessionListSnapshot {\n /** Pre-0.2 sessions service only; absent from the 0.2 list snapshot. */\n current?: string\n byId: Record<string, SessionRecordLike>\n}\n\n/**\n * Service faces the resolver reads. Every member is optional: deployments and\n * DSH versions differ, and a missing source must degrade, never throw.\n */\nexport interface MemoirProjectSources {\n /** `ctx.sessions` — session list rows carry the project cwd. */\n sessions?: { list?: ObservableLike<SessionListSnapshot> }\n /** `ctx.uiWorkspace` — the durable selection cell (0.2). */\n uiWorkspace?: { selection?: ObservableLike<{ sessionId?: string } | undefined> }\n /** `ctx.uiSession` — the main-view binding the center column renders. */\n uiSession?: {\n /**\n * The renderer-facing adapter: the only *public* face of the main-view\n * binding (`SlotScopeAdapter.current`). Preferred over the private twin.\n */\n adapter?: { current?: ObservableLike<{ key?: string } | undefined> }\n /** The private binding twin; kept as a fallback for older cohorts. */\n current?: ObservableLike<{ key?: string } | undefined>\n }\n}\n\n/** Read through a source without letting a hostile/proxied service throw. */\nfunction read<T>(reader: () => T): T | undefined {\n try {\n return reader()\n } catch {\n return undefined\n }\n}\n\n/** Selected session ids in resolution order, blanks dropped. */\nfunction candidateSessionIds(sources: MemoirProjectSources): string[] {\n const candidates = [\n read(() => sources.uiWorkspace?.selection?.getSnapshot()?.sessionId),\n read(() => sources.sessions?.list?.getSnapshot().current),\n // Public first: the adapter's binding is the contract face, while\n // `uiSession.current` is the private twin that feeds it.\n read(() => sources.uiSession?.adapter?.current?.getSnapshot()?.key),\n read(() => sources.uiSession?.current?.getSnapshot()?.key),\n ]\n return candidates.filter((id): id is string => typeof id === 'string' && id !== '')\n}\n\n/** Available change sources, in subscription order. */\nfunction changeSources(sources: MemoirProjectSources): Array<ObservableLike<unknown>> {\n const candidates: Array<ObservableLike<unknown> | undefined> = [\n sources.uiWorkspace?.selection,\n sources.sessions?.list,\n sources.uiSession?.adapter?.current,\n sources.uiSession?.current,\n ]\n return candidates.filter(\n (source): source is ObservableLike<unknown> => source !== undefined && typeof source.subscribe === 'function',\n )\n}\n\n/**\n * Resolve the project path of the session the operator is working in.\n * @param sources - the service faces above.\n * @returns the first selected session's cwd, or '' when nothing resolves.\n */\nexport function resolveProjectPath(sources: MemoirProjectSources): string {\n const byId = read(() => sources.sessions?.list?.getSnapshot().byId)\n if (byId === undefined) return ''\n for (const id of candidateSessionIds(sources)) {\n const cwd = read(() => byId[id]?.cwd)\n if (typeof cwd === 'string' && cwd !== '') return cwd\n }\n return ''\n}\n\n/** A useSyncExternalStore-compatible tracker over the project path. */\nexport interface CwdTracker {\n getSnapshot(): string\n subscribe(listener: () => void): () => void\n}\n\n/**\n * Build a { getSnapshot, subscribe } tracker.\n * @param resolveSources - called on every read and subscription, so services\n * that appear after the position module mounted are still observed.\n */\nexport function createCwdTracker(resolveSources: () => MemoirProjectSources): CwdTracker {\n let current = resolveProjectPath(resolveSources())\n const listeners = new Set<() => void>()\n const refresh = (): void => {\n const next = resolveProjectPath(resolveSources())\n if (next === current) return\n current = next\n for (const listener of [...listeners]) listener()\n }\n return {\n getSnapshot: () => current,\n subscribe: (listener) => {\n listeners.add(listener)\n // The panel is mounted only while open: re-read before React's\n // post-subscribe snapshot check so a selection made meanwhile shows up.\n current = resolveProjectPath(resolveSources())\n const disposers = changeSources(resolveSources()).map((source) => source.subscribe(refresh))\n return () => {\n listeners.delete(listener)\n for (const dispose of disposers) dispose()\n }\n },\n }\n}","/**\n * Bilingual surface copy (zh-first). Pure — no DOM, unit-testable.\n * The shell owns <html lang>; the panel reads it at render time.\n */\n\nexport type Lang = 'zh' | 'en'\n\nexport const dictionaries: Record<Lang, Record<string, string>> = {\n zh: {\n 'entry.label': '记忆',\n 'entry.tooltip': '打开记忆面板(项目记忆 / 全局记忆)',\n 'panel.title': '记忆 Memoir',\n 'panel.close': '关闭',\n 'panel.refresh': '刷新',\n 'panel.loading': '正在加载…',\n 'tab.project': '项目记忆',\n 'tab.global': '全局记忆',\n 'toolbar.search': '搜索标题与正文…',\n 'toolbar.add': '添加记忆',\n 'toolbar.cancel': '取消',\n 'form.section': '分类',\n 'form.title': '标题(可选)',\n 'form.content': '内容',\n 'form.importance': '重要度',\n 'form.importanceHint': '1 最低,5 最高;会影响 Hot Memory 排序。',\n 'form.tags': '标签',\n 'form.supersedes': '替代的记忆 ID',\n 'form.pinned': '置顶这条记忆',\n 'form.pinnedHint': '置顶条目在 Hot Memory 选择中优先。',\n 'form.submit': '记录',\n 'form.placeholder.title': '一句话标题,如「修复 pet 悬停闪退」',\n 'form.placeholder.content': '具体做了什么、结论、教训或下一步怎么做。建议精炼、可执行。',\n 'form.placeholder.tags': '逗号分隔,例如 release, windows',\n 'form.placeholder.supersedes': '逗号分隔的旧记忆 ID(可选)',\n 'empty.project': '本项目暂无持久记忆',\n 'empty.projectHint': '让 agent 用 memoir_record 沉淀经验,或点「添加记忆」手动记录。',\n 'empty.workspace': '未打开项目会话',\n 'empty.workspaceHint': '打开一个项目会话后,这里显示该项目的持久记忆。',\n 'empty.global': '全局索引为空',\n 'empty.globalHint': '在任何项目里用 memoir_record 记录后,会出现在这里供跨项目检索。',\n 'empty.search': '没有匹配的条目',\n 'load.failed': '加载失败',\n 'record.failed': '记录失败',\n 'update.failed': '更新失败',\n 'delete.failed': '删除失败',\n 'delete.confirm': '删除这条记忆?',\n 'updated': '更新于',\n 'entries': '条',\n 'session': '会话',\n 'source.label': '来源',\n 'source.turn': '回合',\n 'source.open': '打开来源会话并定位到对应回合',\n 'source.copy': '复制会话与回合标识',\n 'source.copied': '已复制',\n 'sections.work': '工作记录',\n 'sections.lessons': '经验教训',\n 'sections.actions': '行动指南',\n 'sections.note': '备注',\n 'diag.title': 'Memory Diagnostics',\n 'diag.revision': 'Store revision',\n 'diag.snapshot': 'Session snapshots',\n 'diag.cache': 'Store cache',\n 'diag.render': 'Render cache',\n 'diag.hot': 'Hot memory',\n 'diag.retrieval': 'Retrieval 索引',\n 'diag.qcache': 'Query cache',\n 'diag.lastQuery': '最近查询',\n 'diag.snapshotInfo': '会话快照',\n 'inspector.title': 'Hot Memory 预览',\n 'inspector.empty': '本工作区暂无 Hot Memory',\n 'search.ranked': '按相关性排序',\n 'filter.status': '状态',\n 'filter.section': '分类',\n 'filter.all': '全部',\n 'status.active': '活跃',\n 'status.superseded': '已被替代',\n 'status.archived': '已归档',\n 'lifecycle.pin': '置顶',\n 'lifecycle.unpin': '取消置顶',\n 'lifecycle.edit': '编辑',\n 'lifecycle.save': '保存更新',\n 'lifecycle.supersede': '标记已替代',\n 'lifecycle.unsupersede': '恢复活跃',\n 'lifecycle.archive': '归档',\n 'lifecycle.restore': '恢复',\n 'similarity.title': '发现相似记忆,本次尚未写入',\n 'similarity.description': '请选择更新已有记忆、用新结论替代它,或明确保留两条;插件不会自动删除或合并。',\n 'similarity.kind.duplicate': '疑似重复',\n 'similarity.kind.conflict': '可能冲突',\n 'similarity.titleScore': '标题',\n 'similarity.update': '更新这一条',\n 'similarity.supersede': '用新结论替代',\n 'similarity.force': '仍然保留两条',\n 'similarity.back': '返回修改',\n 'similarity.reason.exact-content': '正文一致',\n 'similarity.reason.exact-title': '标题一致',\n 'similarity.reason.high-title-overlap': '标题高度相似',\n 'similarity.reason.high-token-overlap': 'Token 高重合',\n 'similarity.reason.bm25-candidate': 'BM25 高相关',\n 'similarity.reason.same-topic-different-content': '同主题但内容不同',\n 'settings.title': '记忆设置',\n 'settings.description': '完整运行时设置;保存后立即应用,并持久化到本机 DSH 用户目录。',\n 'settings.expand': '展开',\n 'settings.collapse': '折叠',\n 'settings.announce': '向 Agent 注入记忆',\n 'settings.announceHint': '关闭后不再向系统提示注入插件说明与 Hot Memory,但工具和 GUI 保持可用。',\n 'settings.group.distill': '自动蒸馏',\n 'settings.group.memory': 'Hot Memory、召回与缓存',\n 'settings.enabled': '启用自动蒸馏',\n 'settings.enabledHint': '在顶层 agent 的有效工作回合结束时提醒归纳记忆。',\n 'settings.autoDistillEvery': '工作回合间隔',\n 'settings.autoDistillEveryHint': '每累计 N 个 worked turn 最多提醒一次(最小 1)。',\n 'settings.autoDistillCooldownMin': '冷却时间(分钟)',\n 'settings.autoDistillCooldownMinHint': '两次成功提醒至少间隔 M 分钟(最小 0)。',\n 'settings.autoDistillMinTools': '最低工具调用数',\n 'settings.autoDistillMinToolsHint': '触发回合至少包含 K 次工具调用(最小 1)。',\n 'settings.hotMemoryTokens': 'Hot Memory 目标 tokens',\n 'settings.hotMemoryTokensHint': '常规选择预算,必须不大于硬上限。',\n 'settings.hotMemoryMaxTokens': 'Hot Memory 硬上限',\n 'settings.hotMemoryMaxTokensHint': '任何新会话快照都不会超过此预算。',\n 'settings.readDefaultLimit': '默认召回条数',\n 'settings.readDefaultLimitHint': 'memoir_read 未传 limit 时使用。',\n 'settings.readMaxLimit': '最大召回条数',\n 'settings.readMaxLimitHint': 'memoir_read 的实时上限,不小于默认值。',\n 'settings.sessionSnapshotMax': '会话快照容量',\n 'settings.sessionSnapshotMaxHint': '冻结提示前缀的 LRU 容量;缩小时立即淘汰最旧项。',\n 'settings.queryCacheSize': '查询缓存容量',\n 'settings.queryCacheSizeHint': 'BM25 查询 LRU 容量;缩小时立即淘汰最旧项。',\n 'settings.andHint': '三个频率条件按 AND 判定;idle、aborted、subagent 和已记录记忆的回合不会触发。',\n 'settings.liveHint': '预算和召回限制立即影响新请求;已冻结的会话快照不会重写,以保持提示前缀缓存稳定。',\n 'settings.source': '当前来源',\n 'settings.source.profile': '启动配置',\n 'settings.source.web': 'Web 持久化覆盖',\n 'settings.save': '保存并立即应用',\n 'settings.reset': '恢复启动配置',\n 'settings.saved': '已保存,后续回合立即生效。',\n 'settings.resetDone': '已恢复本次启动时的配置。',\n 'settings.invalid': '请输入有效数值:整数项不小于 1、冷却不小于 0;硬上限不得小于目标或默认值。',\n 'settings.loadFailed': '设置加载失败',\n 'settings.saveFailed': '设置保存失败',\n },\n en: {\n 'entry.label': 'Memory',\n 'entry.tooltip': 'Open the memory panel (project / global)',\n 'panel.title': 'Memory Memoir',\n 'panel.close': 'Close',\n 'panel.refresh': 'Refresh',\n 'panel.loading': 'Loading…',\n 'tab.project': 'Project',\n 'tab.global': 'Global',\n 'toolbar.search': 'Search titles and content…',\n 'toolbar.add': 'Add entry',\n 'toolbar.cancel': 'Cancel',\n 'form.section': 'Section',\n 'form.title': 'Title (optional)',\n 'form.content': 'Content',\n 'form.importance': 'Importance',\n 'form.importanceHint': '1 is lowest and 5 is highest; this affects Hot Memory ranking.',\n 'form.tags': 'Tags',\n 'form.supersedes': 'Superseded entry IDs',\n 'form.pinned': 'Pin this entry',\n 'form.pinnedHint': 'Pinned entries receive priority during Hot Memory selection.',\n 'form.submit': 'Record',\n 'form.placeholder.title': 'A one-line title, e.g. \"Fix pet hover crash\"',\n 'form.placeholder.content': 'What was done, the conclusion, the lesson, or the next step. Concise and actionable.',\n 'form.placeholder.tags': 'Comma-separated, for example release, windows',\n 'form.placeholder.supersedes': 'Comma-separated old entry IDs (optional)',\n 'empty.project': 'No persistent memory in this project yet',\n 'empty.projectHint': 'Ask the agent to distill via memoir_record, or add an entry manually.',\n 'empty.workspace': 'No project session open',\n 'empty.workspaceHint': 'Open a project session to see its persistent memory here.',\n 'empty.global': 'The global index is empty',\n 'empty.globalHint': 'Entries recorded via memoir_record in any project appear here for cross-project search.',\n 'empty.search': 'No matching entries',\n 'load.failed': 'Failed to load',\n 'record.failed': 'Failed to record',\n 'update.failed': 'Failed to update',\n 'delete.failed': 'Failed to delete',\n 'delete.confirm': 'Delete this entry?',\n 'updated': 'Updated',\n 'entries': 'entries',\n 'session': 'session',\n 'source.label': 'Source',\n 'source.turn': 'turn',\n 'source.open': 'Open the source session and reveal its turn',\n 'source.copy': 'Copy session and turn identifiers',\n 'source.copied': 'Copied',\n 'sections.work': 'Work Log',\n 'sections.lessons': 'Lessons Learned',\n 'sections.actions': 'Action Guide',\n 'sections.note': 'Notes',\n 'diag.title': 'Memory Diagnostics',\n 'diag.revision': 'Store revision',\n 'diag.snapshot': 'Session snapshots',\n 'diag.cache': 'Store cache',\n 'diag.render': 'Render cache',\n 'diag.hot': 'Hot memory',\n 'diag.retrieval': 'Retrieval index',\n 'diag.qcache': 'Query cache',\n 'diag.lastQuery': 'Last query',\n 'diag.snapshotInfo': 'Session snapshot',\n 'inspector.title': 'Hot Memory Inspector',\n 'inspector.empty': 'No hot memory in this workspace yet',\n 'search.ranked': 'Ranked by relevance',\n 'filter.status': 'Status',\n 'filter.section': 'Section',\n 'filter.all': 'All',\n 'status.active': 'Active',\n 'status.superseded': 'Superseded',\n 'status.archived': 'Archived',\n 'lifecycle.pin': 'Pin',\n 'lifecycle.unpin': 'Unpin',\n 'lifecycle.edit': 'Edit',\n 'lifecycle.save': 'Save update',\n 'lifecycle.supersede': 'Mark superseded',\n 'lifecycle.unsupersede': 'Restore active',\n 'lifecycle.archive': 'Archive',\n 'lifecycle.restore': 'Restore',\n 'similarity.title': 'Similar memory found; nothing has been written yet',\n 'similarity.description': 'Update the existing memory, supersede it with the new conclusion, or explicitly keep both. The plugin never deletes or merges automatically.',\n 'similarity.kind.duplicate': 'Likely duplicate',\n 'similarity.kind.conflict': 'Possible conflict',\n 'similarity.titleScore': 'title',\n 'similarity.update': 'Update this entry',\n 'similarity.supersede': 'Supersede with new',\n 'similarity.force': 'Keep both anyway',\n 'similarity.back': 'Back to edit',\n 'similarity.reason.exact-content': 'Exact content',\n 'similarity.reason.exact-title': 'Exact title',\n 'similarity.reason.high-title-overlap': 'High title overlap',\n 'similarity.reason.high-token-overlap': 'High token overlap',\n 'similarity.reason.bm25-candidate': 'High BM25 relevance',\n 'similarity.reason.same-topic-different-content': 'Same topic, different content',\n 'settings.title': 'Memory settings',\n 'settings.description': 'Complete runtime settings; saves apply immediately and persist in the local DSH user directory.',\n 'settings.expand': 'Expand',\n 'settings.collapse': 'Collapse',\n 'settings.announce': 'Inject memory for agents',\n 'settings.announceHint': 'When off, plugin guidance and Hot Memory leave the system prompt while tools and the GUI remain available.',\n 'settings.group.distill': 'Auto-distill',\n 'settings.group.memory': 'Hot Memory, recall, and cache',\n 'settings.enabled': 'Enable auto-distill',\n 'settings.enabledHint': 'Prompt top-level agents to distill memory after eligible worked turns.',\n 'settings.autoDistillEvery': 'Worked-turn interval',\n 'settings.autoDistillEveryHint': 'Remind at most once per N accumulated worked turns (minimum 1).',\n 'settings.autoDistillCooldownMin': 'Cooldown (minutes)',\n 'settings.autoDistillCooldownMinHint': 'Require at least M minutes between successful reminders (minimum 0).',\n 'settings.autoDistillMinTools': 'Minimum tool calls',\n 'settings.autoDistillMinToolsHint': 'The triggering turn must contain at least K tool calls (minimum 1).',\n 'settings.hotMemoryTokens': 'Hot Memory target tokens',\n 'settings.hotMemoryTokensHint': 'Normal selection budget; it cannot exceed the hard limit.',\n 'settings.hotMemoryMaxTokens': 'Hot Memory hard limit',\n 'settings.hotMemoryMaxTokensHint': 'No newly frozen session snapshot exceeds this budget.',\n 'settings.readDefaultLimit': 'Default recall count',\n 'settings.readDefaultLimitHint': 'Used when memoir_read omits limit.',\n 'settings.readMaxLimit': 'Maximum recall count',\n 'settings.readMaxLimitHint': 'Live memoir_read ceiling; it cannot be below the default.',\n 'settings.sessionSnapshotMax': 'Session snapshot capacity',\n 'settings.sessionSnapshotMaxHint': 'LRU capacity for frozen prompt prefixes; shrinking evicts the oldest immediately.',\n 'settings.queryCacheSize': 'Query cache capacity',\n 'settings.queryCacheSizeHint': 'BM25 query LRU capacity; shrinking evicts the oldest immediately.',\n 'settings.andHint': 'All three frequency conditions use AND semantics; idle, aborted, subagent, and already-recorded turns do not trigger.',\n 'settings.liveHint': 'Budgets and recall limits affect new requests immediately; frozen session snapshots remain unchanged for prompt-prefix cache stability.',\n 'settings.source': 'Current source',\n 'settings.source.profile': 'startup profile config',\n 'settings.source.web': 'persistent Web override',\n 'settings.save': 'Save and apply now',\n 'settings.reset': 'Restore startup config',\n 'settings.saved': 'Saved; subsequent turns use the new policy immediately.',\n 'settings.resetDone': 'Restored the configuration captured at startup.',\n 'settings.invalid': 'Enter valid values: integer fields are at least 1 and cooldown is at least 0; a hard/maximum value cannot be below its target/default.',\n 'settings.loadFailed': 'Failed to load settings',\n 'settings.saveFailed': 'Failed to save settings',\n },\n}\n\n/** Section keys in canonical display order. */\nexport const SECTION_KEYS: string[] = ['work', 'lessons', 'actions', 'note']\n\n/** Minimal document surface for language detection. */\nexport interface DocumentLike {\n documentElement?: { lang?: string }\n}\n\n/** Current UI language: zh when the shell's <html lang> starts with zh. */\nexport function detectLanguage(documentLike: DocumentLike | undefined): Lang {\n const lang = documentLike?.documentElement?.lang\n return typeof lang === 'string' && lang.startsWith('zh') ? 'zh' : 'en'\n}\n\n/** Pure translation lookup: `translate(lang, key)` with en fallback. */\nexport function translate(lang: string, key: string): string {\n const dict = dictionaries[lang as Lang] ?? dictionaries.en\n return Object.prototype.hasOwnProperty.call(dict, key) ? dict[key] : (dictionaries.en[key] ?? key)\n}\n\n/** Bound translator reading the live <html lang> at each call. */\nexport function makeT(documentLike: DocumentLike): (key: string) => string {\n return (key) => translate(detectLanguage(documentLike), key)\n}\n","/** Stable marker for the stylesheet owned by this client plugin. */\nexport const PANEL_STYLE_SELECTOR = 'style[data-dsh-memoir-style]'\n\n/**\n * Mount the panel stylesheet without confusing another plugin-owned style tag\n * carrying the same generic data-plugin value for this stylesheet.\n * @param target - document that owns the DSH web shell.\n * @returns disposer that removes only the stylesheet created by this call.\n */\nexport function mountPanelStyles(target: Document = document): () => void {\n if (target.querySelector(PANEL_STYLE_SELECTOR) !== null) return () => {}\n const tag = target.createElement('style')\n tag.dataset.plugin = 'dsh-memoir'\n tag.dataset.dshMemoirStyle = ''\n tag.textContent = PANEL_CSS\n target.head.appendChild(tag)\n return () => tag.remove()\n}\n\n/**\n * Panel stylesheet (plain string, injected as <style data-plugin=\"dsh-memoir\">).\n * Class names are literal memoir-* prefixes (no CSS-module hashing) so the\n * plain-DOM sidebar entry and the React panel share them.\n *\n * The visual language rides the dsh-web-ui family tokens (--dsw-alias-* /\n * --dsw-specific-* / --dsw-font-family). Every token carries a stack fallback\n * (--bg-panel / --text-primary / ...) so the panel still works in a shell\n * without the web-ui-all plugin, while matching dsh-ssh / dsh-task-board /\n * dsh-skill-explorer wherever those tokens exist (light, dark and skins).\n */\n\nexport const PANEL_CSS = `\n/* --- tab bar: dsh-ssh tabBar / tab ------------------------------------------- */\n\n.memoir-tabs {\n display: flex;\n gap: 2px;\n flex: none;\n padding: 0;\n border-bottom: 1px solid var(--dsw-alias-border-l1, rgba(0, 0, 0, .1));\n}\n.memoir-tab {\n padding: 7px 14px;\n font-size: 13px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n border-radius: 6px 6px 0 0;\n cursor: pointer;\n white-space: nowrap;\n}\n.memoir-tab:hover {\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n background: var(--dsw-alias-interactive-bg-hover, rgba(0, 0, 0, .06));\n}\n.memoir-tab[data-active='true'] {\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n font-weight: 600;\n border-bottom-color: var(--dsw-alias-state-business-primary, #2563eb);\n}\n\n/* --- toolbar / controls ------------------------------------------------------- */\n\n.memoir-toolbar {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n flex: none;\n padding: 0;\n}\n.memoir-search {\n flex: 0 1 260px;\n min-width: 120px;\n padding: 6px 10px;\n font-size: 13px;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n background: var(--dsw-specific-input-major, var(--bg-card, rgba(0, 0, 0, .02)));\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .15));\n border-radius: 8px;\n outline: none;\n}\n.memoir-search::placeholder {\n color: var(--dsw-alias-label-tertiary, rgba(0, 0, 0, .45));\n}\n.memoir-status-filter {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #6b7280));\n white-space: nowrap;\n}\n.memoir-status-filter select {\n max-width: 110px;\n padding: 6px 8px;\n font-size: 13px;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n background: var(--dsw-specific-input-major, var(--bg-card, rgba(0, 0, 0, .02)));\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .15));\n border-radius: 8px;\n outline: none;\n}\n.memoir-search:focus,\n.memoir-status-filter select:focus {\n border-color: var(--dsw-alias-state-business-primary, #2563eb);\n}\n\n/* --- buttons: web-ui family button language ---------------------------------- */\n\n.memoir-primary {\n border: none;\n border-radius: 8px;\n padding: 6px 14px;\n font-size: 13px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary-foreground, #ffffff);\n background: var(--dsw-alias-button-info-fill, #2563eb);\n cursor: pointer;\n white-space: nowrap;\n}\n.memoir-primary:hover:not(:disabled) {\n background: var(--dsw-alias-button-info-hover, #1d4ed8);\n}\n.memoir-primary:disabled {\n opacity: .5;\n cursor: default;\n}\n.memoir-iconbtn {\n padding: 5px 12px;\n font-size: 12px;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n background: transparent;\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .15));\n border-radius: 8px;\n cursor: pointer;\n white-space: nowrap;\n}\n.memoir-iconbtn:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover, rgba(0, 0, 0, .06));\n}\n.memoir-iconbtn:disabled {\n opacity: .45;\n cursor: default;\n}\n\n/* --- body / lists ------------------------------------------------------------- */\n\n.memoir-scroll-region {\n /* 页面本身(page-shell)就是滚动容器:与官方插件页一样只有一层滚动。 */\n flex: none;\n min-width: 0;\n}\n.memoir-body {\n min-height: 0;\n padding: 4px 0 16px;\n}\n.memoir-section-title {\n display: flex;\n align-items: center;\n gap: 6px;\n margin: 14px 0 6px;\n font-size: 13px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n}\n.memoir-count {\n font-weight: 400;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n}\n\n/* Entry cards: dsh-skill-explorer .skill / dsh-task-board .card surfaces. */\n.memoir-entry {\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .08));\n border-radius: 10px;\n padding: 10px 12px;\n margin-bottom: 8px;\n background: var(--dsw-alias-bg-base, var(--bg-card, rgba(0, 0, 0, .02)));\n}\n.memoir-entry-meta {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n margin-bottom: 5px;\n}\n.memoir-chip {\n display: inline-block;\n padding: 1px 8px;\n font-size: 11px;\n line-height: 1.6;\n border-radius: 999px;\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .1));\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #6b7280));\n background: transparent;\n white-space: nowrap;\n}\n.memoir-tag {\n color: var(--dsw-alias-state-success-primary, #15803d);\n border-color: var(--dsw-alias-state-success-tertiary, rgba(34, 197, 94, .45));\n}\n.memoir-source {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n min-width: 0;\n}\n.memoir-source-link,\n.memoir-source-copy {\n appearance: none;\n border: none;\n background: transparent;\n color: var(--dsw-alias-state-business-primary, #2563eb);\n font: inherit;\n cursor: pointer;\n padding: 0;\n}\n.memoir-source-link {\n max-width: 230px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.memoir-source-link:hover,\n.memoir-source-copy:hover {\n text-decoration: underline;\n}\n.memoir-source-copy {\n min-width: 18px;\n}\n.memoir-score {\n float: right;\n display: inline-block;\n padding: 1px 8px;\n font-size: 10px;\n line-height: 1.6;\n border-radius: 999px;\n border: 1px solid var(--dsw-alias-state-business-primary, #2563eb);\n color: var(--dsw-alias-state-business-primary, #2563eb);\n background: transparent;\n opacity: .8;\n}\n.memoir-entry-title {\n font-size: 13px;\n font-weight: 600;\n line-height: 1.35;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n margin-bottom: 2px;\n}\n.memoir-entry-content {\n font-size: 12.5px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n white-space: pre-wrap;\n word-break: break-word;\n}\n.memoir-entry-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin: 4px 0;\n}\n.memoir-delete {\n float: right;\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n cursor: pointer;\n border-radius: 6px;\n padding: 2px 6px;\n font-size: 12px;\n}\n.memoir-delete:hover {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n background: var(--dsw-alias-state-error-secondary, rgba(220, 38, 38, .12));\n}\n\n/* Project cards (global tab + ranked grouped results). */\n.memoir-project-card {\n border: 1px solid var(--dsw-alias-border-l1, rgba(0, 0, 0, .1));\n border-radius: 10px;\n padding: 10px 12px;\n margin-bottom: 12px;\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .02)));\n}\n.memoir-project-head {\n display: flex;\n align-items: baseline;\n gap: 8px;\n margin-bottom: 2px;\n}\n.memoir-project-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n}\n.memoir-project-path {\n font-size: 10px;\n color: var(--dsw-alias-label-tertiary, rgba(0, 0, 0, .5));\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.memoir-project-meta {\n font-size: 11px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n margin-bottom: 6px;\n}\n\n/* Empty / status / error. */\n.memoir-empty {\n padding: 28px 12px;\n text-align: center;\n font-size: 12.5px;\n color: var(--dsw-alias-label-tertiary, rgba(0, 0, 0, .5));\n}\n.memoir-empty-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n margin-bottom: 6px;\n}\n.memoir-empty-hint {\n font-size: 12px;\n}\n.memoir-error {\n padding: 0;\n font-size: 12px;\n color: var(--dsw-alias-state-error-primary, #dc2626);\n}\n\n/* --- forms ------------------------------------------------------------------- */\n\n.memoir-form {\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 12px;\n margin: 0;\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .02)));\n border: 1px solid var(--dsw-alias-border-l1, rgba(0, 0, 0, .1));\n border-radius: 10px;\n}\n.memoir-form-row {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n}\n.memoir-field {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.memoir-field label {\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #5f6672));\n}\n.memoir-field small {\n font-size: 10px;\n color: var(--dsw-alias-label-tertiary, rgba(0, 0, 0, .55));\n line-height: 1.35;\n}\n.memoir-field input,\n.memoir-field select,\n.memoir-field textarea {\n box-sizing: border-box;\n width: 100%;\n padding: 7px 10px;\n font-size: 13px;\n font-family: inherit;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n background: var(--dsw-specific-input-major, var(--bg-card, rgba(0, 0, 0, .02)));\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .15));\n border-radius: 8px;\n outline: none;\n}\n.memoir-field select {\n height: 30px;\n padding: 0 8px;\n}\n.memoir-field textarea {\n min-height: 72px;\n resize: vertical;\n}\n.memoir-field input:focus,\n.memoir-field select:focus,\n.memoir-field textarea:focus {\n border-color: var(--dsw-alias-state-business-primary, #2563eb);\n}\n.memoir-form-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n\n/* --- similar-memory resolution --------------------------------------------- */\n\n.memoir-similarity {\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 12px;\n border: 1px solid var(--dsw-alias-state-warn-tertiary, rgba(217, 119, 6, .4));\n border-radius: 10px;\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .02)));\n}\n.memoir-similarity-title {\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n font-size: 13px;\n font-weight: 600;\n}\n.memoir-similarity-candidate {\n display: flex;\n flex-direction: column;\n gap: 7px;\n padding: 10px 12px;\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .12));\n border-radius: 10px;\n background: var(--dsw-alias-bg-layer-3, var(--bg-panel, #ffffff));\n}\n.memoir-similarity-head {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n font-size: 12.5px;\n}\n.memoir-similarity-head strong {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.memoir-similarity-duplicate {\n color: var(--dsw-alias-state-warn-primary, #b45309);\n}\n.memoir-similarity-conflict {\n color: var(--dsw-alias-state-error-primary, #dc2626);\n}\n.memoir-score-static,\n.memoir-similarity-components,\n.memoir-similarity-content {\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #6b7280));\n font-size: 11px;\n}\n.memoir-similarity-content {\n line-height: 1.45;\n white-space: pre-wrap;\n word-break: break-word;\n}\n.memoir-similarity-reasons {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n.memoir-similarity-footer {\n display: flex;\n justify-content: space-between;\n gap: 8px;\n}\n\n/* --- settings (panel + Settings page card) ----------------------------------- */\n\n.memoir-settings {\n margin: 0;\n border-top: 1px solid var(--dsw-alias-separator-primary, rgba(0, 0, 0, .1));\n padding-top: 8px;\n flex: none;\n}\n.memoir-settings-slot {\n list-style: none;\n margin: 0;\n padding: 0;\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .12));\n border-radius: 12px;\n background: var(--dsw-alias-bg-layer-3, var(--bg-card, rgba(0, 0, 0, .02)));\n transition: border-color .16s, background .16s;\n}\n.memoir-settings-slot:hover {\n border-color: var(--dsw-alias-label-dimmed, rgba(0, 0, 0, .28));\n}\n.memoir-settings-slot-open {\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .03)));\n border-color: var(--dsw-alias-label-dimmed, rgba(0, 0, 0, .28));\n}\n.memoir-settings-slot-header {\n appearance: none;\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 14px 16px;\n color: inherit;\n background: transparent;\n border: 0;\n border-radius: 12px;\n font: inherit;\n text-align: left;\n cursor: pointer;\n}\n.memoir-settings-slot-header:focus-visible {\n outline: 2px solid var(--dsw-alias-brand-primary, var(--dsw-alias-state-business-primary, #2563eb));\n outline-offset: -2px;\n}\n.memoir-settings-slot-headtext {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n.memoir-settings-slot-name {\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n font-size: 15px;\n font-weight: 600;\n line-height: 1.4;\n}\n.memoir-settings-slot-description {\n color: var(--dsw-alias-label-tertiary, var(--text-secondary, #8a8f9c));\n font-size: 13px;\n line-height: 1.5;\n}\n.memoir-settings-slot-chevron {\n flex: none;\n color: var(--dsw-alias-label-tertiary, var(--text-secondary, #8a8f9c));\n transition: transform .16s;\n}\n.memoir-settings-slot-chevron-open {\n transform: rotate(180deg);\n}\n.memoir-settings-slot-body {\n margin: 0 16px;\n padding-bottom: 8px;\n border-top: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .12));\n}\n.memoir-settings-slot .memoir-settings {\n margin: 0;\n padding: 0;\n border-top: none;\n}\n.memoir-settings-slot .memoir-settings-body {\n margin: 0;\n padding: 12px 0 4px;\n border: none;\n border-radius: 0;\n background: transparent;\n max-height: none;\n}\n.memoir-settings-body {\n display: flex;\n flex-direction: column;\n gap: 10px;\n margin-top: 7px;\n padding: 10px;\n border: 1px solid var(--dsw-alias-border-l1, rgba(0, 0, 0, .1));\n border-radius: 8px;\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .02)));\n}\n.memoir-settings-description,\n.memoir-settings-note,\n.memoir-settings-source {\n font-size: 11px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n line-height: 1.45;\n}\n.memoir-settings-group-title {\n font-size: 12px;\n font-weight: 600;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n margin-top: 2px;\n}\n.memoir-settings-switch {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n}\n.memoir-settings-switch input {\n margin-top: 3px;\n accent-color: var(--dsw-alias-state-business-primary, #2563eb);\n}\n.memoir-settings-switch span {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.memoir-settings-switch small,\n.memoir-settings-grid small {\n font-size: 10px;\n color: var(--dsw-alias-label-tertiary, rgba(0, 0, 0, .55));\n line-height: 1.35;\n}\n.memoir-settings-grid {\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 8px;\n}\n.memoir-settings-grid .memoir-field {\n min-width: 0;\n}\n.memoir-settings-grid .memoir-field > span {\n font-size: 11px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #6b7280));\n}\n.memoir-settings-feedback {\n padding: 0;\n}\n.memoir-settings-success {\n font-size: 12px;\n color: var(--dsw-alias-state-success-primary, #15803d);\n}\n@media (max-width: 760px) {\n .memoir-settings-grid {\n grid-template-columns: 1fr;\n }\n}\n\n/* --- hot memory inspector / diagnostics -------------------------------------- */\n\n.memoir-inspector,\n.memoir-diagnostics {\n margin: 0;\n border-top: 1px solid var(--dsw-alias-separator-primary, rgba(0, 0, 0, .1));\n padding-top: 8px;\n flex: none;\n}\n.memoir-diagnostics-toggle {\n border: none;\n background: transparent;\n color: var(--dsw-alias-state-business-primary, #2563eb);\n cursor: pointer;\n font-size: 12px;\n padding: 2px 0;\n text-align: left;\n}\n.memoir-diagnostics-toggle:hover {\n text-decoration: underline;\n}\n.memoir-inspector-body {\n font-size: 11.5px;\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n margin: 6px 0 0;\n padding: 8px 10px;\n border: 1px solid var(--dsw-alias-border-l2, rgba(0, 0, 0, .1));\n border-radius: 8px;\n background: var(--dsw-alias-bg-layer-2, var(--bg-card, rgba(0, 0, 0, .02)));\n white-space: pre-wrap;\n word-break: break-word;\n font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n max-height: none;\n overflow: visible;\n}\n.memoir-diagnostics-body {\n display: flex;\n flex-direction: column;\n gap: 3px;\n margin-top: 6px;\n font-size: 11px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n}\n\n/* --- sidebar entry row (plain DOM, matches the web-ui family rows) ------------- */\n\n.memoir-entry-row {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n height: 36px;\n padding: 0 10px;\n background: transparent;\n border: none;\n border-radius: 8px;\n color: var(--dsw-alias-label-secondary, var(--text-secondary, #8a8f9c));\n cursor: pointer;\n font-size: 13px;\n white-space: nowrap;\n text-align: left;\n}\n.memoir-entry-row:hover {\n background: var(--dsw-alias-interactive-bg-hover, var(--dsw-specific-sidebar-nav-item-hover, rgba(0, 0, 0, .06)));\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n}\n.memoir-entry-row[data-active='true'] {\n background: var(--dsw-alias-interactive-bg-active, var(--dsw-specific-sidebar-nav-item-active, rgba(0, 0, 0, .08)));\n color: var(--dsw-alias-label-primary, var(--text-primary, #1f2328));\n font-weight: 600;\n}\n.memoir-entry-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 24px;\n height: 24px;\n}\n.memoir-entry-icon svg {\n display: block;\n width: 18px;\n height: 18px;\n}\n.memoir-entry-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Collapsed rail: exact dsh-web-ui-all 0.3.x family geometry. */\n[data-dsh-frame][data-sidebar-collapsed] [data-dsh-memoir-entry].memoir-entry-row,\n[data-sidebar-collapsed] [data-dsh-memoir-entry].memoir-entry-row {\n border-radius: 50%;\n justify-content: center;\n padding: 0;\n width: 36px;\n height: 36px;\n margin: 0 auto 12px;\n}\n[data-dsh-frame][data-sidebar-collapsed] [data-dsh-memoir-entry] .memoir-entry-label,\n[data-sidebar-collapsed] [data-dsh-memoir-entry] .memoir-entry-label {\n display: none;\n}\n\n/* --- focus / motion (web-ui family polish) ------------------------------------ */\n\n.memoir-tab:focus-visible,\n.memoir-search:focus-visible,\n.memoir-primary:focus-visible,\n.memoir-iconbtn:focus-visible,\n.memoir-delete:focus-visible,\n.memoir-status-filter select:focus-visible,\n.memoir-diagnostics-toggle:focus-visible,\n.memoir-field input:focus-visible,\n.memoir-field select:focus-visible,\n.memoir-field textarea:focus-visible,\n.memoir-entry-row:focus-visible {\n outline: 2px solid var(--dsw-alias-state-business-primary, #2563eb);\n outline-offset: 2px;\n}\n.memoir-tab,\n.memoir-search,\n.memoir-primary,\n.memoir-iconbtn,\n.memoir-delete,\n.memoir-status-filter select,\n.memoir-diagnostics-toggle,\n.memoir-field input,\n.memoir-field select,\n.memoir-field textarea,\n.memoir-entry-row {\n transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease, outline-color 120ms ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .memoir-tab,\n .memoir-search,\n .memoir-primary,\n .memoir-iconbtn,\n .memoir-delete,\n .memoir-status-filter select,\n .memoir-diagnostics-toggle,\n .memoir-field input,\n .memoir-field select,\n .memoir-field textarea,\n .memoir-entry-row {\n transition: none;\n }\n}\n`\n","/**\n * The memoir panel: project / global memory tabs, client-side search,\n * manual record form, per-entry delete. Rendered into the center-column\n * container by mount.tsx; visibility is CSS-driven (html data attribute).\n */\n\nimport { Fragment, useEffect, useMemo, useState, useSyncExternalStore } from 'react'\nimport { SECTION_KEYS } from './i18n.ts'\nimport { PageNotice, PageShell } from '../../page-shell.tsx'\nimport type { MemoirApi, WireDiagnostics, WireEntry, WireHotMemory, WireMemoirSettings, WireProject, WireRecordResolution, WireRecordResult, WireSearchResult, WireSimilarityCandidate } from './api.ts'\nimport type { CwdTracker } from './cwd.ts'\nimport type { MemoirStatus, SectionKey } from './types.ts'\n\ninterface PanelProps {\n api: MemoirApi\n cwdTracker: CwdTracker\n t: (key: string) => string\n openSource?: (sessionId: string, turnId?: number) => void\n}\n\ntype EntryPatch = {\n section?: SectionKey\n title?: string | null\n content?: string\n importance?: number\n pinned?: boolean\n status?: MemoirStatus\n supersedes?: string[]\n tags?: string[]\n}\n\nconst parseList = (value: string): string[] =>\n [...new Set(value.split(/[,,\\n]/).map((item) => item.trim()).filter((item) => item !== ''))]\n\nasync function copyText(value: string): Promise<boolean> {\n try {\n if (navigator.clipboard !== undefined) {\n await navigator.clipboard.writeText(value)\n return true\n }\n const textarea = document.createElement('textarea')\n textarea.value = value\n textarea.style.position = 'fixed'\n textarea.style.opacity = '0'\n document.body.appendChild(textarea)\n textarea.select()\n const copied = document.execCommand('copy')\n textarea.remove()\n return copied\n } catch {\n return false\n }\n}\n\n/** One entry's meta line: lifecycle, importance, tags and provenance. */\nfunction EntryMeta({ entry, t, openSource }: {\n entry: WireEntry\n t: (key: string) => string\n openSource?: (sessionId: string, turnId?: number) => void\n}) {\n const [copied, setCopied] = useState(false)\n const when = new Date(entry.time)\n const pad = (n: number) => String(n).padStart(2, '0')\n const timeText = `${when.getFullYear()}-${pad(when.getMonth() + 1)}-${pad(when.getDate())} ${pad(when.getHours())}:${pad(when.getMinutes())}`\n const source = entry.source ?? (entry.sessionId === undefined ? undefined : { sessionId: entry.sessionId })\n const sourceText = source === undefined\n ? ''\n : [\n source.sessionId === undefined ? undefined : `sessionId=${source.sessionId}`,\n source.turnId === undefined ? undefined : `turnId=${source.turnId}`,\n ].filter(Boolean).join('\\n')\n const copySource = () => {\n void copyText(sourceText).then((ok) => {\n if (!ok) return\n setCopied(true)\n setTimeout(() => setCopied(false), 1_500)\n })\n }\n return (\n <div className=\"memoir-entry-meta\">\n <span>{timeText}</span>\n <span className=\"memoir-chip\">{t('sections.' + entry.section)}</span>\n {entry.status !== undefined && entry.status !== 'active'\n ? <span className=\"memoir-chip\">{t('status.' + entry.status)}</span>\n : null}\n {entry.pinned === true ? <span className=\"memoir-chip\">{t('lifecycle.pin')}</span> : null}\n <span className=\"memoir-chip\" title={t('form.importanceHint')}>{t('form.importance')}: {entry.importance ?? 3}</span>\n {(entry.tags ?? []).map((tag) => <span className=\"memoir-chip memoir-tag\" key={tag}>#{tag}</span>)}\n {(entry.supersedes?.length ?? 0) > 0\n ? <span className=\"memoir-chip\" title={entry.supersedes?.join('\\n')}>{t('form.supersedes')}: {entry.supersedes?.length}</span>\n : null}\n {source !== undefined\n ? <span className=\"memoir-source\">\n {source.sessionId !== undefined\n ? <button type=\"button\" className=\"memoir-source-link\" title={t('source.open')} onClick={() => openSource?.(source.sessionId!, source.turnId)}>\n {t('source.label')}: {source.sessionId.slice(0, 10)}{source.turnId === undefined ? '' : ` · ${t('source.turn')} ${source.turnId}`}\n </button>\n : <span>{t('source.turn')} {source.turnId}</span>}\n <button type=\"button\" className=\"memoir-source-copy\" title={t('source.copy')} onClick={copySource}>{copied ? t('source.copied') : '⧉'}</button>\n </span>\n : null}\n </div>\n )\n}\n\nfunction EntryCard({ entry, t, onDelete, onUpdate, openSource, score }: { entry: WireEntry; t: (key: string) => string; onDelete: (entry: WireEntry) => void; onUpdate?: (entry: WireEntry, patch: EntryPatch) => void; openSource?: (sessionId: string, turnId?: number) => void; score?: number }) {\n const [editing, setEditing] = useState(false)\n const [section, setSection] = useState<SectionKey>(entry.section)\n const [title, setTitle] = useState(entry.title ?? '')\n const [content, setContent] = useState(entry.content)\n const [importance, setImportance] = useState(String(entry.importance ?? 3))\n const [tags, setTags] = useState((entry.tags ?? []).join(', '))\n const [supersedes, setSupersedes] = useState((entry.supersedes ?? []).join(', '))\n const save = () => {\n if (content.trim() === '' || onUpdate === undefined) return\n onUpdate(entry, {\n section,\n title: title.trim() === '' ? null : title.trim(),\n content: content.trim(),\n importance: Number(importance),\n tags: parseList(tags),\n supersedes: parseList(supersedes),\n })\n setEditing(false)\n }\n return (\n <div className=\"memoir-entry\" data-dsh-part=\"entry\">\n <button type=\"button\" className=\"memoir-delete\" title={t('delete.confirm')} onClick={() => onDelete(entry)}>×</button>\n {onUpdate !== undefined\n ? <div className=\"memoir-entry-actions\">\n <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => setEditing((value) => !value)}>{editing ? t('toolbar.cancel') : t('lifecycle.edit')}</button>\n <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => onUpdate(entry, { pinned: entry.pinned !== true })}>{entry.pinned === true ? t('lifecycle.unpin') : t('lifecycle.pin')}</button>\n {(entry.status ?? 'active') === 'active'\n ? <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => onUpdate(entry, { status: 'superseded' })}>{t('lifecycle.supersede')}</button>\n : <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => onUpdate(entry, { status: 'active' })}>{t('lifecycle.unsupersede')}</button>}\n <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => onUpdate(entry, { status: entry.status === 'archived' ? 'active' : 'archived' })}>{entry.status === 'archived' ? t('lifecycle.restore') : t('lifecycle.archive')}</button>\n </div>\n : null}\n <EntryMeta entry={entry} t={t} openSource={openSource} />\n {score !== undefined\n ? <span className=\"memoir-score\" title={t('search.ranked')}>{score.toFixed(3)}</span>\n : null}\n {editing\n ? <div className=\"memoir-form memoir-entry-editor\">\n <div className=\"memoir-field\">\n <label>{t('form.section')}</label>\n <select value={section} onChange={(e) => setSection(e.target.value as SectionKey)}>\n {SECTION_KEYS.map((key) => <option key={key} value={key}>{t('sections.' + key)}</option>)}\n </select>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.title')}</label>\n <input value={title} onChange={(e) => setTitle(e.target.value)} />\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.content')}</label>\n <textarea value={content} onChange={(e) => setContent(e.target.value)} />\n </div>\n <div className=\"memoir-form-row\">\n <div className=\"memoir-field\">\n <label>{t('form.importance')}</label>\n <select value={importance} onChange={(e) => setImportance(e.target.value)}>\n {[1, 2, 3, 4, 5].map((value) => <option key={value} value={value}>{value}</option>)}\n </select>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.tags')}</label>\n <input value={tags} placeholder={t('form.placeholder.tags')} onChange={(e) => setTags(e.target.value)} />\n </div>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.supersedes')}</label>\n <input value={supersedes} placeholder={t('form.placeholder.supersedes')} onChange={(e) => setSupersedes(e.target.value)} />\n </div>\n <div className=\"memoir-form-actions\">\n <button type=\"button\" className=\"memoir-iconbtn\" onClick={() => setEditing(false)}>{t('toolbar.cancel')}</button>\n <button type=\"button\" className=\"memoir-primary\" onClick={save}>{t('lifecycle.save')}</button>\n </div>\n </div>\n : <>\n {entry.title !== undefined ? <div className=\"memoir-entry-title\">{entry.title}</div> : null}\n <div className=\"memoir-entry-content\">{entry.content}</div>\n </>}\n </div>\n )\n}\n\n/** Sectioned entry list in canonical order. */\nfunction SectionedEntries({ entries, t, onDelete, onUpdate, openSource }: { entries: WireEntry[]; t: (key: string) => string; onDelete: (entry: WireEntry) => void; onUpdate?: (entry: WireEntry, patch: EntryPatch) => void; openSource?: (sessionId: string, turnId?: number) => void }) {\n const groups = useMemo(\n () => SECTION_KEYS.map((key) => ({ key, entries: entries.filter((e) => e.section === key) })).filter((g) => g.entries.length > 0),\n [entries],\n )\n if (groups.length === 0) {\n return (\n <div className=\"memoir-empty\">\n <div className=\"memoir-empty-title\">{t('empty.search')}</div>\n </div>\n )\n }\n return (\n <Fragment>\n {groups.map((group) => (\n <Fragment key={group.key}>\n <div className=\"memoir-section-title\">\n {t('sections.' + group.key)}\n <span className=\"memoir-count\">({group.entries.length})</span>\n </div>\n {group.entries.map((entry) => (\n <EntryCard key={entry.id} entry={entry} t={t} onDelete={onDelete} onUpdate={onUpdate} openSource={openSource} />\n ))}\n </Fragment>\n ))}\n </Fragment>\n )\n}\n\n/**\n * Ranked search results (v0.4.2): the host RetrievalEngine order, flat for\n * the project tab or grouped by project for the global tab. Scores are\n * shown as chips so the ranking is inspectable.\n */\nfunction RankedResults({ results, pending, grouped, t, onDelete, onUpdate, openSource }: {\n results: WireSearchResult[]\n pending: boolean\n grouped: boolean\n t: (key: string) => string\n onDelete: (entry: WireEntry, path: string) => void\n onUpdate?: (entry: WireEntry, path: string, patch: EntryPatch) => void\n openSource?: (sessionId: string, turnId?: number) => void\n}) {\n if (pending) return <div className=\"memoir-empty\">…</div>\n if (results.length === 0) {\n return (\n <div className=\"memoir-empty\">\n <div className=\"memoir-empty-title\">{t('empty.search')}</div>\n <div className=\"memoir-empty-hint\">{t('search.ranked')}</div>\n </div>\n )\n }\n if (!grouped) {\n return (\n <Fragment>\n <div className=\"memoir-ranked-note\">{t('search.ranked')}</div>\n {results.map((r) => (\n <EntryCard key={r.entry.id} entry={r.entry} score={r.score} t={t} onDelete={(entry) => onDelete(entry, r.projectPath)} onUpdate={(entry, patch) => onUpdate?.(entry, r.projectPath, patch)} openSource={openSource} />\n ))}\n </Fragment>\n )\n }\n const groups = new Map<string, WireSearchResult[]>()\n for (const result of results) {\n const bucket = groups.get(result.projectPath) ?? []\n bucket.push(result)\n groups.set(result.projectPath, bucket)\n }\n return (\n <Fragment>\n {[...groups.entries()].map(([path, bucket]) => (\n <div className=\"memoir-project-card\" key={path}>\n <div className=\"memoir-project-head\">\n <span className=\"memoir-project-title\">{path.split('/').filter(Boolean).pop() || path}</span>\n <span className=\"memoir-project-path\">{path}</span>\n </div>\n {bucket.map((r) => (\n <EntryCard key={r.entry.id} entry={r.entry} score={r.score} t={t} onDelete={(entry) => onDelete(entry, path)} onUpdate={(entry, patch) => onUpdate?.(entry, path, patch)} openSource={openSource} />\n ))}\n </div>\n ))}\n </Fragment>\n )\n}\n\ntype AddPayload = {\n section: SectionKey\n title?: string\n content: string\n importance: number\n pinned: boolean\n tags: string[]\n supersedes: string[]\n}\n\nfunction AddForm({ t, onSubmit, onCancel }: { t: (key: string) => string; onSubmit: (payload: AddPayload) => void; onCancel: () => void }) {\n const [section, setSection] = useState<SectionKey>('lessons')\n const [title, setTitle] = useState('')\n const [content, setContent] = useState('')\n const [importance, setImportance] = useState('3')\n const [pinned, setPinned] = useState(false)\n const [tags, setTags] = useState('')\n const [supersedes, setSupersedes] = useState('')\n const submit = () => {\n if (content.trim() === '') return\n onSubmit({\n section,\n title: title.trim() === '' ? undefined : title.trim(),\n content: content.trim(),\n importance: Number(importance),\n pinned,\n tags: parseList(tags),\n supersedes: parseList(supersedes),\n })\n }\n return (\n <div className=\"memoir-form\" data-dsh-part=\"entry-form\">\n <div className=\"memoir-form-row\">\n <div className=\"memoir-field\">\n <label>{t('form.section')}</label>\n <select value={section} onChange={(e) => setSection(e.target.value as SectionKey)}>\n {SECTION_KEYS.map((key) => (\n <option key={key} value={key}>{t('sections.' + key)}</option>\n ))}\n </select>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.title')}</label>\n <input value={title} placeholder={t('form.placeholder.title')} onChange={(e) => setTitle(e.target.value)} />\n </div>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.content')}</label>\n <textarea value={content} placeholder={t('form.placeholder.content')} onChange={(e) => setContent(e.target.value)} />\n </div>\n <div className=\"memoir-form-row\">\n <div className=\"memoir-field\">\n <label>{t('form.importance')}</label>\n <select value={importance} onChange={(e) => setImportance(e.target.value)}>\n {[1, 2, 3, 4, 5].map((value) => <option key={value} value={value}>{value}</option>)}\n </select>\n <small>{t('form.importanceHint')}</small>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.tags')}</label>\n <input value={tags} placeholder={t('form.placeholder.tags')} onChange={(e) => setTags(e.target.value)} />\n </div>\n </div>\n <div className=\"memoir-field\">\n <label>{t('form.supersedes')}</label>\n <input value={supersedes} placeholder={t('form.placeholder.supersedes')} onChange={(e) => setSupersedes(e.target.value)} />\n </div>\n <label className=\"memoir-settings-switch\">\n <input type=\"checkbox\" checked={pinned} onChange={(e) => setPinned(e.target.checked)} />\n <span><strong>{t('form.pinned')}</strong><small>{t('form.pinnedHint')}</small></span>\n </label>\n <div className=\"memoir-form-actions\">\n <button type=\"button\" className=\"memoir-iconbtn\" onClick={onCancel}>{t('toolbar.cancel')}</button>\n <button type=\"button\" className=\"memoir-primary\" onClick={submit}>{t('form.submit')}</button>\n </div>\n </div>\n )\n}\n\nfunction SimilarityCandidateCard({ candidate, t, busy, onResolve }: {\n candidate: WireSimilarityCandidate\n t: (key: string) => string\n busy: boolean\n onResolve: (resolution: WireRecordResolution, targetId: string) => void\n}) {\n return (\n <div className=\"memoir-similarity-candidate\">\n <div className=\"memoir-similarity-head\">\n <span className={`memoir-chip memoir-similarity-${candidate.kind}`}>{t(`similarity.kind.${candidate.kind}`)}</span>\n <strong>{candidate.entry.title ?? candidate.entry.content.slice(0, 100)}</strong>\n <span className=\"memoir-score-static\">{Math.round(candidate.score * 100)}%</span>\n </div>\n {candidate.entry.title !== undefined ? <div className=\"memoir-similarity-content\">{candidate.entry.content}</div> : null}\n <div className=\"memoir-similarity-components\">\n BM25 {Math.round(candidate.components.bm25 * 100)}% · {t('similarity.titleScore')} {Math.round(candidate.components.title * 100)}% · Jaccard {Math.round(candidate.components.tokenJaccard * 100)}%\n </div>\n <div className=\"memoir-similarity-reasons\">\n {candidate.reasons.map((reason) => <span className=\"memoir-chip\" key={reason}>{t(`similarity.reason.${reason}`)}</span>)}\n </div>\n <div className=\"memoir-form-actions\">\n <button type=\"button\" className=\"memoir-iconbtn\" disabled={busy} onClick={() => onResolve('update', candidate.entry.id)}>{t('similarity.update')}</button>\n <button type=\"button\" className=\"memoir-primary\" disabled={busy} onClick={() => onResolve('supersede', candidate.entry.id)}>{t('similarity.supersede')}</button>\n </div>\n </div>\n )\n}\n\nfunction SimilarityResolution({ result, t, busy, onResolve, onBack }: {\n result: WireRecordResult\n t: (key: string) => string\n busy: boolean\n onResolve: (resolution: WireRecordResolution, targetId?: string) => void\n onBack: () => void\n}) {\n return (\n <div className=\"memoir-similarity\" data-dsh-part=\"similarity-resolution\">\n <div className=\"memoir-similarity-title\">{t('similarity.title')}</div>\n <div className=\"memoir-settings-description\">{t('similarity.description')}</div>\n {result.candidates.map((candidate) => (\n <SimilarityCandidateCard key={candidate.entry.id} candidate={candidate} t={t} busy={busy} onResolve={onResolve} />\n ))}\n <div className=\"memoir-similarity-footer\">\n <button type=\"button\" className=\"memoir-iconbtn\" disabled={busy} onClick={onBack}>{t('similarity.back')}</button>\n <button type=\"button\" className=\"memoir-iconbtn\" disabled={busy} onClick={() => onResolve('force-record')}>{t('similarity.force')}</button>\n </div>\n </div>\n )\n}\n\ntype NumericSettingsKey =\n | 'autoDistillEvery'\n | 'autoDistillCooldownMin'\n | 'autoDistillMinTools'\n | 'hotMemoryTokens'\n | 'hotMemoryMaxTokens'\n | 'readDefaultLimit'\n | 'readMaxLimit'\n | 'sessionSnapshotMax'\n | 'queryCacheSize'\n\nconst NUMERIC_SETTINGS: NumericSettingsKey[] = [\n 'autoDistillEvery',\n 'autoDistillCooldownMin',\n 'autoDistillMinTools',\n 'hotMemoryTokens',\n 'hotMemoryMaxTokens',\n 'readDefaultLimit',\n 'readMaxLimit',\n 'sessionSnapshotMax',\n 'queryCacheSize',\n]\n\n/** Persistent, live complete settings shared by the panel and Settings page. */\nexport function MemoirSettingsPanel({ api, t, refreshKey, onChanged, defaultOpen = false, alwaysOpen = false, showDescription = true }: {\n api: MemoirApi\n t: (key: string) => string\n refreshKey: number\n onChanged: () => void\n defaultOpen?: boolean\n alwaysOpen?: boolean\n showDescription?: boolean\n}) {\n const [open, setOpen] = useState(defaultOpen)\n const [settings, setSettings] = useState<WireMemoirSettings | null>(null)\n const [source, setSource] = useState<'profile' | 'web'>('profile')\n const [draft, setDraft] = useState<Record<NumericSettingsKey, string>>({\n autoDistillEvery: '1',\n autoDistillCooldownMin: '0',\n autoDistillMinTools: '1',\n hotMemoryTokens: '900',\n hotMemoryMaxTokens: '1200',\n readDefaultLimit: '8',\n readMaxLimit: '30',\n sessionSnapshotMax: '128',\n queryCacheSize: '128',\n })\n const [busy, setBusy] = useState(false)\n const [message, setMessage] = useState<string | null>(null)\n const [error, setError] = useState<string | null>(null)\n\n const applySnapshot = (snapshot: { settings: WireMemoirSettings; source: 'profile' | 'web' }) => {\n setError(null)\n setSettings(snapshot.settings)\n setSource(snapshot.source)\n setDraft(Object.fromEntries(NUMERIC_SETTINGS.map((key) => [key, String(snapshot.settings[key])])) as Record<NumericSettingsKey, string>)\n }\n\n useEffect(() => {\n let cancelled = false\n api.settings()\n .then((value) => { if (!cancelled) applySnapshot(value) })\n .catch((e: Error) => { if (!cancelled) setError(`${t('settings.loadFailed')}: ${e.message}`) })\n return () => { cancelled = true }\n }, [api, refreshKey])\n\n const save = () => {\n if (settings === null) return\n const parsed = Object.fromEntries(NUMERIC_SETTINGS.map((key) => [key, Number(draft[key])])) as Record<NumericSettingsKey, number>\n const integerKeys = NUMERIC_SETTINGS.filter((key) => key !== 'autoDistillCooldownMin')\n const invalidInteger = integerKeys.some((key) => !Number.isSafeInteger(parsed[key]) || parsed[key] < 1)\n if (\n invalidInteger\n || !Number.isFinite(parsed.autoDistillCooldownMin)\n || parsed.autoDistillCooldownMin < 0\n || parsed.hotMemoryMaxTokens < parsed.hotMemoryTokens\n || parsed.readMaxLimit < parsed.readDefaultLimit\n ) {\n setMessage(null)\n setError(t('settings.invalid'))\n return\n }\n setBusy(true)\n setError(null)\n setMessage(null)\n api.updateSettings({\n announceToAgent: settings.announceToAgent,\n autoDistill: settings.autoDistill,\n ...parsed,\n })\n .then((value) => {\n applySnapshot(value)\n setMessage(t('settings.saved'))\n onChanged()\n })\n .catch((e: Error) => setError(`${t('settings.saveFailed')}: ${e.message}`))\n .finally(() => setBusy(false))\n }\n\n const reset = () => {\n setBusy(true)\n setError(null)\n setMessage(null)\n api.resetSettings()\n .then((value) => {\n applySnapshot(value)\n setMessage(t('settings.resetDone'))\n onChanged()\n })\n .catch((e: Error) => setError(`${t('settings.saveFailed')}: ${e.message}`))\n .finally(() => setBusy(false))\n }\n\n return (\n <div className=\"memoir-settings\" data-dsh-part=\"settings\">\n {!alwaysOpen\n ? <button type=\"button\" className=\"memoir-diagnostics-toggle\" aria-expanded={open} onClick={() => setOpen((value) => !value)}>\n {t('settings.title')} {open ? '▾' : '▸'}\n </button>\n : null}\n {alwaysOpen || open\n ? settings === null\n ? <div className=\"memoir-settings-body\">{error ?? '…'}</div>\n : (\n <div className=\"memoir-settings-body\">\n {showDescription ? <div className=\"memoir-settings-description\">{t('settings.description')}</div> : null}\n <label className=\"memoir-settings-switch\">\n <input\n type=\"checkbox\"\n checked={settings.announceToAgent}\n onChange={(event) => setSettings({ ...settings, announceToAgent: event.target.checked })}\n />\n <span><strong>{t('settings.announce')}</strong><small>{t('settings.announceHint')}</small></span>\n </label>\n <div className=\"memoir-settings-group-title\">{t('settings.group.distill')}</div>\n <label className=\"memoir-settings-switch\">\n <input\n type=\"checkbox\"\n checked={settings.autoDistill}\n onChange={(event) => setSettings({ ...settings, autoDistill: event.target.checked })}\n />\n <span><strong>{t('settings.enabled')}</strong><small>{t('settings.enabledHint')}</small></span>\n </label>\n <div className=\"memoir-settings-grid\">\n {(['autoDistillEvery', 'autoDistillCooldownMin', 'autoDistillMinTools'] as NumericSettingsKey[]).map((key) => (\n <label className=\"memoir-field\" key={key}>\n <span>{t(`settings.${key}`)}</span>\n <input\n type=\"number\"\n min={key === 'autoDistillCooldownMin' ? '0' : '1'}\n step={key === 'autoDistillCooldownMin' ? '0.1' : '1'}\n value={draft[key]}\n onChange={(event) => setDraft({ ...draft, [key]: event.target.value })}\n />\n <small>{t(`settings.${key}Hint`)}</small>\n </label>\n ))}\n </div>\n <div className=\"memoir-settings-note\">{t('settings.andHint')}</div>\n <div className=\"memoir-settings-group-title\">{t('settings.group.memory')}</div>\n <div className=\"memoir-settings-grid\">\n {(['hotMemoryTokens', 'hotMemoryMaxTokens', 'readDefaultLimit', 'readMaxLimit', 'sessionSnapshotMax', 'queryCacheSize'] as NumericSettingsKey[]).map((key) => (\n <label className=\"memoir-field\" key={key}>\n <span>{t(`settings.${key}`)}</span>\n <input\n type=\"number\"\n min=\"1\"\n step=\"1\"\n value={draft[key]}\n onChange={(event) => setDraft({ ...draft, [key]: event.target.value })}\n />\n <small>{t(`settings.${key}Hint`)}</small>\n </label>\n ))}\n </div>\n <div className=\"memoir-settings-note\">{t('settings.liveHint')}</div>\n <div className=\"memoir-settings-source\">{t('settings.source')}: {t(`settings.source.${source}`)}</div>\n {error !== null ? <div className=\"memoir-error memoir-settings-feedback\">{error}</div> : null}\n {message !== null ? <div className=\"memoir-settings-success\">{message}</div> : null}\n <div className=\"memoir-form-actions\">\n <button type=\"button\" className=\"memoir-iconbtn\" disabled={busy || source === 'profile'} onClick={reset}>{t('settings.reset')}</button>\n <button type=\"button\" className=\"memoir-primary\" disabled={busy} onClick={save}>{t('settings.save')}</button>\n </div>\n </div>\n )\n : null}\n </div>\n )\n}\n\nexport function MemoirPanel({ api, cwdTracker, t, openSource }: PanelProps) {\n const [, setLanguage] = useState(document.documentElement.lang)\n useEffect(() => {\n const observer = new MutationObserver(() => setLanguage(document.documentElement.lang))\n observer.observe(document.documentElement, { attributes: true, attributeFilter: ['lang'] })\n return () => observer.disconnect()\n }, [])\n const cwd = useSyncExternalStore(cwdTracker.subscribe, cwdTracker.getSnapshot)\n const [tab, setTab] = useState<'project' | 'global'>('project')\n const [query, setQuery] = useState('')\n const [statusFilter, setStatusFilter] = useState<MemoirStatus | 'all'>('active')\n const [sectionFilter, setSectionFilter] = useState<SectionKey | 'all'>('all')\n const [formOpen, setFormOpen] = useState(false)\n const [pendingRecord, setPendingRecord] = useState<{ payload: AddPayload; result: WireRecordResult } | null>(null)\n const [refreshKey, setRefreshKey] = useState(0)\n const [project, setProject] = useState<WireProject | null>(null)\n const [projects, setProjects] = useState<WireProject[]>([])\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [busy, setBusy] = useState(false)\n const [diag, setDiag] = useState<WireDiagnostics | null>(null)\n const [diagOpen, setDiagOpen] = useState(false)\n const [searchResults, setSearchResults] = useState<WireSearchResult[] | null>(null)\n const [hotMemory, setHotMemory] = useState<WireHotMemory | null>(null)\n const [inspectorOpen, setInspectorOpen] = useState(false)\n\n const q = query.trim().toLowerCase()\n\n useEffect(() => {\n let cancelled = false\n setError(null)\n if (tab === 'project') {\n if (cwd === '') {\n setProject(null)\n return undefined\n }\n setLoading(true)\n api.project(cwd, { status: statusFilter, section: sectionFilter === 'all' ? undefined : sectionFilter })\n .then((value) => { if (!cancelled) setProject(value.project) })\n .catch((e: Error) => { if (!cancelled) setError(e.message) })\n .finally(() => { if (!cancelled) setLoading(false) })\n } else {\n setLoading(true)\n api.global({ status: statusFilter, section: sectionFilter === 'all' ? undefined : sectionFilter })\n .then((value) => { if (!cancelled) setProjects(value.projects) })\n .catch((e: Error) => { if (!cancelled) setError(e.message) })\n .finally(() => { if (!cancelled) setLoading(false) })\n }\n // Diagnostics follow the active workspace (observability, roadmap §4).\n api.diagnostics(cwd === '' ? undefined : cwd)\n .then((value) => { if (!cancelled) setDiag(value) })\n .catch(() => { if (!cancelled) setDiag(null) })\n // Hot-memory inspector preview (what the next session inherits).\n if (cwd === '') {\n setHotMemory(null)\n } else {\n api.hotMemory(cwd)\n .then((value) => { if (!cancelled) setHotMemory(value.hotMemory) })\n .catch(() => { if (!cancelled) setHotMemory(null) })\n }\n return () => { cancelled = true }\n }, [tab, cwd, statusFilter, sectionFilter, refreshKey])\n\n // v0.4.2: a non-empty query searches through the host RetrievalEngine —\n // the same BM25 ranking memoir_read uses. Debounced; empty query resets.\n useEffect(() => {\n if (q === '') {\n setSearchResults(null)\n return undefined\n }\n let cancelled = false\n const timer = setTimeout(() => {\n const scope = tab === 'project' ? 'project' : 'global'\n api.search({\n scope,\n path: tab === 'project' && cwd !== '' ? cwd : undefined,\n query: q,\n status: statusFilter,\n section: sectionFilter === 'all' ? undefined : sectionFilter,\n })\n .then((value) => { if (!cancelled) setSearchResults(value.results) })\n .catch((e: Error) => {\n if (!cancelled) {\n setSearchResults([])\n setError(e.message)\n }\n })\n }, 200)\n return () => { cancelled = true; clearTimeout(timer) }\n }, [q, tab, cwd, statusFilter, sectionFilter, refreshKey])\n\n const filterEntries = (entries: WireEntry[]) =>\n q === '' ? entries : entries.filter((e) => `${e.title ?? ''} ${e.content}`.toLowerCase().includes(q))\n\n const reload = () => setRefreshKey((k) => k + 1)\n\n const onDelete = (entry: WireEntry, entryPath: string) => {\n if (!window.confirm(t('delete.confirm'))) return\n setBusy(true)\n api.remove({ path: entryPath, id: entry.id })\n .then(() => reload())\n .catch((e: Error) => setError(`${t('delete.failed')}: ${e.message}`))\n .finally(() => setBusy(false))\n }\n\n const onRecord = (payload: AddPayload, resolution?: WireRecordResolution, targetId?: string) => {\n setBusy(true)\n api.record({ path: cwd, ...payload, ...(resolution !== undefined ? { resolution } : {}), ...(targetId !== undefined ? { targetId } : {}) })\n .then((result) => {\n if (result.action === 'needs-resolution') {\n setPendingRecord({ payload, result })\n return\n }\n setPendingRecord(null)\n setFormOpen(false)\n reload()\n })\n .catch((e: Error) => setError(`${t('record.failed')}: ${e.message}`))\n .finally(() => setBusy(false))\n }\n\n const onUpdate = (entry: WireEntry, entryPath: string, patch: EntryPatch) => {\n setBusy(true)\n api.update({ path: entryPath, id: entry.id, ...patch })\n .then(() => reload())\n .catch((e: Error) => setError(`${t('update.failed')}: ${e.message}`))\n .finally(() => setBusy(false))\n }\n\n const projectEntries = project === null ? [] : filterEntries(project.entries)\n\n return (\n <PageShell\n plugin=\"memoir\"\n title={t('panel.title')}\n intro={tab === 'project' ? (cwd === '' ? t('empty.workspace') : cwd) : t('tab.global')}\n busy={loading}\n toolbar={<button type=\"button\" className=\"memoir-iconbtn\" title={t('panel.refresh')} onClick={reload}>⟳</button>}\n >\n <div className=\"memoir-tabs\" data-dsh-part=\"tabs\">\n <button type=\"button\" className=\"memoir-tab\" data-active={tab === 'project' ? 'true' : undefined} onClick={() => setTab('project')}>{t('tab.project')}</button>\n <button type=\"button\" className=\"memoir-tab\" data-active={tab === 'global' ? 'true' : undefined} onClick={() => setTab('global')}>{t('tab.global')}</button>\n </div>\n <div className=\"memoir-toolbar\" data-dsh-part=\"toolbar\">\n <input className=\"memoir-search\" placeholder={t('toolbar.search')} value={query} onChange={(e) => setQuery(e.target.value)} />\n <label className=\"memoir-status-filter\">\n <span>{t('filter.status')}</span>\n <select value={statusFilter} onChange={(e) => setStatusFilter(e.target.value as MemoirStatus | 'all')}>\n <option value=\"active\">{t('status.active')}</option>\n <option value=\"all\">{t('filter.all')}</option>\n <option value=\"superseded\">{t('status.superseded')}</option>\n <option value=\"archived\">{t('status.archived')}</option>\n </select>\n </label>\n <label className=\"memoir-status-filter\">\n <span>{t('filter.section')}</span>\n <select value={sectionFilter} onChange={(e) => setSectionFilter(e.target.value as SectionKey | 'all')}>\n <option value=\"all\">{t('filter.all')}</option>\n {SECTION_KEYS.map((key) => <option key={key} value={key}>{t('sections.' + key)}</option>)}\n </select>\n </label>\n {tab === 'project' && cwd !== ''\n ? <button type=\"button\" className=\"memoir-primary\" onClick={() => {\n setFormOpen((value) => !value)\n setPendingRecord(null)\n }}>{formOpen ? t('toolbar.cancel') : t('toolbar.add')}</button>\n : null}\n </div>\n {formOpen && tab === 'project' && cwd !== ''\n ? pendingRecord === null\n ? <AddForm t={t} onSubmit={onRecord} onCancel={() => setFormOpen(false)} />\n : <SimilarityResolution\n result={pendingRecord.result}\n t={t}\n busy={busy}\n onResolve={(resolution, targetId) => onRecord(pendingRecord.payload, resolution, targetId)}\n onBack={() => setPendingRecord(null)}\n />\n : null}\n {error !== null ? <PageNotice kind=\"error\">{error}</PageNotice> : null}\n <div className=\"memoir-scroll-region\" data-dsh-part=\"scroll-region\">\n <div className=\"memoir-body\">\n {loading\n ? <PageNotice kind=\"loading\">{t('panel.loading')}</PageNotice>\n : q !== ''\n ? (\n <RankedResults\n results={searchResults ?? []}\n pending={searchResults === null}\n grouped={tab === 'global'}\n t={t}\n openSource={openSource}\n onDelete={(entry, path) => onDelete(entry, path)}\n onUpdate={onUpdate}\n />\n )\n : tab === 'project'\n ? cwd === ''\n ? (\n <div className=\"memoir-empty\">\n <div className=\"memoir-empty-title\">{t('empty.workspace')}</div>\n <div className=\"memoir-empty-hint\">{t('empty.workspaceHint')}</div>\n </div>\n )\n : projectEntries.length === 0\n ? (\n <div className=\"memoir-empty\">\n <div className=\"memoir-empty-title\">{t('empty.project')}</div>\n <div className=\"memoir-empty-hint\">{t('empty.projectHint')}</div>\n </div>\n )\n : <SectionedEntries entries={projectEntries} t={t} openSource={openSource} onDelete={(entry) => onDelete(entry, project?.path ?? cwd)} onUpdate={(entry, patch) => onUpdate(entry, project?.path ?? cwd, patch)} />\n : projects.length === 0\n ? (\n <div className=\"memoir-empty\">\n <div className=\"memoir-empty-title\">{t('empty.global')}</div>\n <div className=\"memoir-empty-hint\">{t('empty.globalHint')}</div>\n </div>\n )\n : projects.map((p) => {\n const entries = filterEntries(p.entries)\n if (entries.length === 0) return null\n const when = new Date(p.updatedAt)\n return (\n <div className=\"memoir-project-card\" key={p.key}>\n <div className=\"memoir-project-head\">\n <span className=\"memoir-project-title\">{p.title}</span>\n <span className=\"memoir-project-path\">{p.path}</span>\n </div>\n <div className=\"memoir-project-meta\">\n {`${t('updated')} ${when.toISOString().slice(0, 16).replace('T', ' ')} · ${entries.length} ${t('entries')}`}\n </div>\n <SectionedEntries entries={entries} t={t} openSource={openSource} onDelete={(entry) => onDelete(entry, p.path)} onUpdate={(entry, patch) => onUpdate(entry, p.path, patch)} />\n </div>\n )\n })}\n </div>\n {busy ? <div className=\"memoir-empty memoir-busy\">…</div> : null}\n <MemoirSettingsPanel api={api} t={t} refreshKey={refreshKey} onChanged={reload} />\n <div className=\"memoir-inspector\" data-dsh-part=\"hot-memory\">\n <button type=\"button\" className=\"memoir-diagnostics-toggle\" onClick={() => setInspectorOpen((v) => !v)}>\n {t('inspector.title')} {inspectorOpen ? '▾' : '▸'}\n </button>\n {inspectorOpen\n ? hotMemory === null || hotMemory.text === ''\n ? <div className=\"memoir-inspector-body\">{t('inspector.empty')}</div>\n : <pre className=\"memoir-inspector-body\">{hotMemory.text}</pre>\n : null}\n </div>\n <div className=\"memoir-diagnostics\" data-dsh-part=\"diagnostics\">\n <button type=\"button\" className=\"memoir-diagnostics-toggle\" onClick={() => setDiagOpen((v) => !v)}>\n {t('diag.title')} {diagOpen ? '▾' : '▸'}\n </button>\n {diagOpen && diag !== null\n ? (\n <div className=\"memoir-diagnostics-body\">\n <div>{t('diag.revision')}: {diag.storeRevision} · {t('diag.snapshot')}: {diag.snapshotCount}/{diag.snapshotMax}</div>\n <div>{t('diag.cache')}: {diag.cache.hits}/{diag.cache.loads} 命中 ({Math.round(diag.cache.hitRate * 100)}%) · {t('diag.render')}: {Math.round(diag.cache.renderHitRate * 100)}%</div>\n {diag.hotMemory !== null\n ? <div>{t('diag.hot')}: {diag.hotMemory.selected}/{diag.hotMemory.total} 条 · ~{diag.hotMemory.estimatedTokens} tokens(预算 {diag.config.hotMemoryTokens}/{diag.config.hotMemoryMaxTokens})</div>\n : null}\n <div>{t('diag.retrieval')}: {diag.retrieval.index === null ? '—' : `${diag.retrieval.index.docs} docs · ${diag.retrieval.index.terms} terms · epoch ${diag.retrieval.index.epoch}`}</div>\n <div>{t('diag.qcache')}: {diag.retrieval.cache.hits} hits / {diag.retrieval.cache.misses} misses ({Math.round(diag.retrieval.cache.hitRate * 100)}%) · {diag.retrieval.cache.size}/{diag.retrieval.cache.capacity} · {diag.retrieval.cache.evictions} evicted</div>\n {diag.retrieval.lastQuery !== null\n ? <div>{t('diag.lastQuery')}: {diag.retrieval.lastQuery.latencyMs.toFixed(1)} ms · {diag.retrieval.lastQuery.returned}/{diag.retrieval.lastQuery.candidates} returned</div>\n : null}\n {diag.snapshot !== null\n ? <div>{t('diag.snapshotInfo')}: {diag.snapshot.hash} · rev {diag.snapshot.storeRevision}</div>\n : null}\n </div>\n )\n : null}\n </div>\n </div>\n </PageShell>\n )\n}\n","/**\n * 原生主面板注册(DSH 0.2):SSH / 记忆两个家族页面统一用官方\n * `sidebar.panellist` 行 + `main` 主栏面板渲染 —— 行外观、选中态、折叠行为与\n * 官方「Plugins」页一致,页面版心与加载态复用 page-shell.tsx(同一套官方插件\n * 页度量)。旧的「DOM 注入中栏 + html 属性显隐 + footer 动作」接管方式已全部\n * 移除。\n *\n * Git Worktree 不在其中:它没有页面。分支在新建对话时由输入框选择器选定,该\n * worktree 的状态与收尾动作都在会话顶部的 lane chip 上。\n *\n * 飞书不占侧栏:它的连接与配置都在设置页(见 client/settings/lark-inbox.tsx)。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport { PanelController as SshPanelController } from './panels/ssh/controller.ts'\nimport { SshApi } from './panels/ssh/api.ts'\nimport { SshPanel } from './panels/ssh/SshPanel.tsx'\nimport { PanelController as MemoirPanelController } from './panels/memoir/controller.ts'\nimport { MemoirApi } from './panels/memoir/api.ts'\nimport { createCwdTracker, type MemoirProjectSources } from './panels/memoir/cwd.ts'\nimport { makeT } from './panels/memoir/i18n.ts'\nimport { mountPanelStyles } from './panels/memoir/styles.ts'\nimport { MemoirPanel } from './panels/memoir/panel.tsx'\n\n/** 家族面板控制器面(与 PanelMount 同形,但不含面板挂载职责)。 */\ninterface PanelHandle {\n getSnapshot(): { panelOpen: boolean }\n open(): void\n close(): void\n subscribe(listener: () => void): () => void\n}\n\n/** 主栏面板 id(同时也是 sidebar.panellist 行的 id)。 */\nexport const SSH_PANEL_ID = 'web-all-ssh'\nexport const MEMOIR_PANEL_ID = 'web-all-memoir'\n\nconst SSH_ICON = '<svg viewBox=\"0 0 16 16\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"1.75\" y=\"2.25\" width=\"12.5\" height=\"11.5\" rx=\"1.75\"/><path d=\"M4.25 5.25l2.75 2.75-2.75 2.75\"/><path d=\"M8.5 10.75h3.25\"/></svg>'\nconst MEMOIR_ICON = '<svg viewBox=\"0 0 16 16\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><ellipse cx=\"8\" cy=\"2.9\" rx=\"5.1\" ry=\"1.7\"/><path d=\"M2.9 2.9v10.2c0 .9 2.3 1.7 5.1 1.7s5.1-.8 5.1-1.7V2.9\"/><path d=\"M2.9 8c0 .9 2.3 1.7 5.1 1.7s5.1-.8 5.1-1.7\"/></svg>'\n\n/** 官方 layout 服务面(选中主面板 + 选中态订阅)。 */\ninterface LayoutFace {\n selectPanel(id: string | null): void\n panelInfo: {\n getSnapshot(): { activePanelId: string | null }\n subscribe(listener: () => void): () => void\n }\n}\n\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try { return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)(name, false) as T | undefined } catch { return undefined }\n}\n\n/**\n * 面板行 glyph:官方行容器负责配色,并按 owner 下发的 `size` 请求边长;\n * SVG 里写死的 18 只作为缺省,实际边长跟随 owner(0.2 的\n * `SidebarPanelIconOwnerProps.size`)。\n */\nfunction Glyph({ svg, size = 18 }: { svg: string; size?: number }) {\n const scaled = svg.replace(/width=\"\\d+\"/u, 'width=\"100%\"').replace(/height=\"\\d+\"/u, 'height=\"100%\"')\n return <span style={{ display: 'inline-flex', width: size, height: size }} dangerouslySetInnerHTML={{ __html: scaled }} />\n}\n\n/** 家族面板控制器与原生选中状态双向绑定:选中即打开,取消选中即关闭。 */\nfunction bindNativeSelection(ctx: ClientContext, handle: PanelHandle, layout: LayoutFace | undefined, id: string, disposers: Array<() => void>): void {\n if (layout === undefined) return\n disposers.push(layout.panelInfo.subscribe(() => {\n const active = layout.panelInfo.getSnapshot().activePanelId === id\n if (active && !handle.getSnapshot().panelOpen) handle.open()\n if (!active && handle.getSnapshot().panelOpen) handle.close()\n }))\n disposers.push(handle.subscribe(() => {\n // 面板内的动作只关闭自身(例如 worktree 里打开会话),这里把原生选中态一并清掉。\n if (!handle.getSnapshot().panelOpen && layout.panelInfo.getSnapshot().activePanelId === id) layout.selectPanel(null)\n }))\n void ctx\n}\n\n/** 注册一个原生面板:main 主栏 body + sidebar.panellist 行。 */\nfunction registerPanel(\n ctx: ClientContext,\n disposers: Array<() => void>,\n id: string,\n order: number,\n label: () => string,\n icon: string,\n inject: () => Record<string, unknown>,\n Body: (props: never) => React.JSX.Element,\n): void {\n disposers.push(ctx.slots.inject('main' as never, () => ctx.slots.register(\n { name: 'main', key: id, inject } as never,\n Body as never,\n ) as unknown as () => void))\n disposers.push(ctx.slots.inject('sidebar.panellist' as never, () => ctx.slots.register(\n { name: 'sidebar.panellist', id, order, label } as never,\n ((props: { owner?: { size?: number } }) => <Glyph svg={icon} size={props?.owner?.size}/>) as never,\n ) as unknown as () => void))\n}\n\n/** 挂载 SSH / 记忆两个原生面板;返回统一 disposer。 */\nexport function registerNativePanels(ctx: ClientContext): () => void {\n const layout = optionalService<LayoutFace>(ctx, 'layout')\n const disposers: Array<() => void> = []\n\n // ---- SSH:主机 / 终端 / 传输 / 隧道 / 集群\n const sshController = new SshPanelController()\n const sshApi = new SshApi()\n bindNativeSelection(ctx, sshController, layout, SSH_PANEL_ID, disposers)\n registerPanel(ctx, disposers, SSH_PANEL_ID, 30, () => 'SSH', SSH_ICON,\n () => ({ api: sshApi }),\n ((props: { api: never }) => <SshPanel api={props.api}/>) as never)\n\n // ---- 记忆:条目 / 热记忆 / 诊断\n const memoirController = new MemoirPanelController()\n const memoirApi = new MemoirApi()\n // 记忆页是全局主面板(没有注入的会话身份):项目路径按 0.2 的选择事实源解析\n // ——uiWorkspace.selection(持久选择单元格,取代 sessions.list.current)→\n // 旧版 sessions.list.current → uiSession.current(中栏绑定)。每次读取都重新\n // 解析服务,避免注册时刻服务未就绪时被冻结成空实现。\n const memoirSources = (): MemoirProjectSources => ({\n sessions: optionalService<NonNullable<MemoirProjectSources['sessions']>>(ctx, 'sessions'),\n uiWorkspace: optionalService<NonNullable<MemoirProjectSources['uiWorkspace']>>(ctx, 'uiWorkspace'),\n uiSession: optionalService<NonNullable<MemoirProjectSources['uiSession']>>(ctx, 'uiSession'),\n })\n const cwdTracker = createCwdTracker(memoirSources)\n const t = makeT(document)\n // 打开来源会话:0.2 把选择动作移到了工作区浏览器的 openSession,旧版仍是 sessions.open。\n const openSource = (sessionId: string): void => {\n try {\n const sessions = optionalService<{ open?(id: string): void }>(ctx, 'sessions')\n if (typeof sessions?.open === 'function') {\n sessions.open(sessionId)\n return\n }\n const workspace = optionalService<{ openSession?(id: string): void }>(ctx, 'uiWorkspace')\n if (typeof workspace?.openSession === 'function') workspace.openSession(sessionId)\n } catch { /* session gone */ }\n }\n const disposeStyles = mountPanelStyles(document)\n disposers.push(disposeStyles)\n bindNativeSelection(ctx, memoirController, layout, MEMOIR_PANEL_ID, disposers)\n registerPanel(ctx, disposers, MEMOIR_PANEL_ID, 31, () => t('entry.label'), MEMOIR_ICON,\n () => ({ api: memoirApi, cwdTracker, t, openSource }),\n ((props: { api: never; cwdTracker: never; t: never; openSource: never }) =>\n <MemoirPanel api={props.api} cwdTracker={props.cwdTracker} t={props.t} openSource={props.openSource}/>) as never)\n\n\n return () => { for (const dispose of disposers.reverse()) { try { dispose() } catch { /* tolerant */ } } }\n}","/**\n * 运行时安全的图标出口。\n *\n * DSH 0.2 的类型声明仍导出 *16/*14 图标,但实际运行时只提供 *Medium/*Regular\n * 变体:直接引用会让 React 拿到 undefined 元素类型并在渲染时抛 #130\n * (右侧栏 Git 页此前正是如此)。本模块按运行时名字优先解析,类型名字兜底,\n * 两者都缺失时退化为不渲染任何图标的空组件。\n */\nimport * as primitives from '@deepseek-ai/dsh-client-ui-primitives'\nimport type { ComponentType } from 'react'\n\n/** 图标组件面(size/className 与官方 primitives 一致,其余属性透传)。 */\nexport type UiIcon = ComponentType<{ size?: number; className?: string } & Record<string, unknown>>\n\nconst table = primitives as unknown as Record<string, UiIcon | undefined>\nconst EMPTY: UiIcon = () => null\n\nfunction icon(typed: string, runtime: string): UiIcon {\n // 测试里的 module mock、或更早/更晚的 cohort 可能两个名字都没有:访问未知导出\n // 在 vitest 的 mock 代理下会抛错,所以这里整体兜底为空组件。\n try { return table[runtime] ?? table[typed] ?? EMPTY } catch { return EMPTY }\n}\n\nexport const IconBranchOutline16 = icon('IconBranchOutline16', 'IconBranchOutlineMedium')\nexport const IconCheckOutline14 = icon('IconCheckOutline14', 'IconCheckOutlineMedium')\nexport const IconChevronDownOutline14 = icon('IconChevronDownOutline14', 'IconChevronDownOutlineMedium')\nexport const IconCloseOutline16 = icon('IconCloseOutline16', 'IconCloseOutlineMedium')\nexport const IconCodeOutline16 = icon('IconCodeOutline16', 'IconCodeOutlineMedium')\nexport const IconCopyOutline16 = icon('IconCopyOutline16', 'IconCopyOutlineMedium')\nexport const IconGlobeOutline16 = icon('IconGlobeOutline16', 'IconGlobeOutlineMedium')\nexport const IconPlusOutline16 = icon('IconPlusOutline16', 'IconPlusOutlineMedium')\nexport const IconRefreshOutline16 = icon('IconRefreshOutline16', 'IconRefreshOutlineMedium')\nexport const IconSearchOutline16 = icon('IconSearchOutline16', 'IconSearchOutlineMedium')\nexport const IconTrashOutline16 = icon('IconTrashOutline16', 'IconTrashOutlineMedium')\nexport const IconWorkspaceTreeOutline16 = icon('IconWorkspaceTreeOutline16', 'IconWorkspaceTreeOutlineMedium')\n","/** Guide-entry icons for the right-pane additions (git, browser, agent browser). */\nimport type { ComponentType } from 'react'\nimport type { IconProps } from '@deepseek-ai/dsh-client-ui-primitives'\n\n/** Browser glyph: a globe with meridians (matches the primitives' outline style). */\nexport const IconGlobeOutline16: ComponentType<IconProps> = ({ size = 16, className }: IconProps) => (\n <svg width={size} height={size} className={className} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <ellipse cx=\"8\" cy=\"8\" rx=\"2.8\" ry=\"6.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M1.5 8h13M8 1.5c-2.4 1.8-2.4 11.2 0 13M8 1.5c2.4 1.8 2.4 11.2 0 13\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n)\n\n/** Agent-browser glyph: a monitor with a playing cursor, mirroring the live\n * screencast surface (matches the outline style). */\nexport const IconAgentBrowser16: ComponentType<IconProps> = ({ size = 16, className }: IconProps) => (\n <svg width={size} height={size} className={className} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"1.5\" y=\"2.5\" width=\"13\" height=\"9.5\" rx=\"1.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M5.5 15h5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <path d=\"M8 12v3\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n <path d=\"M6 6.2 10 8l-4 1.8z\" fill=\"currentColor\" stroke=\"currentColor\" strokeWidth=\"1\" strokeLinejoin=\"round\" />\n </svg>\n)","/** Public, secret-free control-plane contracts for the Agent Browser panel. */\nimport type { PlaywrightConnectionMode } from './contracts.ts'\n\nexport const PLAYWRIGHT_CONTROL_API_PREFIX = '/api/playwright-sessions'\n\nexport type PlaywrightConnectionState = 'unavailable' | 'disconnected' | 'connecting' | 'connected' | 'error'\n\nexport interface PlaywrightConnectionStatus {\n mode: PlaywrightConnectionMode\n state: PlaywrightConnectionState\n ownedByThisSession: boolean\n busy: boolean\n liveView: boolean\n errorCode?: string\n errorMessage?: string\n}\n\nexport type PlaywrightControlErrorCode =\n | 'bad-request'\n | 'forbidden'\n | 'not-found'\n | 'busy'\n | 'wrong-mode'\n | 'not-owner'\n | 'connect-failed'\n | 'internal'\n\nexport class PlaywrightControlError extends Error {\n constructor(readonly code: PlaywrightControlErrorCode, message: string) {\n super(message)\n this.name = 'PlaywrightControlError'\n }\n}\n","import { useCallback, useEffect, useState } from 'react'\nimport type { PlaywrightConnectionStatus } from '../../core/playwright-sessions/control.ts'\nimport { PLAYWRIGHT_CONTROL_API_PREFIX } from '../../core/playwright-sessions/control.ts'\nimport css from './sidebar.module.css'\n\nconst EXTENSION_URL = 'https://chromewebstore.google.com/detail/playwright-extension/mmlmfjhmonkocbjadbfplnigmagldckm'\n\ntype T = (key: import('./right-pane-i18n.ts').RightPaneLocaleKey) => string\ninterface Envelope<TValue> { ok: boolean; value?: TValue; error?: { code?: string; message?: string } }\n\n/** One control-plane failure carrying the HTTP status, so a refused request\n * (the host access fence answering 403) reads differently from a connection\n * error inside an accepted request. */\nclass ControlError extends Error {\n constructor(message: string, readonly status: number) { super(message); this.name = 'ControlError' }\n}\n\nasync function control(path: string, sessionId: string, signal?: AbortSignal): Promise<PlaywrightConnectionStatus> {\n const response = path === 'status'\n ? await fetch(`${PLAYWRIGHT_CONTROL_API_PREFIX}/status?sessionId=${encodeURIComponent(sessionId)}`, { cache: 'no-store', credentials: 'same-origin', signal })\n : await fetch(`${PLAYWRIGHT_CONTROL_API_PREFIX}/${path}`, {\n method: 'POST',\n credentials: 'same-origin',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify({ sessionId }),\n signal,\n })\n const envelope = await response.json().catch(() => null) as Envelope<PlaywrightConnectionStatus> | null\n if (!response.ok || envelope === null || !envelope.ok || envelope.value === undefined) {\n throw new ControlError(envelope?.error?.message ?? `${response.status} ${response.statusText}`, response.status)\n }\n return envelope.value\n}\n\nexport function AgentBrowserPanel({ sessionId, visible = true, signal, t }: { sessionId?: string; visible?: boolean; signal?: AbortSignal; t: T }) {\n const [status, setStatus] = useState<PlaywrightConnectionStatus>()\n const [working, setWorking] = useState(false)\n const [error, setError] = useState('')\n const [errorStatus, setErrorStatus] = useState<number>()\n\n const refresh = useCallback(async (controller?: AbortController) => {\n if (!sessionId) { setStatus(undefined); return }\n try {\n const next = await control('status', sessionId, controller?.signal ?? signal)\n setStatus(next)\n setError('')\n setErrorStatus(undefined)\n } catch (cause) {\n if ((cause as { name?: unknown })?.name === 'AbortError') return\n setError(cause instanceof Error ? cause.message : String(cause))\n setErrorStatus(cause instanceof ControlError ? cause.status : undefined)\n }\n }, [sessionId, signal])\n\n useEffect(() => {\n if (!visible || !sessionId) return\n const abort = new AbortController()\n void refresh(abort)\n const timer = setInterval(() => { void refresh(abort) }, status?.state === 'connecting' ? 1_000 : 5_000)\n const stop = () => abort.abort()\n signal?.addEventListener('abort', stop, { once: true })\n return () => { clearInterval(timer); abort.abort(); signal?.removeEventListener('abort', stop) }\n }, [refresh, sessionId, signal, status?.state, visible])\n\n const act = async (path: 'connect' | 'disconnect') => {\n if (!sessionId || working) return\n setWorking(true); setError(''); setErrorStatus(undefined)\n if (path === 'connect') setStatus(current => current ? { ...current, state: 'connecting' } : current)\n try { setStatus(await control(path, sessionId, signal)) }\n catch (cause) {\n setError(cause instanceof Error ? cause.message : String(cause))\n setErrorStatus(cause instanceof ControlError ? cause.status : undefined)\n await refresh()\n }\n finally { setWorking(false) }\n }\n\n const unavailable = status?.mode !== 'extension'\n const connected = status?.ownedByThisSession && status.state === 'connected'\n /** A refused control-plane call (403 from the host access fence) is an\n * admission problem, not the isolated-browser default. */\n const denied = errorStatus === 403\n const message = !sessionId ? t('agentBrowser.noSession')\n : error !== '' ? (denied ? t('agentBrowser.denied') : t('agentBrowser.error'))\n : status?.busy ? t('agentBrowser.busy')\n : unavailable ? t('agentBrowser.notEnabled')\n : status?.state === 'connecting' ? t('agentBrowser.connecting')\n : connected ? t('agentBrowser.live')\n : t('agentBrowser.closed')\n const failure = error === '' ? status?.errorMessage : denied ? t('agentBrowser.denied') : error\n\n return <div className={css.agentBrowser} data-dsh-plugin=\"better-sidebar\" data-dsh-part=\"agent-browser\">\n <header className={css.agentBrowserHeader}>\n <div>\n <strong>{t('agentBrowser.title')}</strong>\n <p>{t('agentBrowser.description')}</p>\n </div>\n <span className={css.agentBrowserState} data-state={error !== '' ? 'error' : connected ? 'connected' : status?.state ?? 'disconnected'}>{message}</span>\n </header>\n <div className={css.agentBrowserBody}>\n <div className={css.agentBrowserGraphic} aria-hidden=\"true\"><span/><span/><span/></div>\n <p>{t('agentBrowser.hint')}</p>\n {!connected && !unavailable && <p>{t('agentBrowser.installHint')} <a href={EXTENSION_URL} target=\"_blank\" rel=\"noreferrer\">{t('agentBrowser.install')}</a></p>}\n <p className={css.agentBrowserSecurity}>{t('agentBrowser.security')}</p>\n {failure !== undefined && failure !== '' && <div className={css.agentBrowserError} role=\"alert\">{failure}</div>}\n </div>\n <footer className={css.agentBrowserActions}>\n <button type=\"button\" onClick={() => void refresh()} disabled={!sessionId || working}>{t('agentBrowser.refresh')}</button>\n {connected\n ? <button type=\"button\" className={css.agentBrowserPrimary} onClick={() => void act('disconnect')} disabled={working}>{t('agentBrowser.disconnect')}</button>\n : <button type=\"button\" className={css.agentBrowserPrimary} onClick={() => void act('connect')} disabled={!sessionId || unavailable || status?.busy || working}>{t('agentBrowser.connect')}</button>}\n </footer>\n </div>\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * Copy for the web-all right-pane pages (Git management, sandboxed browser\n * and their shared diff surface). zh is the key source; en mirrors every key.\n */\nexport const RIGHT_PANE_LOCALE = 'web-all-right-pane' as const\n\nexport const rightPaneZh = {\n // Page guide entries.\n 'git.title': 'Git 管理',\n 'git.description': '查看工作区更改、差异与提交历史',\n 'browser.title': '浏览器',\n 'browser.description': '在安全沙箱中浏览外部网站',\n 'workspaceRequired': '请选择已注册工作区的会话。',\n 'git.back': '返回 Git 管理',\n // Git header.\n 'git.refresh': '刷新',\n 'git.createBranch': '新建分支',\n 'git.branchName': '分支名称',\n 'git.branchPlaceholder': '输入分支名称',\n // Git sections.\n 'git.staged': '已暂存的更改',\n 'git.stagedEmpty': '没有已暂存的更改',\n 'git.changes': '更改',\n 'git.changesEmpty': '没有更改',\n 'git.stageAll': '全部暂存',\n 'git.unstageAll': '全部取消暂存',\n 'git.stage': '暂存',\n 'git.unstage': '取消暂存',\n 'git.discard': '丢弃更改',\n 'git.openEditor': '在编辑器中打开',\n 'git.viewDiff': '查看差异',\n 'git.copyRelative': '复制相对路径',\n 'git.copyAbsolute': '复制绝对路径',\n 'git.copyShortHash': '复制短哈希',\n 'git.copyFullHash': '复制完整哈希',\n 'git.copySubject': '复制提交主题',\n 'git.revert': '还原提交',\n 'git.cherryPick': '挑拣提交',\n 'git.commit': '提交',\n 'git.commitPlaceholder': '提交信息(Ctrl+Enter 提交)',\n 'git.closeDiff': '关闭差异视图',\n 'git.commitHint': '先把要提交的更改暂存起来。',\n 'git.history': '历史记录',\n 'git.loadMore': '加载更多',\n 'git.loading': '正在加载…',\n 'git.notRepo': '当前会话没有 Git 仓库。',\n 'git.notRepoHint': '在工作区终端中运行 git init 或 git clone 后刷新。',\n 'git.conflictBanner': '存在合并冲突,请先解决再继续。',\n 'git.opBanner': '有 Git 操作正在进行中。',\n // Git dialogs.\n 'git.createBranchTitle': '新建分支',\n 'git.cancel': '取消',\n 'git.confirm': '确认',\n 'git.close': '关闭',\n 'git.discardTitle': '丢弃更改',\n 'git.discardDesc': '确定丢弃「{path}」的所有更改?此操作无法撤销。',\n 'git.revertTitle': '还原提交',\n 'git.revertDesc': '用一个新的提交来还原「{subject}」?',\n 'git.cherryPickTitle': '挑拣提交',\n 'git.cherryPickDesc': '把「{subject}」挑拣到当前分支?',\n // Git operation errors (mirror the git-graph GitError codes).\n 'git.error.conflictsPresent': '存在合并冲突,先解决冲突再修改 Git 历史。',\n 'git.error.operationInProgress': '请先完成或中止当前的 Git 操作。',\n 'git.error.dirtyWorktree': '请先提交、暂存或丢弃工作区更改。',\n 'git.error.applyConflict': 'Git 因提交与当前分支冲突而停止,请在终端中解决或中止。',\n 'git.error.nothingToApply': '该提交在这里没有可应用的更改。',\n 'git.error.commitNotFound': '所选提交已不存在。',\n 'git.error.fileNotTracked': '只能丢弃已跟踪的文件。',\n 'git.error.invalidFilePath': '所选文件路径对该仓库不安全。',\n 'git.error.workspaceUnknown': '该会话未关联已注册的工作区。',\n 'git.error.internal': 'Git 操作失败:{message}',\n 'git.error.unknown': '未知错误',\n // Diff surface labels.\n 'git.diff.worktree': '工作区更改',\n 'git.diff.staged': '已暂存更改',\n 'git.diff.commit': '提交',\n 'git.diff.binary': '二进制文件',\n 'git.diff.added': '新增',\n 'git.diff.deleted': '删除',\n 'git.diff.renamed': '重命名',\n 'git.diff.expand': '展开 {count} 行',\n 'git.diff.collapse': '收起',\n 'git.diff.fileCount': '{count} 个文件',\n 'git.diff.noDiff': '没有可显示的差异。',\n // Relative history time.\n 'git.ago.now': '刚刚',\n 'git.ago.minutes': '{n} 分钟前',\n 'git.ago.hours': '{n} 小时前',\n 'git.ago.days': '{n} 天前',\n 'git.ago.months': '{n} 个月前',\n 'git.ago.years': '{n} 年前',\n // Browser.\n 'browser.placeholder': '输入网址,例如 example.com',\n 'browser.invalid': '请输入有效的 HTTP(S) 网址。',\n 'browser.blockedScheme': '仅支持 HTTP(S) 协议。',\n 'browser.blockedLoopback': '已阻止回环地址与 DSH 自身地址。',\n 'browser.navBlocked': '导航被阻止:{reason}',\n 'browser.embedBlocked': '「{host}」拒绝在嵌入视图中显示',\n 'browser.embedBlockedDesc': '该网站通过 X-Frame-Options 或 frame-ancestors 禁用了嵌入,直接加载只会显示空白页。',\n 'browser.embedAnyway': '仍然加载',\n 'browser.openExternal': '在浏览器中打开',\n 'browser.start': '在安全的沙箱中浏览任意 HTTP(S) 网站。',\n 'browser.sandboxOn': '沙箱已开启:页面无法碰触本机数据',\n 'browser.sandboxOff': '沙箱已关闭:页面以完整权限运行',\n 'browser.sandboxUnlock': '临时解锁',\n 'browser.sandboxRestore': '恢复沙箱',\n 'browser.loading': '正在加载…',\n 'browser.recent': '最近访问',\n 'agentBrowser.title': 'Agent 浏览器',\n 'agentBrowser.description': '连接并管理当前会话的 Playwright 浏览器',\n 'agentBrowser.live': '本机 Chrome 已连接',\n 'agentBrowser.notEnabled': '当前使用独立浏览器模式;本机 Chrome 连接未启用。',\n 'agentBrowser.connecting': '正在等待 Chrome 扩展确认与标签页选择…',\n 'agentBrowser.noPage': '浏览器尚未打开页面',\n 'agentBrowser.closed': '尚未连接本机 Chrome',\n 'agentBrowser.error': '浏览器连接失败',\n 'agentBrowser.hint': '只会操作你在 Playwright 扩展中授权给本会话的标签页。',\n 'agentBrowser.connect': '连接本机 Chrome',\n 'agentBrowser.disconnect': '断开连接',\n 'agentBrowser.refresh': '刷新状态',\n 'agentBrowser.busy': '本机 Chrome 正被另一个会话使用。请先在那个会话中断开。',\n 'agentBrowser.noSession': '请选择一个会话后再连接浏览器。',\n 'agentBrowser.install': '安装 Playwright Extension',\n 'agentBrowser.installHint': '连接前,请先在 Chrome 或 Edge 中安装官方 Playwright Extension。',\n 'agentBrowser.security': '写操作会经过 DSH 的一次性审批;任意代码工具默认不向本机 Chrome 开放。',\n 'agentBrowser.denied': '无法连接本机 Chrome:请确认已通过宿主机部署的规范地址登录,再重试。',\n} as const\n\nexport type RightPaneLocaleKey = keyof typeof rightPaneZh\n\nexport const rightPaneEn: Record<RightPaneLocaleKey, string> = {\n 'git.title': 'Source Control',\n 'git.description': 'Inspect workspace changes, diffs and commit history',\n 'browser.title': 'Browser',\n 'browser.description': 'Browse an external site in a secure sandbox',\n 'workspaceRequired': 'Select a conversation with a registered workspace.',\n 'git.back': 'Back to source control',\n 'git.refresh': 'Refresh',\n 'git.createBranch': 'Create branch',\n 'git.branchName': 'Branch name',\n 'git.branchPlaceholder': 'Enter a branch name',\n 'git.staged': 'Staged Changes',\n 'git.stagedEmpty': 'No staged changes',\n 'git.changes': 'Changes',\n 'git.changesEmpty': 'No changes',\n 'git.stageAll': 'Stage all',\n 'git.unstageAll': 'Unstage all',\n 'git.stage': 'Stage',\n 'git.unstage': 'Unstage',\n 'git.discard': 'Discard changes',\n 'git.openEditor': 'Open in editor',\n 'git.viewDiff': 'View diff',\n 'git.copyRelative': 'Copy relative path',\n 'git.copyAbsolute': 'Copy absolute path',\n 'git.copyShortHash': 'Copy short hash',\n 'git.copyFullHash': 'Copy full hash',\n 'git.copySubject': 'Copy commit subject',\n 'git.revert': 'Revert commit',\n 'git.cherryPick': 'Cherry-pick commit',\n 'git.commit': 'Commit',\n 'git.commitPlaceholder': 'Commit message (Ctrl+Enter to commit)',\n 'git.closeDiff': 'Close diff view',\n 'git.commitHint': 'Stage the changes you want to commit first.',\n 'git.history': 'History',\n 'git.loadMore': 'Load more',\n 'git.loading': 'Loading…',\n 'git.notRepo': 'This session has no Git repository.',\n 'git.notRepoHint': 'Run git init or git clone in the workspace terminal, then refresh.',\n 'git.conflictBanner': 'Merge conflicts exist; resolve them first.',\n 'git.opBanner': 'A Git operation is in progress.',\n 'git.createBranchTitle': 'Create branch',\n 'git.cancel': 'Cancel',\n 'git.confirm': 'Confirm',\n 'git.close': 'Close',\n 'git.discardTitle': 'Discard changes',\n 'git.discardDesc': 'Discard all changes to \"{path}\"? This cannot be undone.',\n 'git.revertTitle': 'Revert commit',\n 'git.revertDesc': 'Revert \"{subject}\" with a new commit?',\n 'git.cherryPickTitle': 'Cherry-pick commit',\n 'git.cherryPickDesc': 'Cherry-pick \"{subject}\" onto the current branch?',\n 'git.error.conflictsPresent': 'Resolve existing conflicts before changing Git history.',\n 'git.error.operationInProgress': 'Finish or abort the current Git operation first.',\n 'git.error.dirtyWorktree': 'Commit, stash, or discard working changes before this operation.',\n 'git.error.applyConflict': 'Git stopped because the commit conflicts with this branch. Resolve or abort it in a terminal.',\n 'git.error.nothingToApply': 'This commit has no changes to apply here.',\n 'git.error.commitNotFound': 'The selected commit no longer exists.',\n 'git.error.fileNotTracked': 'Only tracked files can be discarded.',\n 'git.error.invalidFilePath': 'The selected file path is not safe for this repository.',\n 'git.error.workspaceUnknown': 'This session is not attached to a registered workspace.',\n 'git.error.internal': 'Git operation failed: {message}',\n 'git.error.unknown': 'unknown error',\n 'git.diff.worktree': 'Working tree',\n 'git.diff.staged': 'Staged changes',\n 'git.diff.commit': 'Commit',\n 'git.diff.binary': 'Binary file',\n 'git.diff.added': 'Added',\n 'git.diff.deleted': 'Deleted',\n 'git.diff.renamed': 'Renamed',\n 'git.diff.expand': 'Expand {count} lines',\n 'git.diff.collapse': 'Collapse',\n 'git.diff.fileCount': '{count} files',\n 'git.diff.noDiff': 'No diff to display.',\n 'git.ago.now': 'now',\n 'git.ago.minutes': '{n}m ago',\n 'git.ago.hours': '{n}h ago',\n 'git.ago.days': '{n}d ago',\n 'git.ago.months': '{n}mo ago',\n 'git.ago.years': '{n}y ago',\n 'browser.placeholder': 'Enter a URL, e.g. example.com',\n 'browser.invalid': 'Enter a valid HTTP(S) URL.',\n 'browser.blockedScheme': 'Only HTTP(S) URLs are supported.',\n 'browser.blockedLoopback': 'Loopback and the DSH origin are blocked.',\n 'browser.navBlocked': 'Navigation blocked: {reason}',\n 'browser.embedBlocked': '\"{host}\" refuses to be embedded',\n 'browser.embedBlockedDesc': 'This site forbids embedding via X-Frame-Options or frame-ancestors; loading it directly shows a blank page.',\n 'browser.embedAnyway': 'Load anyway',\n 'browser.openExternal': 'Open in browser',\n 'browser.start': 'Browse any HTTP(S) site inside a secure sandbox.',\n 'browser.sandboxOn': 'Sandbox on: the page cannot touch local data',\n 'browser.sandboxOff': 'Sandbox off: the page runs with full privileges',\n 'browser.sandboxUnlock': 'Temporarily unlock',\n 'browser.sandboxRestore': 'Restore sandbox',\n 'browser.loading': 'Loading…',\n 'browser.recent': 'Recent',\n 'agentBrowser.title': 'Agent Browser',\n 'agentBrowser.description': 'Connect and manage this session\\'s Playwright browser',\n 'agentBrowser.live': 'Local Chrome connected',\n 'agentBrowser.notEnabled': 'The isolated browser mode is active; local Chrome attachment is not enabled.',\n 'agentBrowser.connecting': 'Waiting for Chrome extension approval and tab selection…',\n 'agentBrowser.noPage': 'The browser has no page yet',\n 'agentBrowser.closed': 'Local Chrome is not connected',\n 'agentBrowser.error': 'Browser connection failed',\n 'agentBrowser.hint': 'Only tabs assigned to this session in the Playwright extension can be operated.',\n 'agentBrowser.connect': 'Connect local Chrome',\n 'agentBrowser.disconnect': 'Disconnect',\n 'agentBrowser.refresh': 'Refresh status',\n 'agentBrowser.busy': 'Local Chrome is already controlled by another session. Disconnect it there first.',\n 'agentBrowser.noSession': 'Select a conversation before connecting a browser.',\n 'agentBrowser.install': 'Install Playwright Extension',\n 'agentBrowser.installHint': 'Install the official Playwright Extension in Chrome or Edge before connecting.',\n 'agentBrowser.security': 'Mutations pass through one-shot DSH approval; arbitrary-code tools are hidden from local Chrome by default.',\n 'agentBrowser.denied': 'Cannot attach to the host\\'s local Chrome: sign in through the host\\'s canonical deployment address and retry.',\n}\n","/** VSCode-style unified-diff surface for the Git management page: per-file\n * sections with hunks, old/new line-number gutters, added/deleted/renamed/\n * binary tags, source files expanded by default, and a hard row cap so a\n * huge patch never freezes the sidebar. The parser is a pure function so the\n * interesting cases are unit-tested without a DOM. */\nimport { useEffect, useMemo, useState } from 'react'\nimport clsx from 'clsx'\nimport { rightPaneEn, type RightPaneLocaleKey } from './right-pane-i18n.ts'\nimport css from './sidebar.module.css'\n\n/** One rendered diff line. */\nexport interface DiffLine {\n kind: 'ctx' | 'del' | 'add' | 'meta'\n /** The line content without its diff marker ('' for the no-newline marker). */\n text: string\n /** Old-side line number (null for pure additions / metadata). */\n oldNum: number | null\n /** New-side line number (null for pure deletions / metadata). */\n newNum: number | null\n}\n\n/** One parsed hunk. */\nexport interface DiffHunk {\n /** The old-side start line (`-a[,b]`). */\n oldStart: number\n /** The new-side start line (`+c[,d]`). */\n newStart: number\n /** The section text after the trailing `@@` (may be empty). */\n header: string\n lines: DiffLine[]\n}\n\n/** One parsed file section of a unified diff. */\nexport interface DiffFile {\n /** The `---` path verbatim ('/dev/null' for a new file). */\n oldPath: string\n /** The `+++` path verbatim ('/dev/null' for a deleted file). */\n newPath: string\n /** The file changed with binary content: no hunks to draw. */\n binary: boolean\n hunks: DiffHunk[]\n}\n\n/** The parsed unified diff. */\nexport interface ParsedDiff {\n files: DiffFile[]\n}\n\n/** Parse the hunk header `@@ -a[,b] +c[,d] @@ section` (section may contain '@@'). */\nfunction parseHunkHeader(line: string): { oldStart: number; newStart: number; header: string } | null {\n const match = /^@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@(.*)$/u.exec(line)\n if (match === null) return null\n return { oldStart: Number(match[1]), newStart: Number(match[3]), header: match[5] ?? '' }\n}\n\n/** Parse `git diff --no-color` output into file sections and hunks. Rows\n * outside a file section (leading noise) and metadata rows between the\n * `diff --git`/`---`/`+++` headers and the first hunk (index lines, mode\n * changes, rename/similarity lines) are skipped; a section that never\n * reaches a hunk (a mode/rename-only change) stays hunkless so the caller\n * can still draw its path. */\nexport function parseUnifiedDiff(text: string): ParsedDiff {\n const files: DiffFile[] = []\n let current: DiffFile | null = null\n let inHunk = false\n let hunk: DiffHunk | null = null\n let oldNum = 0\n let newNum = 0\n const flushHunk = (): void => {\n if (current !== null && hunk !== null) current.hunks.push(hunk)\n hunk = null\n inHunk = false\n }\n for (const raw of text.split('\\n')) {\n if (raw.startsWith('diff --git ')) {\n flushHunk()\n current = { oldPath: '', newPath: '', binary: false, hunks: [] }\n files.push(current)\n continue\n }\n if (current === null) continue\n if (raw.startsWith('Binary files ') || raw === 'GIT binary patch') {\n flushHunk()\n current.binary = true\n continue\n }\n if (raw.startsWith('--- ')) {\n flushHunk()\n current.oldPath = raw.slice(4)\n continue\n }\n if (raw.startsWith('+++ ')) {\n current.newPath = raw.slice(4)\n continue\n }\n const header = parseHunkHeader(raw)\n if (header !== null) {\n flushHunk()\n hunk = { oldStart: header.oldStart, newStart: header.newStart, header: header.header, lines: [] }\n oldNum = header.oldStart\n newNum = header.newStart\n inHunk = true\n continue\n }\n if (!inHunk || hunk === null) continue\n const marker = raw[0]\n if (marker === '\\\\') {\n // `\`: metadata attached to the previous row.\n hunk.lines.push({ kind: 'meta', text: raw.slice(1), oldNum: null, newNum: null })\n continue\n }\n if (marker === ' ') {\n hunk.lines.push({ kind: 'ctx', text: raw.slice(1), oldNum, newNum })\n oldNum += 1\n newNum += 1\n } else if (marker === '-') {\n hunk.lines.push({ kind: 'del', text: raw.slice(1), oldNum, newNum: null })\n oldNum += 1\n } else if (marker === '+') {\n hunk.lines.push({ kind: 'add', text: raw.slice(1), oldNum: null, newNum })\n newNum += 1\n } else {\n // Not a diff line (a hunk can never contain one): stop the hunk.\n flushHunk()\n }\n }\n flushHunk()\n return { files }\n}\n\n/** Strip the `a/` / `b/` prefix git puts on diff paths (not on /dev/null). */\nfunction displayPath(path: string): string {\n if (path === '/dev/null') return path\n if (path.startsWith('a/') || path.startsWith('b/')) return path.slice(2)\n return path\n}\n\n/** The file header badge: added / deleted / renamed / binary ('' for a plain edit). */\nfunction fileTag(file: DiffFile, s: (key: RightPaneLocaleKey) => string): string | null {\n if (file.binary) return s('git.diff.binary')\n if (file.oldPath === '/dev/null') return s('git.diff.added')\n if (file.newPath === '/dev/null') return s('git.diff.deleted')\n const oldPath = displayPath(file.oldPath)\n const newPath = displayPath(file.newPath)\n if (oldPath !== newPath) return s('git.diff.renamed')\n return null\n}\n\n/** Cap the flattened rows like DiffBlock: head + tail, expand button between. */\nconst MAX_DIFF_ROWS = 500\n\nconst TEST_PATH = /(^|\\/)(?:__tests__|tests?|specs?|fixtures?|mocks?|snapshots?)(?:\\/|$)|\\.(?:test|spec)\\.[^/]+$/iu\nconst DOC_PATH = /(^|\\/)(?:docs?|documentation)(?:\\/|$)|(^|\\/)(?:readme|changelog|contributing|license|authors|notice)(?:\\.[^/]*)?$/iu\nconst GENERATED_PATH = /(^|\\/)(?:dist|build|coverage|generated|vendor|node_modules)(?:\\/|$)|(^|\\/)(?:package-lock\\.json|pnpm-lock\\.yaml|yarn\\.lock|bun\\.lockb?|composer\\.lock|cargo\\.lock|poetry\\.lock)$/iu\nconst SOURCE_PATH = /\\.(?:js|jsx|mjs|cjs|ts|tsx|mts|cts|py|pyw|rb|php|java|kt|kts|scala|go|rs|swift|c|h|cc|cpp|cxx|hpp|hh|hxx|cs|fs|fsx|vb|dart|lua|r|ex|exs|erl|hrl|clj|cljs|cljc|groovy|sh|bash|zsh|fish|ps1|sql|vue|svelte|astro|html|htm|css|scss|sass|less)$/iu\n\n/** Source files open by default; tests, docs, generated files and unknown types stay folded. */\nfunction defaultExpandedFiles(files: DiffFile[]): Set<number> {\n const expanded = new Set<number>()\n files.forEach((file, index) => {\n const path = displayPath(file.newPath === '/dev/null' ? file.oldPath : file.newPath)\n if (!file.binary && file.hunks.length > 0\n && !TEST_PATH.test(path) && !DOC_PATH.test(path) && !GENERATED_PATH.test(path)\n && SOURCE_PATH.test(path)) {\n expanded.add(index)\n }\n })\n return expanded\n}\n\n/** The current DiffView renders plain unified text; untracked files can be\n * drawn as a full-file addition by passing their content here. */\nexport function untrackedFile(path: string, content: string): DiffFile {\n const lines: DiffLine[] = []\n const body = content.endsWith('\\n') ? content.slice(0, -1) : content\n if (body !== '') {\n let num = 1\n for (const line of body.split('\\n')) {\n lines.push({ kind: 'add', text: line, oldNum: null, newNum: num })\n num += 1\n }\n }\n return { oldPath: '/dev/null', newPath: `b/${path}`, binary: false, hunks: [{ oldStart: 0, newStart: 1, header: '', lines }] }\n}\n\nexport interface DiffViewProps {\n /** Unified diff text (`git.diff` or `git.commit-diff` payloads). */\n text: string\n /** The diff's own title (working tree / staged / commit label). */\n title?: string\n /** Optional locale helper; falls back to the en dictionary. */\n t?: (key: RightPaneLocaleKey, params?: Record<string, string | number>) => string\n /** Untracked-file content: when present, renders as a full-file addition instead of parsing. */\n untrackedPath?: string\n untrackedContent?: string\n}\n\nexport function DiffView({ text, title = '', t, untrackedPath, untrackedContent }: DiffViewProps) {\n const s = (key: RightPaneLocaleKey, params?: Record<string, string | number>): string => {\n const value = t?.(key, params) ?? rightPaneEn[key] ?? key\n if (params === undefined) return value\n return value.replace(/\\{([a-zA-Z0-9_]+)\\}/gu, (_match, name: string) => String(params[name] ?? ''))\n }\n const parsed = useMemo<ParsedDiff>(() => {\n if (untrackedPath !== undefined) return { files: [untrackedFile(untrackedPath, untrackedContent ?? '')] }\n return parseUnifiedDiff(text)\n }, [text, untrackedPath, untrackedContent])\n const [expanded, setExpanded] = useState(false)\n const [expandedFiles, setExpandedFiles] = useState<Set<number>>(() => defaultExpandedFiles(parsed.files))\n\n useEffect(() => { setExpandedFiles(defaultExpandedFiles(parsed.files)) }, [parsed])\n\n // Flatten into display rows so the cap can slice a single list.\n const rows = useMemo(() => {\n const out: Array<{ key: string; file: DiffFile; fileIndex: number; type: 'path' | 'hunk' | 'line'; hunk?: DiffHunk; line?: DiffLine }> = []\n parsed.files.forEach((file, fileIndex) => {\n out.push({ key: `f${fileIndex}`, file, fileIndex, type: 'path' })\n if (file.binary || !expandedFiles.has(fileIndex)) return\n file.hunks.forEach((hunk, hunkIndex) => {\n out.push({ key: `f${fileIndex}h${hunkIndex}`, file, fileIndex, type: 'hunk', hunk })\n hunk.lines.forEach((line, lineIndex) => {\n out.push({ key: `f${fileIndex}h${hunkIndex}l${lineIndex}`, file, fileIndex, type: 'line', hunk, line })\n })\n })\n })\n return out\n }, [parsed, expandedFiles])\n\n const hidden = rows.length - MAX_DIFF_ROWS\n const capped = hidden > 0 && !expanded\n const headLines = Math.ceil(MAX_DIFF_ROWS / 2)\n const tailLines = MAX_DIFF_ROWS - headLines\n const head = capped ? rows.slice(0, headLines) : rows\n const tail = capped ? rows.slice(rows.length - tailLines) : []\n\n if (rows.length === 0) {\n return <section className={css.diffView} data-dsh-plugin=\"web-all\" data-dsh-part=\"diff\"><div className={css.emptyState}>{s('git.diff.noDiff')}</div></section>\n }\n\n const renderRow = (row: (typeof rows)[number]): React.ReactNode => {\n if (row.type === 'path') {\n const tag = fileTag(row.file, s)\n const from = displayPath(row.file.oldPath)\n const to = displayPath(row.file.newPath)\n const expandable = !row.file.binary && row.file.hunks.length > 0\n const fileExpanded = expandedFiles.has(row.fileIndex)\n return (\n <button\n key={row.key}\n type=\"button\"\n className={css.gitDiffFile}\n disabled={!expandable}\n aria-expanded={expandable ? fileExpanded : undefined}\n onClick={() => {\n setExpandedFiles(current => {\n const next = new Set(current)\n if (next.has(row.fileIndex)) next.delete(row.fileIndex)\n else next.add(row.fileIndex)\n return next\n })\n }}\n >\n {expandable && <span aria-hidden=\"true\" className={clsx(css.gitDiffFileChevron, fileExpanded && css.gitDiffFileChevronExpanded)}>›</span>}\n <span className={css.gitDiffFilePath}>{to}</span>\n {from !== to && <span className={css.gitDiffFileOld}>← {from}</span>}\n {tag !== null && <span className={css.gitDiffFileTag}>{tag}</span>}\n </button>\n )\n }\n if (row.type === 'hunk') {\n const hunk = row.hunk!\n return (\n <div key={row.key} className={css.gitDiffHunk}>\n <span className={css.gitDiffHunkHeader}>@@ -{hunk.oldStart},{hunk.lines.filter(l => l.oldNum !== null).length} +{hunk.newStart},{hunk.lines.filter(l => l.newNum !== null).length} @@</span>\n {hunk.header !== '' && <span className={css.gitDiffHunkSection}>{hunk.header}</span>}\n </div>\n )\n }\n const line = row.line!\n const lineClass = line.kind === 'del' ? css.gitDiffDel : line.kind === 'add' ? css.gitDiffAdd : line.kind === 'meta' ? css.gitDiffMeta : css.gitDiffCtx\n return (\n <div key={row.key} className={clsx(css.gitDiffLine, lineClass)}>\n {line.kind === 'meta'\n ? <span className={css.gitDiffMetaText}>{line.text}</span>\n : (\n <>\n <span className={css.gitDiffNum}>{line.oldNum ?? ''}</span>\n <span className={css.gitDiffNum}>{line.newNum ?? ''}</span>\n <span className={css.gitDiffCode}>{line.text}</span>\n </>\n )}\n </div>\n )\n }\n\n const countLabel = s('git.diff.fileCount', { count: parsed.files.length })\n return (\n <section className={css.diffView} data-dsh-plugin=\"web-all\" data-dsh-part=\"diff\">\n <header className={css.workbenchHeader}>\n <strong>{title !== '' ? title : s('git.diff.worktree')}</strong>\n <small>{countLabel}</small>\n </header>\n <div className={css.gitDiff}>\n {head.map(renderRow)}\n {hidden > 0 && (\n <button type=\"button\" className={css.gitDiffExpand} aria-expanded={expanded} onClick={() => { setExpanded(value => !value) }}>\n {expanded ? s('git.diff.collapse') : s('git.diff.expand', { count: hidden })}\n </button>\n )}\n {tail.map(renderRow)}\n </div>\n </section>\n )\n}\n","/** The source-control panel: staged vs unstaged sections with per-file\n * stage/unstage and discard actions, a branch switcher with create-branch,\n * a commit box (Ctrl/Cmd+Enter, gated on staged changes), and a\n * VSCode-like history — rows carry ref badges, author and relative time.\n * Right-click a file or history row for the advanced operations menu\n * (open in editor, discard, revert, cherry-pick, copy paths/hashes);\n * destructive actions land in a confirm modal first. Refresh is manual +\n * on mount + SSE/poll (KISS, no file watcher). */\nimport { useCallback, useEffect, useRef, useState, type MouseEvent, type ReactNode } from 'react'\nimport { IconBranchOutline16, IconCloseOutline16, IconCodeOutline16, IconCopyOutline16, IconPlusOutline16, IconRefreshOutline16, IconTrashOutline16 } from '../ui-icons.ts'\nimport { Button, Input, Menu, Modal, writeClipboard } from '@deepseek-ai/dsh-client-ui-primitives'\nimport type { GitStatusEntry } from '../../core/right-pane/protocol.ts'\nimport type {\n BranchesView, CommitDiffView, GitEnvelope, GitError, GitMutationResult, GraphCommit, GraphView, RepoStatus,\n} from '../../core/git-graph/protocol.ts'\nimport { DiffView } from './diff-view.tsx'\nimport { rightPaneEn, type RightPaneLocaleKey } from './right-pane-i18n.ts'\nimport css from './sidebar.module.css'\n\nexport interface GitScope { sessionId?: string; cwd?: string }\nexport type GitT = (key: RightPaneLocaleKey, params?: Record<string, string | number>) => string\n\n/** Resolve one copy key with interpolation, falling back to the en dictionary. */\nfunction dict(t: GitT | undefined, key: RightPaneLocaleKey, params?: Record<string, string | number>): string {\n const text = t?.(key, params) ?? rightPaneEn[key] ?? key\n if (params === undefined) return text\n return text.replace(/\\{([a-zA-Z0-9_]+)\\}/gu, (_match, name: string) => String(params[name] ?? ''))\n}\n\n/** One /git/* call. A denied request (403 from the host access fence) or any\n * pre-flight failure answers without the envelope, so the HTTP status becomes\n * the message instead of an empty string. */\nasync function git<T>(route: string, body: Record<string, unknown>): Promise<T> {\n const response = await fetch(`/git/${route}`, {\n method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body),\n })\n const envelope = await response.json().catch(() => null) as GitEnvelope<T> | null\n const ok = (envelope as { ok?: unknown } | null)?.ok\n if (envelope === null || typeof envelope !== 'object' || Array.isArray(envelope) || typeof ok !== 'boolean') {\n const message = `${response.status} ${response.statusText}`.trim()\n throw Object.assign(new Error(message), { gitError: { code: 'internal', message } })\n }\n if (!envelope.ok) throw Object.assign(new Error(gitErrorMessage(envelope.error)), { gitError: envelope.error })\n return envelope.value\n}\n\n/** Localized operation-failure copy, one label per GitError code. Accepts any\n * shape because a proxy or a non-envelope answer can produce one, and never\n * yields an empty message. */\nexport function gitErrorMessage(error: unknown, t?: GitT): string {\n const s = (key: RightPaneLocaleKey, params?: Record<string, string | number>): string => dict(t, key, params)\n const record = (typeof error === 'object' && error !== null ? error : {}) as { code?: unknown; message?: unknown }\n const code = typeof record.code === 'string' ? record.code : undefined\n const message = typeof record.message === 'string' && record.message.trim() !== '' ? record.message.trim() : undefined\n const labels: Partial<Record<GitError['code'], string>> = {\n 'conflicts-present': s('git.error.conflictsPresent'),\n 'operation-in-progress': s('git.error.operationInProgress'),\n 'dirty-worktree': s('git.error.dirtyWorktree'),\n 'apply-conflict': s('git.error.applyConflict'),\n 'nothing-to-apply': s('git.error.nothingToApply'),\n 'commit-not-found': s('git.error.commitNotFound'),\n 'file-not-tracked': s('git.error.fileNotTracked'),\n 'invalid-file-path': s('git.error.invalidFilePath'),\n 'workspace-unknown': s('git.error.workspaceUnknown'),\n }\n const label = code === undefined ? undefined : labels[code as GitError['code']]\n if (label !== undefined) return label\n return s('git.error.internal', { message: message ?? s('git.error.unknown') })\n}\n\n/** Localized text for a rejection thrown by `git()`: the structured /git error\n * when the response carried one, else the plain message. */\nexport function gitFailureText(reason: unknown, t?: GitT): string {\n const gitError = (reason as { gitError?: unknown } | null | undefined)?.gitError\n if (typeof gitError === 'object' && gitError !== null) return gitErrorMessage(gitError, t)\n const message = reason instanceof Error ? reason.message : String(reason)\n return message.trim() !== '' ? message : dict(t, 'git.error.unknown')\n}\n\n/** The XY status letters a row badge shows (X = index, Y = worktree). */\nexport function badgeOf(entry: GitStatusEntry): string {\n const index = entry.xy[0]\n const worktree = entry.xy[1]\n if (index !== undefined && index !== ' ' && index !== '?') return index\n if (worktree !== undefined && worktree !== ' ' && worktree !== '?') return worktree\n return '?'\n}\n\n/** Whether the entry carries STAGED (index) changes — the X letter is set. */\nexport function isStagedEntry(entry: GitStatusEntry): boolean {\n const index = entry.xy[0]\n return index !== undefined && index !== ' ' && index !== '?'\n}\n\n/** Whether the entry carries UNSTAGED (worktree) changes — the Y letter is set\n * (untracked `??` counts as unstaged: it is a worktree-only change). A file\n * with both letters set ('MM') lands in BOTH sections. */\nexport function isUnstagedEntry(entry: GitStatusEntry): boolean {\n if (entry.xy === '??') return true\n const worktree = entry.xy[1]\n return worktree !== undefined && worktree !== ' ' && worktree !== '?'\n}\n\n/** Whether the entry is untracked (`??`): git diff never includes it. */\nexport function isUntracked(entry: GitStatusEntry): boolean {\n return badgeOf(entry) === '?'\n}\n\n/** Split the porcelain entries into the two VSCode-style sections. */\nexport function splitEntries(entries: GitStatusEntry[]): { staged: GitStatusEntry[]; unstaged: GitStatusEntry[] } {\n return { staged: entries.filter(isStagedEntry), unstaged: entries.filter(isUnstagedEntry) }\n}\n\nexport function shortOid(oid: string): string { return oid.slice(0, 8) }\n\n/** The last path segment (diff title for a file). */\nfunction baseName(path: string): string {\n const at = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\\\'))\n return at === -1 ? path : path.slice(at + 1)\n}\n\n/** Compact relative history time (\"now\" / \"5m ago\" / \"3h ago\" / \"2d ago\"…). */\nexport function relativeText(epochMs: number, now: number, t?: GitT): string {\n const s = (key: RightPaneLocaleKey, params?: Record<string, string | number>): string => dict(t, key, params)\n const diff = Math.max(0, now - epochMs)\n const MIN = 6e4\n const HOUR = 36e5\n const DAY = 864e5\n if (diff < MIN) return s('git.ago.now')\n if (diff < HOUR) return s('git.ago.minutes', { n: Math.floor(diff / MIN) })\n if (diff < DAY) return s('git.ago.hours', { n: Math.floor(diff / HOUR) })\n if (diff < 30 * DAY) return s('git.ago.days', { n: Math.floor(diff / DAY) })\n if (diff < 365 * DAY) return s('git.ago.months', { n: Math.floor(diff / (30 * DAY)) })\n return s('git.ago.years', { n: Math.floor(diff / (365 * DAY)) })\n}\n\nfunction commitLabel(commit: GraphCommit): string { return `${shortOid(commit.oid)} ${commit.subject}` }\n\n/** The pending destructive action (discard / revert / cherry-pick), gated by a confirm modal. */\ninterface ConfirmState {\n title: string\n description: string\n confirmLabel: string\n onConfirm: () => Promise<unknown>\n}\n\n/** History batch size: the log loads lazily in pages so a long history never\n * floods the panel at once (the end of the log is reached by paging). */\nconst LOG_BATCH = 30\n\nexport function GitWorkbench(props: {\n scope: GitScope\n t?: GitT\n /** Open a workspace file in the native file viewer (untracked files). */\n onOpenFile: (path: string) => void\n}) {\n const { scope, t, onOpenFile } = props\n /** Translate through a ref: the panel receives a fresh `t` on every parent\n * render, and an unstable translator would change `reload`'s identity and\n * re-fire its mount effect (an endless refresh loop). */\n const tRef = useRef(t)\n tRef.current = t\n const s = useCallback(\n (key: RightPaneLocaleKey, params?: Record<string, string | number>): string => dict(tRef.current, key, params),\n [],\n )\n const cwd = scope.cwd\n const [status, setStatus] = useState<RepoStatus | null>()\n const [entries, setEntries] = useState<GitStatusEntry[]>([])\n const [branches, setBranches] = useState<string[]>([])\n const [commits, setCommits] = useState<GraphCommit[]>([])\n const [cursor, setCursor] = useState<string>()\n const [hasMore, setHasMore] = useState(false)\n const [message, setMessage] = useState('')\n const [error, setError] = useState('')\n const [busy, setBusy] = useState(false)\n /** The inline diff shown below the sections (VSCode-style, no page swap);\n * null = nothing open. The body is loaded lazily on first open. */\n const [inlineDiff, setInlineDiff] = useState<{ text: string; title: string } | null>(null)\n\n /** The open file-row context menu (cursor position for the portaled Menu). */\n const [fileMenu, setFileMenu] = useState<{ entry: GitStatusEntry; staged: boolean; x: number; y: number } | null>(null)\n /** The open history-row context menu. */\n const [historyMenu, setHistoryMenu] = useState<{ entry: GraphCommit; x: number; y: number } | null>(null)\n /** The pending destructive action awaiting confirmation. */\n const [confirm, setConfirm] = useState<ConfirmState | null>(null)\n /** Create-branch modal state. */\n const [createOpen, setCreateOpen] = useState(false)\n const [branchName, setBranchName] = useState('')\n\n const reload = useCallback(async (): Promise<void> => {\n if (!cwd) return\n try {\n const [value, graph, branchView, raw] = await Promise.all([\n git<RepoStatus | null>('status', { path: cwd }),\n git<GraphView | null>('graph', { path: cwd, limit: LOG_BATCH }),\n git<BranchesView | null>('branches', { path: cwd }).then(view => (view?.branches ?? []).map(row => row.name)).catch(() => [] as string[]),\n fetch(`/api/workbench/git-status?path=${encodeURIComponent(cwd)}`).then(response => response.ok ? response.json() : null).catch(() => null) as Promise<{ entries?: GitStatusEntry[] } | null>,\n ])\n setStatus(value)\n setCommits(graph?.commits ?? [])\n setCursor(graph?.nextCursor)\n setHasMore(graph?.hasMore ?? false)\n setBranches(branchView)\n setEntries(raw?.entries ?? [])\n setError('')\n } catch (reason) { setError(gitFailureText(reason, s)); setStatus(null) }\n }, [cwd, s])\n\n useEffect(() => { void reload() }, [reload])\n\n // Live sync: the host /git/events stream fires when root/branch/head\n // change (external commits and switches); a slow poll covers file churn\n // while the page is visible. KISS — no file watcher.\n const reloadRef = useRef(reload)\n reloadRef.current = reload\n useEffect(() => {\n if (!cwd) return\n if (typeof EventSource === 'function') {\n const source = new EventSource(`/git/events?path=${encodeURIComponent(cwd)}`)\n source.addEventListener('change', () => { void reloadRef.current() })\n return () => { source.close() }\n }\n return undefined\n }, [cwd])\n useEffect(() => {\n if (!cwd) return\n const timer = setInterval(() => { if (!document.hidden) void reloadRef.current() }, 15_000)\n return () => { clearInterval(timer) }\n }, [cwd])\n\n const loadMore = async (): Promise<void> => {\n if (!cwd || !cursor) return\n try {\n const graph = await git<GraphView>('graph', { path: cwd, limit: LOG_BATCH, cursor })\n setCommits(current => [...current, ...graph.commits])\n setCursor(graph.nextCursor)\n setHasMore(graph.hasMore)\n } catch (reason) { setError(gitFailureText(reason, s)) }\n }\n\n const showWorkingDiff = async (entry: GitStatusEntry, staged: boolean): Promise<void> => {\n if (!cwd) return\n if (isUntracked(entry)) { onOpenFile(entry.path); return }\n try {\n const next = (await git<{ diff: string }>('diff', { path: cwd, file: entry.path, staged })).diff\n const kind = staged ? s('git.diff.staged') : s('git.diff.worktree')\n setInlineDiff({ text: next, title: `${kind} · ${baseName(entry.path)}` })\n setError('')\n } catch (reason) { setError(gitFailureText(reason, s)) }\n }\n const showCommitDiff = async (commit: GraphCommit): Promise<void> => {\n if (!cwd) return\n try {\n const next = (await git<CommitDiffView>('commit-diff', { path: cwd, oid: commit.oid })).diff\n setInlineDiff({ text: next, title: `${s('git.diff.commit')} ${shortOid(commit.oid)} ${commit.subject}` })\n setError('')\n } catch (reason) { setError(gitFailureText(reason, s)) }\n }\n\n const stageEntry = async (entry: GitStatusEntry, staged: boolean): Promise<void> => {\n setBusy(true)\n try {\n await git(staged ? 'unstage' : 'stage', { path: cwd, file: entry.path })\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n }\n const stageAll = async (staged: boolean): Promise<void> => {\n setBusy(true)\n try {\n await git(staged ? 'unstage' : 'stage', { path: cwd })\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n }\n\n const commit = async (): Promise<void> => {\n const text = message.trim()\n if (!cwd || text === '' || busy) return\n setBusy(true)\n setError('')\n try {\n await git('commit', { path: cwd, message: text })\n setMessage('')\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n }\n\n const checkout = async (branch: string): Promise<void> => {\n if (!cwd || branch === status?.branch || busy) return\n setBusy(true)\n setError('')\n try {\n await git('switch', { path: cwd, branch })\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n }\n const createBranch = async (): Promise<void> => {\n const name = branchName.trim()\n if (!cwd || name === '' || busy) return\n setBusy(true)\n setError('')\n try {\n await git('create-branch', { path: cwd, name })\n setBranchName('')\n setCreateOpen(false)\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n }\n\n /** Run one destructive operation after the confirm modal, then refresh. */\n const runConfirmed = (state: ConfirmState): void => {\n setConfirm({ ...state, onConfirm: async () => {\n setBusy(true)\n setError('')\n try {\n await state.onConfirm()\n await reload()\n } catch (reason) { setError(gitFailureText(reason, s)) }\n finally { setBusy(false) }\n } })\n }\n\n const copy = (text: string): void => { void writeClipboard(text) }\n\n const openFileMenu = (event: MouseEvent, entry: GitStatusEntry, staged: boolean): void => {\n event.preventDefault()\n event.stopPropagation()\n setFileMenu({ entry, staged, x: event.clientX, y: event.clientY })\n }\n const openHistoryMenu = (event: MouseEvent, entry: GraphCommit): void => {\n event.preventDefault()\n event.stopPropagation()\n setHistoryMenu({ entry, x: event.clientX, y: event.clientY })\n }\n\n const { staged: stagedEntries, unstaged: unstagedEntries } = splitEntries(entries)\n\n const renderEntry = (entry: GitStatusEntry, staged: boolean): ReactNode => {\n const untracked = isUntracked(entry)\n return (\n <div key={`${staged ? 's' : 'u'}:${entry.path}`} className={css.gitRow}>\n <button\n type=\"button\"\n className={css.gitRowMain}\n title={entry.path}\n onClick={() => { void showWorkingDiff(entry, staged) }}\n onContextMenu={(event) => { openFileMenu(event, entry, staged) }}\n >\n <span className={css.gitBadge} data-kind={untracked ? 'U' : badgeOf(entry)}>{badgeOf(entry)}</span>\n <span className={css.gitName}>{entry.path}</span>\n </button>\n <span className={css.gitRowActions}>\n <button\n type=\"button\"\n className={css.iconButton}\n aria-label={staged ? s('git.unstage') : s('git.stage')}\n title={staged ? s('git.unstage') : s('git.stage')}\n disabled={busy}\n onClick={() => { void stageEntry(entry, staged) }}\n >\n {staged ? <IconTrashOutline16 /> : <IconBranchOutline16 />}\n </button>\n {!untracked && (\n <button\n type=\"button\"\n className={css.iconButton}\n aria-label={s('git.discard')}\n title={s('git.discard')}\n disabled={busy}\n onClick={() => {\n runConfirmed({\n title: s('git.discardTitle'),\n description: s('git.discardDesc', { path: entry.path }),\n confirmLabel: s('git.discard'),\n onConfirm: () => git<GitMutationResult>('discard', { path: cwd, file: entry.path }),\n })\n }}\n >\n <IconTrashOutline16 />\n </button>\n )}\n </span>\n </div>\n )\n }\n\n const noStaged = stagedEntries.length === 0\n const currentBranch = status?.branch ?? ''\n\n return (\n <section className={css.git} data-dsh-plugin=\"web-all\" data-dsh-part=\"workbench-git\">\n <div className={css.gitHeader}>\n <select\n className={css.gitBranchSelect}\n value={currentBranch}\n onChange={(event) => { void checkout(event.target.value) }}\n disabled={busy || status === null}\n aria-label={s('git.title')}\n >\n {currentBranch !== '' && <option value={currentBranch}>{currentBranch}</option>}\n {branches.filter(name => name !== currentBranch).map(name => <option key={name} value={name}>{name}</option>)}\n </select>\n <button\n type=\"button\"\n className={css.iconButton}\n aria-label={s('git.createBranch')}\n title={s('git.createBranch')}\n disabled={busy || status === null}\n onClick={() => { setBranchName(''); setCreateOpen(true) }}\n >\n <IconPlusOutline16 />\n </button>\n <button\n type=\"button\"\n className={css.iconButton}\n aria-label={s('git.refresh')}\n title={s('git.refresh')}\n disabled={busy}\n onClick={() => { void reload() }}\n >\n <IconRefreshOutline16 />\n </button>\n </div>\n\n {error !== '' && <div className={css.gitError} role=\"alert\">{error}</div>}\n {status === undefined && <div className={css.gitPlaceholder}>{s('git.loading')}</div>}\n {status === null && error === '' && (\n <div className={css.gitNotRepo}>\n <div className={css.gitNotRepoTitle}>{s('git.notRepo')}</div>\n <div className={css.gitNotRepoHint}>{s('git.notRepoHint')}</div>\n </div>\n )}\n\n {status !== undefined && status !== null && (\n <>\n {status.conflicts > 0 && <div className={css.gitBanner} data-kind=\"danger\">{s('git.conflictBanner')}</div>}\n {status.operationInProgress && <div className={css.gitBanner}>{s('git.opBanner')}</div>}\n\n <div className={css.gitSection}>\n <div className={css.gitSectionHeader}>\n <span>{s('git.staged')} ({stagedEntries.length})</span>\n {stagedEntries.length > 0 && (\n <button type=\"button\" className={css.gitLink} disabled={busy} onClick={() => { void stageAll(true) }}>\n {s('git.unstageAll')}\n </button>\n )}\n </div>\n {stagedEntries.length === 0 && <div className={css.gitEmpty}>{s('git.stagedEmpty')}</div>}\n {stagedEntries.map(entry => renderEntry(entry, true))}\n </div>\n\n <div className={css.gitSection}>\n <div className={css.gitSectionHeader}>\n <span>{s('git.changes')} ({unstagedEntries.length})</span>\n {unstagedEntries.length > 0 && (\n <button type=\"button\" className={css.gitLink} disabled={busy} onClick={() => { void stageAll(false) }}>\n {s('git.stageAll')}\n </button>\n )}\n </div>\n {unstagedEntries.length === 0 && <div className={css.gitEmpty}>{s('git.changesEmpty')}</div>}\n {unstagedEntries.map(entry => renderEntry(entry, false))}\n </div>\n\n <div className={css.gitCommit}>\n <Input\n className={css.gitCommitInput}\n placeholder={s('git.commitPlaceholder')}\n value={message}\n disabled={busy}\n onChange={(event) => { setMessage(event.target.value); setError('') }}\n onKeyDown={(event) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'Enter') void commit()\n }}\n />\n <button\n type=\"button\"\n className={css.gitCommitButton}\n disabled={busy || message.trim() === '' || noStaged}\n onClick={() => { void commit() }}\n >\n {s('git.commit')}\n </button>\n </div>\n {noStaged && message.trim() !== '' && <div className={css.gitHint}>{s('git.commitHint')}</div>}\n\n {inlineDiff !== null && (\n <div className={css.gitInlineDiff}>\n <div className={css.gitInlineDiffHeader}>\n <span className={css.gitInlineDiffTitle}>{inlineDiff.title}</span>\n <button\n type=\"button\"\n className={css.iconButton}\n aria-label={s('git.closeDiff')}\n title={s('git.closeDiff')}\n onClick={() => { setInlineDiff(null) }}\n >\n <IconCloseOutline16 />\n </button>\n </div>\n <DiffView text={inlineDiff.text} title={inlineDiff.title} t={t} />\n </div>\n )}\n\n <div className={css.gitSection}>\n <div className={css.gitSectionHeader}><span>{s('git.history')}</span></div>\n {commits.map(commit => (\n <div\n key={commit.oid}\n role=\"button\"\n tabIndex={0}\n className={css.gitLogRow}\n title={`${commit.author}\\n${commit.oid}`}\n onClick={() => { void showCommitDiff(commit) }}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n void showCommitDiff(commit)\n }\n }}\n onContextMenu={(event) => { openHistoryMenu(event, commit) }}\n >\n <span className={css.gitLogLine1}>\n <span className={css.gitLogHash}>{shortOid(commit.oid)}</span>\n <span className={css.gitLogSubject}>{commit.subject}</span>\n </span>\n <span className={css.gitLogLine2}>\n {commit.refs.map(ref => <span key={ref} className={css.gitLogRef}>{ref}</span>)}\n <span className={css.gitLogMeta}>{commit.author} · {relativeText(commit.authorTime * 1000, Date.now(), t)}</span>\n </span>\n </div>\n ))}\n {hasMore && (\n <button\n type=\"button\"\n className={css.gitLogMore}\n disabled={busy}\n onClick={() => { void loadMore() }}\n >\n {s('git.loadMore')}\n </button>\n )}\n </div>\n </>\n )}\n\n {/* The one shared file-row context menu, positioned at the right-click\n cursor (portal so the panel's overflow clip cannot crop it). */}\n <Menu\n open={fileMenu !== null}\n onClose={() => { setFileMenu(null) }}\n items={[\n { id: 'open', label: s('git.openEditor'), icon: <IconCodeOutline16 size={14} /> },\n fileMenu?.staged === true\n ? { id: 'stage', label: s('git.unstage'), icon: <IconTrashOutline16 size={14} /> }\n : { id: 'stage', label: s('git.stage'), icon: <IconBranchOutline16 size={14} /> },\n ...(fileMenu !== null && !isUntracked(fileMenu.entry)\n ? [{ id: 'discard', label: s('git.discard'), icon: <IconTrashOutline16 size={14} />, danger: true }]\n : []),\n { type: 'separator', id: 'sep1' },\n { id: 'relative', label: s('git.copyRelative'), icon: <IconCopyOutline16 size={14} /> },\n { id: 'absolute', label: s('git.copyAbsolute'), icon: <IconCopyOutline16 size={14} /> },\n ]}\n onSelect={(id) => {\n const target = fileMenu\n if (target === null) return\n setFileMenu(null)\n if (id === 'open') { onOpenFile(target.entry.path); return }\n if (id === 'stage') { void stageEntry(target.entry, target.staged); return }\n if (id === 'discard') {\n runConfirmed({\n title: s('git.discardTitle'),\n description: s('git.discardDesc', { path: target.entry.path }),\n confirmLabel: s('git.discard'),\n onConfirm: () => git<GitMutationResult>('discard', { path: cwd, file: target.entry.path }),\n })\n return\n }\n if (id === 'relative') { copy(workspaceRelativePath(cwd, target.entry.path)); return }\n if (id === 'absolute') copy(target.entry.path)\n }}\n portal\n align=\"start\"\n getAnchorRect={() => (fileMenu === null ? null : new DOMRect(fileMenu.x, fileMenu.y, 0, 0))}\n anchor={<span />}\n />\n\n {/* The shared history-row context menu. */}\n <Menu\n open={historyMenu !== null}\n onClose={() => { setHistoryMenu(null) }}\n items={[\n { id: 'view', label: s('git.viewDiff'), icon: <IconCodeOutline16 size={14} /> },\n { id: 'copyShort', label: s('git.copyShortHash'), icon: <IconCopyOutline16 size={14} /> },\n { id: 'copyFull', label: s('git.copyFullHash'), icon: <IconCopyOutline16 size={14} /> },\n { id: 'copySubject', label: s('git.copySubject'), icon: <IconCopyOutline16 size={14} /> },\n { type: 'separator', id: 'sep2' },\n { id: 'revert', label: s('git.revert'), danger: true },\n { id: 'cherryPick', label: s('git.cherryPick'), danger: true },\n ]}\n onSelect={(id) => {\n const target = historyMenu\n if (target === null) return\n setHistoryMenu(null)\n if (id === 'view') { void showCommitDiff(target.entry); return }\n if (id === 'copyShort') { copy(shortOid(target.entry.oid)); return }\n if (id === 'copyFull') { copy(target.entry.oid); return }\n if (id === 'copySubject') { copy(target.entry.subject); return }\n if (id === 'revert') {\n runConfirmed({\n title: s('git.revertTitle'),\n description: s('git.revertDesc', { subject: commitLabel(target.entry) }),\n confirmLabel: s('git.revert'),\n onConfirm: () => git<GitMutationResult>('revert', { path: cwd, oid: target.entry.oid }),\n })\n return\n }\n if (id === 'cherryPick') {\n runConfirmed({\n title: s('git.cherryPickTitle'),\n description: s('git.cherryPickDesc', { subject: commitLabel(target.entry) }),\n confirmLabel: s('git.cherryPick'),\n onConfirm: () => git<GitMutationResult>('cherry-pick', { path: cwd, oid: target.entry.oid }),\n })\n }\n }}\n portal\n align=\"start\"\n getAnchorRect={() => (historyMenu === null ? null : new DOMRect(historyMenu.x, historyMenu.y, 0, 0))}\n anchor={<span />}\n />\n\n {/* Destructive actions land here first: Cancel / Confirm. */}\n <Modal\n open={confirm !== null}\n onClose={() => { setConfirm(null) }}\n title={confirm?.title ?? ''}\n closeLabel={s('git.close')}\n footer={(\n <>\n <Button variant=\"outline\" onClick={() => { setConfirm(null) }}>{s('git.cancel')}</Button>\n <Button\n variant=\"primary\"\n disabled={busy}\n onClick={() => {\n const pending = confirm\n if (pending === null) return\n setConfirm(null)\n void pending.onConfirm()\n }}\n >\n {confirm?.confirmLabel ?? ''}\n </Button>\n </>\n )}\n >\n <p className={css.gitConfirmDesc}>{confirm?.description}</p>\n </Modal>\n\n {/* Create-branch modal. */}\n <Modal\n open={createOpen}\n onClose={() => { setCreateOpen(false) }}\n title={s('git.createBranchTitle')}\n closeLabel={s('git.close')}\n footer={(\n <>\n <Button variant=\"outline\" onClick={() => { setCreateOpen(false) }}>{s('git.cancel')}</Button>\n <Button variant=\"primary\" disabled={busy || branchName.trim() === ''} onClick={() => { void createBranch() }}>\n {s('git.confirm')}\n </Button>\n </>\n )}\n >\n <label className={css.gitCreateLabel}>\n {s('git.branchName')}\n <Input\n value={branchName}\n placeholder={s('git.branchPlaceholder')}\n disabled={busy}\n onChange={(event) => { setBranchName(event.target.value); setError('') }}\n onKeyDown={(event) => { if (event.key === 'Enter') void createBranch() }}\n />\n </label>\n </Modal>\n </section>\n )\n}\n\n/** Strip a workspace root from an absolute path (copy-relative convenience). */\nexport function workspaceRelativePath(cwd: string | undefined, path: string): string {\n const normalized = path.replaceAll('\\\\', '/')\n const root = cwd?.replaceAll('\\\\', '/').replace(/\\/+$/u, '')\n return root !== undefined && normalized.startsWith(`${root}/`) ? normalized.slice(root.length + 1) : normalized\n}","import { Component, type ErrorInfo, type ReactNode } from 'react'\nimport css from './sidebar.module.css'\n\n/** Contain one native page crash without blanking the official right sidebar. */\nexport class RenderBoundary extends Component<{ children?: ReactNode }, { error: string | null }> {\n state = { error: null as string | null }\n static getDerivedStateFromError(error: unknown): { error: string } {\n return { error: error instanceof Error ? error.message : String(error) }\n }\n componentDidCatch(error: Error, info: ErrorInfo): void {\n console.error('[dsh-web-all/sidebar] render error:', error, info.componentStack)\n }\n render(): ReactNode {\n if (this.state.error === null) return this.props.children\n return <div className={css.boundaryError} role=\"alert\" data-dsh-part=\"boundary\"><span>{this.state.error}</span><button type=\"button\" onClick={() => { this.setState({ error: null }) }}>Retry</button></div>\n }\n}\n","/** Shared wire vocabulary for the web-all right-pane additions (git, browser). */\n\nexport type BrowserNavigateResult =\n | { kind: 'ok'; url: string }\n | { kind: 'blocked'; reason: 'scheme' | 'loopback' | 'self-origin' }\n | { kind: 'invalid' }\n\nconst FORBIDDEN_BROWSER_SCHEMES = /^(?:javascript|data|file|about|blob|vbscript|mailto|tel|ftp|ws|wss):/iu\n\nexport function isLoopbackHostname(value: string): boolean {\n const hostname = value.replace(/^\\[|\\]$/gu, '').toLowerCase()\n if (hostname === 'localhost' || hostname === '::1' || hostname === '0.0.0.0') return true\n const octets = hostname.split('.')\n return octets.length === 4 && octets[0] === '127' && octets.every(part => /^\\d{1,3}$/u.test(part) && Number(part) <= 255)\n}\n\n/** Detailed secure navigation verdict for the sidebar browser. */\nexport function evaluateBrowserUrl(value: string, selfOrigin?: string): BrowserNavigateResult {\n const trimmed = value.trim()\n if (trimmed === '') return { kind: 'invalid' }\n if (FORBIDDEN_BROWSER_SCHEMES.test(trimmed)) return { kind: 'blocked', reason: 'scheme' }\n const candidate = /^https?:\\/\\//iu.test(trimmed) ? trimmed : `https://${trimmed}`\n let url: URL\n try { url = new URL(candidate) } catch { return { kind: 'invalid' } }\n if (url.protocol !== 'http:' && url.protocol !== 'https:') return { kind: 'blocked', reason: 'scheme' }\n if (selfOrigin) {\n try { if (url.origin === new URL(selfOrigin).origin) return { kind: 'blocked', reason: 'self-origin' } } catch { /* ignore malformed owner origin */ }\n }\n if (isLoopbackHostname(url.hostname)) return { kind: 'blocked', reason: 'loopback' }\n return { kind: 'ok', url: url.href }\n}\n\n/** Compatibility normalizer retained for existing contract consumers. */\nexport function normalizeBrowserUrl(value: string): string | undefined {\n const verdict = evaluateBrowserUrl(value)\n return verdict.kind === 'ok' ? verdict.url : undefined\n}\n\nexport interface GitStatusEntry {\n path: string\n xy: string\n}\n\nexport function parsePorcelainStatus(output: string): GitStatusEntry[] {\n const tokens = output.split('\\0')\n const entries: GitStatusEntry[] = []\n for (let index = 0; index < tokens.length;) {\n const token = tokens[index++]!\n if (token === '') continue\n const xy = token.slice(0, 2)\n entries.push({ xy, path: token.slice(3) })\n if ((xy[0] === 'R' || xy[0] === 'C') && tokens[index] !== undefined && tokens[index] !== '') index += 1\n }\n return entries\n}\n\n/**\n * Native `dsh-resource://file/...` address builder mirroring the official\n * sidebar-files vocabulary, so produced files open in the DSH document\n * preview instead of a plugin file window.\n */\nconst FILE_ADDRESS_PREFIX = 'dsh-resource://file/session/'\n\nfunction encodeSegment(segment: string): string {\n return encodeURIComponent(segment).replace(/%3A/gi, ':')\n}\n\nfunction encodePath(path: string): string {\n return path.split('/').map(encodeSegment).join('/')\n}\n\nfunction isWindowsStylePath(value: string): boolean {\n return /^[A-Za-z]:[/\\\\]/.test(value) || value.startsWith('\\\\\\\\')\n}\n\nfunction isAbsoluteWorkspacePath(value: string): boolean {\n return value.startsWith('/') || isWindowsStylePath(value)\n}\n\n/** The address of a file read through one session, mirroring the official encoder. */\nexport function sessionFileAddress(sessionId: string, path: string): string {\n const normalized = path.replace(/\\\\/gu, '/').replace(/^(?:\\.\\/)+/u, '')\n return `${FILE_ADDRESS_PREFIX}${encodeSegment(sessionId)}/${encodePath(normalized)}`\n}\n\n/** Map a caller-held path to its session-scoped resource address (official semantics). */\nexport function fileAddressFor(sessionId: string, cwd: string | undefined, path: string): string {\n const normalized = path.replace(/\\\\/gu, '/')\n if (!isAbsoluteWorkspacePath(normalized)) return sessionFileAddress(sessionId, normalized)\n const root = cwd === undefined ? '' : cwd.replace(/\\\\/gu, '/').replace(/\\/+$/u, '')\n if (root !== '' && normalized === root) return sessionFileAddress(sessionId, '')\n if (root !== '' && normalized.startsWith(`${root}/`)) return sessionFileAddress(sessionId, normalized.slice(root.length + 1))\n return sessionFileAddress(sessionId, normalized)\n}\n","/** Session-scoped facts used by every native right-sidebar page. */\nimport { useRef, useSyncExternalStore } from 'react'\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { ISessions } from '@deepseek-ai/dsh-api-session-controller/client'\n\nexport interface WorkbenchScope {\n sessionId?: string\n cwd?: string\n root?: string\n}\n\n/**\n * 0.2 会话作用域:右栏 tab 由框架通过 inject(sessionId) 注入会话身份\n * (\\`sessions.list\\` 不再暴露 current),cwd 仍从会话目录读取。\n * 快照必须引用稳定,否则 fused 页面重渲染会撞 React 更新深度上限。\n */\nexport function useSessionWorkbenchScope(ctx: ClientContext, sessionId?: string): WorkbenchScope {\n const sessions = ctx.get('sessions') as unknown as ISessions\n const cache = useRef<{ key: string; value: WorkbenchScope }>()\n return useSyncExternalStore(\n callback => sessions.list.subscribe(callback),\n () => {\n const view = sessions.list.getSnapshot() as unknown as { byId?: Record<string, { cwd?: string }> }\n const cwd = sessionId === undefined ? undefined : view.byId?.[sessionId]?.cwd\n const key = `${sessionId ?? ''}|${cwd ?? ''}`\n if (cache.current?.key === key) return cache.current.value\n const next: WorkbenchScope = { sessionId, cwd, root: cwd }\n cache.current = { key, value: next }\n return next\n },\n )\n}\n\n/** Address one workspace-scoped host route. */\nexport function workbenchUrl(route: string, scope: WorkbenchScope, path = '', extra?: Record<string, string>): string {\n return `/api/workbench/${route}?${new URLSearchParams({\n root: scope.root ?? scope.cwd ?? '',\n path,\n ...(scope.sessionId ? { session: scope.sessionId } : {}),\n ...extra,\n })}`\n}\n\nexport async function getWorkbenchJson<T>(url: string, init?: RequestInit): Promise<T> {\n const response = await fetch(url, init)\n if (!response.ok) throw new Error(`${response.status} ${await response.text()}`)\n return response.json() as Promise<T>\n}\n\nexport function workspaceRelative(scope: WorkbenchScope, path: string): string {\n const normalized = path.replaceAll('\\\\', '/')\n const cwd = scope.cwd?.replaceAll('\\\\', '/').replace(/\\/+$/u, '')\n return cwd && normalized.startsWith(`${cwd}/`) ? normalized.slice(cwd.length + 1) : normalized.replace(/^\\.\\//u, '')\n}\n","/** Native right-sidebar additions owned exclusively by the web-all sidebar position. */\nimport { createElement, type ComponentType, type ReactNode } from 'react'\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport { IconBranchOutline16 } from '../ui-icons.ts'\nimport { IconAgentBrowser16 } from './icons.tsx'\nimport { AgentBrowserPanel } from './agent-browser.tsx'\nimport { GitWorkbench } from './git-workbench.tsx'\nimport { RenderBoundary } from './RenderBoundary.tsx'\nimport { fileAddressFor } from '../../core/right-pane/protocol.ts'\nimport {\n RIGHT_PANE_LOCALE, rightPaneEn, rightPaneZh, type RightPaneLocaleKey,\n} from './right-pane-i18n.ts'\nimport { useSessionWorkbenchScope } from './scope.ts'\nimport css from './sidebar.module.css'\n\nexport { RIGHT_PANE_LOCALE, rightPaneEn, rightPaneZh }\nexport type { RightPaneLocaleKey }\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap { 'web-all-right-pane': RightPaneLocaleKey }\n}\n\ninterface NativeTabDefinition {\n id: string\n kind: string\n title: (address?: string) => string\n guide?: readonly {\n id: string\n order: number\n title: () => string\n description?: () => string\n icon?: ComponentType<{ size?: number; className?: string }>\n }[]\n}\ninterface TabRegistry { register(definition: NativeTabDefinition): () => void }\ninterface Rightbar {\n openTab(kind: string, options?: { params?: Record<string, unknown> }): void\n openResource?(address: string): void\n}\ntype BindLocale = (key: RightPaneLocaleKey, params?: Record<string, string | number>) => string\ninterface NativeTabInfo {\n sidebar: { expanded: boolean; fullscreen: boolean }\n panel: { id: string }\n tab: { visible: boolean; navigation: { params: Record<string, unknown>; revision: number }; signal: AbortSignal }\n}\ntype UseTabInfo = () => NativeTabInfo\ninterface PositionTabProps { useTabInfo?: UseTabInfo }\ninterface PageSpec {\n id: 'git' | 'browser' | 'agent-browser'\n kind: 'web-ui.git' | 'web-ui.browser' | 'web-ui.agent-browser'\n title: () => string\n description: () => string\n order: number\n icon: ComponentType<{ size?: number; className?: string }>\n requiresWorkspace: boolean\n render(ctx: ClientContext, info: NativeTabInfo | undefined, sessionId?: string): ReactNode\n}\n\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try { return (ctx as unknown as { get(id: string, strict?: boolean): unknown }).get(name, false) as T | undefined } catch { return undefined }\n}\nfunction stableInfo(useTabInfo?: UseTabInfo): NativeTabInfo | undefined { return useTabInfo?.() }\n\n/** z/h text helper shared by the pages; falls back to the en dictionary so a\n * direct render (tests, skins) never shows bare keys. */\nexport function bindRightPaneLocale(ctx: ClientContext): BindLocale {\n const bind = ctx.locale.bind(RIGHT_PANE_LOCALE)\n return (key, params) => {\n const text = bind(key) ?? rightPaneEn[key]\n if (params === undefined) return text\n return text.replace(/\\{([a-zA-Z0-9_]+)\\}/gu, (_match, name: string) => String(params[name] ?? ''))\n }\n}\n\nfunction NativePage({ ctx, spec, useTabInfo, sessionId }: { ctx: ClientContext; spec: PageSpec; useTabInfo?: UseTabInfo; sessionId?: string }) {\n const info = stableInfo(useTabInfo)\n const scope = useSessionWorkbenchScope(ctx, sessionId)\n const t = bindRightPaneLocale(ctx)\n if (spec.requiresWorkspace && (!scope.sessionId || !scope.cwd)) {\n return <section className={css.nativeFused} data-dsh-plugin=\"web-all\" data-dsh-better-sidebar=\"\" data-dsh-part=\"native-fused\"><div className={css.emptyState}>{t('workspaceRequired')}</div></section>\n }\n return <section className={css.nativeFused} data-dsh-plugin=\"web-all\" data-dsh-better-sidebar=\"\" data-dsh-part=\"native-fused\" data-visible={info?.tab.visible ?? true}><RenderBoundary>{spec.render(ctx, info, sessionId)}</RenderBoundary></section>\n}\n\nfunction GitPage({ ctx, sessionId }: { ctx: ClientContext; sessionId?: string }) {\n const scope = useSessionWorkbenchScope(ctx, sessionId)\n const t = bindRightPaneLocale(ctx)\n const openInEditor = (path: string): void => {\n if (scope.sessionId === undefined) return\n const address = fileAddressFor(scope.sessionId, scope.cwd, path)\n optionalService<Rightbar>(ctx, 'sidebarRight')?.openResource?.(address)\n }\n return <GitWorkbench scope={scope} t={t} onOpenFile={openInEditor}/>\n}\n\nfunction pages(ctx: ClientContext): readonly PageSpec[] {\n const t = bindRightPaneLocale(ctx)\n return [\n { id: 'git', kind: 'web-ui.git', title: () => t('git.title'), description: () => t('git.description'), order: 30, icon: IconBranchOutline16, requiresWorkspace: true, render: (owner, _info, sessionId) => <GitPage ctx={owner} sessionId={sessionId}/> },\n { id: 'agent-browser', kind: 'web-ui.agent-browser', title: () => t('agentBrowser.title'), description: () => t('agentBrowser.description'), order: 32, icon: IconAgentBrowser16, requiresWorkspace: false, render: (_owner, info, sessionId) => <AgentBrowserPanel sessionId={sessionId} visible={info?.tab.visible ?? true} signal={info?.tab.signal} t={t}/> },\n ]\n}\n\nexport const NATIVE_PAGE_SPECS = [\n { id: 'git', kind: 'web-ui.git', order: 30, requiresWorkspace: true },\n] as const\n\n/** Register the Git management page DSH does not ship. */\nfunction mountRightPaneFaces(ctx: ClientContext, tabs: TabRegistry): () => void {\n const disposers: Array<() => void> = []\n for (const spec of pages(ctx)) {\n const key = `dsh-web-all/${spec.id}`\n disposers.push(tabs.register({\n id: key,\n kind: spec.kind,\n title: spec.title,\n guide: [{ id: spec.id, order: spec.order, title: spec.title, description: spec.description, icon: spec.icon }],\n }))\n // 原生 keyed 槽:key 用类型 id,inject(sessionId) 由框架按会话作用域注入。\n disposers.push(ctx.slots.inject('sidebar.right.pane.tab' as never, () => ctx.slots.register(\n { name: 'sidebar.right.pane.tab', key, locale: RIGHT_PANE_LOCALE, inject: (sessionId: string) => ({ sessionId }) } as never,\n ((props: PositionTabProps & { sessionId?: string }) => createElement(NativePage, { ctx, spec, useTabInfo: props.useTabInfo, sessionId: props.sessionId })) as never,\n )))\n }\n return () => { for (const dispose of disposers.reverse()) { try { dispose() } catch {} } }\n}\n\nexport function mountRightPane(ctx: ClientContext): () => void {\n const disposeLocale = ctx.locale.register(RIGHT_PANE_LOCALE, { zh: rightPaneZh, en: rightPaneEn })\n let disposeFaces = (): void => {}\n const owner = ctx as unknown as { inject?: (services: string[], setup: (scope: ClientContext) => void | (() => void)) => void }\n if (typeof owner.inject === 'function') {\n owner.inject(['sidebarRightTabs', 'sidebarRight'], scope => {\n const tabs = optionalService<TabRegistry>(scope, 'sidebarRightTabs')\n if (!tabs || !optionalService<Rightbar>(scope, 'sidebarRight')) return\n disposeFaces = mountRightPaneFaces(scope, tabs)\n return disposeFaces\n })\n return () => { disposeFaces(); disposeLocale() }\n }\n const tabs = optionalService<TabRegistry>(ctx, 'sidebarRightTabs')\n if (tabs && optionalService<Rightbar>(ctx, 'sidebarRight')) disposeFaces = mountRightPaneFaces(ctx, tabs)\n return () => { disposeFaces(); disposeLocale() }\n}\n\n/**\n * Open one right-pane tab by its registered kind. Only the kinds this package\n * registers are addressable: `sidebarRight.openTab` throws for a kind nothing\n * registered, so the union carries no unregistered member.\n */\nexport function openWorkbenchTab(ctx: ClientContext, kind: 'git' | 'agent-browser', params?: Record<string, unknown>): void {\n const kindOf = kind === 'git' ? 'web-ui.git' : 'web-ui.agent-browser'\n optionalService<Rightbar>(ctx, 'sidebarRight')?.openTab(kindOf, { params })\n}","/**\n * 位置模块:侧栏(sidebar)— 唯一负责侧栏注入的位置模块。\n *\n * SSH / 记忆都是 0.2 原生面板(`sidebar.panellist` 行 + `main` 主栏 body),\n * 与官方 Plugins 页同一套外观、选中语义与页面版心;右栏(right-pane)由本\n * 模块装载(Git 管理 / Agent 浏览器页签,见 right-pane.tsx)。\n *\n * Git Worktree 不是侧栏页面:分支在新建对话时由输入框选择器选定,其生命周期\n * 挂在会话顶部的 lane chip 上(见 conversation 位置模块)。\n *\n * 侧栏标题行是官方 DOM,本模块只做样式编排(不注册官方槽位、不改官方节点):\n * 品牌位不出现、标题行收掉、折叠按钮搬到页脚与「设置」行并列,规则与取舍见\n * sidebar-header.module.css。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport { registerNativePanels } from './native-panels.tsx'\nimport { mountRightPane } from './right-pane.tsx'\nimport './sidebar-header.module.css'\n\n/** 装配侧栏位置模块:原生面板 + 右栏。 */\nexport function mountSidebar(ctx: ClientContext): () => void {\n const disposers = [\n registerNativePanels(ctx),\n mountRightPane(ctx),\n ]\n return () => { for (const dispose of disposers) dispose() }\n}","// Generated by scripts/sync-shared.mjs from shared/client/sse-leader.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Cross-tab SSE leader relay (issue #383).\n *\n * Chrome/Edge cap HTTP/1.1 connections per origin at 6, and the pool is\n * SHARED across same-origin tabs: every DSH tab already holds the core\n * /plugins/events stream, so each plugin EventSource a tab opens brings two\n * tabs to the pool limit and every plain fetch (list/read/git-status POSTs)\n * queues forever. There is no per-tab fix inside the fetch layer — the\n * streams themselves must be shared.\n *\n * This module keeps exactly ONE EventSource per URL across the whole\n * browser: tabs elect a leader through the Web Locks API (the lock releases\n * automatically when the leader's tab closes or navigates), the leader\n * relays every event over a BroadcastChannel, and followers receive the\n * broadcast instead of opening their own stream. Within one tab, callers\n * sharing a URL also share the single relay. When Web Locks or\n * BroadcastChannel is unavailable — a plain-HTTP remote entry has no\n * secure-context Web Locks — the module degrades to one stream per tab\n * instead of one per browser, so the per-origin connection cap returns as\n * the number of open tabs grows.\n */\n\n/** Constructor/namespace seams so tests can drive the relay without a browser. */\nexport interface SseRelaySeams {\n eventSource?: typeof EventSource\n broadcastChannel?: typeof BroadcastChannel\n locks?: LockManager\n}\n\ninterface Relay {\n listeners: Set<(data: string) => void>\n destroy(): void\n}\n\n/** Live relays keyed by event name + URL (one per tab, ref-counted by listeners). */\nconst relays = new Map<string, Relay>()\n\n/**\n * Subscribe to an SSE endpoint shared across every tab of the browser.\n * @param url - same-origin EventSource URL (including its query string).\n * @param eventName - the SSE event field to listen for (e.g. 'change').\n * @param onEvent - fired with the raw event data string on every push.\n * @param seams - constructor overrides (tests).\n * @returns the disposer; destroying the LAST local listener tears the relay down.\n */\nexport function subscribeSharedEvents(\n url: string,\n eventName: string,\n onEvent: (data: string) => void,\n seams: SseRelaySeams = {},\n): () => void {\n const key = eventName + ' ' + url\n let relay = relays.get(key)\n if (relay === undefined) {\n relay = createRelay(key, url, eventName, seams)\n relays.set(key, relay)\n }\n relay.listeners.add(onEvent)\n return () => {\n const current = relays.get(key)\n if (current === undefined) return\n current.listeners.delete(onEvent)\n if (current.listeners.size === 0) {\n current.destroy()\n relays.delete(key)\n }\n }\n}\n\nfunction createRelay(key: string, url: string, eventName: string, seams: SseRelaySeams): Relay {\n const listeners = new Set<(data: string) => void>()\n const dispatch = (data: string): void => {\n for (const listener of [...listeners]) listener(data)\n }\n\n const EventSourceImpl = seams.eventSource ?? EventSource\n const ChannelImpl = seams.broadcastChannel\n ?? (typeof BroadcastChannel === 'undefined' ? undefined : BroadcastChannel)\n const locks = seams.locks\n ?? (typeof navigator === 'undefined' || navigator.locks === undefined ? undefined : navigator.locks)\n\n // Degraded path: without cross-tab machinery, behave exactly like a plain\n // per-subscription EventSource (the pre-relay behavior).\n if (ChannelImpl === undefined || locks === undefined) {\n const source = new EventSourceImpl(url)\n source.addEventListener(eventName, (raw) => { dispatch((raw as MessageEvent).data as string) })\n return { listeners, destroy: () => { source.close() } }\n }\n\n const channel = new ChannelImpl('dsh-sse:' + key)\n channel.addEventListener('message', (raw) => { dispatch((raw as MessageEvent).data as string) })\n\n // Leadership candidacy: queued requests wait until the incumbent's lock\n // releases (tab close, or a voluntary teardown below); the grant then\n // promotes this tab and opens the browser-wide stream.\n const abort = new AbortController()\n let release: (() => void) | undefined\n let source: EventSource | undefined\n void locks.request('dsh-sse:' + key, { signal: abort.signal }, () => {\n source = new EventSourceImpl(url)\n source.addEventListener(eventName, (raw) => {\n const data = (raw as MessageEvent).data as string\n channel.postMessage(data)\n dispatch(data)\n })\n // The lock is held until this promise settles; destroy() resolves it.\n return new Promise<void>(resolve => { release = resolve })\n }).catch(() => {\n // An aborted candidacy rejects with an AbortError — expected teardown.\n })\n\n return {\n listeners,\n destroy() {\n channel.close()\n // Queued follower: cancel the candidacy. Leader: end the lock\n // callback, which releases the lock so a waiting tab takes over.\n abort.abort()\n release?.()\n source?.close()\n },\n }\n}\n","/**\n * Browser client for the host /git/* routes: typed JSON envelope calls plus\n * the SSE change subscription. Same-origin relative fetch (the page and the\n * routes share the webserver).\n * @module dsh-git-graph/client/api\n */\n\nimport { subscribeSharedEvents } from './sse-leader.ts'\nimport type {\n BranchesView, GitError, GraphView, RepoStatus,\n} from '../../../core/git-graph/protocol.ts'\n\n/** One /git envelope response. */\nexport type ApiResult<T> =\n | { ok: true; value: T }\n | { ok: false; error: GitError }\n\n/** Transport failure (fetch threw or the response was not JSON). */\nconst TRANSPORT_ERROR: GitError = { code: 'internal', message: 'git route unavailable' }\n\n/** POST one JSON payload and decode the envelope; never throws. */\nasync function post<T>(path: string, payload: Record<string, unknown>): Promise<ApiResult<T>> {\n let response: Response\n try {\n response = await fetch(path, {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(payload),\n })\n } catch {\n return { ok: false, error: TRANSPORT_ERROR }\n }\n try {\n const envelope = await response.json() as unknown\n if (typeof envelope !== 'object' || envelope === null) return { ok: false, error: TRANSPORT_ERROR }\n const record = envelope as Record<string, unknown>\n if (record.ok === true) return { ok: true, value: record.value as T }\n return { ok: false, error: (record.error as GitError | undefined) ?? TRANSPORT_ERROR }\n } catch {\n return { ok: false, error: TRANSPORT_ERROR }\n }\n}\n\n/** Typed git operations over the wire. */\nexport class GitApi {\n /** The repository snapshot (null: not a git repository / not a workspace). */\n status(path: string): Promise<ApiResult<RepoStatus | null>> {\n return post('/git/status', { path })\n }\n\n /** Local branch list with the current branch marked. */\n branches(path: string): Promise<ApiResult<BranchesView | null>> {\n return post('/git/branches', { path })\n }\n\n /** Workspace-level `git switch --no-guess <branch>` (host guards first). */\n switchBranch(path: string, branch: string): Promise<ApiResult<{ branch: string }>> {\n return post('/git/switch', { path, branch })\n }\n\n /** `git switch --no-guess -c <name>` from the current HEAD. */\n createBranch(path: string, name: string): Promise<ApiResult<{ branch: string }>> {\n return post('/git/create-branch', { path, name })\n }\n\n /** Topo-ordered commit graph across branches/tags/remotes. */\n graph(path: string, limit?: number): Promise<ApiResult<GraphView | null>> {\n return post('/git/graph', limit === undefined ? { path } : { path, limit })\n }\n}\n\n/**\n * Subscribe to host-pushed branch-state changes for one workspace path (the\n * host polls the workspace while a subscriber is connected). Reconnects are\n * handled by the EventSource; the caller re-subscribes when the path changes.\n * @param path - workspace root to watch.\n * @param onChange - fired on every pushed change.\n * @returns the disposer closing the stream.\n */\nexport function subscribeChanges(path: string, onChange: () => void): () => void {\n // The stream is shared browser-wide through the cross-tab leader relay\n // (issue #383): two tabs of the same workspace must not pin two SSE\n // connections against the per-origin HTTP pool.\n return subscribeSharedEvents(`/git/events?path=${encodeURIComponent(path)}`, 'change', () => { onChange() })\n}\n","/**\n * The shared chip button: one pill in the context row above the input.\n * @module dsh-git-graph/client/chips/Chip\n */\n\nimport type { ReactNode } from 'react'\nimport { IconChevronDownOutline14 } from '../../ui-icons.ts'\nimport css from './git-graph.module.css'\n\n/** Join conditional class names (the dependency-free clsx stand-in). */\nexport function cx(...parts: ReadonlyArray<string | false | null | undefined>): string {\n return parts.filter((part): part is string => typeof part === 'string' && part !== '').join(' ')\n}\n\n/** Props of one context chip. */\nexport interface ChipProps {\n icon: ReactNode\n label: string\n ariaLabel: string\n open: boolean\n onClick: () => void\n /** The official hero-row seat style (transparent 28px pill beside the preset chip). */\n hero?: boolean\n}\n\n/** The pill button shared by the project and branch chips. */\nexport function Chip({ icon, label, ariaLabel, open, onClick, hero = false }: ChipProps) {\n return (\n <button\n type=\"button\"\n data-gitgraph-chip\n className={cx(css.chip, open && css.chipOpen, hero && css.chipHero)}\n onClick={onClick}\n aria-label={ariaLabel}\n aria-expanded={open}\n >\n {icon}\n <span className={css.chipLabel} title={label}>{label}</span>\n <IconChevronDownOutline14 className={css.chipChevron} size={12} />\n </button>\n )\n}\n\n/** Full-screen transparent backdrop closing the open popover/dialog on click. */\nexport function Backdrop({ onClose }: { onClose: () => void }) {\n return <div className={css.backdrop} onClick={onClose} />\n}\n","/**\n * Geometry of the branch chip's hero seat: the official hero chip row is found\n * structurally and the chip is placed after its rightmost painted chip.\n *\n * The offsets live here instead of inside the component because the composer\n * stack is `position: static`: absolute offsets have to be taken against the\n * anchor's own containing block (`offsetParent`), and a stack-relative formula\n * lands the chip hundreds of pixels away from the row. Keeping the math pure\n * keeps that mistake testable.\n * @module dsh-git-graph/client/chips/heroSeat\n */\n\n/** Horizontal gap between the official hero-row chips (WorkspaceChip / AgentPresetSeat). */\nexport const HERO_CHIP_GAP = 2\n\n/** Height of an official hero-row chip, matching the `.chipHero` min-height. */\nexport const HERO_CHIP_HEIGHT = 28\n\n/** The anchor's containing block, in border-box coordinates. */\nexport interface HeroBlockBox {\n left: number\n top: number\n clientLeft: number\n clientTop: number\n}\n\n/** The official hero chip row, in border-box coordinates. */\nexport interface HeroRowBox {\n top: number\n height: number\n}\n\n/** Chip offsets, in the containing block's coordinate space. */\nexport interface HeroPlacement {\n left: number\n top: number\n}\n\n/**\n * The official hero chip row, when the dock row sits directly under it: the\n * slot outlet renders as `display: contents`, so the row is the outlet's\n * previous element sibling. Anything else (no previous sibling, the headline,\n * a notice) leaves the chip in flow inside the dock row.\n */\nexport function heroRowFor(anchor: HTMLElement): Element | null {\n const outlet = anchor.parentElement\n const row = outlet?.previousElementSibling ?? null\n if (outlet === null || row === null) return null\n const display = getComputedStyle(outlet).display\n if (display !== 'contents' && display !== 'inline') return null\n const rect = row.getBoundingClientRect()\n if (rect.width <= 0 || rect.height < 24 || rect.height > 40) return null\n return row.querySelector('button') === null ? null : row\n}\n\n/**\n * Whether `anchor` is lifted out of the dock row: a shell that keeps the dock\n * inline (no hero row above it) renders the chip there instead.\n */\nexport function shouldProbeInFlow(anchor: HTMLElement): boolean {\n return getComputedStyle(anchor).position === 'static'\n}\n\n/**\n * Place the chip just after the hero row's rightmost painted chip, vertically\n * centred in the row (the row is 28px tall, so the offsets coincide).\n * @param block - the anchor's containing block.\n * @param row - the official hero chip row.\n * @param paintedRight - the row's rightmost painted descendant edge.\n */\nexport function heroPlacementIn(block: HeroBlockBox, row: HeroRowBox, paintedRight: number): HeroPlacement {\n return {\n left: Math.max(0, paintedRight - block.left - block.clientLeft + HERO_CHIP_GAP),\n top: Math.max(0, row.top - block.top - block.clientTop + (row.height - HERO_CHIP_HEIGHT) / 2),\n }\n}","/**\n * Stable git error code → readable copy mapping (ZCode branchSwitcher\n * vocabulary). The host classifies failures onto the codes; this mapper owns\n * the user-facing sentences.\n * @module dsh-git-graph/client/chips/error-copy\n */\n\nimport type { Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport type { GitError } from '../../../core/git-graph/protocol.ts'\nimport type { GitGraphKey } from './locales.ts'\n\n/** The blocked-file sentence tail: quoted paths plus the overflow count. */\nfunction pathsText(error: GitError, t: Translate<GitGraphKey>): string {\n const listed = (error.paths ?? []).map(path => `\"${path}\"`).join('、')\n const more = error.moreFiles !== undefined && error.moreFiles > 0\n ? ` ${t('error.moreFiles', { count: error.moreFiles })}`\n : ''\n return `${listed}${more}`\n}\n\n/**\n * One readable message for a git operation rejection.\n * @param error - the classified git error.\n * @param t - the git-graph namespace translate seat.\n * @returns the sentence for the error's code.\n */\nexport function errorMessage(error: GitError, t: Translate<GitGraphKey>): string {\n switch (error.code) {\n case 'conflicts-present':\n return t('error.conflictsPresent')\n case 'operation-in-progress':\n return t('error.operationInProgress')\n case 'branch-in-other-worktree':\n return t('error.branchInOtherWorktree')\n case 'tracked-changes-would-be-overwritten':\n return t('error.trackedOverwrite', { paths: pathsText(error, t) })\n case 'untracked-changes-would-be-overwritten':\n return t('error.untrackedOverwrite', { paths: pathsText(error, t) })\n case 'target-branch-not-found':\n return t('error.targetBranchNotFound')\n case 'invalid-branch-name':\n return t('error.invalidBranchName')\n case 'branch-already-exists':\n return t('error.branchAlreadyExists')\n case 'workspace-unknown':\n return t('error.workspaceUnknown')\n default:\n return t('error.requestFailed', { error: error.message })\n }\n}\n","/**\n * The branch picker popover: searchable local branch list with the current\n * branch checked, the dirtiness line, switch feedback (success/error), and\n * the footer flows (create branch / Git graph).\n * @module dsh-git-graph/client/chips/BranchPopover\n */\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { IconBranchOutline16, IconCheckOutline14, IconSearchOutline16 } from '../../ui-icons.ts'\nimport type { Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport type { BranchesView, SwitchResult } from '../../../core/git-graph/protocol.ts'\nimport type { GitGraphKey } from './locales.ts'\nimport { errorMessage } from './error-copy.ts'\nimport { cx, Backdrop } from './chip.tsx'\nimport css from './git-graph.module.css'\n\n/** Props of the branch picker popover. */\nexport interface BranchPopoverProps {\n view: BranchesView\n /** Workspace-level switch verb; resolves to a stable git error on rejection. */\n onSwitch: (branch: string) => Promise<SwitchResult>\n /** Fired after a successful switch (the owner refetches its status). */\n onSwitched: () => void\n /** Open the create-branch dialog. */\n onCreate: () => void\n /** Open the Git graph panel. */\n onGraph: () => void\n /** Close the popover (backdrop / after a successful switch). */\n onClose: () => void\n t: Translate<GitGraphKey>\n /** Open downward from the official hero row (the default opens upward from the dock row). */\n hero?: boolean\n}\n\n/** How long the success notice stays before the popover closes itself. */\nconst SUCCESS_DISMISS_MS = 900\n/** The prepared-worktree notice carries an instruction, so it stays longer. */\nconst WORKTREE_READY_DISMISS_MS = 6_000\n\n/**\n * The branch picker popover.\n * @param props - see {@link BranchPopoverProps}.\n */\nexport function BranchPopover({ view, onSwitch, onSwitched, onCreate, onGraph, onClose, t, hero = false }: BranchPopoverProps) {\n const [query, setQuery] = useState('')\n const [pending, setPending] = useState<string | null>(null)\n const [error, setError] = useState<string | null>(null)\n const [success, setSuccess] = useState<string | null>(null)\n const dismissTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined)\n // Tooltip state for long branch names: first hover needs a 500ms dwell,\n // once shown, switching items shows immediately; leaving resets the dwell.\n const [tipReadyName, setTipReadyName] = useState<string | null>(null)\n const [tipActive, setTipActive] = useState(false)\n const [tipDir, setTipDir] = useState<'up' | 'down'>('up')\n const tipTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined)\n\n useEffect(() => () => {\n if (dismissTimer.current !== undefined) clearTimeout(dismissTimer.current)\n if (tipTimer.current !== undefined) clearTimeout(tipTimer.current)\n }, [])\n\n const filtered = useMemo(() => {\n const needle = query.trim().toLowerCase()\n if (needle === '') return view.branches\n return view.branches.filter(branch => branch.name.toLowerCase().includes(needle))\n }, [view.branches, query])\n\n const switchTo = (branch: string): void => {\n if (pending !== null) return\n setPending(branch)\n setError(null)\n setSuccess(null)\n void onSwitch(branch).then((result) => {\n if (result.ok) {\n onSwitched()\n // Two honest outcomes: the conversation now runs in the branch's\n // worktree, or the worktree was prepared and the user picks it in the\n // workspace selector. Saying \"switched\" in the second case would be a\n // lie the user would act on, in the wrong directory.\n setSuccess(result.opened\n ? t('toast.switchSuccess', { branchName: result.branch })\n : t('toast.worktreeReady', { branchName: result.branch }))\n // The prepared-worktree notice explains where to go next, so it stays\n // long enough to read instead of flashing for the switch animation.\n dismissTimer.current = setTimeout(onClose, result.opened ? SUCCESS_DISMISS_MS : WORKTREE_READY_DISMISS_MS)\n return\n }\n setError(errorMessage(result.error, t))\n }).finally(() => { setPending(null) })\n }\n\n return (\n <>\n <Backdrop onClose={onClose} />\n <div className={cx(css.popover, hero && css.popoverHero)} role=\"listbox\" aria-label={t('branch.search')} data-gitgraph-popover data-dsh-plugin=\"git-graph\">\n <div className={css.searchBox}>\n <IconSearchOutline16 size={14} />\n <input\n className={css.searchInput}\n value={query}\n onChange={(event) => { setQuery(event.target.value) }}\n placeholder={t('branch.search')}\n autoFocus\n />\n </div>\n {view.dirtyFiles > 0\n && <div className={css.dirty}>{t('branch.dirty', { count: view.dirtyFiles })}</div>}\n <div\n className={css.list}\n onMouseLeave={() => {\n // Leaving the whole list resets the instant-handoff state, so\n // moving between items keeps the bubble immediate while leaving\n // the popover re-arms the dwell threshold.\n if (tipTimer.current !== undefined) {\n clearTimeout(tipTimer.current)\n tipTimer.current = undefined\n }\n setTipActive(false)\n setTipReadyName(null)\n }}\n >\n {filtered.length === 0\n ? <div className={css.empty}>{t('branch.empty')}</div>\n : filtered.map(branch => (\n <button\n type=\"button\"\n key={branch.name}\n className={cx(css.item, branch.current && css.itemActive)}\n onClick={() => { switchTo(branch.name) }}\n role=\"option\"\n aria-selected={branch.current}\n title={branch.current ? t('branch.currentHint') : branch.name}\n data-tip={branch.name.length > 18 ? branch.name : ''}\n data-tip-ready={branch.name === tipReadyName ? 'true' : ''}\n aria-label={branch.name}\n data-tip-dir={tipDir}\n onMouseEnter={(event) => {\n if (tipTimer.current !== undefined) clearTimeout(tipTimer.current)\n // Viewport-aware flip: near the top of the scroll list the\n // bubble would be clipped above — flip it below instead.\n const list = event.currentTarget.parentElement\n if (list !== null) {\n const itemTop = event.currentTarget.getBoundingClientRect().top\n const listTop = list.getBoundingClientRect().top\n setTipDir(itemTop - listTop < 56 ? 'down' : 'up')\n }\n if (tipActive) {\n setTipReadyName(branch.name)\n } else {\n tipTimer.current = setTimeout(() => {\n setTipActive(true)\n setTipReadyName(branch.name)\n }, 500)\n }\n }}\n // A branch already checked out in the main worktree cannot\n // have a lane of its own (git refuses two checkouts of one\n // branch), so the row that would only ever fail is disabled\n // with the reason instead of surfacing git's English fatal.\n disabled={pending !== null || branch.current}\n >\n <IconBranchOutline16 size={14} />\n <span className={css.itemText}>\n <span className={css.itemName} title={branch.name}>{branch.name}</span>\n </span>\n {branch.current && <IconCheckOutline14 className={css.check} size={14} />}\n </button>\n ))}\n </div>\n {success !== null && <div className={cx(css.notice, css.noticeOk)}>{success}</div>}\n {error !== null && <div className={css.notice}>{error}</div>}\n <div className={css.footer}>\n <button type=\"button\" className={css.footerItem} onClick={onCreate}>\n <IconBranchOutline16 size={14} />\n {t('branch.create')}\n </button>\n <button type=\"button\" className={css.footerItem} onClick={onGraph}>\n <IconBranchOutline16 size={14} />\n {t('branch.graph')}\n </button>\n </div>\n </div>\n </>\n )\n}\n","/** Pure Git argv construction, branch-name validation, and failure classification. */\nimport type { GitError } from './protocol.ts'\n\nexport const topLevelArgv = (): string[] => ['rev-parse', '--show-toplevel']\nexport const headBranchArgv = (): string[] => ['rev-parse', '--abbrev-ref', 'HEAD']\nexport const headShortArgv = (): string[] => ['rev-parse', '--short', 'HEAD']\nexport const statusPorcelainArgv = (): string[] => ['status', '--porcelain']\nexport const unmergedArgv = (): string[] => ['diff', '--name-only', '--diff-filter=U']\nexport const worktreeListArgv = (): string[] => ['worktree', 'list', '--porcelain']\nexport const verifyRefArgv = (branch: string): string[] => ['rev-parse', '--verify', '--quiet', `refs/heads/${branch}`]\nexport const checkRefFormatArgv = (branch: string): string[] => ['check-ref-format', '--branch', branch]\nexport const switchArgv = (branch: string): string[] => ['switch', '--no-guess', '--', branch]\nexport const createBranchArgv = (branch: string): string[] => ['switch', '--no-guess', '-c', branch]\nexport const forEachRefArgv = (): string[] => ['for-each-ref', 'refs/heads', '--format=%(refname:short)%00%(HEAD)%00%(objectname)']\nexport const diffArgv = (path?: string, staged = false): string[] => ['diff', ...(staged ? ['--cached'] : []), '--', ...(path ? [path] : [])]\nexport const stageArgv = (path?: string): string[] => ['add', '--', ...(path ? [path] : ['.'])]\nexport const unstageArgv = (path?: string): string[] => ['restore', '--staged', '--', ...(path ? [path] : ['.'])]\nexport const commitArgv = (message: string): string[] => ['commit', '-m', message]\nexport const graphLogArgv = (limit: number, skip = 0): string[] => [\n 'log', '--branches', '--tags', '--remotes', '--topo-order', '--parents',\n '--format=%H%x00%P%x00%an%x00%at%x00%D%x00%s%x1e', '--max-count', String(limit), '--skip', String(skip),\n]\nexport const commitDiffArgv = (oid: string): string[] => [\n 'show', '--format=fuller', '--stat', '--patch', '--no-ext-diff', '--no-color', '--find-renames', oid, '--',\n]\nexport const verifyCommitArgv = (oid: string): string[] => ['cat-file', '-e', `${oid}^{commit}`]\nexport const verifyTrackedPathArgv = (path: string): string[] => ['ls-files', '--error-unmatch', '--', path]\nexport const discardFileArgv = (path: string): string[] => ['restore', '--source=HEAD', '--staged', '--worktree', '--', path]\nexport const revertArgv = (oid: string): string[] => ['revert', '--no-edit', '--', oid]\nexport const cherryPickArgv = (oid: string): string[] => ['cherry-pick', '--', oid]\n\nexport const OPERATION_MARKERS = [\n 'MERGE_HEAD', 'CHERRY_PICK_HEAD', 'REVERT_HEAD', 'BISECT_LOG',\n 'rebase-merge', 'rebase-apply', 'sequencer',\n] as const\nexport const gitPathArgv = (marker: string): string[] => ['rev-parse', '--git-path', marker]\nexport const operationMarkersArgv = (): string[] => ['rev-parse', ...OPERATION_MARKERS.flatMap((marker) => ['--git-path', marker])]\n\nexport function validateObjectId(value: string): string | null {\n if (value === '') return 'empty'\n if (value.startsWith('-')) return 'leading-dash'\n if (!/^[0-9a-f]{7,64}$/i.test(value)) return 'not-hex-object-id'\n return null\n}\n\nexport function validateRepoRelativePath(value: string): string | null {\n if (value === '') return 'empty'\n if (value.includes('\\0')) return 'nul-byte'\n if (/^[\\\\/]/.test(value) || /^[a-z]:[\\\\/]/i.test(value)) return 'absolute-path'\n const components = value.replace(/\\\\/g, '/').split('/')\n if (components.some((part) => part === '' || part === '.' || part === '..')) return 'unsafe-component'\n return null\n}\n\nexport function validateBranchName(name: string): string | null {\n if (name === '') return 'empty'\n if (name === '@') return 'at-sign'\n if (name.startsWith('-')) return 'leading-dash'\n if (name.endsWith('.')) return 'trailing-dot'\n if (name.endsWith('.lock')) return 'lock-suffix'\n if (name.includes('..')) return 'double-dot'\n if (name.includes('@{')) return 'at-brace'\n if (name.includes('//')) return 'double-slash'\n if (/[ ~^:?*[\\\\]/.test(name)) return 'forbidden-char'\n for (const character of name) {\n const code = character.codePointAt(0)\n if (code !== undefined && (code < 0x20 || code === 0x7f)) return 'control-char'\n }\n for (const component of name.split('/')) {\n if (component === '') return 'empty-component'\n if (component.startsWith('.')) return 'dot-component'\n if (component.endsWith('.lock')) return 'lock-suffix'\n }\n return name.length > 1000 ? 'too-long' : null\n}\n\nexport function extractBlockedPaths(stderr: string, header: RegExp): { paths: string[]; moreFiles: number } {\n const firstNewline = stderr.indexOf('\\n', stderr.search(header))\n if (firstNewline < 0) return { paths: [], moreFiles: 0 }\n const paths: string[] = []\n for (const line of stderr.slice(firstNewline + 1).split('\\n')) {\n if (!line.startsWith('\\t')) break\n const trimmed = line.trim()\n if (trimmed === '') break\n const quoted = /^\"(.+)\"$/.exec(trimmed)\n paths.push((quoted?.[1] ?? trimmed).replace(/\\\\(.)/g, '$1'))\n }\n return { paths: paths.slice(0, 2), moreFiles: Math.max(0, paths.length - 2) }\n}\n\nexport function classifySwitchFailure(stderr: string): GitError {\n const first = stderr.trim().split('\\n')[0] ?? ''\n const patterns = [\n { code: 'tracked-changes-would-be-overwritten' as const, header: /Your local changes to the following files would be overwritten by (?:checkout|merge)/ },\n { code: 'untracked-changes-would-be-overwritten' as const, header: /The following untracked working tree files would be overwritten by checkout/ },\n ]\n for (const pattern of patterns) {\n if (pattern.header.test(stderr)) return { code: pattern.code, message: first, ...extractBlockedPaths(stderr, pattern.header) }\n }\n if (/did not match any file\\(s\\) known to git|invalid reference|not a valid branch/.test(stderr)) {\n return { code: 'target-branch-not-found', message: first }\n }\n if (/already used by worktree|is already checked out at/.test(stderr)) {\n return { code: 'branch-in-other-worktree', message: first }\n }\n return { code: 'internal', message: first || 'git switch failed' }\n}\n","/**\n * The create-branch dialog: name input with the pure validation mirror for\n * instant feedback, the host `check-ref-format` gate as the authority, and\n * readable rejection copy.\n *\n * On success it does not just vanish. Creating the branch also creates its\n * worktree, and whether this conversation now runs in it depends on the shell\n * (see the branch picker's `switchBranch`): the result view states which of the\n * two happened, because a dialog that closes silently would leave the user\n * believing they are on the new branch while they are still in the old\n * checkout.\n * @module dsh-git-graph/client/chips/CreateBranchDialog\n */\n\nimport { useState } from 'react'\nimport type { Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport { validateBranchName } from '../../../core/git-graph/commands.ts'\nimport type { SwitchResult } from '../../../core/git-graph/protocol.ts'\nimport type { GitGraphKey } from './locales.ts'\nimport { errorMessage } from './error-copy.ts'\nimport { Backdrop } from './chip.tsx'\nimport css from './git-graph.module.css'\n\n/** Props of the create-branch dialog. */\nexport interface CreateBranchDialogProps {\n /** The host create verb (`git switch --no-guess -c <name>` from HEAD). */\n onCreate: (name: string) => Promise<SwitchResult>\n /** Close the dialog (cancel or after a successful create). */\n onClose: () => void\n t: Translate<GitGraphKey>\n}\n\n/**\n * The create-and-switch dialog.\n * @param props - see {@link CreateBranchDialogProps}.\n */\nexport function CreateBranchDialog({ onCreate, onClose, t }: CreateBranchDialogProps) {\n const [name, setName] = useState('')\n const [pending, setPending] = useState(false)\n const [error, setError] = useState<string | null>(null)\n /** The created branch and whether this conversation moved onto its worktree. */\n const [created, setCreated] = useState<{ branch: string; opened: boolean } | null>(null)\n\n const submit = (): void => {\n if (pending) return\n const trimmed = name.trim()\n if (validateBranchName(trimmed) !== null) {\n setError(t('error.invalidBranchName'))\n return\n }\n setPending(true)\n setError(null)\n void onCreate(trimmed).then((result) => {\n if (result.ok) {\n setCreated({ branch: result.branch, opened: result.opened })\n return\n }\n setError(errorMessage(result.error, t))\n }).finally(() => { setPending(false) })\n }\n\n return (\n <>\n <Backdrop onClose={onClose} />\n <div className={css.dialog} role=\"dialog\" aria-label={t('branch.createDialog.title')} data-gitgraph-dialog data-dsh-plugin=\"git-graph\">\n <h3 className={css.dialogTitle}>{t('branch.createDialog.title')}</h3>\n <p className={css.dialogDescription}>{t('branch.createDialog.description')}</p>\n {created !== null && (\n <div className={css.dialogNotice} role=\"status\">\n {created.opened\n ? t('toast.switchSuccess', { branchName: created.branch })\n : t('toast.worktreeReady', { branchName: created.branch })}\n </div>\n )}\n {created === null && <div className={css.dialogField}>\n <label className={css.dialogLabel} htmlFor=\"git-graph-branch-name\">\n {t('branch.createDialog.nameLabel')}\n </label>\n <input\n id=\"git-graph-branch-name\"\n className={css.dialogInput}\n value={name}\n onChange={(event) => { setName(event.target.value) }}\n placeholder={t('branch.createDialog.placeholder')}\n onKeyDown={(event) => { if (event.key === 'Enter') submit() }}\n autoFocus\n />\n </div>}\n {error !== null && <div className={css.dialogError}>{error}</div>}\n <div className={css.dialogActions}>\n <button type=\"button\" className={css.dialogButton} onClick={onClose}>\n {created === null ? t('branch.createDialog.cancel') : t('branch.createDialog.done')}\n </button>\n {created === null && (\n <button\n type=\"button\"\n className={css.dialogButtonPrimary}\n onClick={submit}\n disabled={pending || name.trim() === ''}\n >\n {t('branch.createDialog.confirm')}\n </button>\n )}\n </div>\n </div>\n </>\n )\n}\n","/** Pure wire contract and parsers for the workspace Git surface. */\nexport interface RepoStatus {\n root: string\n branch: string\n head: string\n dirtyFiles: number\n untrackedFiles: number\n conflicts: number\n operationInProgress: boolean\n}\n\nexport interface BranchRow { name: string; current: boolean }\n\nexport interface BranchesView {\n root: string\n branch: string\n branches: BranchRow[]\n dirtyFiles: number\n untrackedFiles: number\n conflicts: number\n operationInProgress: boolean\n}\n\nexport type GitErrorCode =\n | 'conflicts-present'\n | 'operation-in-progress'\n | 'branch-in-other-worktree'\n | 'tracked-changes-would-be-overwritten'\n | 'untracked-changes-would-be-overwritten'\n | 'target-branch-not-found'\n | 'invalid-branch-name'\n | 'branch-already-exists'\n | 'workspace-unknown'\n | 'invalid-object-id'\n | 'commit-not-found'\n | 'invalid-file-path'\n | 'file-not-tracked'\n | 'dirty-worktree'\n | 'nothing-to-apply'\n | 'apply-conflict'\n | 'internal'\n\nexport interface GitError {\n code: GitErrorCode\n message: string\n paths?: string[]\n moreFiles?: number\n}\n\nexport type SwitchResult =\n | {\n ok: true\n branch: string\n /**\n * Whether the conversation now runs in the branch's new worktree. A lane is\n * a DSH workspace, and the move is the platform's own workspace navigation\n * (`uiWorkspace.openWorkspace`, the call behind the shell's picker): a build\n * that cannot reach that service reports the worktree as ready and says\n * where to pick it up rather than claiming the user is already in it.\n */\n opened: boolean\n }\n | { ok: false; error: GitError }\n\nexport interface GraphCommit {\n oid: string\n parents: string[]\n subject: string\n author: string\n authorTime: number\n refs: string[]\n}\n\nexport interface GraphView {\n root: string\n branch: string\n commits: GraphCommit[]\n hasMore: boolean\n nextCursor?: string\n}\n\nexport interface CommitDiffView {\n root: string\n oid: string\n diff: string\n}\n\nexport type GitMutationKind = 'discard' | 'revert' | 'cherry-pick'\nexport interface GitMutationResult { changed: true; kind: GitMutationKind; head: string }\nexport type GitMutationResponse = { ok: true; value: GitMutationResult } | { ok: false; error: GitError }\n\nexport type GitEnvelope<T> = { ok: true; value: T } | { ok: false; error: GitError }\n\nexport function parseBranches(stdout: string): BranchRow[] {\n return stdout.split('\\n').flatMap((line) => {\n if (line === '') return []\n const [name, marker, oid] = line.split('\\0')\n return name === undefined || marker === undefined || oid === undefined\n ? []\n : [{ name, current: marker === '*' }]\n }).sort((left, right) => left.name.localeCompare(right.name))\n}\n\nexport function parsePorcelain(stdout: string): Pick<RepoStatus, 'dirtyFiles' | 'untrackedFiles' | 'conflicts'> {\n const result = { dirtyFiles: 0, untrackedFiles: 0, conflicts: 0 }\n const conflicts = new Set(['DD', 'AU', 'UD', 'UA', 'DU', 'AA', 'UU'])\n for (const line of stdout.split('\\n')) {\n if (line === '') continue\n const code = line.slice(0, 2)\n if (conflicts.has(code)) result.conflicts += 1\n else if (code === '??') result.untrackedFiles += 1\n else result.dirtyFiles += 1\n }\n return result\n}\n\nexport function parseWorktreeBranches(stdout: string): string[] {\n const found = new Set<string>()\n for (const line of stdout.split('\\n')) {\n const prefix = 'branch refs/heads/'\n if (line.startsWith(prefix)) {\n const name = line.slice(prefix.length).trim()\n if (name !== '') found.add(name)\n }\n }\n return [...found]\n}\n\nexport function parseDecoration(value: string): string[] {\n return value === '' ? [] : value.split(', ').map((ref) => ref === 'HEAD' ? '' : ref.replace(/^HEAD -> /, '').replace(/^tag: /, '').trim()).filter(Boolean)\n}\n\nexport function parseGraph(stdout: string): GraphCommit[] {\n const commits: GraphCommit[] = []\n for (const raw of stdout.split('\\u001e')) {\n const [oid, parents = '', author = '', authorTime = '0', refs = '', subject = ''] = raw.replace(/^\\n/, '').split('\\0')\n if (!oid) continue\n commits.push({\n oid,\n parents: parents === '' ? [] : parents.split(' '),\n author,\n authorTime: Number(authorTime),\n refs: parseDecoration(refs),\n subject,\n })\n }\n return commits\n}\n\nexport type LaneGlyph = 'node' | 'pass' | 'merge' | 'gap'\nexport interface GraphRowLanes { columns: LaneGlyph[]; nodeColumn: number; merge: boolean }\n\nexport function computeLanes(commits: readonly GraphCommit[]): GraphRowLanes[] {\n const futureParents = new Set(commits.flatMap((commit) => commit.parents))\n const pending: Array<string | null> = []\n return commits.map((commit) => {\n let nodeColumn = pending.indexOf(commit.oid)\n if (nodeColumn < 0) {\n pending.push(commit.oid)\n nodeColumn = pending.length - 1\n }\n const columns = pending.map<LaneGlyph>((oid, column) => {\n if (column === nodeColumn) return commit.parents.length > 1 ? 'merge' : 'node'\n if (oid === null || oid === commit.oid) return 'gap'\n return futureParents.has(oid) ? 'pass' : 'gap'\n })\n const parents = commit.parents.filter((parent) => futureParents.has(parent))\n for (let i = 0; i < pending.length; i += 1) {\n if (i !== nodeColumn && pending[i] === commit.oid) pending[i] = null\n }\n pending[nodeColumn] = parents[0] ?? null\n for (const parent of parents.slice(1)) if (!pending.includes(parent)) pending.push(parent)\n while (pending.at(-1) === null) pending.pop()\n return { columns, nodeColumn, merge: commit.parents.length > 1 }\n })\n}\n\nconst ERROR_CODES = new Set<GitErrorCode>([\n 'conflicts-present', 'operation-in-progress', 'branch-in-other-worktree',\n 'tracked-changes-would-be-overwritten', 'untracked-changes-would-be-overwritten',\n 'target-branch-not-found', 'invalid-branch-name', 'branch-already-exists',\n 'workspace-unknown', 'invalid-object-id', 'commit-not-found', 'invalid-file-path',\n 'file-not-tracked', 'dirty-worktree', 'nothing-to-apply', 'apply-conflict', 'internal',\n])\nconst record = (value: unknown): Record<string, unknown> | undefined =>\n typeof value === 'object' && value !== null ? value as Record<string, unknown> : undefined\n\nexport function isRepoStatus(value: unknown): value is RepoStatus {\n const row = record(value)\n return row !== undefined && typeof row.root === 'string' && typeof row.branch === 'string'\n && typeof row.head === 'string' && typeof row.dirtyFiles === 'number'\n && typeof row.untrackedFiles === 'number' && typeof row.conflicts === 'number'\n && typeof row.operationInProgress === 'boolean'\n}\n\nexport function isBranchesView(value: unknown): value is BranchesView {\n const row = record(value)\n return row !== undefined && typeof row.root === 'string' && typeof row.branch === 'string'\n && Array.isArray(row.branches) && row.branches.every((item) => {\n const branch = record(item)\n return branch !== undefined && typeof branch.name === 'string' && typeof branch.current === 'boolean'\n }) && typeof row.dirtyFiles === 'number' && typeof row.untrackedFiles === 'number'\n && typeof row.conflicts === 'number' && typeof row.operationInProgress === 'boolean'\n}\n\nexport function isGraphView(value: unknown): value is GraphView {\n const row = record(value)\n return row !== undefined && typeof row.root === 'string' && typeof row.branch === 'string'\n && typeof row.hasMore === 'boolean' && (row.nextCursor === undefined || typeof row.nextCursor === 'string')\n && Array.isArray(row.commits) && row.commits.every((item) => {\n const commit = record(item)\n return commit !== undefined && typeof commit.oid === 'string'\n && Array.isArray(commit.parents) && commit.parents.every((parent) => typeof parent === 'string')\n && typeof commit.subject === 'string' && typeof commit.author === 'string'\n && typeof commit.authorTime === 'number' && Array.isArray(commit.refs)\n && commit.refs.every((ref) => typeof ref === 'string')\n })\n}\n\nexport function isCommitDiffView(value: unknown): value is CommitDiffView {\n const row = record(value)\n return row !== undefined && typeof row.root === 'string' && typeof row.oid === 'string' && typeof row.diff === 'string'\n}\n\nexport function isGitMutationResult(value: unknown): value is GitMutationResult {\n const row = record(value)\n return row !== undefined && row.changed === true\n && (row.kind === 'discard' || row.kind === 'revert' || row.kind === 'cherry-pick')\n && typeof row.head === 'string'\n}\n\nexport function isGitError(value: unknown): value is GitError {\n const error = record(value)\n return error !== undefined && typeof error.code === 'string' && ERROR_CODES.has(error.code as GitErrorCode)\n && typeof error.message === 'string'\n && (error.paths === undefined || (Array.isArray(error.paths) && error.paths.every((path) => typeof path === 'string')))\n && (error.moreFiles === undefined || typeof error.moreFiles === 'number')\n}\n","/**\n * The Git graph panel: a read-only commit list with lane topology, ref\n * labels, and paging (git log --branches --tags --remotes --topo-order).\n * @module dsh-git-graph/client/graph/GraphDialog\n */\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { IconCloseOutline16 } from '../../ui-icons.ts'\nimport type { Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport { computeLanes, type GraphView, type LaneGlyph } from '../../../core/git-graph/protocol.ts'\nimport type { GitGraphKey } from './locales.ts'\nimport { Backdrop, cx } from './chip.tsx'\nimport css from './git-graph.module.css'\n\n/** Initial page size of the graph fetch. */\nconst INITIAL_LIMIT = 200\n/** Page size of one \"load more\" step. */\nconst PAGE_STEP = 100\n\n/** Lane glyph → the rendered monospace character. */\nfunction glyphChar(glyph: LaneGlyph): string {\n switch (glyph) {\n case 'node': return '●'\n case 'merge': return '◆'\n case 'pass': return '│'\n case 'gap': return ' '\n }\n}\n\n/** Seconds per time bucket (relative timestamps). */\nconst MINUTE = 60\nconst HOUR = 60 * MINUTE\nconst DAY = 24 * HOUR\n\n/**\n * A compact relative timestamp (GitHub-style): \"just now\", \"5 分钟前\",\n * falling back to a plain date past 30 days.\n * @param epochSeconds - commit author time in seconds.\n * @param t - the dictionary.\n * @returns the display string.\n */\nfunction formatTime(epochSeconds: number, t: Translate<GitGraphKey>): string {\n const elapsed = Math.max(0, Math.floor(Date.now() / 1000) - epochSeconds)\n if (elapsed < MINUTE) return t('graph.time.justNow')\n if (elapsed < HOUR) return t('graph.time.minutesAgo', { count: Math.floor(elapsed / MINUTE) })\n if (elapsed < DAY) return t('graph.time.hoursAgo', { count: Math.floor(elapsed / HOUR) })\n if (elapsed < 30 * DAY) return t('graph.time.daysAgo', { count: Math.floor(elapsed / DAY) })\n const date = new Date(epochSeconds * 1000)\n const pad = (n: number): string => String(n).padStart(2, '0')\n return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`\n}\n\n/** Props of the Git graph dialog. */\nexport interface GraphDialogProps {\n /** The graph verb (host-side read-only log). */\n graph: (limit?: number) => Promise<GraphView | null>\n onClose: () => void\n t: Translate<GitGraphKey>\n}\n\n/**\n * The Git graph panel.\n * @param props - see {@link GraphDialogProps}.\n */\nexport function GraphDialog({ graph, onClose, t }: GraphDialogProps) {\n const [view, setView] = useState<GraphView | null>(null)\n const [error, setError] = useState<string | null>(null)\n const [loading, setLoading] = useState(true)\n\n // Out-of-order guard: two rapid loads (load-more while a fetch is in\n // flight) must never let the older, smaller page overwrite the newer one.\n const requestSeq = useRef(0)\n const load = useCallback((limit: number): void => {\n const seq = requestSeq.current + 1\n requestSeq.current = seq\n setLoading(true)\n void graph(limit).then((next) => {\n if (seq !== requestSeq.current) return\n setView(next)\n setError(next === null ? t('error.internal') : null)\n }).catch(() => {\n if (seq !== requestSeq.current) return\n setError(t('error.internal'))\n }).finally(() => {\n if (seq === requestSeq.current) setLoading(false)\n })\n }, [graph, t])\n\n // Initial load exactly once on mount. The parent passes a fresh inline\n // `graph` arrow on every BranchChip render, which changes `load`'s identity\n // and would re-run the initial fetch (resetting any loaded pages) if it\n // were a dependency — so read the latest `load` through a ref instead.\n const loadRef = useRef(load)\n loadRef.current = load\n useEffect(() => { loadRef.current(INITIAL_LIMIT) }, [])\n\n const lanes = useMemo(() => {\n if (view === null) return []\n return computeLanes(view.commits)\n }, [view])\n\n const laneCount = useMemo(() => {\n let count = 0\n for (const row of lanes) count = Math.max(count, row.columns.length)\n return count\n }, [lanes])\n\n return (\n <>\n <Backdrop onClose={onClose} />\n <div className={css.dialog} role=\"dialog\" aria-label={t('graph.title')} data-gitgraph-dialog data-dsh-plugin=\"git-graph\" data-dsh-part=\"dialog\">\n <div className={css.dialogHeader}>\n <div className={css.dialogHeading}>\n <h3 className={css.dialogTitle}>{t('graph.title')}</h3>\n <div className={css.graphSubtitle}>\n {t('graph.subtitle', {\n count: view === null ? 0 : view.commits.length,\n lanes: laneCount,\n })}\n </div>\n </div>\n <button\n type=\"button\"\n className={css.dialogClose}\n onClick={onClose}\n aria-label={t('graph.close')}\n >\n <IconCloseOutline16 size={16} />\n </button>\n </div>\n <div className={css.graphBody}>\n {loading && view === null\n ? <div className={css.graphEmpty}>{t('graph.loading')}</div>\n : error !== null\n ? <div className={css.graphEmpty}>{error}</div>\n : view === null || view.commits.length === 0\n ? <div className={css.graphEmpty}>{t('graph.empty')}</div>\n : view.commits.map((commit, index) => {\n const row = lanes[index]\n if (row === undefined) return null\n return (\n <div className={css.graphRow} key={commit.oid}>\n <span className={css.graphLanes} aria-hidden=\"true\" data-gitgraph-lanes>\n {row.columns.map((glyph, column) => (\n <span\n key={column}\n data-gitgraph-glyph={glyph === 'pass' ? 'lane' : glyph}\n className={cx(\n css.graphLaneCell,\n glyph === 'node' && css.graphLaneNode,\n glyph === 'merge' && css.graphLaneMerge,\n glyph === 'pass' && css.graphLanePass,\n )}\n >\n {glyphChar(glyph)}\n </span>\n ))}\n </span>\n <span className={css.graphOid} title={commit.oid}>{commit.oid.slice(0, 7)}</span>\n <span className={css.graphMain}>\n <span className={css.graphSubject} title={commit.subject}>{commit.subject}</span>\n <span className={css.graphMeta}>\n {commit.refs.map(ref => (\n <span\n key={ref}\n title={ref}\n data-gitgraph-ref\n data-gitgraph-ref-current={ref === view.branch || undefined}\n data-gitgraph-current-branch={ref === view.branch || undefined}\n className={cx(css.graphRef, ref === view.branch && css.graphRefCurrent)}\n >\n {ref}\n </span>\n ))}\n <span>{commit.author}</span>\n <span className={css.graphMetaSep}>·</span>\n <span>{formatTime(commit.authorTime, t)}</span>\n </span>\n </span>\n </div>\n )\n })}\n </div>\n {view !== null && view.hasMore && (\n <button\n type=\"button\"\n className={css.graphMore}\n onClick={() => { load(view.commits.length + PAGE_STEP) }}\n >\n {t('graph.loadMore')}\n </button>\n )}\n </div>\n </>\n )\n}\n","/**\n * The git branch selector chip for blank sessions. It mounts in the selector\n * context hole (`conversation.input.selector.context`) beside the official\n * workspace selector. On shells that dropped the hole, it uses\n * `conversation.input.dock` only for the blank-session hero phase and lifts\n * itself into the official hero chip row. It is intentionally absent while a\n * session is running.\n * @module dsh-git-graph/client/chips/BranchChip\n */\n\nimport { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'\nimport { IconBranchOutline16 } from '../../ui-icons.ts'\nimport type { PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots'\n// DSH 0.2 declares the seat's standard hooks by module augmentation\n// (`GlobalStandardProps`, an empty merge target in ui-slots); the session one\n// contributes `useSessions`. Type-only: the value comes from the seat props.\nimport type {} from '@deepseek-ai/dsh-client-ui-session/client'\nimport type { BranchesView, GraphView, RepoStatus, SwitchResult } from '../../../core/git-graph/protocol.ts'\nimport type { GitGraphKey } from './locales.ts'\nimport { Chip, cx } from './chip.tsx'\nimport { heroPlacementIn, heroRowFor, shouldProbeInFlow } from './hero-seat.ts'\nimport { BranchPopover } from './branch-popover.tsx'\nimport { CreateBranchDialog } from './create-branch-dialog.tsx'\nimport { GraphDialog } from './graph-dialog.tsx'\nimport css from './git-graph.module.css'\n\n/**\n * The verb face the conversation position module injects into the chip.\n *\n * Both branch verbs are the lane path: choosing an existing branch or naming a\n * new one creates/attaches its worktree and moves this conversation onto it.\n * That move rides the `uiWorkspace` client service, never a seat prop — the\n * `conversation.input.dock` seat is rendered with `{ session, input }` only.\n */\nexport interface GitGraphInjected {\n repoStatus: (sessionId: string | undefined) => Promise<RepoStatus | null>\n branches: (sessionId: string | undefined) => Promise<BranchesView | null>\n switchBranch: (sessionId: string | undefined, branch: string) => Promise<SwitchResult>\n createBranch: (sessionId: string | undefined, branch: string) => Promise<SwitchResult>\n graph: (sessionId: string | undefined, limit?: number) => Promise<GraphView | null>\n subscribeChanges: (sessionId: string | undefined, onChange: () => void) => () => void\n}\n\n/**\n * Full props of the branch chip: the official dock seat's runtime share + the\n * session identity injected by the seat (`inject(sessionId)`) + the git-graph\n * inject face + the locale seat. 0.2 has no selector-context seat, so the chip\n * lives in `conversation.input.dock` only.\n */\nexport type BranchChipProps =\n PropsRuntime<'conversation.input.dock'>\n & { sessionId?: string }\n & GitGraphInjected\n & { t: import('@deepseek-ai/dsh-client-ui-slots').Translate<GitGraphKey> }\n\n/** Minimum gap between window-focus git refetches (ms). */\nexport const FOCUS_REFRESH_MIN_MS = 5_000\n\nconst SKIN_CENTER_BODY_ATTR = 'data-dsh-skin-center'\nconst DARK_THEME_BODY_ATTR = 'data-ds-dark-theme'\nconst DSH_BODY_ATTR_PREFIX = 'data-dsh-'\n\n/** Whether a body attribute belongs to an applied skin rather than the skin center shell. */\nfunction hasAppliedSkinBodyAttr(name: string): boolean {\n return name.startsWith(DSH_BODY_ATTR_PREFIX) && name !== SKIN_CENTER_BODY_ATTR\n}\n\n/** Whether the page is using the unskinned stock light theme. */\nfunction readStockLightTheme(): boolean {\n if (typeof document === 'undefined') return false\n const body = document.body\n if (!body.hasAttribute(SKIN_CENTER_BODY_ATTR) || body.hasAttribute(DARK_THEME_BODY_ATTR)) return false\n return !body.getAttributeNames().some(hasAppliedSkinBodyAttr)\n}\n\n/** Track stock-light theme changes from body attributes. */\nfunction useStockLightTheme(): boolean {\n const [stockLightTheme, setStockLightTheme] = useState(readStockLightTheme)\n\n useEffect(() => {\n const update = (): void => { setStockLightTheme(readStockLightTheme()) }\n update()\n if (typeof document === 'undefined' || typeof MutationObserver !== 'function') return undefined\n const observer = new MutationObserver(update)\n observer.observe(document.body, { attributes: true })\n return () => { observer.disconnect() }\n }, [])\n\n return stockLightTheme\n}\n\n/**\n * The right edge of the rightmost painted descendant of `root`, excluding\n * `root` itself. The hero row's direct children can be display:contents\n * slot outlets, so the visible chip boundary must be found by walking.\n */\nfunction paintedRight(root: Element): number | null {\n let right: number | null = null\n const visit = (node: Element): void => {\n if (node !== root) {\n const rect = node.getBoundingClientRect()\n if (rect.width > 0 && rect.height > 0) {\n right = right === null ? rect.right : Math.max(right, rect.right)\n }\n }\n for (const child of Array.from(node.children)) visit(child)\n }\n visit(root)\n return right\n}\n\n/**\n * Coalesce repeated placement updates into one animation-frame callback so\n * observer bursts in the same frame measure only once. When the environment\n * provides no requestAnimationFrame, updates run synchronously instead.\n */\nfunction frameScheduler(update: () => void): { schedule: () => void, cancel: () => void } {\n let pending = false\n let frame: number | null = null\n const flush = (): void => {\n pending = false\n frame = null\n update()\n }\n return {\n schedule: () => {\n if (pending) return\n pending = true\n if (typeof requestAnimationFrame === 'function') {\n frame = requestAnimationFrame(flush)\n } else {\n flush()\n }\n },\n cancel: () => {\n pending = false\n if (frame !== null) cancelAnimationFrame(frame)\n frame = null\n },\n }\n}\n\n/**\n * The git branch selector chip for blank sessions.\n * @param props - the composed entry props of whichever seat it mounted in.\n */\nexport function BranchChip(props: BranchChipProps) {\n const sessionId = props.sessionId\n // Blank-session flag from the standard session list. The selector never\n // throws for a missing session id / row, so the hook can stay mounted\n // while the session baseline is still loading.\n const blankSession = props.useSessions((state): boolean => {\n if (sessionId === undefined) return false\n const sessions = state as { byId?: Record<string, { blank?: boolean }> }\n return sessions.byId?.[sessionId]?.blank === true\n })\n // The dock seat carries the composer snapshot. It exposes the selector\n // only in the blank hero phase; the session-maybe context seat uses the\n // session baseline's blank flag instead.\n const dockSeat = 'session' in props && 'input' in props\n const sessionSnapshot = dockSeat ? props.session as unknown as { composerPhase?: string; shellPhase?: string; openState?: string } : undefined\n const phaseBlank = sessionSnapshot?.shellPhase === 'blank' || sessionSnapshot?.composerPhase === 'blank'\n // The 0.2 dock hands the seat only { session, input }: the hero phase is\n // computed on the official side and never reaches the seat, so the session\n // list's blank flag is the reliable show/hide signal. Placement is decided\n // from the DOM instead — when the dock row sits directly under the official\n // hero chip row, the chip is lifted into that row (see the layout effect\n // below); otherwise it stays in flow inside the dock row.\n const phaseHero = phaseBlank && (sessionSnapshot?.openState === 'open' || blankSession === true)\n const showBranchSelector = blankSession === true || phaseHero\n const stockLightTheme = useStockLightTheme()\n\n /** Repository state: undefined = loading, null = not a repository, else the snapshot. */\n const [repo, setRepo] = useState<RepoStatus | null | undefined>(undefined)\n /** Fresh branch list, fetched when the branch popover opens. */\n const [branchesView, setBranchesView] = useState<BranchesView | null>(null)\n const [branchOpen, setBranchOpen] = useState(false)\n const [createOpen, setCreateOpen] = useState(false)\n const [graphOpen, setGraphOpen] = useState(false)\n /** Measured hero-row placement against the anchor's containing block; null while the chip stays in flow. */\n const [heroPlacement, setHeroPlacement] = useState<{ left: number, top: number } | null>(null)\n const anchorRef = useRef<HTMLDivElement | null>(null)\n /** Hero seat: a measured placement means the chip is lifted into the official hero chip row. */\n const heroLift = heroPlacement !== null\n\n // Hero placement: the shell renders the dock as its own row between the\n // official hero chip row and the composer card. The chip belongs *in* that\n // row, immediately after its rightmost painted chip (the agent-preset seat),\n // on the official 28px transparent pill recipe. The row is found\n // structurally and measured after a synchronous probe that takes the anchor\n // out of flow: dropping the dock row resizes the vertically centred composer\n // stack, so only the settled layout is the one to match. Offsets are taken\n // against the anchor's own containing block — the composer stack is static,\n // so stack-relative numbers land hundreds of pixels away from the row.\n useLayoutEffect(() => {\n const anchor = anchorRef.current\n const heroRow = showBranchSelector && anchor !== null ? heroRowFor(anchor) : null\n const outlet = anchor?.parentElement ?? null\n const stack = outlet?.parentElement ?? null\n if (anchor === null || outlet === null || stack === null || heroRow === null) {\n setHeroPlacement(null)\n return\n }\n const measure = (): void => {\n const block = anchor.offsetParent ?? document.documentElement\n const blockRect = block.getBoundingClientRect()\n const rowRect = heroRow.getBoundingClientRect()\n if (blockRect.width <= 0 || rowRect.width <= 0 || rowRect.height <= 0) return\n const right = paintedRight(heroRow)\n if (right === null) return\n const { left, top } = heroPlacementIn(\n { left: blockRect.left, top: blockRect.top, clientLeft: block.clientLeft, clientTop: block.clientTop },\n { top: rowRect.top, height: rowRect.height },\n right,\n )\n setHeroPlacement(previous => {\n if (previous !== null && Math.abs(previous.left - left) < 0.5 && Math.abs(previous.top - top) < 0.5) return previous\n return { left, top }\n })\n }\n const probe = shouldProbeInFlow(anchor)\n if (probe) {\n anchor.style.position = 'absolute'\n anchor.style.visibility = 'hidden'\n }\n measure()\n if (probe) {\n anchor.style.position = ''\n anchor.style.visibility = ''\n }\n const scheduler = frameScheduler(measure)\n const observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(scheduler.schedule)\n for (const target of [anchor, outlet, stack, heroRow]) observer?.observe(target)\n window.addEventListener('resize', scheduler.schedule)\n return () => {\n scheduler.cancel()\n observer?.disconnect()\n window.removeEventListener('resize', scheduler.schedule)\n }\n }, [showBranchSelector, sessionId, repo !== undefined && repo !== null])\n\n const refetch = useCallback(() => {\n let live = true\n props.repoStatus(sessionId)\n .then((status) => { if (live) setRepo(status) })\n .catch(() => { if (live) setRepo(null) })\n return () => { live = false }\n }, [props.repoStatus, sessionId])\n\n // Blank-session data stays fresh through the initial load, host-pushed\n // changes, and a throttled focus refresh. Active sessions never subscribe\n // or start a Git status round trip.\n const lastFocusRefetch = useRef(0)\n useEffect(() => {\n if (!showBranchSelector) return undefined\n return refetch()\n }, [showBranchSelector, refetch])\n useEffect(() => {\n if (!showBranchSelector) return undefined\n const unsubscribe = props.subscribeChanges(sessionId, () => { refetch() })\n const onFocus = (): void => {\n const now = Date.now()\n if (now - lastFocusRefetch.current < FOCUS_REFRESH_MIN_MS) return\n lastFocusRefetch.current = now\n refetch()\n }\n window.addEventListener('focus', onFocus)\n return () => {\n unsubscribe()\n window.removeEventListener('focus', onFocus)\n }\n }, [showBranchSelector, props.subscribeChanges, sessionId, refetch])\n\n const closeCreate = (): void => {\n setCreateOpen(false)\n refetch()\n }\n\n // Fetch the fresh branch list each time the popover opens. All hooks stay\n // above the data-gated returns so the hook order is stable while `repo`\n // settles from undefined (loading) to a snapshot.\n useEffect(() => {\n if (!showBranchSelector || !branchOpen) return undefined\n let live = true\n setBranchesView(null)\n props.branches(sessionId).then((view) => { if (live) setBranchesView(view) })\n return () => { live = false }\n }, [showBranchSelector, branchOpen, props.branches, sessionId])\n\n // Active sessions intentionally expose no branch-selection control. Loading\n // and non-repository workspaces likewise render no dead control.\n if (!showBranchSelector || repo === undefined || repo === null) return null\n\n const openBranchPopover = (): void => {\n setBranchOpen(open => !open)\n }\n\n return (\n <div\n ref={anchorRef}\n data-gitgraph-chip-anchor\n data-dsh-plugin=\"git-graph\"\n data-dsh-part=\"chip\"\n data-gitgraph-stock-light={stockLightTheme || undefined}\n className={cx(css.anchor, heroLift && css.anchorHero)}\n style={heroLift && heroPlacement !== null\n ? { left: `${heroPlacement.left}px`, top: `${heroPlacement.top}px`, paddingLeft: 0 }\n : undefined}\n >\n <div className={css.chipWrap}>\n <Chip\n hero={heroLift}\n icon={<IconBranchOutline16 size={heroLift ? 16 : 14} />}\n label={repo.branch === '' ? props.t('branch.detached') : repo.branch}\n ariaLabel={props.t('chip.aria.branch')}\n open={branchOpen}\n onClick={openBranchPopover}\n />\n {branchOpen && branchesView !== null && (\n <BranchPopover\n hero={heroLift}\n view={branchesView}\n onSwitch={(branch) => props.switchBranch(sessionId, branch)}\n onSwitched={refetch}\n onCreate={() => {\n setBranchOpen(false)\n setCreateOpen(true)\n }}\n onGraph={() => {\n setBranchOpen(false)\n setGraphOpen(true)\n }}\n onClose={() => { setBranchOpen(false) }}\n t={props.t}\n />\n )}\n </div>\n {createOpen && (\n <CreateBranchDialog\n onCreate={(name) => props.createBranch(sessionId, name)}\n onClose={closeCreate}\n t={props.t}\n />\n )}\n {graphOpen && (\n <GraphDialog\n graph={(limit) => props.graph(sessionId, limit)}\n onClose={() => { setGraphOpen(false) }}\n t={props.t}\n />\n )}\n </div>\n )\n}\n","/** `git-graph` namespace dictionaries (branch selector + Git graph copy). */\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n 'branch.search': '搜索分支',\n 'branch.empty': '未找到匹配分支',\n 'branch.detached': '分离 HEAD',\n 'branch.dirty': '未提交的更改:{count} 个文件',\n 'branch.create': '创建并检出新分支…',\n 'branch.graph': 'Git 图谱',\n 'branch.createDialog.title': '创建并检出新分支',\n 'branch.createDialog.description': '基于当前 HEAD 创建一个新的本地分支,并在创建成功后立即切换过去。',\n 'branch.createDialog.nameLabel': '分支名',\n 'branch.createDialog.placeholder': '例如 feature/git-branch-switcher',\n 'branch.createDialog.confirm': '创建并切换',\n 'branch.createDialog.cancel': '取消',\n 'graph.title': 'Git 图谱',\n 'graph.subtitle': '{count} 个提交,{lanes} 条分支线',\n 'graph.loading': '加载中…',\n 'graph.loadMore': '加载更多',\n 'graph.close': '关闭',\n 'graph.empty': '没有提交记录',\n 'graph.time.justNow': '刚刚',\n 'graph.time.minutesAgo': '{count} 分钟前',\n 'graph.time.hoursAgo': '{count} 小时前',\n 'graph.time.daysAgo': '{count} 天前',\n 'error.conflictsPresent': '当前仓库还有未解决的冲突,先处理完再切换分支。',\n 'error.operationInProgress': '当前仓库还有进行中的 Git 操作,完成后再切换分支。',\n 'error.branchInOtherWorktree': '目标分支已在其他目录中被检出,当前目录无法直接切换。',\n 'error.trackedOverwrite': '切换失败,以下已跟踪文件的修改会被目标分支覆盖:{paths}。',\n 'error.untrackedOverwrite': '切换失败,以下未跟踪文件会被目标分支覆盖:{paths}。',\n 'error.moreFiles': '等另外 {count} 个文件',\n 'error.targetBranchNotFound': '目标分支不存在于本地仓库。',\n 'error.invalidBranchName': '分支名无效,请重新输入。',\n 'error.branchAlreadyExists': '分支已存在,请换一个名称。',\n 'error.workspaceUnknown': '当前目录不是已注册的工作区。',\n 'error.internal': '操作失败,请稍后重试。',\n 'error.requestFailed': '分支操作失败:{error}',\n 'toast.switchSuccess': '已为分支 {branchName} 建好目录,并已在其中开始本对话',\n 'toast.worktreeReady': '已为分支 {branchName} 建好目录。它已出现在「选择工作区」里,选中即可在该分支上开始对话。',\n 'branch.currentHint': '该分支已在项目主目录检出,无法同时再为它建一个目录',\n 'branch.createDialog.done': '知道了',\n 'chip.aria.branch': '分支',\n} satisfies Record<string, string>\n\n/** The git-graph namespace key union. */\nexport type GitGraphKey = keyof typeof zh\n\n/** English dictionary, checked complete against the zh key set. */\nexport const en = {\n 'branch.search': 'Search branches',\n 'branch.empty': 'No matching branches',\n 'branch.detached': 'Detached HEAD',\n 'branch.dirty': 'Uncommitted changes: {count} files',\n 'branch.create': 'Create and switch to new branch…',\n 'branch.graph': 'Git Graph',\n 'branch.createDialog.title': 'Create and switch to new branch',\n 'branch.createDialog.description': 'Create a new local branch from the current HEAD and switch to it immediately.',\n 'branch.createDialog.nameLabel': 'Branch name',\n 'branch.createDialog.placeholder': 'For example, feature/git-branch-switcher',\n 'branch.createDialog.confirm': 'Create and switch',\n 'branch.createDialog.cancel': 'Cancel',\n 'graph.title': 'Git Graph',\n 'graph.subtitle': '{count} commits, {lanes} branch lines',\n 'graph.loading': 'Loading…',\n 'graph.loadMore': 'Load more',\n 'graph.close': 'Close',\n 'graph.empty': 'No commits',\n 'graph.time.justNow': 'just now',\n 'graph.time.minutesAgo': '{count} minutes ago',\n 'graph.time.hoursAgo': '{count} hours ago',\n 'graph.time.daysAgo': '{count} days ago',\n 'error.conflictsPresent': 'The repository still has unresolved conflicts. Resolve them before switching branches.',\n 'error.operationInProgress': 'Another Git operation is still in progress. Finish it before switching branches.',\n 'error.branchInOtherWorktree': 'That branch is already checked out in another directory.',\n 'error.trackedOverwrite': 'Switch failed because tracked files would be overwritten: {paths}.',\n 'error.untrackedOverwrite': 'Switch failed because untracked files would be overwritten: {paths}.',\n 'error.moreFiles': '{count} more files',\n 'error.targetBranchNotFound': 'The target branch does not exist locally.',\n 'error.invalidBranchName': 'The branch name is invalid. Enter a different name.',\n 'error.branchAlreadyExists': 'That branch already exists. Choose another name.',\n 'error.workspaceUnknown': 'This directory is not a registered workspace.',\n 'error.internal': 'The operation failed. Please try again.',\n 'error.requestFailed': 'Branch operation failed: {error}',\n 'toast.switchSuccess': 'Directory ready for {branchName}; this conversation now runs in it',\n 'toast.worktreeReady': 'Directory ready for {branchName}. It now appears in the workspace selector — pick it to start a conversation on that branch.',\n 'branch.currentHint': \"This branch is already checked out in the project's main directory, so it cannot have a directory of its own\",\n 'branch.createDialog.done': 'Got it',\n 'chip.aria.branch': 'Branch',\n} satisfies Record<GitGraphKey, string>\n","/**\n * Browser HTTP client for the /worktree/* endpoints. Mirrors the host\n * `WorktreeResponse<T>` envelope so success/error paths land on the same\n * type unions as the manager.\n *\n * Every request carries a deadline: a host stalled on `git fetch` (or a dropped\n * network) has to fail visibly instead of leaving the panel loading forever.\n * Failures also keep their kind, because \"the fence refused this browser\" and\n * \"git failed\" must not render as the same message — or, worse, as the empty\n * state that means \"no registered git repository workspaces\".\n * @module dsh-client-ui-worktree/client/api\n */\n\nimport type {\n BindLaneInput, BindLaneResult,\n CleanupWorktreeInput, CreateLaneInput, CreateLaneResult, CreateWorktreeInput,\n InitWorktreeInput, LaneLookupInput, LaneView, PrCreateInput, PrCreateResult,\n RemoveWorktreeInput, StatusInput, WorktreeIndex, WorktreeResponse, WorktreeStatusIndex, WorktreeView,\n} from '../../../core/worktree/types.ts'\nimport type { WorktreeErrorCode } from '../../../core/worktree/invariant.ts'\nimport type {\n WorkspaceModelPreset, WorkspaceModelView,\n} from '../../../core/worktree/workspace-model.ts'\n\n/** Default API prefix — must match `host/routes.ts`. */\nconst API_PREFIX = '/worktree'\n\n/** Default API prefix for workspace-model endpoints — must match `host/workspace-model-routes.ts`. */\nconst MODEL_API_PREFIX = '/workspace-model'\n\n/** Deadline for a read; `status` runs a network `git fetch` on the host. */\nconst READ_TIMEOUT_MS = 30_000\n/** Deadline for a mutation that only touches the local repository. */\nconst MUTATION_TIMEOUT_MS = 60_000\n/** Deadline for a mutation that pushes to the remote. */\nconst PUSH_TIMEOUT_MS = 180_000\n\n/**\n * How a request failed. `permission` is the host access fence refusing this\n * browser; `domain` is a shaped `ok:false` refusal (git state, busy lane, ...);\n * `transport` is a network/deadline failure; `malformed` is a protocol break.\n */\nexport type WorktreeApiErrorKind = 'transport' | 'permission' | 'domain' | 'malformed'\n\n/**\n * Thrown by the client when the HTTP layer rejects the request before the\n * envelope. The browser side treats these as transient and surfaces them in\n * the toast/error banner instead of crashing the sidebar.\n */\nexport class WorktreeApiError extends Error {\n constructor(\n message: string,\n readonly status: number,\n readonly kind: WorktreeApiErrorKind = 'transport',\n readonly code?: WorktreeErrorCode,\n ) {\n super(message)\n this.name = 'WorktreeApiError'\n }\n}\n\n/** AbortSignal.timeout when the runtime has it; jsdom and old engines do not. */\nfunction deadlineSignal(timeoutMs: number): AbortSignal | undefined {\n const factory = (AbortSignal as unknown as { timeout?: (ms: number) => AbortSignal }).timeout\n if (typeof factory !== 'function') return undefined\n try {\n return factory.call(AbortSignal, timeoutMs)\n } catch {\n return undefined\n }\n}\n\n/** fetch with a deadline; a stalled or aborted request becomes a transport error. */\nasync function request(path: string, init: RequestInit, timeoutMs: number): Promise<Response> {\n try {\n const signal = deadlineSignal(timeoutMs)\n return await fetch(path, signal === undefined ? init : { ...init, signal })\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const aborted = error instanceof Error && (error.name === 'TimeoutError' || error.name === 'AbortError')\n throw new WorktreeApiError(\n aborted ? `the worktree host did not answer within ${String(timeoutMs)}ms` : message,\n 0,\n 'transport',\n )\n }\n}\n\n/** JSON POST helper shared by every mutation. */\nasync function postJson(path: string, body: unknown, timeoutMs: number): Promise<Response> {\n return request(path, {\n method: 'POST',\n credentials: 'same-origin',\n headers: { 'content-type': 'application/json' },\n body: JSON.stringify(body),\n }, timeoutMs)\n}\n\n/** The refusal text of a non-envelope body (`{ error }` / `{ error: { message } }`). */\nfunction refusalMessageOf(body: unknown): string | undefined {\n if (typeof body !== 'object' || body === null) return undefined\n const value = (body as { error?: unknown }).error\n if (typeof value === 'string' && value !== '') return value\n if (typeof value === 'object' && value !== null) {\n const message = (value as { message?: unknown }).message\n if (typeof message === 'string' && message !== '') return message\n }\n return undefined\n}\n\n/** The error kind implied by a bare HTTP status. */\nfunction kindForStatus(status: number): WorktreeApiErrorKind {\n return status === 401 || status === 403 ? 'permission' : 'transport'\n}\n\n/** A readable message for a status that arrived without the envelope. */\nfunction statusMessage(status: number): string {\n return status === 401 || status === 403\n ? 'this browser is not admitted to the worktree host surface'\n : `worktree endpoint failed with HTTP ${String(status)}`\n}\n\n/** Parse a JSON response into the worktree envelope, throwing on transport failure. */\nasync function envelope<T>(response: Response): Promise<WorktreeResponse<T>> {\n let body: unknown\n try {\n body = await response.json()\n } catch {\n if (!response.ok) throw new WorktreeApiError(statusMessage(response.status), response.status, kindForStatus(response.status))\n throw new WorktreeApiError(\n `worktree endpoint returned a non-JSON body (status ${response.status})`,\n response.status,\n 'malformed',\n )\n }\n if (\n typeof body !== 'object' || body === null\n || typeof (body as { ok?: unknown }).ok !== 'boolean'\n ) {\n // A fence refusal answers `{ error: ... }` without the envelope: report it\n // as a refusal rather than as a protocol break.\n if (!response.ok) {\n throw new WorktreeApiError(\n refusalMessageOf(body) ?? statusMessage(response.status),\n response.status,\n kindForStatus(response.status),\n )\n }\n throw new WorktreeApiError('worktree endpoint returned a malformed envelope', response.status, 'malformed')\n }\n return body as WorktreeResponse<T>\n}\n\n/** The stable domain code of an `ok:false` envelope, when it carries one. */\nfunction codeOf(envelope: WorktreeResponse<unknown>): WorktreeErrorCode | undefined {\n const code = (envelope as { code?: unknown }).code\n return typeof code === 'string' ? code as WorktreeErrorCode : undefined\n}\n\n/** Throw a `WorktreeApiError` for any `ok: false` envelope. */\nfunction unwrap<T>(envelope: WorktreeResponse<T>): T {\n if (envelope.ok) return envelope.value\n throw new WorktreeApiError(envelope.message, 0, 'domain', codeOf(envelope))\n}\n\n/** The browser-side worktree API surface. */\nexport class WorktreeApi {\n /**\n * GET /worktree/tree — the registered projects and their lanes.\n * Returns null only for a host half that does not serve the route (404);\n * a refusal, a failure or a broken envelope throws so the panel can say so\n * instead of rendering the \"no git repository workspaces\" empty state.\n */\n async tree(): Promise<WorktreeIndex | null> {\n const response = await request(`${API_PREFIX}/tree`, { credentials: 'same-origin' }, READ_TIMEOUT_MS)\n if (response.status === 404) return null\n return unwrap(await envelope<WorktreeIndex>(response))\n }\n\n /** POST /worktree/create */\n async create(input: CreateWorktreeInput): Promise<WorktreeView> {\n return unwrap(await envelope<WorktreeView>(await postJson(`${API_PREFIX}/create`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /worktree/remove */\n async remove(input: RemoveWorktreeInput): Promise<{ name: string; path: string }> {\n return unwrap(await envelope<{ name: string; path: string }>(await postJson(`${API_PREFIX}/remove`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /worktree/init */\n async init(input: InitWorktreeInput): Promise<{ repoPath: string; initialBranch: string }> {\n return unwrap(await envelope<{ repoPath: string; initialBranch: string }>(await postJson(`${API_PREFIX}/init`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /worktree/pr-create — push the branch and obtain a PR page. */\n async prCreate(input: PrCreateInput): Promise<PrCreateResult> {\n return unwrap(await envelope<PrCreateResult>(await postJson(`${API_PREFIX}/pr-create`, input, PUSH_TIMEOUT_MS)))\n }\n\n /** POST /worktree/status — per-repo PR/merge status. */\n async status(input: StatusInput): Promise<WorktreeStatusIndex> {\n return unwrap(await envelope<WorktreeStatusIndex>(await postJson(`${API_PREFIX}/status`, input, READ_TIMEOUT_MS)))\n }\n\n /** POST /worktree/cleanup — teardown a merged worktree. */\n async cleanup(input: CleanupWorktreeInput): Promise<{ name: string; path: string }> {\n return unwrap(await envelope<{ name: string; path: string }>(await postJson(`${API_PREFIX}/cleanup`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /**\n * POST /worktree/lane — resolve the lane a session (or a path) belongs to.\n * Never throws: this feeds the conversation header chip, which must\n * degrade to \"no chip\" rather than break the header, so a missing route\n * (older host half), a fence refusal, an envelope error and a transport\n * failure all yield `null`.\n */\n async lane(input: LaneLookupInput): Promise<LaneView | null> {\n try {\n const response = await postJson(`${API_PREFIX}/lane`, input, READ_TIMEOUT_MS)\n if (response.status === 404) return null\n const env = await envelope<LaneView | null>(response)\n return env.ok ? env.value : null\n } catch {\n return null\n }\n }\n\n /** POST /worktree/lane/create — create the lane (worktree + workspace).\n * The session itself is created by the platform's own create path. */\n async createLane(input: CreateLaneInput): Promise<CreateLaneResult> {\n return unwrap(await envelope<CreateLaneResult>(await postJson(`${API_PREFIX}/lane/create`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /worktree/lane/bind — attach the created session to its lane and\n * apply the lane's permission preset. */\n async bindLane(input: BindLaneInput): Promise<BindLaneResult> {\n return unwrap(await envelope<BindLaneResult>(await postJson(`${API_PREFIX}/lane/bind`, input, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /worktree/lane/rollback — undo a lane whose session never came up. */\n async rollbackLane(input: { repoPath: string; branch: string }): Promise<void> {\n unwrap(await envelope<{ branch: string }>(await postJson(`${API_PREFIX}/lane/rollback`, input, MUTATION_TIMEOUT_MS)))\n }\n}\n\n/** Browser-side workspace-model API surface (for the /workspace-model/* routes). */\nexport class WorkspaceModelApi {\n /** POST /workspace-model/get — the preset for one workspace path. Reads\n * never block the UI: a missing route (host half not yet loaded), a\n * transport failure, or an errored envelope all yield `preset: undefined`\n * so the caller can still open the editor with empty fields. */\n async get(path: string): Promise<WorkspaceModelView> {\n try {\n const response = await postJson(`${MODEL_API_PREFIX}/get`, { path }, READ_TIMEOUT_MS)\n if (response.status === 404) return { path, preset: undefined }\n const env = await envelope<WorkspaceModelView>(response)\n return env.ok ? env.value : { path, preset: undefined }\n } catch {\n return { path, preset: undefined }\n }\n }\n\n /** GET /workspace-model/list — every preset keyed by workspace path. */\n async list(): Promise<WorkspaceModelView[]> {\n try {\n const response = await request(`${MODEL_API_PREFIX}/list`, { credentials: 'same-origin' }, READ_TIMEOUT_MS)\n const env = await envelope<WorkspaceModelView[]>(response)\n return env.ok ? env.value : []\n } catch {\n return []\n }\n }\n\n /** POST /workspace-model/set — store a preset for one workspace path. */\n async set(path: string, preset: WorkspaceModelPreset): Promise<WorkspaceModelPreset> {\n return unwrap(await envelope<WorkspaceModelPreset>(await postJson(`${MODEL_API_PREFIX}/set`, { path, preset }, MUTATION_TIMEOUT_MS)))\n }\n\n /** POST /workspace-model/clear — remove a workspace's preset. */\n async clear(path: string): Promise<boolean> {\n return unwrap(await envelope<boolean>(await postJson(`${MODEL_API_PREFIX}/clear`, { path }, MUTATION_TIMEOUT_MS)))\n }\n}","/**\n * Recording which conversation a lane belongs to.\n *\n * A lane is a DSH workspace now, so a conversation can arrive on it from\n * anywhere: this plugin's branch picker, the shell's own workspace selector, or\n * a selection restored after a reload. Whenever a conversation's cwd is a lane,\n * the host has to know the pairing, because two things key off it:\n *\n * - the lane's `danger-full-access` preset. A linked worktree keeps its git\n * directory in `<repo>/.git/worktrees/<name>/`, outside the session cwd, so\n * a confined sandbox cannot write the index, objects or refs — the agent\n * could not commit at all;\n * - the teardown guards, which refuse to delete the directory a running\n * conversation works in.\n *\n * The binding is idempotent and attempted once per session per page load: a\n * refusal is reported (the chip warns that the lane may not be able to commit)\n * but never retried in a loop.\n * @module @dsh-cove/dsh-client-ui-worktree/client/lane-binding\n */\n\nimport type { BindLaneInput, BindLaneResult, LaneLookupInput, LaneView } from '../../../core/worktree/types.ts'\n\n/** The outcome of resolving (and, when needed, recording) a session's lane. */\nexport interface LaneBinding {\n /** The lane this session runs in, or null when it runs outside one. */\n lane: LaneView | null\n /** The lane exists but the host refused to record this conversation on it. */\n bindFailed: boolean\n}\n\n/** Resolve the lane a session runs in, recording the pairing on first sight. */\nexport interface LaneBinder {\n /** @param sessionId - the conversation asking; undefined resolves to no lane. */\n bind(sessionId: string | undefined): Promise<LaneBinding>\n}\n\n/**\n * Build a binder over the two calls it needs.\n *\n * They are passed in rather than imported so each surface keeps its own\n * injected face (the header chip receives its lookup; the composer hands its\n * own), and so tests can drive the binder without a network.\n * @param faces - `/worktree/lane` and `/worktree/lane/bind`.\n */\nexport function createLaneBinder(faces: {\n lane: (input: LaneLookupInput) => Promise<LaneView | null>\n bindLane: (input: BindLaneInput) => Promise<BindLaneResult>\n}): LaneBinder {\n const attempted = new Set<string>()\n return {\n bind: async (sessionId) => {\n if (sessionId === undefined) return { lane: null, bindFailed: false }\n let lane: LaneView | null\n try {\n lane = await faces.lane({ sessionId })\n } catch {\n return { lane: null, bindFailed: false }\n }\n if (lane === null || lane.sessionId === sessionId || attempted.has(sessionId)) {\n return { lane, bindFailed: false }\n }\n attempted.add(sessionId)\n try {\n const bound = await faces.bindLane({\n repoPath: lane.repoPath,\n branch: lane.branch ?? lane.name,\n sessionId,\n })\n return { lane: bound.lane ?? lane, bindFailed: false }\n } catch (error) {\n console.warn('[dsh-worktree] could not record this conversation on its lane:', error)\n return { lane, bindFailed: true }\n }\n },\n }\n}","/**\n * \"Choosing a branch means moving onto its lane\": the browser half that turns a\n * branch choice into (1) the branch's worktree on the host, (2) the conversation\n * actually running in it, and (3) the binding the header chip, the teardown\n * guards and the lane's permission preset all key off.\n *\n * Why the lane MUST be a registered DSH workspace\n * The platform accounts a session to a workspace only while the session's cwd\n * equals that workspace's path: `WorkspaceEntity.sessionIds` filters by\n * `sessionPath(id) === record.path` and `attachSession` refuses a cwd that\n * resolves anywhere else (`dsh-workspace`), and `session.create` takes either\n * a workspace id (cwd := the workspace path) or a bare cwd, never both. A blank\n * conversation that no workspace accounts for renders its composer inert\n * (\"choose a workspace to start\"), so a lane session created with a bare\n * `cwd` is a conversation the user cannot type into. Hence one workspace per\n * lane, created with the lane directory as its path; teardown removes it\n * again, so the sidebar only carries lanes that are still alive.\n *\n * Where the move comes from\n * The `conversation.input.dock` seat is rendered with `{ session, input }`\n * only (DSH's ConversationContent calls\n * `renderSlot('conversation.input.dock', { session, input })`), so no seat prop\n * can carry a workspace switch: a prop-based move is dead code that silently\n * degrades to \"the worktree is ready, pick it in the workspace selector\".\n * The platform keeps that call on a client service instead — the shell's own\n * workspace picker performs `uiWorkspace.openWorkspace(workspaceId,\n * migrateDraft)` — so calling the same service is the platform's navigation\n * policy rather than a second implementation of it, and it is reachable from a\n * plugin. It also reuses an existing blank conversation in that workspace\n * instead of piling up a second one.\n *\n * `openWorkspace` reports the conversation it connected through the\n * `beforeOpen` callback, which is the only moment that identity exists on this\n * side. When the callback never fires (a later navigation superseded this one)\n * the session list is polled for the conversation whose cwd is the lane, so the\n * lane still gets its binding.\n *\n * The draft\n * `openWorkspace` moves the *view*, not the composer text: the shell migrates\n * draft text and attachments inside its own `beforeOpen`, and that half is not\n * plugin-reachable (`ctx.conversation.input.for(actx)` needs a retained\n * session scope). A prompt typed before the switch therefore stays in the\n * conversation it was typed in — persisted, and not silently dropped in\n * transit.\n * @module @dsh-cove/dsh-client-ui-worktree/client/lane-open\n */\n\nimport type { BindLaneInput, BindLaneResult, CreateLaneInput, CreateLaneResult } from '../../../core/worktree/types.ts'\n\n/** The platform workspace navigation face (the call behind the shell's own workspace picker). */\nexport interface LaneOpenNavigation {\n /**\n * Connect a workspace and show its conversation.\n * @param workspaceId - the lane's registered workspace.\n * @param beforeOpen - receives the conversation being shown, synchronously.\n */\n openWorkspace?: (workspaceId: string, beforeOpen?: (sessionId: string) => void) => Promise<void>\n}\n\n/** The session-list slice the fallback lookup reads. */\nexport interface LaneOpenSessionList {\n byId?: Record<string, { cwd?: string } | undefined>\n ids?: readonly string[]\n}\n\n/** Everything one branch choice needs, injected so tests drive it without a network. */\nexport interface LaneOpenDeps {\n /** `POST /worktree/lane/create` — the worktree behind the branch. */\n createLane(input: CreateLaneInput): Promise<CreateLaneResult>\n /** `POST /worktree/lane/bind` — record the conversation and apply the lane preset. */\n bindLane(input: BindLaneInput): Promise<BindLaneResult>\n /** Platform navigation; absent on a shell that does not provide the service. */\n navigation?: LaneOpenNavigation | undefined\n /** Current session-list snapshot, used only for the superseded-navigation fallback. */\n listSessions(): LaneOpenSessionList\n /** Bounded-poll knobs for that fallback (test seam). */\n timeoutMs?: number\n pollMs?: number\n /** Warning sink (test seam). */\n warn?(message: string, error: unknown): void\n}\n\n/** One branch choice: the conversation asking, the repo, and the branch. */\nexport interface LaneOpenInput {\n /** The conversation that asked; undefined cannot be moved anywhere. */\n sessionId: string | undefined\n /** Repository root (any directory inside it resolves on the host). */\n repoPath: string\n /** Branch to check out in the lane; created at `base` when it does not exist. */\n branch: string\n /** Base commit-ish for a branch that has to be created. */\n base?: string\n}\n\n/** The outcome of one branch choice, in worktree terms (the picker maps it to its own wire type). */\nexport type LaneOpenResult =\n | {\n ok: true\n /** The lane's branch. */\n branch: string\n /** True only when this conversation now runs in the lane's directory. */\n opened: boolean\n }\n | {\n ok: false\n /** The host's message for the failure. */\n message: string\n }\n\n/** How often the fallback looks for the lane's conversation. */\nconst LANE_SESSION_POLL_MS = 100\n/** How long the fallback waits for the shell to publish that conversation. */\nconst LANE_SESSION_TIMEOUT_MS = 8_000\n\n/**\n * Create (or attach) the branch's lane, move this conversation onto it, and\n * record the binding.\n *\n * The lane is created first and never rolled back here: the worktree is a real\n * place the user asked for, so a navigation that does not happen reports\n * `opened: false` (the picker then says where to find it) instead of discarding\n * the directory. A binding failure is reported and swallowed for the same\n * reason — the conversation is in the lane either way, and the composer's own\n * binder retries the record on its next status read.\n * @param deps - the host calls, the navigation service and the session list.\n * @param input - the conversation, repository and branch.\n * @returns whether the conversation now runs in the lane.\n */\nexport async function openLaneForBranch(deps: LaneOpenDeps, input: LaneOpenInput): Promise<LaneOpenResult> {\n let lane: CreateLaneResult\n try {\n lane = await deps.createLane({\n repoPath: input.repoPath,\n branch: input.branch,\n ...(input.base === undefined ? {} : { base: input.base }),\n })\n } catch (error) {\n return { ok: false, message: error instanceof Error ? error.message : String(error) }\n }\n\n const opened = await moveOntoLane(deps, input.sessionId, lane)\n if (opened === undefined) return { ok: true, branch: lane.branch, opened: false }\n\n try {\n await deps.bindLane({ repoPath: input.repoPath, branch: lane.branch, sessionId: opened })\n } catch (error) {\n deps.warn?.('[dsh-worktree] lane binding failed:', error)\n }\n return { ok: true, branch: lane.branch, opened: true }\n}\n\n/**\n * Show the conversation that runs in `lane`, when the shell can be asked at all.\n * @returns the conversation now in the lane, or undefined when nothing moved.\n */\nasync function moveOntoLane(\n deps: LaneOpenDeps,\n sessionId: string | undefined,\n lane: CreateLaneResult,\n): Promise<string | undefined> {\n // Without a conversation to move, a workspace to connect, or a navigation\n // service to ask there is nothing to do: the caller reports the lane as ready\n // and says where to pick it up.\n if (sessionId === undefined || lane.workspaceId === null) return undefined\n const navigation = deps.navigation\n if (navigation?.openWorkspace === undefined) return undefined\n\n let opened: string | undefined\n try {\n await navigation.openWorkspace(lane.workspaceId, (sessionId) => { opened = sessionId })\n } catch (error) {\n deps.warn?.('[dsh-worktree] could not open a conversation on the lane:', error)\n return undefined\n }\n if (opened !== undefined) return opened\n // Superseded before it reported: the workspace may still have been connected,\n // and the session list is then the only witness of the new conversation.\n return await waitForLaneSession(deps, lane.path)\n}\n\n/**\n * The conversation whose cwd is the lane directory, newest first, within the\n * bounded wait. Used only when the navigation did not name it.\n * @param deps - session list and the poll knobs.\n * @param lanePath - the lane directory the conversation must run in.\n * @returns the session id, or undefined when none appeared in time.\n */\nexport async function waitForLaneSession(deps: LaneOpenDeps, lanePath: string): Promise<string | undefined> {\n const pollMs = deps.pollMs ?? LANE_SESSION_POLL_MS\n const timeoutMs = deps.timeoutMs ?? LANE_SESSION_TIMEOUT_MS\n const deadline = Date.now() + timeoutMs\n for (;;) {\n const snapshot = deps.listSessions()\n const byId = snapshot.byId ?? {}\n const ids = snapshot.ids ?? Object.keys(byId)\n // Newest first: the shell's freshly connected draft is the one we want, and\n // a lane with several conversations must not hand back an old one.\n for (const id of [...ids].reverse()) {\n if (byId[id]?.cwd === lanePath) return id\n }\n if (Date.now() >= deadline) return undefined\n await new Promise((resolve) => { setTimeout(resolve, pollMs) })\n }\n}","/** Git branch surface adapter owned by the conversation position module. */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { ISessions } from '@deepseek-ai/dsh-api-session-controller/client'\nimport type { PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots'\n\n// Locale registration remains inside the conversation position owner while\n// preserving the legacy git-graph dictionary contract.\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n 'web-all-git-graph': GitGraphKey\n }\n}\nimport type { GitError, SwitchResult } from '../../core/git-graph/protocol.ts'\nimport { GitApi, subscribeChanges } from './git-graph/api.ts'\nimport { BranchChip, type GitGraphInjected } from './git-graph/branch-chip.tsx'\nimport { en, zh, type GitGraphKey } from './git-graph/locales.ts'\nimport { WorktreeApi } from './worktree/api.ts'\nimport { createLaneBinder } from './worktree/lane-binding.ts'\nimport { openLaneForBranch, type LaneOpenNavigation } from './worktree/lane-open.ts'\n\nconst NO_WORKSPACE: GitError = { code: 'workspace-unknown', message: 'session has no workspace' }\n\ninterface SessionSnapshot {\n byId?: Record<string, { cwd?: string }>\n ids?: string[]\n}\n\n/** Take an optional client service; a missing or throwing lookup yields undefined. */\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try {\n return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)(name, false) as T | undefined\n } catch {\n return undefined\n }\n}\n\nfunction createFace(ctx: ClientContext) {\n const translate = ctx.locale.bind('web-all-git-graph')\n const api = new GitApi()\n const worktrees = new WorktreeApi()\n const sessions = ctx.get('sessions') as unknown as ISessions\n // 0.2 的 sessions.list 不再有 current:会话身份一律由 dock 槽的 inject(sessionId)\n // 注入(见 selector-context.tsx),这里只按传入的 sessionId 取 cwd。\n const snapshot = (): SessionSnapshot => sessions.list.getSnapshot() as unknown as SessionSnapshot\n const cwd = (sessionId?: string): string | undefined => {\n return sessionId === undefined ? undefined : snapshot().byId?.[sessionId]?.cwd\n }\n const path = (sessionId?: string): { ok: true; value: string } | { ok: false; error: GitError } => {\n const value = cwd(sessionId)\n return value ? { ok: true, value } : { ok: false, error: NO_WORKSPACE }\n }\n\n /**\n * Branch selection IS worktree creation.\n *\n * Picking an existing local branch attaches it, naming a new one cuts it:\n * either way the branch gets its own directory, registered as a DSH workspace\n * (which the platform requires: a session is only accounted to a workspace\n * while its cwd equals that workspace's path, and a blank conversation no\n * workspace accounts for renders its composer inert), and this conversation is\n * moved onto it through the platform's own workspace navigation\n * (`uiWorkspace.openWorkspace` — the call behind the shell's workspace picker,\n * resolved per attempt instead of frozen at registration).\n *\n * The chip's dock seat carries `{ session, input }` only, so no seat prop can\n * do the moving: reading a workspace switch from one was a silent no-op that\n * left every branch choice in the old checkout.\n *\n * When the shell provides no navigation service the lane is still created and\n * reported as ready, and the user picks it in the workspace selector; nothing\n * is bound in that case, because a conversation that still runs in the old\n * checkout must not be recorded as the lane's own.\n */\n const laneForBranch = async (\n sessionId: string | undefined,\n branch: string,\n base?: string,\n ): Promise<SwitchResult> => {\n const resolved = path(sessionId)\n if (!resolved.ok) return { ok: false, error: resolved.error }\n const result = await openLaneForBranch({\n createLane: (input) => worktrees.createLane(input),\n bindLane: (input) => worktrees.bindLane(input),\n navigation: optionalService<LaneOpenNavigation>(ctx, 'uiWorkspace'),\n listSessions: () => snapshot(),\n }, {\n sessionId,\n repoPath: resolved.value,\n branch,\n ...(base === undefined ? {} : { base }),\n })\n return result.ok\n ? result\n : { ok: false, error: { code: 'internal', message: result.message } }\n }\n\n /**\n * Lane binding runs off the same read the chip already performs. The composer\n * chip is the only surface that exists while a conversation is still blank —\n * which is exactly when a conversation has just landed on a lane (this picker\n * moved it, the user picked the lane in the workspace selector, or a selection\n * was restored) — and the header chip cannot see it yet. Binding is idempotent\n * and attempted once per session, so this stays a cheap, best-effort side\n * effect of a status read rather than a second source of truth.\n */\n const binder = createLaneBinder({ lane: (input) => worktrees.lane(input), bindLane: (input) => worktrees.bindLane(input) })\n const injected: GitGraphInjected = {\n repoStatus: async (sessionId) => {\n const resolved = path(sessionId)\n if (!resolved.ok) return null\n void binder.bind(sessionId)\n const result = await api.status(resolved.value)\n return result.ok ? result.value : null\n },\n branches: async (sessionId) => {\n const resolved = path(sessionId)\n if (!resolved.ok) return null\n const result = await api.branches(resolved.value)\n return result.ok ? result.value : null\n },\n switchBranch: (sessionId, branch) => laneForBranch(sessionId, branch),\n createBranch: (sessionId, branch) => laneForBranch(sessionId, branch),\n graph: async (sessionId, limit) => {\n const resolved = path(sessionId)\n if (!resolved.ok) return null\n const result = await api.graph(resolved.value, limit)\n return result.ok ? result.value : null\n },\n subscribeChanges: (sessionId, onChange) => {\n const resolved = path(sessionId)\n return resolved.ok ? subscribeChanges(resolved.value, onChange) : () => {}\n },\n }\n const t: import('@deepseek-ai/dsh-client-ui-slots').Translate<GitGraphKey> =\n (key, params?: Record<string, unknown>): string => translate(key, params)\n return function GitBranchFace(props: PropsRuntime<'conversation.input.dock'>) {\n return (\n <BranchChip\n {...props}\n {...injected}\n t={t}\n />\n )\n }\n}\n\nexport function createGitBranchFace(ctx: ClientContext) {\n return createFace(ctx)\n}\n\nexport { en as gitGraphEn, zh as gitGraphZh }\nexport type { GitGraphKey }\n","/**\n * 输入区 dock 的 git 分支 chip(DSH 0.2)。\n *\n * 0.2 不再有 `conversation.input.selector.context` 槽(0.1 时代的首选席位),\n * 官方 `conversation.input.dock` 是 session 作用域、由 `inject(sessionId)` 注入\n * 会话身份;因此这里直接注册到 dock 并携带 sessionId(旧的 2 秒回退等待已移除,\n * 分支 chip 不再延迟出现、也不再依赖已删除的 `sessions.list.current`)。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-conversation/client'\nimport { createGitBranchFace } from './git-branch.tsx'\n\n/** 装配输入区分支 chip(dock 席位)。 */\nexport function mountSelectorContext(ctx: ClientContext): () => void {\n const face = createGitBranchFace(ctx)\n return ctx.slots.inject('conversation.input.dock', () => ctx.slots.register({\n name: 'conversation.input.dock',\n id: 'web-all-git-branch-chip',\n order: 100,\n inject: (sessionId: string) => ({ sessionId }),\n }, face))\n}","/**\n * Semantic attribute values for the worktree capability. Its surface is the\n * conversation header chip and the popover that chip opens: there is no\n * sidebar entry and no management panel anymore.\n */\nexport const WORKTREE_PLUGIN = 'worktree'\n/** Conversation header chip showing the session's branch (lane or main checkout). */\nexport const WORKTREE_PART_LANE_CHIP = 'lane-chip'\n/** Popover opened from the lane chip: the lane's facts plus its teardown actions. */\nexport const WORKTREE_PART_LANE_MENU = 'lane-menu'","/**\n * Worktree lifecycle stage derivation (pure, shared with tests): given the\n * disk truth and the latest status probe, classify a linked worktree into\n * one of the four panel stages that drive its primary action.\n *\n * Also the single place that turns a client/host failure into localized copy:\n * the panel and the dialogs must never print the host's English `message`\n * verbatim in a Chinese UI, and a fence refusal must not read like a git bug.\n * @module @dsh-cove/dsh-client-ui-worktree/client/lifecycle\n */\n\nimport type { Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport type { WorktreeStatusView, WorktreeView } from '../../../core/worktree/types.ts'\nimport type { WorktreeErrorCode } from '../../../core/worktree/invariant.ts'\nimport { WorktreeApiError } from './api.ts'\nimport type { WorktreeKey } from './locales.ts'\n\n/** Lifecycle stage of one linked worktree — drives the row's primary action. */\nexport type WorktreeStage = 'missing' | 'developing' | 'in-review' | 'merged'\n\nexport function stageOfWorktree(\n worktree: Pick<WorktreeView, 'exists' | 'branch'>,\n status: WorktreeStatusView | undefined,\n): WorktreeStage {\n if (!worktree.exists) return 'missing'\n if (status?.merged === true) return 'merged'\n // A pushed branch with a recorded PR url is under review; anything else\n // is still developing (submit-PR is the next step).\n if (status?.prUrl != null && status.prUrl !== '') return 'in-review'\n return 'developing'\n}\n\n/** The localized key for one domain error code. */\nfunction codeKeyOf(code: WorktreeErrorCode | undefined): WorktreeKey {\n switch (code) {\n case 'worktree-exists': return 'error.worktreeExists'\n case 'worktree-not-found': return 'error.worktreeNotFound'\n case 'not-a-repository': return 'error.notARepository'\n case 'workspace-unknown': return 'error.workspaceUnknown'\n case 'invalid-branch': return 'error.invalidBranch'\n case 'worktree-busy': return 'error.worktreeBusy'\n case 'not-merged': return 'error.notMerged'\n case 'session-create-failed':\n case 'session-unknown': return 'error.laneSession'\n case 'lane-mismatch': return 'error.laneMismatch'\n default: return 'error.gitFailed'\n }\n}\n\n/**\n * The localized key explaining one failure, or null when the error carries no\n * known shape (the caller then shows its own message).\n */\nexport function worktreeErrorKeyOf(error: unknown): WorktreeKey | null {\n if (error instanceof WorktreeApiError) {\n if (error.kind === 'permission') return 'error.permissionDenied'\n if (error.kind === 'malformed' || error.kind === 'transport') return 'error.unreachable'\n return codeKeyOf(error.code)\n }\n return null\n}\n\n/**\n * Render one failure as user-facing copy.\n * @param error - any thrown value from the worktree API.\n * @param t - the `worktree` namespace translator.\n * @returns localized text, with the raw detail attached for the git/unreachable cases.\n */\nexport function worktreeErrorMessage(error: unknown, t: Translate<WorktreeKey>): string {\n const detail = error instanceof Error ? error.message : String(error)\n const key = worktreeErrorKeyOf(error)\n if (key === null) return detail\n if (key === 'error.gitFailed' || key === 'error.unreachable') return t(key, { error: detail })\n return t(key)\n}","/**\n * Create-PR dialog: pick the PR target base branch (dropdown over the\n * repo's candidate branches, defaulted to the last status probe), push the\n * worktree branch, and obtain the PR page. Calls `api.prCreate` on confirm;\n * on success the dialog shows the resulting PR url with an open button\n * (window.open in a user gesture). The parent reloads the worktree index and\n * the PR status as soon as the push/PR landed (`onSettled`), so closing the\n * dialog with Escape while the request is in flight cannot lose the result;\n * closes are refused while the request is running.\n */\n\nimport { useState } from 'react'\nimport type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots'\nimport { Button, Modal } from '@deepseek-ai/dsh-client-ui-primitives'\nimport { WorktreeApi } from '../api.ts'\nimport type { PrCreateResult } from '../../../../core/worktree/types.ts'\nimport { worktreeErrorMessage } from '../lifecycle.ts'\nimport styles from '../worktree.module.css'\n\nexport function PrCreateDialog(props: {\n repoPath: string\n name: string\n /** Candidate base branches (local first, then origin/*). */\n branches: string[]\n /** Default PR target base branch (from the last status probe). */\n defaultBaseRef: string\n api: WorktreeApi\n onClose: () => void\n onCreated: () => void\n /** The host state changed: refresh the panel without closing this dialog. */\n onSettled: () => void\n t: PropsLocale<'worktree'>['t']\n}): JSX.Element {\n const { repoPath, name, branches, defaultBaseRef, api, onClose, onCreated, onSettled, t } = props\n const [baseRef, setBaseRef] = useState<string>(() => (\n defaultBaseRef !== '' && (branches.length === 0 || branches.includes(defaultBaseRef))\n ? defaultBaseRef\n : (branches[0] ?? defaultBaseRef)\n ))\n const [busy, setBusy] = useState<boolean>(false)\n const [error, setError] = useState<unknown>(null)\n const [result, setResult] = useState<PrCreateResult | null>(null)\n\n /** Closing mid-flight would drop a PR that the host already created. */\n const guardClose = (): void => { if (!busy) onClose() }\n\n const submit = async () => {\n if (busy) return\n setBusy(true)\n setError(null)\n try {\n const created = await api.prCreate({\n repoPath,\n name,\n ...(baseRef.trim() !== '' ? { baseRef: baseRef.trim() } : {}),\n })\n setResult(created)\n // Refresh the panel now, not when the user dismisses the result view.\n onSettled()\n setBusy(false)\n } catch (err) {\n setError(err)\n setBusy(false)\n }\n }\n\n return (\n <Modal\n open\n onClose={guardClose}\n closeLabel={t('dialog.close')}\n title={t('worktree.prTitle', { name })}\n description={t('worktree.prDescription')}\n footer={result === null ? (\n <>\n <Button variant=\"outline\" disabled={busy} onClick={guardClose}>{t('dialog.cancel')}</Button>\n <Button variant=\"primary\" disabled={busy} onClick={() => { void submit() }}>\n {busy ? t('dialog.confirm') : t('worktree.prConfirm')}\n </Button>\n </>\n ) : (\n <>\n <Button variant=\"outline\" onClick={() => { onCreated(); onClose() }}>{t('dialog.confirm')}</Button>\n <Button variant=\"primary\" onClick={() => { window.open(result.prUrl, '_blank', 'noopener,noreferrer'); onCreated(); onClose() }}>\n {t('worktree.prOpen')}\n </Button>\n </>\n )}\n >\n {result === null ? (\n <div className={styles.dialogBody}>\n <label className={styles.field}>\n <span className={styles.fieldLabel}>{t('worktree.prBase')}</span>\n <select\n className={styles.fieldInput}\n value={baseRef}\n onChange={(event) => { setBaseRef(event.target.value); setError(null) }}\n disabled={busy}\n >\n {branches.length === 0 && <option value={baseRef}>{baseRef}</option>}\n {branches.map((name) => <option key={name} value={name}>{name}</option>)}\n </select>\n </label>\n {error !== null && <div className={styles.dialogError} role=\"alert\">{worktreeErrorMessage(error, t)}</div>}\n </div>\n ) : (\n <div className={styles.dialogBody}>\n <div className={styles.successText} role=\"status\">{t('worktree.prSuccess')}</div>\n <div className={styles.prUrl}>{result.prUrl}</div>\n </div>\n )}\n </Modal>\n )\n}","/**\n * Delete dialog: one action replaced the two that users could not tell apart\n * (\"clean up worktree\" vs \"remove worktree\"). The choice they actually make is\n * whether the local branch goes too, so that is the checkbox:\n *\n * - unchecked -> host `remove`: deletes the directory and its record, keeps\n * the local branch, so a directory can be made for it again later;\n * - checked -> host `cleanup`: also deletes the local branch, which the\n * host only allows once the branch is merged (or when forced).\n *\n * The force checkbox is not a mode the user has to understand up front: it\n * appears exactly when the host will demand it — uncommitted changes anywhere,\n * or deleting an unmerged branch — and says what it costs. A merged, clean\n * directory therefore deletes in one click with no choices at all.\n * @module @dsh-cove/dsh-client-ui-worktree/client/dialogs/delete\n */\n\nimport { useState } from 'react'\nimport type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots'\nimport { Button, Modal } from '@deepseek-ai/dsh-client-ui-primitives'\nimport { WorktreeApi } from '../api.ts'\nimport { worktreeErrorMessage } from '../lifecycle.ts'\nimport styles from '../worktree.module.css'\n\nexport function DeleteWorktreeDialog(props: {\n repoPath: string\n name: string\n /** Whether the branch is merged: decides the branch checkbox's default. */\n merged: boolean\n /** Uncommitted files in the directory: the host needs force to drop them. */\n dirty: number\n api: WorktreeApi\n /** The asking conversation, when this directory is its own: the host accepts\n * that conversation's teardown instead of reporting it as a busy session\n * (deleting archives a directory's conversation either way). */\n sessionId?: string\n onClose: () => void\n onRemoved: () => void\n t: PropsLocale<'worktree'>['t']\n}): JSX.Element {\n const { repoPath, name, merged, dirty, api, sessionId, onClose, onRemoved, t } = props\n // Default to finishing the branch off when the host already calls it merged;\n // otherwise keep the branch, because deleting an unmerged branch needs force.\n const [deleteBranch, setDeleteBranch] = useState<boolean>(merged)\n const [force, setForce] = useState<boolean>(false)\n const [busy, setBusy] = useState<boolean>(false)\n const [error, setError] = useState<unknown>(null)\n\n /** The host refuses these cases without force; ask instead of failing. */\n const needsForce = dirty > 0 || (deleteBranch && !merged)\n const effectiveForce = needsForce && force\n\n /** Closing mid-flight would hide a delete that is already running. */\n const guardClose = (): void => { if (!busy) onClose() }\n\n const submit = async () => {\n if (busy) return\n setBusy(true)\n setError(null)\n try {\n const input = { repoPath, name, force: effectiveForce, ...(sessionId === undefined ? {} : { sessionId }) }\n if (deleteBranch) await api.cleanup(input)\n else await api.remove(input)\n onRemoved()\n } catch (err) {\n setError(err)\n setBusy(false)\n }\n }\n\n return (\n <Modal\n open\n onClose={guardClose}\n closeLabel={t('dialog.close')}\n title={t('worktree.deleteTitle', { name })}\n description={t('worktree.deleteDescription')}\n footer={(\n <>\n <Button variant=\"outline\" disabled={busy} onClick={guardClose}>{t('dialog.cancel')}</Button>\n <Button variant=\"primary\" disabled={busy} onClick={() => { void submit() }}>\n {busy ? t('dialog.confirm') : t('worktree.deleteConfirm')}\n </Button>\n </>\n )}\n >\n <div className={styles.dialogBody}>\n <label className={styles.checkboxRow}>\n <input\n type=\"checkbox\"\n checked={deleteBranch}\n onChange={(event) => { setDeleteBranch(event.target.checked); setError(null) }}\n disabled={busy}\n />\n <span>{t('worktree.deleteBranch')}</span>\n </label>\n <div className={styles.dialogHint}>{t('worktree.deleteBranchHint')}</div>\n {needsForce && (\n <label className={styles.checkboxRow}>\n <input type=\"checkbox\" checked={force} onChange={(event) => { setForce(event.target.checked) }} disabled={busy} />\n <span>{t('worktree.deleteForce')}</span>\n </label>\n )}\n {needsForce && force && (\n <div className={styles.dialogError} role=\"alert\">{t('worktree.deleteForceWarning')}</div>\n )}\n {error !== null && <div className={styles.dialogError} role=\"alert\">{worktreeErrorMessage(error, t)}</div>}\n </div>\n </Modal>\n )\n}","/**\n * Lane popover: what the conversation's branch directory is, and the three\n * things a user can do about it.\n *\n * This is where the lifecycle lives now that there is no management panel: the\n * branch is chosen once, when the conversation starts (the composer picker), and\n * everything that happens *after* the branch exists — re-check, submit a PR,\n * delete the directory — hangs off the header chip that names that branch. One\n * control creates, one surface finishes.\n *\n * There used to be two teardown actions (\"clean up worktree\" / \"remove\n * worktree\"); users could not tell them apart, so they are one `Delete…` whose\n * dialog asks the only question that matters (does the local branch go too).\n *\n * Two safety rules are enforced here rather than discovered by failing:\n * - a running conversation may not tear its own directory down (the directory\n * would vanish under the running turn), so the action is disabled with the\n * reason shown;\n * - deleting the directory this conversation sits on archives the conversation\n * (the host does that for every directory session), and the menu says so\n * before the click instead of surprising the user afterwards.\n * @module @dsh-cove/dsh-client-ui-worktree/client/lane-menu\n */\n\nimport { useEffect, useRef, useState } from 'react'\nimport type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots'\nimport type { LaneView } from '../../../core/worktree/types.ts'\nimport { WorktreeApi } from './api.ts'\nimport { PrCreateDialog } from './dialogs/PrCreateDialog.tsx'\nimport { DeleteWorktreeDialog } from './dialogs/DeleteWorktreeDialog.tsx'\nimport { worktreeErrorMessage } from './lifecycle.ts'\nimport { WORKTREE_PART_LANE_MENU, WORKTREE_PLUGIN } from './semantic.ts'\nimport css from '../conversation.module.css'\n\n/** Which dialog is open, if any. */\ntype LaneDialog = 'pr' | 'delete'\n\n/** A base-branch choice set for the PR dialog, read from the repo status. */\ninterface PrChoices {\n branches: string[]\n baseBranch: string\n}\n\nexport interface LaneMenuProps {\n /** The conversation the chip belongs to (the teardown caller identity). */\n sessionId: string\n /** The lane this conversation runs on. */\n lane: LaneView\n /** Worktree API surface (the menu owns its dialogs). */\n api: WorktreeApi\n /** Whether the conversation is running a turn right now. */\n running: boolean\n /**\n * Whether the lane records this conversation as its own session. Only then do\n * the teardown actions archive the conversation the user is looking at.\n */\n ownLane: boolean\n onClose: () => void\n /** The lane changed: the chip re-reads it. */\n onChanged: () => void\n t: PropsLocale<'worktree'>['t']\n}\n\n/**\n * The lane popover.\n * @param props - see {@link LaneMenuProps}.\n */\nexport function LaneMenu(props: LaneMenuProps): JSX.Element {\n const { sessionId, lane, api, running, ownLane, onClose, onChanged, t } = props\n const [busy, setBusy] = useState<'refresh' | 'pr' | 'delete' | null>(null)\n const [error, setError] = useState<unknown>(null)\n const [dialog, setDialog] = useState<LaneDialog | null>(null)\n const [prChoices, setPrChoices] = useState<PrChoices | null>(null)\n /** Directory facts re-read for the delete dialog; see openDelete. */\n const [deleteFacts, setDeleteFacts] = useState<{ merged: boolean; dirty: number } | null>(null)\n const rootRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n // While one of the dialogs is showing, the menu must not dismiss itself on\n // the next click: the dialog is portaled to the body (so every click in it\n // is \"outside\" this popover) and it owns its own dismissal. Without this the\n // dialog unmounted mid-flight and a PR or teardown the host had already\n // started vanished from the screen.\n if (dialog !== null) return undefined\n const onPointerDown = (event: MouseEvent): void => {\n if (rootRef.current !== null && !rootRef.current.contains(event.target as Node)) onClose()\n }\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') onClose()\n }\n document.addEventListener('mousedown', onPointerDown)\n document.addEventListener('keydown', onKeyDown)\n return () => {\n document.removeEventListener('mousedown', onPointerDown)\n document.removeEventListener('keydown', onKeyDown)\n }\n }, [dialog, onClose])\n\n /** Probe the lane again, remote included; the chip re-reads the answer. */\n const refresh = async (): Promise<void> => {\n if (busy !== null) return\n setBusy('refresh')\n setError(null)\n try {\n await api.status({ repoPath: lane.repoPath, name: lane.name, force: true })\n onChanged()\n } catch (err) {\n setError(err)\n } finally {\n setBusy(null)\n }\n }\n\n /**\n * The PR dialog needs the repository's candidate branches, which only the\n * status probe knows. Fetching them here keeps the dialog's contract (a base\n * dropdown over real branches) instead of opening it with a guessed base.\n */\n const openPrDialog = async (): Promise<void> => {\n if (busy !== null) return\n setBusy('pr')\n setError(null)\n try {\n const status = await api.status({ repoPath: lane.repoPath })\n setPrChoices({ branches: status.branches, baseBranch: status.baseBranch })\n setDialog('pr')\n } catch (err) {\n setError(err)\n } finally {\n setBusy(null)\n }\n }\n\n /**\n * The delete dialog owns the branch-checkbox decision; the guard is here.\n *\n * The facts are re-read first. `dirty` is a local git call the host makes on\n * every lane read, and the chip's snapshot can predate work the user has just\n * left in the directory — which is exactly what decides whether the host will\n * demand the force choice. Reading that decision from the snapshot hid the\n * force row the host needs, so the dialog lied about being one click.\n */\n const openDelete = async (): Promise<void> => {\n if (running || busy !== null) return\n setBusy('delete')\n setError(null)\n try {\n const fresh = await api.lane({ path: lane.path })\n setDeleteFacts({ merged: fresh?.merged ?? lane.merged, dirty: fresh?.dirty ?? lane.dirty ?? 0 })\n setDialog('delete')\n } catch (err) {\n setError(err)\n } finally {\n setBusy(null)\n }\n }\n\n /** The lane is gone (or changed) after a teardown: leave and re-read. */\n const afterTeardown = (): void => {\n setDialog(null)\n setDeleteFacts(null)\n onChanged()\n onClose()\n }\n\n return (\n <div\n ref={rootRef}\n className={css.laneMenu}\n role=\"menu\"\n aria-label={t('menu.aria', { branch: lane.branch ?? lane.name })}\n data-dsh-plugin={WORKTREE_PLUGIN}\n data-dsh-part={WORKTREE_PART_LANE_MENU}\n >\n <div className={css.laneMenuFacts}>\n <span className={css.laneMenuPathLabel}>{t('menu.path')}</span>\n <span className={css.laneMenuPath} title={lane.path}>{lane.path}</span>\n </div>\n {/* The PR link is provenance, not an action: it only exists when this\n plugin created one, and it stays reachable after the merge. */}\n {lane.prUrl !== null && (\n <a className={css.laneMenuLink} href={lane.prUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {t('worktree.prOpen')}\n </a>\n )}\n {error !== null && <div className={css.laneMenuError} role=\"alert\">{worktreeErrorMessage(error, t)}</div>}\n <div className={css.laneMenuActions}>\n <button\n type=\"button\"\n role=\"menuitem\"\n className={css.laneMenuItem}\n disabled={busy !== null || lane.merged}\n onClick={() => { void openPrDialog() }}\n >\n {t('menu.pr')}\n </button>\n <button\n type=\"button\"\n role=\"menuitem\"\n className={css.laneMenuItem}\n disabled={running || busy !== null}\n onClick={() => { void openDelete() }}\n >\n {t('menu.delete')}\n </button>\n <button\n type=\"button\"\n role=\"menuitem\"\n className={css.laneMenuItem}\n disabled={busy !== null}\n onClick={() => { void refresh() }}\n >\n {t('menu.refresh')}\n </button>\n </div>\n {running && <div className={css.laneMenuHint}>{t('menu.running')}</div>}\n {ownLane && <div className={css.laneMenuHint}>{t('menu.selfTeardown')}</div>}\n\n {dialog === 'pr' && prChoices !== null && (\n <PrCreateDialog\n repoPath={lane.repoPath}\n name={lane.name}\n branches={prChoices.branches}\n defaultBaseRef={prChoices.baseBranch}\n api={api}\n onClose={() => { setDialog(null) }}\n onCreated={afterTeardown}\n onSettled={onChanged}\n t={t}\n />\n )}\n {dialog === 'delete' && deleteFacts !== null && (\n <DeleteWorktreeDialog\n repoPath={lane.repoPath}\n name={lane.name}\n merged={deleteFacts.merged}\n dirty={deleteFacts.dirty}\n api={api}\n sessionId={ownLane ? sessionId : undefined}\n onClose={() => { setDialog(null) }}\n onRemoved={afterTeardown}\n t={t}\n />\n )}\n </div>\n )\n}","/**\n * `web-all-session-lane` dictionaries: the conversation header lane chip.\n * `zh` is the key source; `en` mirrors its key set exactly.\n * @module dsh-client-ui-worktree/client/session-lane-locales\n */\n\n/** Chinese dictionary (key source). */\nexport const zh = {\n 'lane.aria': '当前分支目录:{branch}',\n 'lane.local': '未推送',\n 'lane.dirty': '有未提交改动',\n 'lane.pushed': '已推送',\n 'lane.pr': 'PR #{number}',\n 'lane.merged': '已合并',\n 'lane.presetMissing': '需完全权限才能提交',\n 'lane.mainCheckout': '项目主目录',\n 'lane.mainCheckoutAria': '当前对话在项目主目录:{branch}',\n} as const\n\n/** The session-lane namespace key union. */\nexport type SessionLaneKey = keyof typeof zh\n\n/** English dictionary (complete mirror of `zh`). */\nexport const en: Record<SessionLaneKey, string> = {\n 'lane.aria': 'Current branch directory: {branch}',\n 'lane.local': 'Not pushed',\n 'lane.dirty': 'Uncommitted changes',\n 'lane.pushed': 'Pushed',\n 'lane.pr': 'PR #{number}',\n 'lane.merged': 'Merged',\n 'lane.presetMissing': 'needs full access to commit',\n 'lane.mainCheckout': 'Main directory',\n 'lane.mainCheckoutAria': \"This conversation is in the project's main directory: {branch}\",\n}\n","/**\n * Conversation header chip: which branch this conversation runs on, rendered\n * immediately after the session title.\n *\n * Seat: `conversation.session.header.actions` (declared `kind: \"list\"`,\n * `scope: \"session\"`), i.e. the same header row as the title, to its right.\n * The chip owns four rules:\n * 1. it always answers \"which branch is this conversation on\": a lane shows\n * its branch plus the lane's state, and a conversation on the repository's\n * main checkout shows `Main checkout · <branch>`;\n * 2. for a lane it is also the worktree's whole lifecycle surface — clicking\n * it opens {@link LaneMenu} (facts, submit PR, clean up, remove). There is\n * no sidebar page for that anymore;\n * 3. it renders nothing when the session has no repository (or the host half\n * predates the routes) — a header must never break because of a chip;\n * 4. it never changes the branch: selection stays in the composer picker, so\n * exactly one control decides which branch a conversation starts on.\n *\n * Data: `POST /worktree/lane` resolves the lane from the session id alone, and\n * `POST /git/status` resolves the main-checkout branch for the session's cwd.\n * @module dsh-client-ui-worktree/client/session-lane-chip\n */\n\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { PropsLocale, PropsRuntime, Translate } from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-conversation/client'\nimport type { RepoStatus } from '../../core/git-graph/protocol.ts'\nimport type { LaneLookupInput, LaneView } from '../../core/worktree/types.ts'\nimport { IconBranchOutline16 } from '../ui-icons.ts'\nimport { WORKTREE_PART_LANE_CHIP, WORKTREE_PLUGIN } from './worktree/semantic.ts'\nimport { WorktreeApi } from './worktree/api.ts'\nimport { LaneMenu } from './worktree/lane-menu.tsx'\nimport { createLaneBinder, type LaneBinder } from './worktree/lane-binding.ts'\nimport { GitApi } from './git-graph/api.ts'\nimport { en, zh, type SessionLaneKey } from './session-lane-locales.ts'\nimport css from './conversation.module.css'\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** Conversation header lane chip copy. */\n 'web-all-session-lane': SessionLaneKey\n }\n}\n\n/** The browser session summary the chip reads the cwd and run state from. */\ninterface SessionSummaryLike {\n byId?: Record<string, { cwd?: string; running?: boolean } | undefined>\n}\n\n/** The client service surface the chip uses to find the session's cwd. */\ninterface SessionsFace {\n list?: { getSnapshot?: () => SessionSummaryLike | undefined }\n}\n\n/** The injected face the position module hands the chip. */\nexport interface SessionLaneInjected {\n /** Lane lookup (session id only; the host resolves the cwd). */\n lane: Pick<WorktreeApi, 'lane'>['lane']\n /** Repository snapshot for the session's cwd; null when it is not a repo. */\n repoStatus: (sessionId: string) => Promise<RepoStatus | null>\n /** Whether the conversation is running a turn (teardown has to wait). */\n running: (sessionId: string) => boolean\n /** Worktree API for the lane menu's actions (it owns their dialogs). */\n api: WorktreeApi\n /** Namespace-bound translator for the lane menu and dialogs. */\n worktreeT: PropsLocale<'worktree'>['t']\n /** Namespace-bound translator for the chip itself. */\n t: Translate<SessionLaneKey>\n}\n\n/**\n * The status word for one lane. Precedence is deliberate: uncommitted work\n * is the most actionable fact, then merge state, then the PR, then whether\n * anything was pushed at all.\n */\nexport function laneStatusKey(\n lane: Pick<LaneView, 'dirty' | 'merged' | 'prNumber' | 'pushed'>,\n): SessionLaneKey {\n if ((lane.dirty ?? 0) > 0) return 'lane.dirty'\n if (lane.merged) return 'lane.merged'\n if (lane.prNumber !== null) return 'lane.pr'\n if (lane.pushed) return 'lane.pushed'\n return 'lane.local'\n}\n\n/**\n * The header chip: the branch this conversation is on, and — on a lane — the\n * way to finish that branch off.\n * Renders nothing unless the conversation belongs to a git repository.\n */\nexport function SessionLaneChip(\n props: PropsRuntime<'conversation.session.header.actions'> & { sessionId?: string } & SessionLaneInjected,\n) {\n const { sessionId, lane: lookup, repoStatus, running, api, worktreeT, t } = props\n const [lane, setLane] = useState<LaneView | null>(null)\n const [repo, setRepo] = useState<RepoStatus | null>(null)\n const [open, setOpen] = useState(false)\n const [bindFailed, setBindFailed] = useState(false)\n // One binder per mounted chip: it holds the per-session \"already attempted\"\n // set, so a refused binding is reported instead of retried forever.\n const binderRef = useRef<LaneBinder | null>(null)\n // The binder resolves through the same lookup the chip already receives, so\n // the two never disagree about which lane this conversation is on.\n binderRef.current ??= createLaneBinder({ lane: lookup, bindLane: (input) => api.bindLane(input) })\n const binder = binderRef.current\n\n useEffect(() => {\n if (sessionId === undefined) {\n setLane(null)\n setRepo(null)\n return\n }\n let live = true\n const refresh = (): void => {\n // `binder.bind` resolves the lane AND records the pairing when the host\n // does not have it yet (see the module doc).\n void Promise.all([binder.bind(sessionId), repoStatus(sessionId)]).then(\n ([binding, repoValue]) => {\n if (!live) return\n setBindFailed(binding.bindFailed)\n setLane(binding.lane)\n setRepo(repoValue)\n },\n () => { if (live) { setLane(null); setRepo(null) } },\n )\n }\n refresh()\n // The branch can change while the session id stays the same (a\n // mid-conversation branch switch, or a cleanup that archived the lane) and\n // there is no push channel, so revalidate whenever the tab is looked at.\n const revalidate = (): void => {\n if (document.visibilityState === 'visible') refresh()\n }\n document.addEventListener('visibilitychange', revalidate)\n window.addEventListener('focus', revalidate)\n return () => {\n live = false\n document.removeEventListener('visibilitychange', revalidate)\n window.removeEventListener('focus', revalidate)\n }\n }, [sessionId, lookup, repoStatus, binder])\n\n /** Re-read the lane after the menu changed it (PR, refresh, teardown). */\n const reload = useCallback((): void => {\n if (sessionId === undefined) return\n void lookup({ sessionId }).then((value) => { setLane(value) }, () => { /* keep the last answer */ })\n }, [lookup, sessionId])\n\n if (lane !== null && lane.branch !== null && sessionId !== undefined) {\n const status = t(laneStatusKey(lane), { number: lane.prNumber ?? 0 })\n return (\n <span className={css.laneChipWrap}>\n <button\n type=\"button\"\n className={css.laneChip}\n data-dsh-plugin={WORKTREE_PLUGIN}\n data-dsh-part={WORKTREE_PART_LANE_CHIP}\n title={t('lane.aria', { branch: lane.branch })}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n onClick={() => { setOpen((value) => !value) }}\n >\n <IconBranchOutline16 size={14} />\n <span className={css.laneBranch}>{lane.branch}</span>\n <span className={css.laneStatus}>{status}</span>\n {(lane.permissionPresetApplied === false || bindFailed) && (\n <span className={css.laneWarning}>{t('lane.presetMissing')}</span>\n )}\n </button>\n {open && (\n <LaneMenu\n sessionId={sessionId}\n lane={lane}\n api={api}\n running={running(sessionId)}\n ownLane\n onClose={() => { setOpen(false) }}\n onChanged={reload}\n t={worktreeT}\n />\n )}\n </span>\n )\n }\n\n // No lane: the conversation works on the repository's main checkout. The\n // branch is still the answer to \"which branch am I on\", so say it — but there\n // is no lane to finish off, so this one stays read-only.\n if (repo === null || repo.branch === '') return null\n\n return (\n <span\n className={css.laneChip}\n data-dsh-plugin={WORKTREE_PLUGIN}\n data-dsh-part={WORKTREE_PART_LANE_CHIP}\n data-dsh-kind=\"main\"\n title={t('lane.mainCheckoutAria', { branch: repo.branch })}\n >\n <IconBranchOutline16 size={14} />\n <span className={css.laneStatus}>{t('lane.mainCheckout')}</span>\n <span className={css.laneBranch}>{repo.branch}</span>\n </span>\n )\n}\n\nexport { en as sessionLaneEn, zh as sessionLaneZh }\nexport type { SessionLaneKey }\n\n/** Optional service lookup that survives a missing or reshaped service. */\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try {\n return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)(name, false) as T | undefined\n } catch {\n return undefined\n }\n}\n\n/**\n * Mount the lane chip on the session-header actions seat. The seat is\n * `scope: \"session\"`, so the runtime injects the session id and the chip\n * needs no other identity.\n */\nexport function mountSessionLaneChip(ctx: ClientContext): () => void {\n const api = new WorktreeApi()\n const git = new GitApi()\n const translate = ctx.locale.bind('web-all-session-lane')\n const t: Translate<SessionLaneKey> = (key, params) => translate(key, params)\n const worktreeTranslate = ctx.locale.bind('worktree')\n const worktreeT: PropsLocale<'worktree'>['t'] = (key, params) => worktreeTranslate(key, params)\n const sessions = (): SessionsFace | undefined => optionalService<SessionsFace>(ctx, 'sessions')\n // Identity matters: the chip's effect lists these as dependencies, so a\n // per-render closure would refetch on every render. Create them once for the\n // lifetime of the mount.\n const lane = (input: LaneLookupInput) => api.lane(input)\n const repoStatus = async (sessionId: string): Promise<RepoStatus | null> => {\n const cwd = sessions()?.list?.getSnapshot?.()?.byId?.[sessionId]?.cwd\n if (typeof cwd !== 'string' || cwd === '') return null\n const result = await git.status(cwd)\n return result.ok ? result.value : null\n }\n const running = (sessionId: string): boolean =>\n sessions()?.list?.getSnapshot?.()?.byId?.[sessionId]?.running === true\n const face = (props: PropsRuntime<'conversation.session.header.actions'>) => (\n <SessionLaneChip\n {...props}\n lane={lane}\n repoStatus={repoStatus}\n running={running}\n api={api}\n worktreeT={worktreeT}\n t={t}\n />\n )\n return ctx.slots.inject('conversation.session.header.actions', () => ctx.slots.register({\n name: 'conversation.session.header.actions',\n id: 'web-all-session-lane-chip',\n order: 100,\n inject: (sessionId: string) => ({ sessionId }),\n }, face))\n}","/**\n * Subagent badge facts, resolved from the client sessions list snapshot.\n *\n * DSH 0.2 reshaped every fact this feature used: `sessions.list` no longer has\n * `current` or `subagentsByParent`, and the `subagents/history` RPC is gone.\n * The list rows carry the projections instead — the parent row's\n * `projectionValues.subagentCatalog` names its direct children, and each child\n * row's `projectionValues.modelSelection` holds the model and reasoning effort\n * the child ran with (`{ lastUsed, next }`). So the badge needs no history\n * fetch and never opens or retains a child session.\n *\n * Dependency-free: the position module passes the raw snapshot rows in.\n */\n\n/** The `modelSelection` projection's shape (`{ provider, model, reasoningEffort? }`). */\nexport interface SubagentModelChoice {\n readonly provider?: unknown\n readonly model?: unknown\n readonly reasoningEffort?: unknown\n}\n\n/** One `projectionValues` bag as the client list carries it. */\nexport interface SubagentProjectionValuesLike {\n readonly subagentCatalog?: unknown\n readonly modelSelection?: unknown\n}\n\n/** The subset of a session list row this resolver reads. */\nexport interface SubagentListRowLike {\n readonly id?: unknown\n readonly parentId?: unknown\n readonly origin?: unknown\n readonly displayTitle?: unknown\n readonly title?: unknown\n readonly projectionValues?: SubagentProjectionValuesLike\n}\n\n/** The subset of the sessions list snapshot this resolver reads. */\nexport interface SubagentListSnapshotLike {\n readonly byId?: Readonly<Record<string, SubagentListRowLike>>\n /** Parent-keyed projections; a fallback path for the catalog. */\n readonly projectionsBySession?: Readonly<Record<string, { readonly values?: { readonly subagentCatalog?: unknown } }>>\n}\n\n/** One badge to render: the child identity, its matchable labels, and its text. */\nexport interface SubagentBadgeFacts {\n readonly childId: string\n /** Labels/row titles that identify this child's rendered row. */\n readonly labels: readonly string[]\n /** `model` or `model · effort`; absent when the child recorded no selection. */\n readonly modelText?: string\n}\n\n/** Resolved badges plus the conversation root they belong to. */\nexport interface SubagentBadgeResolution {\n readonly rootId?: string\n readonly badges: readonly SubagentBadgeFacts[]\n}\n\n/**\n * Walk upward to the first non-subagent session.\n * @param rows - the list rows.\n * @param sessionId - any listed session id.\n * @returns the root conversation's id (the input when it is already a root).\n */\nexport function rootSessionId(\n rows: Readonly<Record<string, SubagentListRowLike>>,\n sessionId: string,\n): string {\n const seen = new Set<string>()\n let current = rows[sessionId]\n while (current?.origin === 'subagent' && typeof current.parentId === 'string' && !seen.has(String(current.id))) {\n seen.add(String(current.id))\n current = rows[current.parentId]\n }\n return typeof current?.id === 'string' ? current.id : sessionId\n}\n\n/** `model` or `model · effort`, or undefined when the choice carries no model. */\nexport function formatModelText(choice: unknown): string | undefined {\n if (!isRecord(choice)) return undefined\n const model = nonBlankString(choice.model)\n if (model === undefined) return undefined\n const effort = nonBlankString(choice.reasoningEffort)\n return effort === undefined ? model : `${model} · ${effort}`\n}\n\n/**\n * Resolve every badge for the conversation the operator is in.\n * @param snapshot - the sessions list snapshot (`byId` + projections).\n * @param sessionId - the main-view session id, when one is selected.\n * @returns the root id and one entry per catalog child that has a model.\n */\nexport function resolveSubagentBadges(\n snapshot: SubagentListSnapshotLike,\n sessionId: string | undefined,\n): SubagentBadgeResolution {\n const rows = snapshot.byId ?? {}\n if (sessionId === undefined || sessionId === '') return { badges: [] }\n const rootId = rootSessionId(rows, sessionId)\n const catalog = readCatalog(snapshot, rows, rootId)\n const badges: SubagentBadgeFacts[] = []\n const seen = new Set<string>()\n for (const entry of catalog) {\n const childId = readChildId(entry)\n if (childId === undefined || seen.has(childId)) continue\n seen.add(childId)\n const child = rows[childId]\n badges.push({\n childId,\n labels: childLabels(entry, child),\n ...(formatModelText(pickSelection(child?.projectionValues?.modelSelection)) === undefined\n ? {}\n : { modelText: formatModelText(pickSelection(child?.projectionValues?.modelSelection)) }),\n })\n }\n return { rootId, badges }\n}\n\n/** The parent row's catalog first; the parent-keyed projection as fallback. */\nfunction readCatalog(\n snapshot: SubagentListSnapshotLike,\n rows: Readonly<Record<string, SubagentListRowLike>>,\n rootId: string,\n): readonly unknown[] {\n const fromRow = rows[rootId]?.projectionValues?.subagentCatalog\n if (Array.isArray(fromRow)) return fromRow\n const fromProjection = snapshot.projectionsBySession?.[rootId]?.values?.subagentCatalog\n return Array.isArray(fromProjection) ? fromProjection : []\n}\n\nfunction readChildId(entry: unknown): string | undefined {\n if (!isRecord(entry)) return undefined\n return nonBlankString(entry.id)\n}\n\n/** Every label a rendered row may carry for this child. */\nfunction childLabels(entry: unknown, child: SubagentListRowLike | undefined): readonly string[] {\n const candidates = [\n isRecord(entry) ? nonBlankString(entry.label) : undefined,\n nonBlankString(child?.displayTitle),\n nonBlankString(child?.title),\n ]\n return [...new Set(candidates.filter((value): value is string => value !== undefined))]\n}\n\n/** The committed request header wins over the pending intent. */\nfunction pickSelection(selection: unknown): unknown {\n if (!isRecord(selection)) return selection\n return selection.lastUsed ?? selection.next\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null\n}\n\nfunction nonBlankString(value: unknown): string | undefined {\n if (typeof value !== 'string') return undefined\n const trimmed = value.trim()\n return trimmed === '' ? undefined : trimmed\n}","/**\n * Position-owned DOM presentation for subagent model badges. The conversation\n * module is the only owner of this augmentation; the 0.2 fact resolution stays\n * under src/core/subagent-model.\n *\n * Badge text now comes from the sessions list snapshot (each child row's\n * `modelSelection` projection), so a scan is a single synchronous pass: rows\n * whose text matches a known child label get the badge, rows without a known\n * model are simply left alone.\n */\nimport css from './conversation.module.css'\n\nexport const SUBAGENT_MODEL_PLUGIN = 'subagent-model'\nexport const SUBAGENT_MODEL_PART = 'badge'\n\nexport interface SubagentBadgeDeps {\n /** Child label (or row title) → child session id. */\n readonly labels: ReadonlyMap<string, string>\n /** Child session id → rendered `model` or `model · effort`. */\n readonly models: ReadonlyMap<string, string>\n readonly ariaLabel: (modelAndEffort: string) => string\n}\n\nconst BADGE_SELECTOR = `[data-dsh-plugin=\"${SUBAGENT_MODEL_PLUGIN}\"]`\nconst TOOL_ROW_PREFIX = 'Tool call subagent'\nconst CATALOG_ROLE = 'treeitem'\n\n/** Augment catalog rows and all tool rows beneath root. */\nexport function scanSubagentRows(root: ParentNode, deps: SubagentBadgeDeps): void {\n scanSubagentCatalogRows(root, deps)\n if (deps.labels.size === 0) return\n const pattern = compileLabelPattern(deps.labels)\n const seen = new Set<string>()\n for (const child of elementChildren(root)) {\n walkToolRows(child, deps, pattern, seen)\n }\n}\n\n/** Augment only structured subagent catalog rows. */\nexport function scanSubagentCatalogRows(root: ParentNode, deps: SubagentBadgeDeps): void {\n if (deps.labels.size === 0) return\n const pattern = compileLabelPattern(deps.labels)\n let rows: NodeListOf<Element>\n try {\n rows = root.querySelectorAll(`[role=\"${CATALOG_ROLE}\"]`)\n } catch {\n return\n }\n for (const row of Array.from(rows)) {\n try {\n const text = row.textContent ?? ''\n if (!text.includes('·') && !text.includes('tok')) continue\n const childId = matchChildId(text, deps.labels, pattern)\n if (childId === undefined) continue\n const metrics = row.querySelector('[class*=\"metrics\"]')\n const labelNode = row.querySelector('[class*=\"label\"]')\n const anchor = metrics ?? labelNode?.parentElement ?? row\n handleRow(row, anchor, childId, deps)\n } catch {\n // One malformed row must not break progressive enhancement.\n }\n }\n}\n\n/** Augment tool-call rows inside a mutation-affected subtree. */\nexport function scanSubagentToolRows(root: ParentNode, deps: SubagentBadgeDeps): void {\n if (deps.labels.size === 0) return\n const pattern = compileLabelPattern(deps.labels)\n const seen = new Set<string>()\n for (const child of elementChildren(root)) {\n walkToolRows(child, deps, pattern, seen)\n }\n}\n\nfunction elementChildren(root: ParentNode): Element[] {\n if (root instanceof Element) return [root]\n if ('children' in root) return Array.from(root.children)\n return []\n}\n\nfunction walkToolRows(\n node: Element,\n deps: SubagentBadgeDeps,\n pattern: RegExp,\n seen: Set<string>,\n): boolean {\n let descendantMatched = false\n for (const child of Array.from(node.children)) {\n if (walkToolRows(child, deps, pattern, seen)) descendantMatched = true\n }\n if (descendantMatched) return true\n const text = node.textContent ?? ''\n if (!text.includes(TOOL_ROW_PREFIX)) return false\n const childId = matchChildId(text, deps.labels, pattern)\n if (childId === undefined) return false\n handleRow(node, node, childId, deps)\n seen.add(childId)\n return true\n}\n\nfunction handleRow(\n row: Element,\n anchor: Element,\n childId: string,\n deps: SubagentBadgeDeps,\n): void {\n const text = deps.models.get(childId)\n // No projection value yet: leave whatever is already rendered in place.\n if (text === undefined) return\n const existing = row.querySelector<HTMLElement>(BADGE_SELECTOR)\n if (existing !== null) {\n existing.textContent = text\n existing.title = text\n existing.setAttribute('aria-label', deps.ariaLabel(text))\n return\n }\n const badge = document.createElement('span')\n badge.className = css.subagentModelBadge ?? ''\n badge.textContent = text\n badge.title = text\n badge.setAttribute('aria-label', deps.ariaLabel(text))\n badge.setAttribute('data-dsh-plugin', SUBAGENT_MODEL_PLUGIN)\n badge.setAttribute('data-dsh-part', SUBAGENT_MODEL_PART)\n anchor.appendChild(badge)\n}\n\nfunction compileLabelPattern(labels: ReadonlyMap<string, string>): RegExp {\n const alternatives = [...labels.keys()]\n .filter(label => label.length > 0)\n .sort((a, b) => b.length - a.length)\n .map(escapeRegExp)\n return alternatives.length === 0\n ? /(?!)/g\n : new RegExp(`(?:${alternatives.join('|')})`, 'g')\n}\n\nfunction matchChildId(\n text: string,\n labels: ReadonlyMap<string, string>,\n pattern: RegExp,\n): string | undefined {\n pattern.lastIndex = 0\n let best: string | undefined\n let bestLabel: string | undefined\n for (const match of text.matchAll(pattern)) {\n const candidate = match[0]\n if (labels.has(candidate) && (bestLabel === undefined || candidate.length > bestLabel.length)) {\n bestLabel = candidate\n best = labels.get(candidate)\n }\n }\n return best\n}\n\nfunction escapeRegExp(value: string): string {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}","/**\n * Conversation-owned subagent model surface.\n *\n * It augments already-rendered catalog/tool rows with each child's model and\n * reasoning effort, read from the sessions list snapshot's `modelSelection`\n * projection (DSH 0.2). Nothing is fetched and no child session is opened or\n * retained: the rows the badge targets are rendered by the official UI, and the\n * projections that describe them travel with the same list snapshot.\n *\n * The conversation position is a root scope, so the current session comes from\n * the public `uiSession.adapter.current` binding (the private `uiSession.current`\n * and the workspace selection cell remain as fallbacks for older cohorts).\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { ISessions } from '@deepseek-ai/dsh-api-session-controller/client'\nimport type {} from '@deepseek-ai/dsh-client-locale/client'\nimport {\n resolveSubagentBadges,\n type SubagentListSnapshotLike,\n} from '../../core/subagent-model/badges.ts'\nimport {\n scanSubagentCatalogRows,\n scanSubagentRows,\n scanSubagentToolRows,\n} from './subagent-model-dom.ts'\nimport { NS, type ConversationLocaleKey } from './index.ts'\n\nconst SCAN_DEBOUNCE_MS = 300\n\n/** A useSyncExternalStore-compatible source (cordis binding source or snapshot store). */\ninterface SnapshotSource<T> {\n getSnapshot(): T\n subscribe(listener: () => void): () => void\n}\n\n/** The selection faces the conversation root may read for \"the session I am in\". */\ninterface SelectionFaces {\n uiSession?: {\n adapter?: { current?: SnapshotSource<{ key?: string } | undefined> }\n current?: SnapshotSource<{ key?: string } | undefined>\n }\n uiWorkspace?: { selection?: SnapshotSource<{ sessionId?: string } | undefined> }\n}\n\nconst zh = {\n 'subagentModel.badge.aria': '子代理模型与推理深度 {model}',\n} as const\n\nconst en: Record<keyof typeof zh, string> = {\n 'subagentModel.badge.aria': 'Subagent model and reasoning effort {model}',\n}\n\n/** Take one optional service without requiring it in the plugin's inject list. */\nfunction optionalService<T>(ctx: ClientContext, name: string): T | undefined {\n try {\n return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)(name, false) as T | undefined\n } catch {\n return undefined\n }\n}\n\n/** Read a source without letting a hostile or proxied face throw. */\nfunction read<T>(reader: () => T): T | undefined {\n try {\n return reader()\n } catch {\n return undefined\n }\n}\n\n/** The session the operator is in: public adapter binding first. */\nfunction currentSessionId(faces: SelectionFaces): string | undefined {\n const candidates = [\n read(() => faces.uiSession?.adapter?.current?.getSnapshot()?.key),\n read(() => faces.uiSession?.current?.getSnapshot()?.key),\n read(() => faces.uiWorkspace?.selection?.getSnapshot()?.sessionId),\n ]\n for (const candidate of candidates) {\n if (typeof candidate === 'string' && candidate !== '') return candidate\n }\n return undefined\n}\n\n/** Mount the read-only model badge observer within the conversation position. */\nexport function mountSubagentModel(ctx: ClientContext): () => void {\n const sessions = optionalService<ISessions>(ctx, 'sessions')\n if (sessions === undefined || typeof sessions.list?.subscribe !== 'function') return () => {}\n const disposers: Array<() => void> = []\n\n try {\n disposers.push(ctx.locale.register(NS, { zh, en }))\n } catch {\n // A duplicate namespace registration must not break the web shell.\n }\n const translate = ctx.locale.bind(NS)\n const ariaLabel = (value: string): string => translate(\n 'subagentModel.badge.aria' as ConversationLocaleKey,\n { model: value },\n )\n\n const labels = new Map<string, string>()\n const models = new Map<string, string>()\n const dirtyRoots = new Set<Element>()\n let scanTimer: ReturnType<typeof setTimeout> | undefined\n let idleHandle: number | undefined\n let fullScanPending = true\n\n /** The selection faces, re-read per scan so a late service is picked up. */\n const selectionFaces = (): SelectionFaces => ({\n uiSession: optionalService<SelectionFaces['uiSession']>(ctx, 'uiSession'),\n uiWorkspace: optionalService<SelectionFaces['uiWorkspace']>(ctx, 'uiWorkspace'),\n })\n\n /** Project the list snapshot into the DOM matcher's two maps. */\n const rebuild = (): void => {\n labels.clear()\n models.clear()\n const snapshot = sessions.list.getSnapshot() as unknown as SubagentListSnapshotLike\n const { badges } = resolveSubagentBadges(snapshot, currentSessionId(selectionFaces()))\n for (const badge of badges) {\n for (const label of badge.labels) labels.set(label, badge.childId)\n if (badge.modelText !== undefined) models.set(badge.childId, badge.modelText)\n }\n }\n\n const scheduleScan = (): void => {\n if (scanTimer !== undefined) clearTimeout(scanTimer)\n scanTimer = setTimeout(() => {\n scanTimer = undefined\n const requestIdle = (globalThis as {\n requestIdleCallback?: (callback: () => void) => number\n }).requestIdleCallback\n if (typeof requestIdle === 'function') {\n idleHandle = requestIdle(() => { runScan() })\n } else {\n runScan()\n }\n }, SCAN_DEBOUNCE_MS)\n }\n\n function runScan(): void {\n if (typeof document === 'undefined' || document.body === null) return\n try {\n rebuild()\n const deps = { labels, models, ariaLabel }\n if (fullScanPending) scanSubagentRows(document.body, deps)\n else scanSubagentCatalogRows(document.body, deps)\n fullScanPending = false\n for (const root of dirtyRoots) {\n if (!root.isConnected) continue\n scanSubagentToolRows(root, deps)\n }\n dirtyRoots.clear()\n } catch {\n // The badge is progressive enhancement and never blocks the shell.\n }\n }\n\n if (typeof document !== 'undefined' && document.body !== null && typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver((records) => {\n for (const record of records) {\n const nodes = record.addedNodes.length > 0 ? record.addedNodes : [record.target]\n for (const node of Array.from(nodes)) {\n const element = node instanceof Element ? node : node.parentElement\n if (element === null) continue\n dirtyRoots.add(element)\n while (dirtyRoots.size > 32) {\n const oldest = dirtyRoots.values().next().value\n if (oldest === undefined) break\n dirtyRoots.delete(oldest)\n }\n }\n }\n scheduleScan()\n })\n observer.observe(document.body, { childList: true, subtree: true })\n const unsubscribe = sessions.list.subscribe(() => {\n fullScanPending = true\n scheduleScan()\n })\n scheduleScan()\n disposers.push(() => {\n observer.disconnect()\n unsubscribe()\n if (scanTimer !== undefined) clearTimeout(scanTimer)\n if (idleHandle !== undefined) {\n const cancelIdle = (globalThis as {\n cancelIdleCallback?: (handle: number) => void\n }).cancelIdleCallback\n cancelIdle?.(idleHandle)\n }\n })\n }\n\n return () => {\n for (const dispose of disposers.reverse()) dispose()\n }\n}","/**\n * `worktree` namespace dictionaries: the conversation header chip's popover\n * (facts, the PR action, and one delete action) and the dialogs it opens.\n * zh is the key-set source of truth; en must keep the exact same key set.\n *\n * Copy rule (issue: the names were unreadable): these strings are what the user\n * reads, so they say \"分支目录 / branch directory\" and never the implementation\n * words `worktree` or `lane`. `tests/worktree-client-locales.spec.ts` enforces\n * that on both dictionaries.\n */\n\n/** Simplified Chinese dictionary (the key-set source of truth). */\nexport const zh = {\n 'menu.aria': '管理该分支的目录({branch})',\n 'menu.path': '目录',\n 'menu.pr': '提交 PR',\n 'menu.delete': '删除…',\n 'menu.refresh': '检查是否已合并',\n 'menu.running': '当前对话正在运行:请先停止本轮,再删除。',\n 'menu.selfTeardown': '该目录属于当前对话:删除会一并归档本对话。',\n 'worktree.prTitle': '为「{name}」提交 PR',\n 'worktree.prDescription': '推送该分支并创建 pull request。默认打开 GitHub 对比页;配置了 GitHub token 时直接调用 API 创建。',\n 'worktree.prBase': '目标分支(base)',\n 'worktree.prConfirm': '推送并创建 PR',\n 'worktree.prOpen': '打开 PR',\n 'worktree.prSuccess': '分支已推送,PR 已就绪:',\n 'worktree.deleteTitle': '删除「{name}」',\n 'worktree.deleteDescription': '删除该分支的目录与记录,并归档它的对话。',\n 'worktree.deleteBranch': '同时删除本地分支',\n 'worktree.deleteBranchHint': '不勾选时只删目录,本地分支保留,之后还能再用它建目录。',\n 'worktree.deleteForce': '强制删除(丢弃未提交改动;未合并的分支也删)',\n 'worktree.deleteForceWarning': '强制会丢弃未提交改动;未合并的分支也会被删除,不可恢复。',\n 'worktree.deleteConfirm': '删除',\n 'dialog.close': '关闭',\n 'dialog.cancel': '取消',\n 'dialog.confirm': '确定',\n 'error.gitFailed': 'git 操作失败:{error}',\n 'error.worktreeExists': '同名分支已存在,请换个名字,或先删掉旧分支。',\n 'error.worktreeNotFound': '没有找到这个目录。',\n 'error.notARepository': '这个目录不是 git 仓库。',\n 'error.workspaceUnknown': '这个目录不在你的 DSH 工作区里,无法在这里操作。',\n 'error.invalidBranch': '分支名不可用。',\n 'error.worktreeBusy': '这个目录还有正在运行的对话,或存在未提交改动;请先停止对话,或勾选强制删除。',\n 'error.notMerged': '这个分支还没合并;请先合并 PR,或勾选强制删除。',\n 'error.laneSession': '没能把对话绑定到这个目录:主机没有这条绑定记录(目录可能不在清单里,或会话服务不可用)。',\n 'error.laneMismatch': '这个对话不在该分支目录里,无法绑定。',\n 'error.permissionDenied': '操作被拒绝:只有本机,或带浏览器会话的受信入口才允许修改分支目录。',\n 'error.unreachable': '连不上分支目录服务:{error}',\n} satisfies Record<string, string>\n\n/** The worktree namespace key union. */\nexport type WorktreeKey = keyof typeof zh\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n worktree: WorktreeKey\n }\n}\n\n/** English dictionary, checked complete against the zh key set. */\nexport const en: Record<WorktreeKey, string> = {\n 'menu.aria': 'Manage the directory for this branch ({branch})',\n 'menu.path': 'Directory',\n 'menu.pr': 'Open PR',\n 'menu.delete': 'Delete…',\n 'menu.refresh': 'Check whether it is merged',\n 'menu.running': 'This conversation is running: stop the current turn before deleting.',\n 'menu.selfTeardown': 'This directory belongs to this conversation: deleting archives the conversation too.',\n 'worktree.prTitle': 'Open a pull request for \"{name}\"',\n 'worktree.prDescription': 'Pushes the branch and creates a pull request. Opens the GitHub compare page by default; uses the REST API when a GitHub token is configured.',\n 'worktree.prBase': 'Target branch (base)',\n 'worktree.prConfirm': 'Push and create PR',\n 'worktree.prOpen': 'Open PR',\n 'worktree.prSuccess': 'Branch pushed, PR ready:',\n 'worktree.deleteTitle': 'Delete \"{name}\"',\n 'worktree.deleteDescription': \"Deletes this branch's directory and its record, and archives its conversation.\",\n 'worktree.deleteBranch': 'Also delete the local branch',\n 'worktree.deleteBranchHint': 'Leave it unchecked to keep the local branch, so a directory can be made for it again later.',\n 'worktree.deleteForce': 'Force delete (discard uncommitted changes; delete an unmerged branch too)',\n 'worktree.deleteForceWarning': 'Force discards uncommitted changes and deletes an unmerged branch. This cannot be undone.',\n 'worktree.deleteConfirm': 'Delete',\n 'dialog.close': 'Close',\n 'dialog.cancel': 'Cancel',\n 'dialog.confirm': 'Confirm',\n 'error.gitFailed': 'git failed: {error}',\n 'error.worktreeExists': 'A local branch with that name already exists; choose another name or delete the old branch first.',\n 'error.worktreeNotFound': 'No such directory.',\n 'error.notARepository': 'This directory is not a git repository.',\n 'error.workspaceUnknown': 'This directory is not one of your DSH workspaces, so it cannot be used here.',\n 'error.invalidBranch': 'That branch name is not valid.',\n 'error.worktreeBusy': 'A running conversation or uncommitted changes block this directory; stop the conversation, or use force delete.',\n 'error.notMerged': 'The branch is not merged yet; merge the pull request first, or use force delete.',\n 'error.laneSession': 'Could not bind the conversation to this directory: the host recorded no binding (the directory may be missing from its manifest, or the sessions service is unavailable).',\n 'error.laneMismatch': 'This conversation is not running in that branch directory, so it cannot be bound to it.',\n 'error.permissionDenied': 'Permission denied: only this machine, or a deployment-declared browser entry with a session, may change a branch directory.',\n 'error.unreachable': 'The branch directory service did not answer: {error}',\n}","/**\n * Path and naming helpers shared between the host manager and the browser\n * side (browser side uses these for display only — it never writes to the\n * filesystem). All paths are POSIX; the host normalizes the separators at\n * the git boundary.\n * @module @dsh-cove/dsh-client-ui-worktree/core\n */\n\nimport { isValidBranchName } from './invariant.ts'\n\n/** The directory inside each repo that owns linked worktrees. */\nexport const WORKSPACE_DIR = '.dsh/workspaces'\n\n/** The manifest filename inside `WORKSPACE_DIR`. */\nexport const MANIFEST_FILENAME = 'manifest.json'\n\n/** The \"main\" pseudo-worktree name — never a real on-disk worktree. */\nexport const MAIN_WORKTREE = '<main>'\n\n/** Compose `<repo>/.dsh/workspaces` for a given repo path. */\nexport function worktreeRoot(repoPath: string): string {\n if (typeof repoPath !== 'string' || repoPath.length === 0) {\n throw new TypeError('repoPath must be a non-empty string')\n }\n const trimmed = stripTrailingSeparator(repoPath)\n return `${trimmed}/${WORKSPACE_DIR}`\n}\n\n/** Compose `<repo>/.dsh/workspaces/<branch>` for a given repo + branch. */\nexport function worktreeDir(repoPath: string, branch: string): string {\n if (!isValidBranchName(branch)) {\n throw new Error(`invalid branch name: ${JSON.stringify(branch)}`)\n }\n return `${worktreeRoot(repoPath)}/${branch}`\n}\n\n/**\n * Whether a path is one of this plugin's lane directories\n * (`<repo>/.dsh/workspaces/<branch>`).\n *\n * Used to keep the lane lifecycle's bookkeeping — retiring a lane's workspace\n * registration once its conversations are archived — away from workspaces the\n * user registered themselves. Workspace ids are opaque, so the path is the only\n * thing that identifies a lane in a workspace list.\n */\nexport function isLaneDirectory(path: string): boolean {\n if (typeof path !== 'string' || path === '') return false\n return path.replace(/\\\\/g, '/').includes(`/${WORKSPACE_DIR}/`)\n}\n\n/** Strip a single trailing `/` (defensive only — POSIX paths usually lack it). */\nfunction stripTrailingSeparator(path: string): string {\n return path.endsWith('/') && path.length > 1 ? path.slice(0, -1) : path\n}\n\n/** Short sha (first 7 chars) — same display rule as `git rev-parse --short`. */\nexport function shortSha(sha: string | null | undefined): string | null {\n if (typeof sha !== 'string' || sha.length === 0) return null\n return sha.length > 7 ? sha.slice(0, 7) : sha\n}\n\n/**\n * Truncate a path for the sidebar row (replace the leading `<repo>/.dsh/`\n * with a visual marker so the full path is still in the title attr).\n */\nexport function displayPath(absolute: string): string {\n const marker = `/${WORKSPACE_DIR}/`\n const idx = absolute.indexOf(marker)\n if (idx < 0) return absolute\n return `.dsh/workspaces/${absolute.slice(idx + marker.length)}`\n}\n\n/**\n * Whether `target` is `root` itself or lies beneath it (POSIX, segment-aware).\n *\n * Applied to keep mutations inside the workspaces the host has registered: a\n * plain string prefix would let `/repo-other` read as \"inside `/repo`\".\n */\nexport function isInsidePath(root: string, target: string): boolean {\n const posix = (value: string): string => value.replace(/\\\\/g, '/')\n const base = posix(root)\n const candidate = posix(target)\n const trimmedBase = base.length > 1 && base.endsWith('/') ? base.slice(0, -1) : base\n const trimmed = candidate.length > 1 && candidate.endsWith('/') ? candidate.slice(0, -1) : candidate\n if (trimmedBase === '/' || trimmedBase === '') return trimmed.startsWith('/')\n return trimmed === trimmedBase || trimmed.startsWith(`${trimmedBase}/`)\n}\n\n/** Compare two paths for equality after normalization (POSIX separators). */\nexport function samePath(a: string, b: string): boolean {\n if (a === b) return true\n const na = a.replace(/\\\\/g, '/')\n const nb = b.replace(/\\\\/g, '/')\n if (na === nb) return true\n const sa = na.endsWith('/') && na.length > 1 ? na.slice(0, -1) : na\n const sb = nb.endsWith('/') && nb.length > 1 ? nb.slice(0, -1) : nb\n return sa === sb\n}\n\n/**\n * Parse a GitHub remote URL into `{ owner, repo }`. Accepts the https\n * (`https://github.com/owner/repo[.git]`), ssh scp-like\n * (`git@github.com:owner/repo.git`), and ssh URL (`ssh://git@github.com/owner/repo`)\n * spellings. Returns null for non-GitHub remotes so the caller can fall\n * back to the compare-URL path.\n */\nexport function githubOwnerRepo(remoteUrl: string): { owner: string; repo: string } | null {\n const match = remoteUrl.trim().match(/(?:github\\.com[/:])([^/]+)\\/([^/.]+?)(?:\\.git)?$/)\n if (match === null) return null\n const [, owner, repo] = match\n if (owner === undefined || repo === undefined || owner === '' || repo === '') return null\n return { owner, repo }\n}\n\n/**\n * GitHub compare URL for one PR candidate: base...head with the editor\n * expanded. Returns null when the remote is not a GitHub URL.\n */\nexport function githubCompareUrl(remoteUrl: string, base: string, branch: string): string | null {\n const parsed = githubOwnerRepo(remoteUrl)\n if (parsed === null) return null\n return `https://github.com/${parsed.owner}/${parsed.repo}/compare/${encodeURIComponent(base)}...${encodeURIComponent(branch)}?expand=1`\n}\n","/**\n * Retire the sidebar row of a lane whose conversations are all archived.\n *\n * Why a lane ever has a workspace row\n * The platform accounts a session to a workspace only while the session's cwd\n * equals that workspace's path (`WorkspaceEntity.sessionIds` filters by the\n * session's path, and `attachSession` refuses any other cwd), and a blank\n * conversation that no workspace accounts for renders an inert composer\n * (\"choose a workspace to start\"). So the lane's directory must BE a workspace\n * while a conversation runs in it — that part is a platform requirement, not a\n * taste, and no plugin can avoid the row.\n *\n * What this owns\n * The row's LIFETIME. Once every conversation the lane accounts for is\n * archived, the registration is dead weight: the directory, the branch and the\n * manifest binding stay, so picking that branch again re-registers the\n * directory in one call. The host half retires the same way from archive\n * events; this half runs where the archive set is visible to the browser, so it\n * also cleans up rows an earlier build left behind — including on an\n * installation whose host bundle predates that change.\n *\n * Safety rules\n * - only paths that are this plugin's lane directories (`<repo>/.dsh/workspaces/<branch>`);\n * - only workspaces that account for at least one conversation (a lane created\n * moments ago has none yet, and must not be retired from under its setup);\n * - only when every accounted conversation is archived. A lane with a live\n * conversation keeps its workspace, or that conversation loses the workspace\n * it runs in.\n * @module @dsh-cove/dsh-client-ui-worktree/client/lane-workspace-sweeper\n */\n\nimport { isLaneDirectory } from '../../../core/worktree/paths.ts'\n\n/** The workspace-list slice the sweep reads (mirrors the client workspace snapshot). */\nexport interface LaneSweepSnapshot {\n /** `ready` once the host list has arrived; earlier phases carry no items. */\n phase?: string\n items?: readonly {\n workspaceId?: string\n path?: string\n sessionIds?: readonly string[]\n }[]\n /** Complete registry-global archive set. */\n archivedSessionIds?: readonly string[]\n}\n\n/** The client workspace face the sweep needs. */\nexport interface LaneSweeperWorkspaces {\n list?: {\n getSnapshot?: () => LaneSweepSnapshot\n subscribe?: (listener: () => void) => () => void\n }\n delete?: (workspaceId: string) => Promise<void>\n}\n\n/** Everything the sweep needs, injected so tests drive it without a browser. */\nexport interface LaneSweeperFaces {\n /** `ctx.workspaces` — the archived set and the delete command. */\n workspaces?: LaneSweeperWorkspaces | undefined\n /** Warning sink (test seam). */\n warn?(message: string, error: unknown): void\n}\n\n/**\n * The lane workspaces whose conversations are all archived, in snapshot order.\n * @param snapshot - the client workspace snapshot.\n * @returns workspace ids to retire.\n */\nexport function laneWorkspacesToRetire(snapshot: LaneSweepSnapshot | undefined): string[] {\n if (snapshot === undefined || snapshot.phase !== 'ready') return []\n const archived = new Set(snapshot.archivedSessionIds ?? [])\n const retiring: string[] = []\n for (const workspace of snapshot.items ?? []) {\n const id = workspace.workspaceId\n const path = workspace.path\n const sessionIds = workspace.sessionIds ?? []\n if (id === undefined || path === undefined) continue\n if (!isLaneDirectory(path)) continue\n // A lane created moments ago accounts for no conversation yet: its workspace\n // is being set up and must survive the sweep.\n if (sessionIds.length === 0) continue\n // A live conversation needs the workspace it runs in.\n if (!sessionIds.every((sessionId) => archived.has(sessionId))) continue\n retiring.push(id)\n }\n return retiring\n}\n\n/**\n * Sweep once: delete the registration of every lane whose conversations are all\n * archived. A failure is reported and does not stop the rest.\n * @param faces - the workspace face and the warning sink.\n * @returns the workspace ids that were retired.\n */\nexport async function sweepLaneWorkspaces(faces: LaneSweeperFaces): Promise<string[]> {\n const list = faces.workspaces?.list\n const remove = faces.workspaces?.delete\n if (list?.getSnapshot === undefined || remove === undefined) return []\n const candidates = laneWorkspacesToRetire(list.getSnapshot())\n const retired: string[] = []\n for (const workspaceId of candidates) {\n try {\n await remove.call(faces.workspaces, workspaceId)\n retired.push(workspaceId)\n } catch (error) {\n faces.warn?.('[dsh-worktree] could not retire a lane workspace:', error)\n }\n }\n return retired\n}\n\n/**\n * Sweep on mount and on every workspace-list change (an archive, a new lane, a\n * deletion). Sweeps never overlap: a change arriving mid-sweep queues one more\n * pass, so the pass always sees the list the changes produced.\n * @param faces - the workspace face and the warning sink.\n * @returns the disposer (unsubscribes).\n */\nexport function mountLaneWorkspaceSweeper(faces: LaneSweeperFaces): () => void {\n const list = faces.workspaces?.list\n if (list?.getSnapshot === undefined || list.subscribe === undefined) return () => {}\n let running = false\n let queued = false\n const run = (): void => {\n if (running) { queued = true; return }\n running = true\n void sweepLaneWorkspaces(faces).catch((error: unknown) => {\n faces.warn?.('[dsh-worktree] lane workspace sweep failed:', error)\n }).finally(() => {\n running = false\n if (queued) { queued = false; run() }\n })\n }\n run()\n return list.subscribe(run)\n}","/**\n * 位置模块:会话区(conversation)— 唯一负责 conversation.* 注入的位置模块。\n *\n * 收编:git-graph 分支 chip(官方 `conversation.input.dock`,会话作用域注入\n * sessionId;它是唯一的 worktree 创建入口——选分支即为该分支建 worktree)、\n * subagent 模型徽标、会话标题后的 lane chip(官方\n * `conversation.session.header.actions`:显示本会话所在分支与状态,并承载该\n * worktree 的收尾动作——提 PR / 清理 / 移除)。\n *\n * worktree 的界面只有这两处:输入框上方的分支选择器(创建)与会话顶部的 lane\n * chip(查看与收尾)。侧栏不再有 Worktrees 页面,`worktree` 命名空间(chip\n * 弹层与各对话框的文案)因此由本模块注册。\n *\n * 自动化任务「投递到原对话还是每次新对话」**没有界面入口**:它在创建任务时由\n * 自然语言 + agent 工具(`schedule_mode_set` / `schedule_mode_list`)一次设定,\n * 所以本位置模块不再注入任何 schedule 相关的槽位。\n *\n * 不再有独立的「新建 worktree / 工作线」选择器:分支与 worktree 是同一个动作。\n * 每条 lane 的目录会注册成一个 DSH 工作区——这是平台约束而非口味:注册表只把 cwd\n * 等于工作区路径的会话算作该工作区的成员,而没有任何工作区认领的空白对话,输入框\n * 是禁用的(只显示「选择一个工作区开始」)。因此选分支时本模块调用平台自己的工作区\n * 导航 `uiWorkspace.openWorkspace`,把当前对话真正切到新 lane 上,再把配对关系绑到\n * 该会话;拆除 lane 时工作区注册随目录一起注销,侧栏只留还活着的 lane。切换动作不\n * 来自席位 props——dock 席位只收 `{ session, input }`,从那里读切换函数只会静默不切。\n *\n * 回合产出文件 chips(turnTail)已移除:它是 0.1 时代的 select 链注册(0.2 的\n * 该槽只传 `{turn, seq, openFile}`,收不到 `matched`,每回合必崩),而 0.2 原生\n * `@deepseek-ai/dsh-client-ui-deliverables` 已经提供同位的「本回合改动/产物」chip。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-conversation/client'\nimport { mountSelectorContext } from './selector-context.tsx'\nimport { gitGraphEn, gitGraphZh } from './git-branch.tsx'\nimport { mountSessionLaneChip, sessionLaneEn, sessionLaneZh } from './session-lane-chip.tsx'\nimport { mountSubagentModel } from './subagent-model.ts'\nimport { en as worktreeEn, zh as worktreeZh } from './worktree/locales.ts'\nimport { mountLaneWorkspaceSweeper, type LaneSweeperWorkspaces } from './worktree/lane-workspace-sweeper.ts'\n\n/** 会话区位置模块 locale 命名空间。 */\nexport const NS = 'web-all-conversation'\n\n/** Conversation copy keys; zh in subagent-model.ts is the key source. */\nexport type ConversationLocaleKey = 'subagentModel.badge.aria'\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** Conversation position module copy. */\n 'web-all-conversation': ConversationLocaleKey\n }\n}\n\n/** 装配会话区位置模块。 */\nexport function mountConversation(ctx: ClientContext): () => void {\n const disposers = [\n ctx.locale.register('web-all-git-graph', { zh: gitGraphZh, en: gitGraphEn }),\n ctx.locale.register('web-all-session-lane', { zh: sessionLaneZh, en: sessionLaneEn }),\n // The lane chip's popover and the dialogs it opens speak the worktree\n // namespace; the conversation position module owns that surface now.\n ctx.locale.register('worktree', { zh: worktreeZh, en: worktreeEn }),\n mountSelectorContext(ctx),\n mountSessionLaneChip(ctx),\n mountSubagentModel(ctx),\n // lane 的工作区注册不能比它自己的对话活得久:对话全部归档后就注销那一行\n // (目录、分支、绑定都留着,再选该分支即可一步重建)。这里挂在会话区模块,\n // 因为 lane 的浏览器半区就在本模块;它不占任何槽位,只是订阅工作区列表。\n mountLaneWorkspaceSweeper({\n workspaces: optionalWorkspaceService(ctx),\n warn: (message, error) => { console.warn(message, error) },\n }),\n ]\n return () => { for (const dispose of disposers) dispose() }\n}\n\n/** 取可选的工作区服务(缺失或抛错都返回 undefined)。 */\nfunction optionalWorkspaceService(ctx: ClientContext): LaneSweeperWorkspaces | undefined {\n try {\n return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)('workspaces', false) as LaneSweeperWorkspaces | undefined\n } catch {\n return undefined\n }\n}","/**\n * `@deepseek-ai/dsh-client-ui-primitives` 的 0.2 设置表单原语出口。\n *\n * 本仓 node_modules 里的 SDK cohort 仍是 0.1.5-rc.2(类型里没有 0.2 的\n * `SettingsForm` / `SettingsFormModel` / `Checkbox` 等导出),而运行时由 DSH 0.2\n * 提供这些成员——与 `*Medium` 图标同一类版本差。这里按 0.2 的 d.ts 声明需要的\n * 最小面,并按名取运行时值,既不让本地类型滞后挡住实现,也不改动模块本身。\n */\nimport type { ReactElement, ReactNode } from 'react'\nimport * as primitives from '@deepseek-ai/dsh-client-ui-primitives'\n\n/** 一次字段写入的转换结果。 */\nexport type SettingsFieldWrite = { kind: 'set'; value: unknown } | { kind: 'clear' }\n\n/** 字段在存储值与草稿文本之间的转换规则。 */\nexport interface SettingsFieldSpec {\n field: string\n format(value: unknown): string\n parse(text: string): SettingsFieldWrite | undefined\n}\n\n/** 单个控件的渲染状态。 */\nexport interface SettingsFieldState {\n /** 控件渲染的草稿文本。 */\n text: string\n /** 保存后该字段是否会在用户层留下覆盖。 */\n overridden: boolean\n /** 草稿是否是本字段接受的值(不接受时阻止保存)。 */\n invalid: boolean\n}\n\n/** 每个配置页共享的表单状态。 */\nexport interface SettingsFormShell {\n available: boolean\n writable: boolean\n dirty: boolean\n invalid: boolean\n saving: boolean\n failed: boolean\n}\n\n/** 表单动作面(槽注入用)。 */\nexport interface SettingsFormActions {\n edit(field: string, text: string): void\n resetField(field: string): void\n save(): void\n discard(): void\n}\n\n/** 命名空间快照。 */\nexport interface SettingsFormScopeSnapshot<T> {\n status: 'loading' | 'ready' | 'unavailable'\n value: T | undefined\n base: unknown\n user: unknown\n writable: boolean\n revision: number | undefined\n}\n\n/** 一个宿主条目/命名空间的读写面(由 `configForms.get` 返回)。 */\nexport interface SettingsFormScope<T> {\n getSnapshot(): SettingsFormScopeSnapshot<T>\n subscribe(listener: () => void): () => void\n mutate(ops: readonly SettingsFormPathOp[], expectedRevision?: number): Promise<boolean>\n}\n\n/** 一次 revision 闸门内的路径编辑。 */\nexport type SettingsFormPathOp =\n | { op: 'set'; path: readonly string[]; value: unknown }\n | { op: 'unset'; path: readonly string[] }\n\n/** staged 表单模型:读侧投影 + 保存时才落盘。 */\nexport interface SettingsFormModel<T> {\n bind<S>(project: () => S): { getSnapshot(): S; subscribe(listener: () => void): () => void }\n shell(): SettingsFormShell\n field(field: string): SettingsFieldState\n actions(): SettingsFormActions\n save(): Promise<void>\n dispose(): void\n}\n\ninterface SettingsFormModelCtor {\n new <T>(scope: SettingsFormScope<T>, specs: SettingsFieldSpec[], secrets?: readonly unknown[]): SettingsFormModel<T>\n}\n\n/** 值控件的 props。 */\nexport interface SettingsValueFieldProps {\n id: string\n label: string\n hint?: string\n text: string\n overridden: boolean\n invalid: boolean\n overriddenLabel: string\n resetLabel: string\n invalidLabel: string\n disabled: boolean\n numeric?: boolean\n placeholder?: string\n onEdit(text: string): void\n onReset(): void\n}\n\n/** 复选框的 props。 */\nexport interface CheckboxProps {\n checked: boolean\n onChange(next: boolean): void\n label: string\n disabled?: boolean\n title?: string\n className?: string\n}\n\n/** 表单框架文案。 */\nexport interface SettingsFormLabels {\n unavailable: string\n readOnly: string\n saveFailed: string\n save: string\n saving: string\n}\n\n/** 表单框架的 props。 */\nexport interface SettingsFormProps {\n labels: SettingsFormLabels\n state: SettingsFormShell\n onSave(): void\n onDiscard(): void\n children: ReactNode\n}\n\ntype Component<P> = (props: P) => ReactElement | null\n\nconst table = primitives as unknown as {\n Checkbox: Component<CheckboxProps>\n SettingsForm: Component<SettingsFormProps>\n SettingsFormModel: SettingsFormModelCtor\n SettingsValueField: Component<SettingsValueFieldProps>\n settingsTextField(field: string): SettingsFieldSpec\n settingsNumberField(field: string): SettingsFieldSpec\n}\n\nexport const Checkbox = table.Checkbox\nexport const SettingsForm = table.SettingsForm\nexport const SettingsFormModel = table.SettingsFormModel\nexport const SettingsValueField = table.SettingsValueField\nexport const settingsTextField = table.settingsTextField\nexport const settingsNumberField = table.settingsNumberField","import { useEffect, useState, type ReactNode } from 'react'\nimport type { Translate } from './i18n.ts'\nimport styles from './lark-wizard.module.css'\n\nexport type WizardPhase = 'idle' | 'awaiting-browser' | 'awaiting-secret' | 'done' | 'failed'\n\nexport interface WizardStatus {\n phase: WizardPhase\n mode?: 'new' | 'bind'\n consoleUrl?: string\n needsSecretPaste?: boolean\n appId?: string\n error?: string\n}\n\ninterface StartNewResult { verificationUrl: string; qr: string | null }\ninterface StartBindResult { consoleUrl: string }\n\ntype WizardView =\n | { kind: 'idle' }\n | { kind: 'creating'; verificationUrl?: string; qr: string | null }\n | { kind: 'bind-form' }\n | { kind: 'bind-awaiting'; consoleUrl?: string }\n | { kind: 'connected'; appId?: string; needsSecretPaste: boolean }\n | { kind: 'failed'; error?: string }\n\nconst WIZARD_BASE = '/lark-inbox/wizard'\nexport const WIZARD_POLL_INTERVAL_MS = 2000\n\nasync function readJson<T>(response: Response): Promise<T> {\n const body = await response.json() as T & { error?: string }\n if (!response.ok) throw new Error(body.error ?? `lark-inbox wizard request failed (${response.status})`)\n return body\n}\n\nfunction request<T>(path: string, init?: RequestInit): Promise<T> {\n return fetch(`${WIZARD_BASE}${path}`, init).then(readJson<T>)\n}\n\nfunction post<T>(path: string, payload?: unknown): Promise<T> {\n return request(path, {\n method: 'POST',\n ...(payload === undefined ? {} : { headers: { 'content-type': 'application/json' }, body: JSON.stringify(payload) }),\n })\n}\n\nfunction get<T>(path: string): Promise<T> {\n return request(path, { cache: 'no-store' })\n}\n\nfunction summarize(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\nexport interface LarkInboxWizardProps {\n t: Translate\n disabled?: boolean\n}\n\nexport function LarkInboxWizard({ t, disabled = false }: LarkInboxWizardProps): ReactNode {\n const [view, setView] = useState<WizardView>({ kind: 'idle' })\n const [busy, setBusy] = useState(false)\n const [bindAppId, setBindAppId] = useState('')\n const [bindAppSecret, setBindAppSecret] = useState('')\n\n useEffect(() => {\n let live = true\n void get<WizardStatus>('/status').then((next) => {\n if (!live) return\n if (next.phase === 'done') setView({ kind: 'connected', appId: next.appId, needsSecretPaste: next.needsSecretPaste === true })\n else if (next.phase === 'awaiting-browser') setView({ kind: 'creating', qr: null })\n else if (next.phase === 'awaiting-secret') setView({ kind: 'connected', appId: next.appId, needsSecretPaste: true })\n else if (next.phase === 'failed') setView({ kind: 'failed', error: next.error })\n }).catch(() => undefined)\n return () => { live = false }\n }, [])\n\n useEffect(() => {\n if (view.kind !== 'creating') return\n let live = true\n const tick = async (): Promise<void> => {\n try {\n const next = await get<WizardStatus>('/status')\n if (!live || next.phase === 'awaiting-browser') return\n if (next.phase === 'done') setView({ kind: 'connected', appId: next.appId, needsSecretPaste: next.needsSecretPaste === true })\n else if (next.phase === 'awaiting-secret') setView({ kind: 'connected', appId: next.appId, needsSecretPaste: true })\n else if (next.phase === 'failed') setView({ kind: 'failed', error: next.error })\n else setView({ kind: 'idle' })\n } catch (error) {\n if (live) setView({ kind: 'failed', error: summarize(error) })\n }\n }\n void tick()\n const interval = globalThis.setInterval(() => { void tick() }, WIZARD_POLL_INTERVAL_MS)\n return () => { live = false; globalThis.clearInterval(interval) }\n }, [view.kind])\n\n const createNew = async (): Promise<void> => {\n if (busy) return\n setBusy(true)\n try {\n const result = await post<StartNewResult>('/start-new')\n setView({ kind: 'creating', verificationUrl: result.verificationUrl, qr: result.qr })\n } catch (error) {\n setView({ kind: 'failed', error: summarize(error) })\n } finally {\n setBusy(false)\n }\n }\n\n const confirmBind = async (): Promise<void> => {\n if (busy) return\n setBusy(true)\n try {\n const result = await post<StartBindResult>('/start-bind', { appId: bindAppId.trim() })\n setView({ kind: 'bind-awaiting', consoleUrl: result.consoleUrl })\n } catch (error) {\n setView({ kind: 'failed', error: summarize(error) })\n } finally {\n setBusy(false)\n }\n }\n\n const finishBind = async (): Promise<void> => {\n if (busy) return\n setBusy(true)\n try {\n await post<{ ok: boolean }>('/finish-bind', { appSecret: bindAppSecret })\n setView({ kind: 'connected', appId: bindAppId.trim(), needsSecretPaste: false })\n } catch (error) {\n setView({ kind: 'failed', error: summarize(error) })\n } finally {\n setBusy(false)\n }\n }\n\n const clear = (): void => {\n setView({ kind: 'idle' })\n setBindAppId('')\n setBindAppSecret('')\n }\n\n const cancel = async (): Promise<void> => {\n try { await post<{ ok: boolean }>('/cancel') } catch { /* best effort */ }\n clear()\n }\n\n const cancelButton = <button type=\"button\" className={styles.secondary} disabled={busy} onClick={() => { void cancel() }}>{t('wizard.cancel')}</button>\n let body: ReactNode\n\n if (view.kind === 'idle') {\n body = <div className={styles.actions} data-dsh-part=\"actions\">\n <button type=\"button\" className={styles.primary} disabled={disabled || busy} onClick={() => { void createNew() }}>{t('wizard.createNew')}</button>\n <button type=\"button\" className={styles.secondary} disabled={disabled || busy} onClick={() => { setBindAppId(''); setBindAppSecret(''); setView({ kind: 'bind-form' }) }}>{t('wizard.bindExisting')}</button>\n </div>\n } else if (view.kind === 'creating') {\n body = <div className={styles.panel} data-dsh-part=\"authorization\">\n {view.verificationUrl ? <p className={styles.hint}>{t('wizard.openLinkHint')}<a href={view.verificationUrl} target=\"_blank\" rel=\"noreferrer\" className={styles.link}>{view.verificationUrl}</a></p> : null}\n {view.qr !== null ? <img src={`${WIZARD_BASE}/qr.png`} alt={t('wizard.qrAlt')} className={styles.qr}/> : null}\n <p className={styles.hint}>{t('wizard.awaitingHint')}</p>\n <div className={styles.actions}>{cancelButton}</div>\n </div>\n } else if (view.kind === 'bind-form') {\n body = <div className={styles.panel} data-dsh-part=\"bind-form\">\n <WizardField id=\"lark-inbox-wizard-bind-appid\" label={t('wizard.appId')} hint={t('wizard.appIdHint')} value={bindAppId} disabled={disabled} onChange={setBindAppId}/>\n <WizardField id=\"lark-inbox-wizard-bind-appsecret\" label={t('wizard.appSecret')} hint={t('wizard.appSecretHint')} value={bindAppSecret} disabled={disabled} secret onChange={setBindAppSecret}/>\n <div className={styles.actions}>\n <button type=\"button\" className={styles.primary} disabled={disabled || busy || bindAppId.trim() === '' || bindAppSecret.trim() === ''} onClick={() => { void confirmBind() }}>{t('wizard.confirmBind')}</button>\n {cancelButton}\n </div>\n </div>\n } else if (view.kind === 'bind-awaiting') {\n body = <div className={styles.panel} data-dsh-part=\"bind-finish\">\n <p className={styles.meta}>{t('wizard.appId')}: {bindAppId.trim()}</p>\n {view.consoleUrl ? <p className={styles.hint}>{t('wizard.openConsoleHint')}<a href={view.consoleUrl} target=\"_blank\" rel=\"noreferrer\" className={styles.link}>{view.consoleUrl}</a></p> : null}\n <WizardField id=\"lark-inbox-wizard-finish-appsecret\" label={t('wizard.appSecret')} hint={t('wizard.appSecretHint')} value={bindAppSecret} disabled={disabled} secret onChange={setBindAppSecret}/>\n <div className={styles.actions}>\n <button type=\"button\" className={styles.primary} disabled={disabled || busy || bindAppSecret.trim() === ''} onClick={() => { void finishBind() }}>{t('wizard.finishBind')}</button>\n {cancelButton}\n </div>\n </div>\n } else if (view.kind === 'connected') {\n body = <div className={styles.panel} data-dsh-part=\"result\">\n {view.needsSecretPaste ? <p className={styles.hint}>{t('wizard.needsSecretHint')}</p> : <><p className={styles.success}>{t('wizard.connected', { appId: view.appId ?? '' })}</p><p className={styles.hint}>{t('wizard.connectedHint')}</p></>}\n <div className={styles.actions}><button type=\"button\" className={styles.secondary} onClick={clear}>{t('wizard.back')}</button></div>\n </div>\n } else {\n body = <div className={styles.panel} data-dsh-part=\"result\">\n <p className={styles.error} role=\"alert\">{t('wizard.failed')}</p>\n {view.error ? <p className={styles.errorDetail}>{view.error}</p> : null}\n <p className={styles.hint}>{t('wizard.installHint')}</p>\n <div className={styles.actions}><button type=\"button\" className={styles.secondary} onClick={clear}>{t('wizard.back')}</button></div>\n </div>\n }\n\n // 标题由面板外壳(LarkPanel)提供,这里不再重复渲染。\n return <div className={styles.wizard} data-dsh-plugin=\"lark-inbox\" data-dsh-part=\"wizard\">\n {body}\n {busy ? <p className={styles.hint} role=\"status\">{t('wizard.busy')}</p> : null}\n </div>\n}\n\nfunction WizardField(props: { id: string; label: string; hint: string; value: string; disabled: boolean; secret?: boolean; onChange(text: string): void }): ReactNode {\n return <div className={styles.wizardField}>\n <label className={styles.label} htmlFor={props.id}>{props.label}</label>\n <input id={props.id} className={styles.input} type={props.secret ? 'password' : 'text'} value={props.value} autoComplete=\"off\" spellCheck={false} disabled={props.disabled} onChange={event => { props.onChange(event.target.value) }}/>\n <p className={styles.hint}>{props.hint}</p>\n </div>\n}\n\nexport const LARK_WIZARD_ROUTE_BASE = WIZARD_BASE\n","/**\n * 飞书设置页的本地字典(连接向导 + 命名空间配置表单)。\n *\n * 家族设置卡已移除,向导与配置页自带一份最小字典,不依赖设置位置的 locale\n * 命名空间。zh 是键集来源,en 必须保持同一键集。\n */\n\nexport const zh = {\n 'settings.tab': '飞书',\n 'settings.title': '飞书连接与配置',\n 'settings.intro': '连接飞书机器人,并调整事件进入会话的方式。凭据由上方向导写入,不在此显示。',\n 'settings.summary': '连接飞书机器人并配置事件投递。',\n 'settings.enabled': '启用飞书接入',\n 'settings.enabledHint': '关闭后不再建立长连接,已有事件保留在队列中。',\n 'settings.announce': '在系统提示中告知 Agent',\n 'settings.announceHint': '开启后当前会话会收到一段飞书事件使用说明。',\n 'settings.domain': '开放平台域名',\n 'settings.domainHint': 'feishu(飞书)或 lark(Lark 国际版)。留空使用默认值 feishu。',\n 'settings.requireMention': '群聊需 @ 机器人',\n 'settings.requireMentionHint': '关闭后群里的所有消息都会进入队列。',\n 'settings.allowedOpenIds': '允许的发送者 open_id',\n 'settings.allowedOpenIdsHint': '一行一个(也支持逗号/分号分隔)。留空表示不限制发送者。',\n 'settings.queueDir': '事件队列目录',\n 'settings.queueDirHint': '存放待处理事件的目录。留空使用插件默认目录。',\n 'settings.maxAttempts': '最大投递尝试次数',\n 'settings.maxAttemptsHint': '单条事件失败后最多重试几次。留空使用默认值。',\n 'settings.staleTimeout': '过期超时(毫秒)',\n 'settings.staleTimeoutHint': '事件超过该时长仍未处理则视为过期。留空使用默认值。',\n 'settings.save': '保存',\n 'settings.saving': '保存中…',\n 'settings.saveFailed': '本部署没有接受这些值,已保留供你修改。',\n 'settings.readOnly': '本部署的设置为只读。',\n 'settings.unavailable': '宿主当前未提供飞书配置,暂时无法编辑。',\n 'settings.overridden': '已覆盖',\n 'settings.reset': '恢复默认',\n 'settings.invalid': '该值不被接受,请修改或清空以恢复默认。',\n 'settings.invalidNumber': '请填数字;留空表示使用默认值。',\n 'wizard.createNew': '创建新 bot',\n 'wizard.bindExisting': '绑定已有 bot',\n 'wizard.appId': 'App ID',\n 'wizard.appIdHint': '飞书开放平台应用的 App ID。',\n 'wizard.appSecret': 'App Secret',\n 'wizard.appSecretHint': '应用的 App Secret,仅用于本次绑定,不会写入日志。',\n 'wizard.confirmBind': '确认绑定',\n 'wizard.finishBind': '完成绑定',\n 'wizard.openLinkHint': '打开授权链接:',\n 'wizard.awaitingHint': '请在飞书中完成授权,页面每 2 秒自动刷新状态。',\n 'wizard.openConsoleHint': '打开开放平台后台,确认应用并复制 App Secret:',\n 'wizard.qrAlt': '飞书授权二维码',\n 'wizard.connected': '已连接 {appId}',\n 'wizard.connectedHint': '凭据已就绪,飞书事件将进入当前会话。',\n 'wizard.needsSecretHint': '应用已创建,请在下方 App Secret 字段粘贴一次密钥后保存。',\n 'wizard.cancel': '取消',\n 'wizard.back': '返回',\n 'wizard.failed': '连接失败',\n 'wizard.installHint': '若尚未安装 lark-cli,请先在命令行安装并登录,然后重试。',\n 'wizard.busy': '处理中…',\n} as const\n\nexport type LarkKey = keyof typeof zh\n\nexport const en: Record<LarkKey, string> = {\n 'settings.tab': 'Feishu',\n 'settings.title': 'Feishu connection and settings',\n 'settings.intro': 'Connect the Feishu bot and control how its events reach the session. Credentials are written by the wizard above and never shown here.',\n 'settings.summary': 'Connect the Feishu bot and configure event delivery.',\n 'settings.enabled': 'Enable Feishu intake',\n 'settings.enabledHint': 'When off, the long connection is not opened and queued events stay in the queue.',\n 'settings.announce': 'Tell the agent about Feishu events',\n 'settings.announceHint': 'When on, the current session receives a short guide for Feishu events.',\n 'settings.domain': 'Open platform domain',\n 'settings.domainHint': 'feishu or lark. Leave blank to use the default (feishu).',\n 'settings.requireMention': 'Groups require an @mention',\n 'settings.requireMentionHint': 'When off, every group message enters the queue.',\n 'settings.allowedOpenIds': 'Allowed sender open_ids',\n 'settings.allowedOpenIdsHint': 'One per line (comma or semicolon also works). Leave blank to accept every sender.',\n 'settings.queueDir': 'Event queue directory',\n 'settings.queueDirHint': 'Directory holding pending events. Leave blank for the plugin default.',\n 'settings.maxAttempts': 'Maximum delivery attempts',\n 'settings.maxAttemptsHint': 'How many times one event may be retried. Leave blank for the default.',\n 'settings.staleTimeout': 'Stale timeout (ms)',\n 'settings.staleTimeoutHint': 'An event older than this is treated as stale. Leave blank for the default.',\n 'settings.save': 'Save',\n 'settings.saving': 'Saving…',\n 'settings.saveFailed': 'The deployment did not accept these values; they were left for you to correct.',\n 'settings.readOnly': 'This deployment stores settings read-only.',\n 'settings.unavailable': 'The host does not serve Feishu settings right now, so they cannot be edited.',\n 'settings.overridden': 'Overridden',\n 'settings.reset': 'Reset to default',\n 'settings.invalid': 'This value is not accepted; change it or clear it to use the default.',\n 'settings.invalidNumber': 'Enter a number, or leave blank to use the default.',\n 'wizard.createNew': 'Create new bot',\n 'wizard.bindExisting': 'Bind existing bot',\n 'wizard.appId': 'App ID',\n 'wizard.appIdHint': 'The App ID of the Feishu Open Platform application.',\n 'wizard.appSecret': 'App Secret',\n 'wizard.appSecretHint': \"The app's App Secret, used only for this bind and never written to logs.\",\n 'wizard.confirmBind': 'Confirm bind',\n 'wizard.finishBind': 'Finish bind',\n 'wizard.openLinkHint': 'Open the authorization link: ',\n 'wizard.awaitingHint': 'Complete the authorization in Feishu; this page refreshes status every 2 seconds.',\n 'wizard.openConsoleHint': 'Open the Open Platform console, confirm the app, and copy the App Secret: ',\n 'wizard.qrAlt': 'Feishu authorization QR code',\n 'wizard.connected': 'Connected {appId}',\n 'wizard.connectedHint': 'Credentials are ready; Feishu events will arrive in the current session.',\n 'wizard.needsSecretHint': 'The app was created; paste its secret once into the App Secret field below and save.',\n 'wizard.cancel': 'Cancel',\n 'wizard.back': 'Back',\n 'wizard.failed': 'Connection failed',\n 'wizard.installHint': 'If lark-cli is not installed yet, install and log in from the command line, then retry.',\n 'wizard.busy': 'Working…',\n}\n\nexport type Translate = (key: LarkKey, params?: Record<string, string | number>) => string\n\n/** 取字典:`<html lang>` 以 zh 开头用中文,否则英文。 */\nexport function makeT(doc: Document | undefined = typeof document === 'undefined' ? undefined : document): Translate {\n const lang = doc?.documentElement?.lang?.toLowerCase() ?? ''\n const table: Record<LarkKey, string> = lang.startsWith('zh') ? zh : en\n return (key, params) => {\n const text = table[key] ?? key\n if (params === undefined) return text\n return text.replace(/\\{(\\w+)\\}/gu, (match, name: string) => params[name] === undefined ? match : String(params[name]))\n }\n}","/**\n * 家族设置作用域:把 `web-all` 聚合条目的读写面收窄到一个能力域命名空间。\n *\n * DSH 0.2 的客户端设置面按命名空间寻址,而家族的全部能力域聚合在单个 `web-all`\n * 条目里(顶层 volatile 子键就是能力域,见 host 的 `family-config.ts`)。这里做\n * 一次路径前缀适配:读侧下钻子对象,写侧给每个路径加上子键前缀,于是官方\n * `SettingsFormModel` / `SettingsForm` 的 staged 编辑、保存与 revision 闸门都能\n * 原样复用,每个能力域不必各自实现一遍。\n *\n * 该适配只做路径搬运,不解释值:字段的格式化与校验仍由各页自己的 `SettingsFieldSpec`\n * 负责。\n */\nimport type { SettingsFormScope, SettingsFormScopeSnapshot } from './primitives-0.2.ts'\n\n/** 家族聚合条目在宿主 settings 镜像里的条目 id(host 的 `FAMILY_ENTRY_ID`)。 */\nexport const FAMILY_SETTINGS_NAMESPACE = 'web-all'\n\n/**\n * 把聚合条目的作用域收窄到一个命名空间。\n * @param entry - `configForms.get('web-all')` 返回的聚合读写面。\n * @param namespace - 能力域在条目里的子键。\n * @returns 只读写该命名空间的等价作用域。\n */\nexport function familyNamespaceScope<T>(entry: SettingsFormScope<Record<string, unknown>>, namespace: string): SettingsFormScope<T> {\n const section = (snapshot: SettingsFormScopeSnapshot<Record<string, unknown>>): SettingsFormScopeSnapshot<T> => {\n const value = snapshot.value as Record<string, unknown> | undefined\n const base = snapshot.base as Record<string, unknown> | undefined\n const user = snapshot.user as Record<string, unknown> | undefined\n return {\n status: snapshot.status,\n value: value?.[namespace] as T | undefined,\n base: base?.[namespace],\n user: user?.[namespace],\n writable: snapshot.writable,\n revision: snapshot.revision,\n }\n }\n return {\n getSnapshot: () => section(entry.getSnapshot()),\n subscribe: listener => entry.subscribe(listener),\n mutate: (ops, expectedRevision) => entry.mutate(ops.map((op) => op.op === 'set'\n ? { op: 'set' as const, path: [namespace, ...op.path], value: op.value }\n : { op: 'unset' as const, path: [namespace, ...op.path] }), expectedRevision),\n }\n}","/**\n * 飞书设置页(DSH 0.2)。\n *\n * 位置:设置 → 内置插件 的「飞书」标签页(官方 `settings.plugins.tab`),\n * 只在宿主确实提供 `lark-inbox` 命名空间时才出现(`configForms.whileServed`,\n * 与官方 Agent loop / Subagent 等配置页同一套机制)。\n *\n * 数据:表单走官方 `SettingsFormModel` + `SettingsForm`(staged 编辑、保存时才\n * 落盘、写入带 revision 闸门),凭据仍由连接向导经宿主 loopback 路由写入。\n */\nimport { type ReactNode } from 'react'\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport {\n Checkbox,\n SettingsForm,\n SettingsFormModel,\n SettingsValueField,\n settingsNumberField,\n settingsTextField,\n type SettingsFieldSpec,\n type SettingsFieldState,\n type SettingsFormScope,\n type SettingsFormShell,\n} from './primitives-0.2.ts'\nimport { LarkInboxWizard } from '../lark-inbox/wizard.tsx'\nimport { makeT, type Translate } from '../lark-inbox/i18n.ts'\nimport css from './settings-shell.module.css'\nimport { FAMILY_SETTINGS_NAMESPACE, familyNamespaceScope } from './family-scope.ts'\n\n/** 家族聚合条目在宿主 settings 镜像里的命名空间(host FAMILY_ENTRY_ID)。 */\nexport { FAMILY_SETTINGS_NAMESPACE }\n\n/** 条目里飞书能力域的子键(host 的 family namespace)。 */\nexport const LARK_INBOX_NAMESPACE = 'lark-inbox'\n\n/** 面板编辑的字段子集。 */\nexport interface LarkInboxSettings {\n enabled?: boolean\n announceToAgent?: boolean\n domain?: 'feishu' | 'lark'\n requireMentionInGroup?: boolean\n allowedOpenIds?: string[]\n queueDir?: string\n maxAttempts?: number\n staleTimeoutMs?: number\n}\n\n/** 布尔字段:草稿文本用 'true'/'false',空草稿表示恢复默认。 */\nfunction booleanField(field: string): SettingsFieldSpec {\n return {\n field,\n format: value => value === true ? 'true' : value === false ? 'false' : '',\n parse: (text) => {\n if (text === 'true') return { kind: 'set', value: true }\n if (text === 'false') return { kind: 'set', value: false }\n return text === '' ? { kind: 'clear' } : undefined\n },\n }\n}\n\n/** 开放 ID 列表:一行一个,也接受逗号/分号分隔。 */\nfunction openIdsField(): SettingsFieldSpec {\n return {\n field: 'allowedOpenIds',\n format: value => Array.isArray(value) ? value.join('\\n') : '',\n parse: (text) => {\n const trimmed = text.trim()\n if (trimmed === '') return { kind: 'clear' }\n return { kind: 'set', value: trimmed.split(/[\\n,;]+/u).map(item => item.trim()).filter(Boolean) }\n },\n }\n}\n\n/** 设置页投影给组件的状态。 */\ninterface LarkCardState extends SettingsFormShell {\n enabled: SettingsFieldState\n announceToAgent: SettingsFieldState\n domain: SettingsFieldState\n requireMentionInGroup: SettingsFieldState\n allowedOpenIds: SettingsFieldState\n queueDir: SettingsFieldState\n maxAttempts: SettingsFieldState\n staleTimeoutMs: SettingsFieldState\n}\n\n/** 组件读取的 store 面(SnapshotStore 的结构子集)。 */\ninterface LarkCardStore {\n getSnapshot(): LarkCardState\n subscribe(listener: () => void): () => void\n}\n\n/** 页面控制器:把 `lark-inbox` 命名空间桥到官方 staged 表单。 */\nexport class LarkSettingsController {\n private readonly form: SettingsFormModel<LarkInboxSettings>\n private readonly store: LarkCardStore\n\n constructor(scope: SettingsFormScope<LarkInboxSettings>) {\n this.form = new SettingsFormModel<LarkInboxSettings>(scope, [\n booleanField('enabled'),\n booleanField('announceToAgent'),\n settingsTextField('domain'),\n booleanField('requireMentionInGroup'),\n openIdsField(),\n settingsTextField('queueDir'),\n settingsNumberField('maxAttempts'),\n settingsNumberField('staleTimeoutMs'),\n ])\n this.store = this.form.bind(() => this.projection())\n }\n\n private projection(): LarkCardState {\n return {\n ...this.form.shell(),\n enabled: this.form.field('enabled'),\n announceToAgent: this.form.field('announceToAgent'),\n domain: this.form.field('domain'),\n requireMentionInGroup: this.form.field('requireMentionInGroup'),\n allowedOpenIds: this.form.field('allowedOpenIds'),\n queueDir: this.form.field('queueDir'),\n maxAttempts: this.form.field('maxAttempts'),\n staleTimeoutMs: this.form.field('staleTimeoutMs'),\n }\n }\n\n /** 槽注入面:投影 store + 表单动作。 */\n inject(): Record<string, unknown> {\n return { hooks: { larkCard: this.store }, ...this.form.actions() }\n }\n\n dispose(): void {\n this.form.dispose()\n }\n}\n\ninterface LarkPageProps {\n view?: 'summary' | 'full'\n useLarkCard<T>(select: (state: LarkCardState) => T): T\n edit(field: string, text: string): void\n resetField(field: string): void\n save(): void\n discard(): void\n t: Translate\n}\n\n/** 一个布尔开关行。 */\nfunction BooleanRow({ id, label, hint, field, state, disabled, edit, resetField, t }: {\n id: string\n label: string\n hint: string\n field: 'enabled' | 'announceToAgent' | 'requireMentionInGroup'\n state: LarkCardState\n disabled: boolean\n edit(field: string, text: string): void\n resetField(field: string): void\n t: Translate\n}): ReactNode {\n const cell = state[field]\n const checked = cell.text === '' ? false : cell.text === 'true'\n return (\n <div className={css.row} data-dsh-part=\"field\" data-field={field}>\n <div className={css.rowHead}>\n <Checkbox\n checked={checked}\n disabled={disabled}\n label={label}\n onChange={(next) => { edit(field, next ? 'true' : 'false') }}\n />\n {cell.overridden\n ? <button type=\"button\" className={css.reset} disabled={disabled} onClick={() => { resetField(field) }}>{t('settings.reset')}</button>\n : null}\n </div>\n <p className={css.hint} id={id}>{hint}</p>\n </div>\n )\n}\n\n/** 未设置该字段表示沿用默认(启用);显式关闭即不显示连接向导。 */\nexport function larkWizardVisible(state: Pick<LarkCardState, 'enabled'>): boolean {\n return state.enabled.text === '' ? true : state.enabled.text === 'true'\n}\n\n/** 设置标签页主体:连接向导 + 命名空间配置表单。 */\nexport function LarkSettingsPage(props: LarkPageProps): ReactNode {\n const state = props.useLarkCard(value => value)\n if (props.view === 'summary') return props.t('settings.summary')\n const t = props.t\n const disabled = !state.writable\n // 已关闭的功能不显示连接向导:宿主也会拒绝它的写操作,显示一个必然失败的\n // 向导只会误导用户。\n const enabled = larkWizardVisible(state)\n return (\n <div className={css.page} data-dsh-plugin=\"lark-inbox\" data-dsh-part=\"settings\">\n <h3 className={css.title}>{t('settings.title')}</h3>\n <p className={css.intro}>{t('settings.intro')}</p>\n {enabled ? <LarkInboxWizard t={t}/> : null}\n <SettingsForm\n labels={{\n unavailable: t('settings.unavailable'),\n readOnly: t('settings.readOnly'),\n saveFailed: t('settings.saveFailed'),\n save: t('settings.save'),\n saving: t('settings.saving'),\n }}\n state={state}\n onSave={props.save}\n onDiscard={props.discard}\n >\n <BooleanRow id=\"lark-enabled-hint\" label={t('settings.enabled')} hint={t('settings.enabledHint')} field=\"enabled\" state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <BooleanRow id=\"lark-announce-hint\" label={t('settings.announce')} hint={t('settings.announceHint')} field=\"announceToAgent\" state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <SettingsValueField\n id=\"lark-domain\"\n label={t('settings.domain')}\n hint={t('settings.domainHint')}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={t('settings.invalid')}\n disabled={disabled}\n {...state.domain}\n onEdit={(text) => { props.edit('domain', text) }}\n onReset={() => { props.resetField('domain') }}\n />\n <BooleanRow id=\"lark-mention-hint\" label={t('settings.requireMention')} hint={t('settings.requireMentionHint')} field=\"requireMentionInGroup\" state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <SettingsValueField\n id=\"lark-open-ids\"\n label={t('settings.allowedOpenIds')}\n hint={t('settings.allowedOpenIdsHint')}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={t('settings.invalid')}\n disabled={disabled}\n {...state.allowedOpenIds}\n onEdit={(text) => { props.edit('allowedOpenIds', text) }}\n onReset={() => { props.resetField('allowedOpenIds') }}\n />\n <SettingsValueField\n id=\"lark-queue-dir\"\n label={t('settings.queueDir')}\n hint={t('settings.queueDirHint')}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={t('settings.invalid')}\n disabled={disabled}\n {...state.queueDir}\n onEdit={(text) => { props.edit('queueDir', text) }}\n onReset={() => { props.resetField('queueDir') }}\n />\n <SettingsValueField\n id=\"lark-max-attempts\"\n label={t('settings.maxAttempts')}\n hint={t('settings.maxAttemptsHint')}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={t('settings.invalidNumber')}\n numeric\n disabled={disabled}\n {...state.maxAttempts}\n onEdit={(text) => { props.edit('maxAttempts', text) }}\n onReset={() => { props.resetField('maxAttempts') }}\n />\n <SettingsValueField\n id=\"lark-stale-timeout\"\n label={t('settings.staleTimeout')}\n hint={t('settings.staleTimeoutHint')}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={t('settings.invalidNumber')}\n numeric\n disabled={disabled}\n {...state.staleTimeoutMs}\n onEdit={(text) => { props.edit('staleTimeoutMs', text) }}\n onReset={() => { props.resetField('staleTimeoutMs') }}\n />\n </SettingsForm>\n </div>\n )\n}\n\n/** 官方 configForms 服务的结构面(未装载设置界面时整页不注册)。 */\ninterface ConfigFormsFace {\n get(entryId: string): SettingsFormScope<Record<string, unknown>>\n whileServed(namespaces: readonly string[], register: (served: ReadonlySet<string>) => () => void): () => void\n}\n\nfunction optionalConfigForms(ctx: ClientContext): ConfigFormsFace | undefined {\n try { return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)('configForms', false) as ConfigFormsFace | undefined } catch { return undefined }\n}\n\n/**\n * 把 `web-all` 条目的读写面收窄到 `lark-inbox` 子键。\n *\n * 前缀适配的实现在 `family-scope.ts`,与其它能力域共用。\n */\nexport function larkInboxScope(entry: SettingsFormScope<Record<string, unknown>>): SettingsFormScope<LarkInboxSettings> {\n return familyNamespaceScope<LarkInboxSettings>(entry, LARK_INBOX_NAMESPACE)\n}\n\n/** 注册「内置插件 → 飞书」标签页;宿主不再提供该命名空间时自动撤下。 */\nexport function mountLarkSettings(ctx: ClientContext): () => void {\n const configForms = optionalConfigForms(ctx)\n if (configForms === undefined) return () => {}\n const t = makeT()\n const controller = new LarkSettingsController(larkInboxScope(configForms.get(FAMILY_SETTINGS_NAMESPACE)))\n const offPage = configForms.whileServed([FAMILY_SETTINGS_NAMESPACE], () => ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({\n name: 'settings.plugins.tab',\n id: LARK_INBOX_NAMESPACE,\n order: 60,\n label: () => t('settings.tab'),\n inject: () => ({ ...controller.inject(), t }),\n } as never, LarkSettingsPage as never) as unknown as () => void))\n let disposed = false\n return () => {\n if (disposed) return\n disposed = true\n offPage()\n controller.dispose()\n }\n}","/**\n * 通知设置页的本地字典(飞书推送配置)。\n *\n * 与飞书设置页同一套约定:zh 是键集来源,en 必须保持同一键集;页面自带字典,\n * 不依赖设置位置的 locale 命名空间。\n */\n\nexport const zh = {\n 'settings.tab': '通知',\n 'settings.title': '运行结束通知',\n 'settings.intro': '会话运行结束后,把结果推送到飞书,并让桌面端与手机端的机器列表标出未查看的结果。',\n 'settings.summary': '运行结束后推送到飞书,并在机器列表标出未查看的结果。',\n 'settings.enabled': '启用通知',\n 'settings.enabledHint': '关闭后不记录运行结果,机器列表也不再显示未查看标记;已记录的结果会被清空。',\n 'settings.feedLimit': '单次读取返回条数',\n 'settings.feedLimitHint': '客户端一次拉取最多拿到多少条结果。留空使用默认值 20。',\n 'settings.feishuEnabled': '推送到飞书',\n 'settings.feishuEnabledHint': '开启后,运行结束会由机器人发送消息给你。需要下面填好应用凭据与收件人。',\n 'settings.feishuAppId': '飞书 App ID',\n 'settings.feishuAppIdHint': '留空则沿用「飞书」页配置的机器人应用。',\n 'settings.feishuAppSecret': '飞书 App Secret',\n 'settings.feishuAppSecretHint': '可填 env:变量名 从环境变量读取。留空则沿用「飞书」页配置的应用。',\n 'settings.feishuDomain': '开放平台域名',\n 'settings.feishuDomainHint': 'feishu(飞书)或 lark(Lark 国际版)。留空使用默认值 feishu。',\n 'settings.feishuRecipients': '收件人',\n 'settings.feishuRecipientsHint': '一行一个 open_id(ou_ 开头)或 chat_id(oc_ 开头)。留空表示不推送。',\n 'settings.feishuMode': '推送时机',\n 'settings.feishuModeHint': 'idle:等这一轮工作彻底停下后合并成一条;each-turn:每结束一轮就发一条。留空使用默认值 idle。',\n 'settings.feishuOutcomes': '推送哪些结果',\n 'settings.feishuOutcomesHint': '一行一个:completed(已完成)、failed(出错)、stopped(已结束)。留空使用默认值 completed 与 failed。',\n 'settings.save': '保存',\n 'settings.saving': '保存中…',\n 'settings.saveFailed': '本部署没有接受这些值,已保留供你修改。',\n 'settings.readOnly': '本部署的设置为只读。',\n 'settings.unavailable': '宿主当前未提供通知配置,暂时无法编辑。',\n 'settings.overridden': '已覆盖',\n 'settings.reset': '恢复默认',\n 'settings.invalid': '该值不被接受,请修改或清空以恢复默认。',\n 'settings.invalidNumber': '请填数字;留空表示使用默认值。',\n 'settings.feed': '客户端读取地址',\n 'settings.feedHint': '桌面端与手机端按这个地址拉取运行结果;它只读,且需要本机或已声明入口的访问权限。',\n} as const\n\nexport type NotifyKey = keyof typeof zh\n\nexport const en: Record<NotifyKey, string> = {\n 'settings.tab': 'Notifications',\n 'settings.title': 'Run-finished notifications',\n 'settings.intro': 'When a session finishes running, push the result to Feishu and mark the unseen results in the desktop and mobile machine lists.',\n 'settings.summary': 'Push finished runs to Feishu and mark unseen results in the machine list.',\n 'settings.enabled': 'Enable notifications',\n 'settings.enabledHint': 'When off, run results are not recorded and the machine list stops marking unseen ones; already recorded results are dropped.',\n 'settings.feedLimit': 'Notices per read',\n 'settings.feedLimitHint': 'How many results a client receives in one pull. Leave blank to use the default of 20.',\n 'settings.feishuEnabled': 'Push to Feishu',\n 'settings.feishuEnabledHint': 'When on, the bot messages you when a run finishes. Requires the credentials and recipients below.',\n 'settings.feishuAppId': 'Feishu App ID',\n 'settings.feishuAppIdHint': 'Leave blank to reuse the bot configured on the Feishu page.',\n 'settings.feishuAppSecret': 'Feishu App Secret',\n 'settings.feishuAppSecretHint': 'Accepts env:NAME to read an environment variable. Leave blank to reuse the application configured on the Feishu page.',\n 'settings.feishuDomain': 'Open platform domain',\n 'settings.feishuDomainHint': 'feishu or lark. Leave blank to use the default (feishu).',\n 'settings.feishuRecipients': 'Recipients',\n 'settings.feishuRecipientsHint': 'One open_id (starts with ou_) or chat_id (starts with oc_) per line. Leave blank to push nothing.',\n 'settings.feishuMode': 'When to push',\n 'settings.feishuModeHint': 'idle waits until the work has fully stopped and sends one message; each-turn sends one message per finished turn. Leave blank for the default (idle).',\n 'settings.feishuOutcomes': 'Which results to push',\n 'settings.feishuOutcomesHint': 'One per line: completed, failed, stopped. Leave blank for the default (completed and failed).',\n 'settings.save': 'Save',\n 'settings.saving': 'Saving…',\n 'settings.saveFailed': 'The deployment did not accept these values; they were left for you to correct.',\n 'settings.readOnly': 'This deployment stores settings read-only.',\n 'settings.unavailable': 'The host does not serve notification settings right now, so they cannot be edited.',\n 'settings.overridden': 'Overridden',\n 'settings.reset': 'Reset to default',\n 'settings.invalid': 'This value is not accepted; change it or clear it to use the default.',\n 'settings.invalidNumber': 'Enter a number, or leave blank to use the default.',\n 'settings.feed': 'Client read address',\n 'settings.feedHint': 'The desktop and mobile clients pull run results from this address. It is read-only and requires local access or a declared entry.',\n}\n\nexport type Translate = (key: NotifyKey, params?: Record<string, string | number>) => string\n\n/** 取字典:`<html lang>` 以 zh 开头用中文,否则英文。 */\nexport function makeT(doc: Document | undefined = typeof document === 'undefined' ? undefined : document): Translate {\n const lang = doc?.documentElement?.lang?.toLowerCase() ?? ''\n const table: Record<NotifyKey, string> = lang.startsWith('zh') ? zh : en\n return (key, params) => {\n const text = table[key] ?? key\n if (params === undefined) return text\n return text.replace(/\\{(\\w+)\\}/gu, (match, name: string) => params[name] === undefined ? match : String(params[name]))\n }\n}","/**\n * The one description of a finished-run notice, shared by the host that records\n * it and every surface that reads it.\n *\n * A notice answers one question — \"did the work I left running finish, and how\n * did it end?\" — so the wire shape stays small enough to render as a phone\n * notification title. Two of the three consumers (the desktop client and the\n * mobile client) parse this JSON without this package's types, so the shape is\n * documented here once and every reader narrows defensively.\n *\n * @module dsh-web-all/notify-contract\n */\n\n/** Host route family prefix for the notification feed. */\nexport const NOTIFY_API_PREFIX = '/api/dsh-notify'\n\n/** The read route every client polls. */\nexport const NOTIFY_FEED_PATH = `${NOTIFY_API_PREFIX}/feed`\n\n/** Notices the host keeps and returns by default. */\nexport const NOTIFY_DEFAULT_LIMIT = 20\n\n/** Upper bound for one request's `limit`, so a client cannot ask for everything. */\nexport const NOTIFY_MAX_LIMIT = 100\n\n/** Sessions whose titles the host remembers, so a long-lived host cannot grow unbounded. */\nexport const NOTIFY_TITLE_MEMORY = 200\n\n/**\n * How a finished turn ended, collapsed from the extensible `TurnEndReason` map\n * into the three answers a person acts on.\n */\nexport type NotifyOutcome = 'completed' | 'failed' | 'stopped'\n\n/** One finished turn, as the feed reports it. */\nexport interface RunNotice {\n /** Strictly increasing across the host's lifetime; a client's read watermark. */\n readonly id: number\n /** Epoch milliseconds when the turn ended. */\n readonly at: number\n /** Session the turn belonged to. */\n readonly sessionId: string\n /** Session title, else a short excerpt of the first human prompt, else ''. */\n readonly title: string\n /** Turn number inside the session. */\n readonly turn: number\n /** Raw `TurnEndReason` kind, kept verbatim because plugins extend that map. */\n readonly reason: string\n /** The collapse of `reason` a client can act on without knowing the map. */\n readonly outcome: NotifyOutcome\n}\n\n/** What one finished turn is built from, before the host assigns its id. */\nexport type RunNoticeInput = Omit<RunNotice, 'id' | 'outcome'> & { readonly outcome?: NotifyOutcome }\n\n/** The feed document. */\nexport interface NotifyFeed {\n /**\n * Authority serving this feed, taken from the request's `Host` header.\n *\n * It is the origin the caller actually reached, not a configured name, so a\n * client aggregating several machines can label each row with what it dialed.\n */\n readonly origin: string\n /** Newest notice id, or 0 when none. A client stores it as its watermark. */\n readonly latest: number\n /** Notices newer than the request's `since`, oldest first, capped by `limit`. */\n readonly notices: readonly RunNotice[]\n}\n\n/** Reasons that mean the model finished the work it was given. */\nconst COMPLETED_REASONS = new Set(['completed', 'max-tokens'])\n\n/** Reasons that mean the turn ended because something went wrong. */\nconst FAILED_REASONS = new Set(['error', 'blocked'])\n\n/** Reasons that mean the turn ended without either succeeding or failing. */\nconst STOPPED_REASONS = new Set(['aborted', 'interrupted', 'forked'])\n\n/**\n * Collapse one `TurnEndReason` kind into the outcome a client acts on.\n *\n * An unrecognized reason comes from a plugin that merged a new variant into the\n * reason map. Reporting it as `completed` would put a success claim on something\n * no one has inspected, so an unknown closure takes the neutral outcome and the\n * caller still has {@link RunNotice.reason} to render verbatim.\n *\n * @param reason - the raw reason kind, or '' when the event carried none.\n * @returns the outcome to record.\n */\nexport function outcomeOf(reason: string): NotifyOutcome {\n if (COMPLETED_REASONS.has(reason)) return 'completed'\n if (FAILED_REASONS.has(reason)) return 'failed'\n if (STOPPED_REASONS.has(reason)) return 'stopped'\n return 'stopped'\n}\n\n/** Chinese label for one outcome, shared so the three surfaces cannot drift. */\nexport const OUTCOME_LABEL_ZH: Readonly<Record<NotifyOutcome, string>> = {\n completed: '已完成',\n failed: '出错',\n stopped: '已结束',\n}\n\n/** Whether an outcome is worth interrupting a person for. */\nexport function isNotifiable(outcome: NotifyOutcome): boolean {\n return outcome === 'completed' || outcome === 'failed'\n}\n\n/**\n * Clamp a request's `limit` into the range the host is willing to answer.\n * @param value - the parsed query value, of unknown quality.\n * @param fallback - the value used when `value` is not a usable number.\n * @returns a whole number within 1..{@link NOTIFY_MAX_LIMIT}.\n */\nexport function clampLimit(value: unknown, fallback: number = NOTIFY_DEFAULT_LIMIT): number {\n const parsed = parseWhole(value)\n if (parsed === null) return fallback\n if (parsed < 1) return 1\n return parsed > NOTIFY_MAX_LIMIT ? NOTIFY_MAX_LIMIT : parsed\n}\n\n/**\n * Read a whole number out of a query value.\n *\n * An absent or blank value is `null` rather than zero: `Number('')` is 0, which\n * would silently turn \"the caller said nothing\" into \"the caller asked for the\n * smallest possible answer\".\n *\n * @param value - the raw value, of unknown quality.\n * @returns the truncated number, or null when there is no number there.\n */\nfunction parseWhole(value: unknown): number | null {\n if (typeof value === 'number') return Number.isFinite(value) ? Math.trunc(value) : null\n if (typeof value !== 'string') return value === null || value === undefined ? null : parseWhole(Number(value))\n const text = value.trim()\n if (text === '') return null\n const parsed = Number(text)\n return Number.isFinite(parsed) ? Math.trunc(parsed) : null\n}\n\n/**\n * Clamp a client's read watermark. A malformed watermark means \"nothing seen\n * yet\" (0) rather than a throw, because a client that cannot parse its stored\n * value should be told everything again instead of nothing.\n * @param value - the parsed watermark, of unknown quality.\n * @returns a non-negative whole number.\n */\nexport function clampWatermark(value: unknown): number {\n const parsed = parseWhole(value)\n if (parsed === null || parsed < 0) return 0\n return parsed\n}\n\n/**\n * Reconcile a client's stored watermark with the feed it just read.\n *\n * Notice ids count from one host process, so a restarted host serves ids that\n * start over. A watermark stored against the previous process would then be\n * higher than every new id and would hide each new notice forever, which is the\n * one failure mode a red dot must not have. A regression therefore means \"the\n * host is a different process now; start over\", and the caller stores 0 and\n * treats the whole held log as new.\n *\n * @param previous - the watermark the client stored.\n * @param latest - the feed's newest id.\n * @returns the watermark the client should keep and compare against.\n */\nexport function reconcileWatermark(previous: number, latest: number): number {\n if (!Number.isFinite(latest) || latest < 0) return previous\n return latest < previous ? 0 : previous\n}\n\n/**\n * The notices a client has not seen, under the reconciliation rule above.\n * @param feed - the decoded feed document.\n * @param watermark - the client's stored watermark.\n * @returns notices newer than the effective watermark, oldest first.\n */\nexport function newNotices(feed: NotifyFeed, watermark: number): RunNotice[] {\n const effective = reconcileWatermark(clampWatermark(watermark), feed.latest)\n return feed.notices.filter(notice => notice.id > effective)\n}\n\nfunction asString(value: unknown): string {\n return typeof value === 'string' ? value : ''\n}\n\nfunction asWhole(value: unknown, fallback = 0): number {\n const parsed = typeof value === 'number' ? value : Number(value)\n return Number.isFinite(parsed) ? Math.trunc(parsed) : fallback\n}\n\n/**\n * Narrow one decoded notice from the wire.\n *\n * Every field is re-derived rather than cast, so an unknown or truncated\n * payload degrades into a notice with blank strings instead of an `undefined`\n * reaching a renderer.\n *\n * @param value - one decoded element of `notices`.\n * @returns the notice, or null when the element is not an object at all.\n */\nexport function parseRunNotice(value: unknown): RunNotice | null {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return null\n const record = value as Record<string, unknown>\n const reason = asString(record.reason)\n const rawOutcome = asString(record.outcome)\n const outcome: NotifyOutcome = rawOutcome === 'completed' || rawOutcome === 'failed' || rawOutcome === 'stopped'\n ? rawOutcome\n : outcomeOf(reason)\n return {\n id: asWhole(record.id),\n at: asWhole(record.at),\n sessionId: asString(record.sessionId),\n title: asString(record.title),\n turn: asWhole(record.turn),\n reason,\n outcome,\n }\n}\n\n/**\n * Narrow a whole feed document from the wire.\n * @param value - the decoded JSON body.\n * @returns the feed, or null when the body is not a feed object.\n */\nexport function parseFeed(value: unknown): NotifyFeed | null {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return null\n const record = value as Record<string, unknown>\n const notices = Array.isArray(record.notices)\n ? record.notices.map(parseRunNotice).filter((notice): notice is RunNotice => notice !== null)\n : []\n const latest = asWhole(record.latest, notices.reduce((max, notice) => Math.max(max, notice.id), 0))\n return { origin: asString(record.origin), latest, notices }\n}","/**\n * 通知设置页(DSH 0.2)。\n *\n * 位置:设置 → 内置插件 的「通知」标签页(官方 `settings.plugins.tab`),只在宿主\n * 确实提供 `notify` 命名空间时才出现(`configForms.whileServed`,与「飞书」页同一\n * 套机制)。\n *\n * 数据:表单走官方 `SettingsFormModel` + `SettingsForm`(staged 编辑、保存时才落盘、\n * 写入带 revision 闸门)。凭据字段只写不读:宿主把 appSecret 存进设置文档后不在任何\n * 应答里回显,所以这里不提供「当前密钥」的展示,也不给它一个假的占位值。\n */\nimport { type ReactNode } from 'react'\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport {\n Checkbox,\n SettingsForm,\n SettingsFormModel,\n SettingsValueField,\n settingsNumberField,\n settingsTextField,\n type SettingsFieldSpec,\n type SettingsFieldState,\n type SettingsFormScope,\n type SettingsFormShell,\n} from './primitives-0.2.ts'\nimport { makeT, type Translate } from '../notify/i18n.ts'\nimport { FAMILY_SETTINGS_NAMESPACE, familyNamespaceScope } from './family-scope.ts'\nimport css from './settings-shell.module.css'\nimport { NOTIFY_FEED_PATH } from '../../core/notify/contract.ts'\n\n/** 条目里通知能力域的子键(host 的 family namespace)。 */\nexport const NOTIFY_NAMESPACE = 'notify'\n\n/** 面板编辑的字段子集。 */\nexport interface NotifySettings {\n enabled?: boolean\n feedLimit?: number\n feishuEnabled?: boolean\n feishuAppId?: string\n feishuAppSecret?: string\n feishuDomain?: 'feishu' | 'lark'\n feishuRecipients?: string[]\n feishuMode?: 'idle' | 'each-turn'\n feishuOutcomes?: string[]\n}\n\n/** 布尔字段:草稿文本用 'true'/'false',空草稿表示恢复默认。 */\nfunction booleanField(field: string): SettingsFieldSpec {\n return {\n field,\n format: value => value === true ? 'true' : value === false ? 'false' : '',\n parse: (text) => {\n if (text === 'true') return { kind: 'set', value: true }\n if (text === 'false') return { kind: 'set', value: false }\n return text === '' ? { kind: 'clear' } : undefined\n },\n }\n}\n\n/**\n * 字符串列表字段:一行一个,也接受逗号/分号分隔。\n *\n * 收件人与结果集合共用同一形状,所以共用同一解析:两者的空值语义都是「恢复默认」,\n * 而默认由宿主 schema 决定,客户端不复制一份。\n */\nfunction listField(field: string): SettingsFieldSpec {\n return {\n field,\n format: value => Array.isArray(value) ? value.join('\\n') : '',\n parse: (text) => {\n const trimmed = text.trim()\n if (trimmed === '') return { kind: 'clear' }\n return { kind: 'set', value: trimmed.split(/[\\n,;]+/u).map(item => item.trim()).filter(Boolean) }\n },\n }\n}\n\n/** 设置页投影给组件的状态。 */\ninterface NotifyCardState extends SettingsFormShell {\n enabled: SettingsFieldState\n feedLimit: SettingsFieldState\n feishuEnabled: SettingsFieldState\n feishuAppId: SettingsFieldState\n feishuAppSecret: SettingsFieldState\n feishuDomain: SettingsFieldState\n feishuRecipients: SettingsFieldState\n feishuMode: SettingsFieldState\n feishuOutcomes: SettingsFieldState\n}\n\n/** 组件读取的 store 面(SnapshotStore 的结构子集)。 */\ninterface NotifyCardStore {\n getSnapshot(): NotifyCardState\n subscribe(listener: () => void): () => void\n}\n\n/** 页面控制器:把 `notify` 命名空间桥到官方 staged 表单。 */\nexport class NotifySettingsController {\n private readonly form: SettingsFormModel<NotifySettings>\n private readonly store: NotifyCardStore\n\n constructor(scope: SettingsFormScope<NotifySettings>) {\n this.form = new SettingsFormModel<NotifySettings>(scope, [\n booleanField('enabled'),\n settingsNumberField('feedLimit'),\n booleanField('feishuEnabled'),\n settingsTextField('feishuAppId'),\n settingsTextField('feishuAppSecret'),\n settingsTextField('feishuDomain'),\n listField('feishuRecipients'),\n settingsTextField('feishuMode'),\n listField('feishuOutcomes'),\n ])\n this.store = this.form.bind(() => this.projection())\n }\n\n private projection(): NotifyCardState {\n return {\n ...this.form.shell(),\n enabled: this.form.field('enabled'),\n feedLimit: this.form.field('feedLimit'),\n feishuEnabled: this.form.field('feishuEnabled'),\n feishuAppId: this.form.field('feishuAppId'),\n feishuAppSecret: this.form.field('feishuAppSecret'),\n feishuDomain: this.form.field('feishuDomain'),\n feishuRecipients: this.form.field('feishuRecipients'),\n feishuMode: this.form.field('feishuMode'),\n feishuOutcomes: this.form.field('feishuOutcomes'),\n }\n }\n\n /** 槽注入面:投影 store + 表单动作。 */\n inject(): Record<string, unknown> {\n return { hooks: { notifyCard: this.store }, ...this.form.actions() }\n }\n\n dispose(): void {\n this.form.dispose()\n }\n}\n\ninterface NotifyPageProps {\n view?: 'summary' | 'full'\n useNotifyCard<T>(select: (state: NotifyCardState) => T): T\n edit(field: string, text: string): void\n resetField(field: string): void\n save(): void\n discard(): void\n t: Translate\n}\n\n/** 一个布尔开关行。 */\nfunction BooleanRow({ id, label, hint, field, state, disabled, edit, resetField, t }: {\n id: string\n label: string\n hint: string\n field: 'enabled' | 'feishuEnabled'\n state: NotifyCardState\n disabled: boolean\n edit(field: string, text: string): void\n resetField(field: string): void\n t: Translate\n}): ReactNode {\n const cell = state[field]\n const checked = cell.text === '' ? false : cell.text === 'true'\n return (\n <div className={css.row} data-dsh-part=\"field\" data-field={field}>\n <div className={css.rowHead}>\n <Checkbox\n checked={checked}\n disabled={disabled}\n label={label}\n onChange={(next) => { edit(field, next ? 'true' : 'false') }}\n />\n {cell.overridden\n ? <button type=\"button\" className={css.reset} disabled={disabled} onClick={() => { resetField(field) }}>{t('settings.reset')}</button>\n : null}\n </div>\n <p className={css.hint} id={id}>{hint}</p>\n </div>\n )\n}\n\n/** 一个文本/数字字段行。 */\nfunction FieldRow({ id, field, label, hint, state, disabled, numeric, edit, resetField, t }: {\n id: string\n field: keyof NotifySettings & string\n label: string\n hint: string\n state: NotifyCardState\n disabled: boolean\n numeric?: boolean\n edit(field: string, text: string): void\n resetField(field: string): void\n t: Translate\n}): ReactNode {\n const cell = state[field as keyof NotifyCardState] as SettingsFieldState\n return (\n <SettingsValueField\n id={id}\n label={label}\n hint={hint}\n overriddenLabel={t('settings.overridden')}\n resetLabel={t('settings.reset')}\n invalidLabel={numeric === true ? t('settings.invalidNumber') : t('settings.invalid')}\n disabled={disabled}\n numeric={numeric}\n {...cell}\n onEdit={(text) => { edit(field, text) }}\n onReset={() => { resetField(field) }}\n />\n )\n}\n\n/** 设置标签页主体。 */\nexport function NotifySettingsPage(props: NotifyPageProps): ReactNode {\n const state = props.useNotifyCard(value => value)\n if (props.view === 'summary') return props.t('settings.summary')\n const t = props.t\n const disabled = !state.writable\n return (\n <div className={css.page} data-dsh-plugin=\"notify\" data-dsh-part=\"settings\">\n <h3 className={css.title}>{t('settings.title')}</h3>\n <p className={css.intro}>{t('settings.intro')}</p>\n <SettingsForm\n labels={{\n unavailable: t('settings.unavailable'),\n readOnly: t('settings.readOnly'),\n saveFailed: t('settings.saveFailed'),\n save: t('settings.save'),\n saving: t('settings.saving'),\n }}\n state={state}\n onSave={props.save}\n onDiscard={props.discard}\n >\n <BooleanRow id=\"notify-enabled-hint\" label={t('settings.enabled')} hint={t('settings.enabledHint')} field=\"enabled\" state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feed-limit\" field=\"feedLimit\" label={t('settings.feedLimit')} hint={t('settings.feedLimitHint')} state={state} disabled={disabled} numeric edit={props.edit} resetField={props.resetField} t={t}/>\n <p className={css.hint} data-dsh-part=\"feed-path\">\n {t('settings.feed')}:<code>{NOTIFY_FEED_PATH}</code>\n <br/>\n {t('settings.feedHint')}\n </p>\n <BooleanRow id=\"notify-feishu-enabled-hint\" label={t('settings.feishuEnabled')} hint={t('settings.feishuEnabledHint')} field=\"feishuEnabled\" state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-app-id\" field=\"feishuAppId\" label={t('settings.feishuAppId')} hint={t('settings.feishuAppIdHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-app-secret\" field=\"feishuAppSecret\" label={t('settings.feishuAppSecret')} hint={t('settings.feishuAppSecretHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-domain\" field=\"feishuDomain\" label={t('settings.feishuDomain')} hint={t('settings.feishuDomainHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-recipients\" field=\"feishuRecipients\" label={t('settings.feishuRecipients')} hint={t('settings.feishuRecipientsHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-mode\" field=\"feishuMode\" label={t('settings.feishuMode')} hint={t('settings.feishuModeHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n <FieldRow id=\"notify-feishu-outcomes\" field=\"feishuOutcomes\" label={t('settings.feishuOutcomes')} hint={t('settings.feishuOutcomesHint')} state={state} disabled={disabled} edit={props.edit} resetField={props.resetField} t={t}/>\n </SettingsForm>\n </div>\n )\n}\n\n/** 官方 configForms 服务的结构面(未装载设置界面时整页不注册)。 */\ninterface ConfigFormsFace {\n get(entryId: string): SettingsFormScope<Record<string, unknown>>\n whileServed(namespaces: readonly string[], register: (served: ReadonlySet<string>) => () => void): () => void\n}\n\nfunction optionalConfigForms(ctx: ClientContext): ConfigFormsFace | undefined {\n try { return (ctx.get as unknown as (id: string, strict?: boolean) => unknown)('configForms', false) as ConfigFormsFace | undefined } catch { return undefined }\n}\n\n/** 注册「内置插件 → 通知」标签页;宿主不再提供该命名空间时自动撤下。 */\nexport function mountNotifySettings(ctx: ClientContext): () => void {\n const configForms = optionalConfigForms(ctx)\n if (configForms === undefined) return () => {}\n const t = makeT()\n const controller = new NotifySettingsController(familyNamespaceScope<NotifySettings>(configForms.get(FAMILY_SETTINGS_NAMESPACE), NOTIFY_NAMESPACE))\n const offPage = configForms.whileServed([FAMILY_SETTINGS_NAMESPACE], () => ctx.slots.inject('settings.plugins.tab', () => ctx.slots.register({\n name: 'settings.plugins.tab',\n id: NOTIFY_NAMESPACE,\n order: 61,\n label: () => t('settings.tab'),\n inject: () => ({ ...controller.inject(), t }),\n } as never, NotifySettingsPage as never) as unknown as () => void))\n let disposed = false\n return () => {\n if (disposed) return\n disposed = true\n offPage()\n controller.dispose()\n }\n}","/**\n * dsh-web-all — browser half.\n *\n * 全家桶实体插件的 client 半区:按 dsh 注入位置组织,位置是第一维度。\n * 三个位置模块(sidebar / settings / conversation)各自负责一个\n * 注入位置的全部注册与编排;本文件只做装配:挂 compat 补标、加载位置模块。\n *\n * 不再存在任何独立插件行:cordis.patch.yml 只有一行 `web-all`。\n */\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\nimport { mountCompat } from './compat.ts'\nimport { mountGatewayTrust } from './trust.ts'\nimport { mountSidebar } from './sidebar/index.ts'\nimport { mountConversation } from './conversation/index.ts'\nimport { mountLarkSettings } from './settings/lark-inbox.tsx'\nimport { mountNotifySettings } from './settings/notify.tsx'\n\n/** Required services shared by the position modules (each may declare more). */\nexport const inject = [\n 'slots',\n 'locale',\n 'sessions',\n 'theme',\n 'connection',\n 'remote',\n 'workspaces',\n] as const\n\n/**\n * Application entry:装配四个位置模块 + compat shim。\n * 每个位置模块直接挂载其完整能力并共享同一 Cordis 生命周期。\n * @param ctx - client root context。\n */\n/** 单模块挂载隔离:任一位置模块抛错不再拖垮整块客户端(并留下可诊断日志)。 */\nfunction mountPosition(ctx: ClientContext, label: string, fn: () => () => void): void {\n ctx.effect(() => {\n try {\n return fn()\n } catch (error) {\n console.error(`[web-all] ${label} mount threw:`, error)\n return () => {}\n }\n }, `web-all: ${label}`)\n}\n\nexport function apply(ctx: ClientContext): void {\n // 最先挂:网关页面的宿主信任(否则 0.2 会把设置面降级成内存态,模型页读不到配置)。\n mountPosition(ctx, 'gateway trust', () => mountGatewayTrust(ctx))\n // 家族只在设置页保留飞书配置(内置插件标签页),其余能力全部走默认值。\n mountPosition(ctx, 'compat', () => mountCompat())\n mountPosition(ctx, 'sidebar position', () => mountSidebar(ctx))\n mountPosition(ctx, 'conversation position', () => mountConversation(ctx))\n mountPosition(ctx, 'settings position', () => mountLarkSettings(ctx))\n // 通知是飞书接入的出站半边,与「飞书」页并列成第二个标签页:两者配置同一个\n // 机器人,但一个是「怎么收」、一个是「怎么发」,混在一页里两边的说明都会变糊。\n mountPosition(ctx, 'settings position (notify)', () => mountNotifySettings(ctx))\n}"],"x_google_ignoreList":[11,12,30],"mappings":"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AI,GAAE,IAAE;OAAC,CAAC,KAAI,GAAG;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CAAC,MAAK,IAAI;OAAE,CA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"}