@jingyi0605/codingns4dsh 0.2.0-beta.2 → 0.2.0-rc.2

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 (420) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +7 -5
  3. package/assets/provider-icons/minimax-code.svg +4 -0
  4. package/assets/provider-icons/zcode.svg +14 -0
  5. package/data/build/dist/client/account-bar.d.ts +2 -1
  6. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  7. package/data/build/dist/client/account-bar.js +21 -16
  8. package/data/build/dist/client/account-bar.js.map +1 -1
  9. package/data/build/dist/client/bundle.js +4172 -1540
  10. package/data/build/dist/client/bundle.js.map +1 -1
  11. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  12. package/data/build/dist/client/cli-slots.js +20 -12
  13. package/data/build/dist/client/cli-slots.js.map +1 -1
  14. package/data/build/dist/client/debug/ui.d.ts +2 -1
  15. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  16. package/data/build/dist/client/debug/ui.js +39 -33
  17. package/data/build/dist/client/debug/ui.js.map +1 -1
  18. package/data/build/dist/client/delegate-command.d.ts +16 -0
  19. package/data/build/dist/client/delegate-command.d.ts.map +1 -0
  20. package/data/build/dist/client/delegate-command.js +138 -0
  21. package/data/build/dist/client/delegate-command.js.map +1 -0
  22. package/data/build/dist/client/delegate-plan.d.ts +31 -0
  23. package/data/build/dist/client/delegate-plan.d.ts.map +1 -0
  24. package/data/build/dist/client/delegate-plan.js +59 -0
  25. package/data/build/dist/client/delegate-plan.js.map +1 -0
  26. package/data/build/dist/client/delegate-ui-dom.d.ts +40 -0
  27. package/data/build/dist/client/delegate-ui-dom.d.ts.map +1 -0
  28. package/data/build/dist/client/delegate-ui-dom.js +363 -0
  29. package/data/build/dist/client/delegate-ui-dom.js.map +1 -0
  30. package/data/build/dist/client/external-tool-stream.d.ts.map +1 -1
  31. package/data/build/dist/client/external-tool-stream.js +44 -36
  32. package/data/build/dist/client/external-tool-stream.js.map +1 -1
  33. package/data/build/dist/client/features/cli-adapters.d.ts +7 -2
  34. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  35. package/data/build/dist/client/features/cli-adapters.js +52 -103
  36. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  37. package/data/build/dist/client/features/debug.d.ts.map +1 -1
  38. package/data/build/dist/client/features/debug.js +5 -3
  39. package/data/build/dist/client/features/debug.js.map +1 -1
  40. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  41. package/data/build/dist/client/features/file-management.js +7 -4
  42. package/data/build/dist/client/features/file-management.js.map +1 -1
  43. package/data/build/dist/client/features/lan-access-panel.js +10 -10
  44. package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
  45. package/data/build/dist/client/features/lan-access.d.ts.map +1 -1
  46. package/data/build/dist/client/features/lan-access.js +8 -3
  47. package/data/build/dist/client/features/lan-access.js.map +1 -1
  48. package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -1
  49. package/data/build/dist/client/features/login-protection-panel.js +9 -7
  50. package/data/build/dist/client/features/login-protection-panel.js.map +1 -1
  51. package/data/build/dist/client/features/login-protection.js +2 -2
  52. package/data/build/dist/client/features/login-protection.js.map +1 -1
  53. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  54. package/data/build/dist/client/features/mobile-access.js +6 -2
  55. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  56. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  57. package/data/build/dist/client/features/peer-host.js +115 -11
  58. package/data/build/dist/client/features/peer-host.js.map +1 -1
  59. package/data/build/dist/client/features/reverse-proxy.js +2 -2
  60. package/data/build/dist/client/features/reverse-proxy.js.map +1 -1
  61. package/data/build/dist/client/features/terminal-enhancement.js +2 -2
  62. package/data/build/dist/client/features/terminal-enhancement.js.map +1 -1
  63. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +1 -1
  64. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -1
  65. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  66. package/data/build/dist/client/features/workspace-session-enhancement.js +8 -3
  67. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  68. package/data/build/dist/client/file-management-dom.d.ts +3 -0
  69. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  70. package/data/build/dist/client/file-management-dom.js +41 -30
  71. package/data/build/dist/client/file-management-dom.js.map +1 -1
  72. package/data/build/dist/client/git-management.d.ts +2 -0
  73. package/data/build/dist/client/git-management.d.ts.map +1 -1
  74. package/data/build/dist/client/git-management.js +82 -74
  75. package/data/build/dist/client/git-management.js.map +1 -1
  76. package/data/build/dist/client/git-workspace-events.d.ts +7 -0
  77. package/data/build/dist/client/git-workspace-events.d.ts.map +1 -0
  78. package/data/build/dist/client/git-workspace-events.js +32 -0
  79. package/data/build/dist/client/git-workspace-events.js.map +1 -0
  80. package/data/build/dist/client/index.d.ts +2 -0
  81. package/data/build/dist/client/index.d.ts.map +1 -1
  82. package/data/build/dist/client/index.js +6 -5
  83. package/data/build/dist/client/index.js.map +1 -1
  84. package/data/build/dist/client/locale.d.ts +7 -0
  85. package/data/build/dist/client/locale.d.ts.map +1 -1
  86. package/data/build/dist/client/locale.js +80 -36
  87. package/data/build/dist/client/locale.js.map +1 -1
  88. package/data/build/dist/client/locales/debug.d.ts +9 -0
  89. package/data/build/dist/client/locales/debug.d.ts.map +1 -0
  90. package/data/build/dist/client/locales/debug.js +163 -0
  91. package/data/build/dist/client/locales/debug.js.map +1 -0
  92. package/data/build/dist/client/locales/fileWorkspace.d.ts +9 -0
  93. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -0
  94. package/data/build/dist/client/locales/fileWorkspace.js +139 -0
  95. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -0
  96. package/data/build/dist/client/locales/git.d.ts +9 -0
  97. package/data/build/dist/client/locales/git.d.ts.map +1 -0
  98. package/data/build/dist/client/locales/git.js +223 -0
  99. package/data/build/dist/client/locales/git.js.map +1 -0
  100. package/data/build/dist/client/locales/panels.d.ts +9 -0
  101. package/data/build/dist/client/locales/panels.d.ts.map +1 -0
  102. package/data/build/dist/client/locales/panels.js +33 -0
  103. package/data/build/dist/client/locales/panels.js.map +1 -0
  104. package/data/build/dist/client/locales/peerHost.d.ts +9 -0
  105. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -0
  106. package/data/build/dist/client/locales/peerHost.js +153 -0
  107. package/data/build/dist/client/locales/peerHost.js.map +1 -0
  108. package/data/build/dist/client/locales/peerHostWorkspace.d.ts +9 -0
  109. package/data/build/dist/client/locales/peerHostWorkspace.d.ts.map +1 -0
  110. package/data/build/dist/client/locales/peerHostWorkspace.js +69 -0
  111. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -0
  112. package/data/build/dist/client/locales/terminalAuth.d.ts +9 -0
  113. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -0
  114. package/data/build/dist/client/locales/terminalAuth.js +67 -0
  115. package/data/build/dist/client/locales/terminalAuth.js.map +1 -0
  116. package/data/build/dist/client/locales/usage.d.ts +9 -0
  117. package/data/build/dist/client/locales/usage.d.ts.map +1 -0
  118. package/data/build/dist/client/locales/usage.js +195 -0
  119. package/data/build/dist/client/locales/usage.js.map +1 -0
  120. package/data/build/dist/client/mobile-session-interaction.d.ts +44 -0
  121. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -0
  122. package/data/build/dist/client/mobile-session-interaction.js +291 -0
  123. package/data/build/dist/client/mobile-session-interaction.js.map +1 -0
  124. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +10 -2
  125. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -1
  126. package/data/build/dist/client/mobile-sidebar-rail-dom.js +14 -6
  127. package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -1
  128. package/data/build/dist/client/peer-host-connection-button.d.ts +14 -1
  129. package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -1
  130. package/data/build/dist/client/peer-host-connection-button.js +12 -4
  131. package/data/build/dist/client/peer-host-connection-button.js.map +1 -1
  132. package/data/build/dist/client/peer-host-management-panel.d.ts +3 -0
  133. package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -1
  134. package/data/build/dist/client/peer-host-management-panel.js +83 -79
  135. package/data/build/dist/client/peer-host-management-panel.js.map +1 -1
  136. package/data/build/dist/client/peer-host-native-projection.d.ts +1 -0
  137. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  138. package/data/build/dist/client/peer-host-native-projection.js +5 -0
  139. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  140. package/data/build/dist/client/peer-host-scoped-client.js +5 -5
  141. package/data/build/dist/client/peer-host-scoped-client.js.map +1 -1
  142. package/data/build/dist/client/peer-host-workspace-tab.d.ts +8 -0
  143. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -1
  144. package/data/build/dist/client/peer-host-workspace-tab.js +48 -28
  145. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -1
  146. package/data/build/dist/client/provider-icon-assets.js +4 -0
  147. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  148. package/data/build/dist/client/provider-icons.d.ts +8 -2
  149. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  150. package/data/build/dist/client/provider-icons.js +13 -4
  151. package/data/build/dist/client/provider-icons.js.map +1 -1
  152. package/data/build/dist/client/pwa-install-prompt.d.ts +4 -1
  153. package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -1
  154. package/data/build/dist/client/pwa-install-prompt.js +8 -7
  155. package/data/build/dist/client/pwa-install-prompt.js.map +1 -1
  156. package/data/build/dist/client/quick-phrase-layout.d.ts +11 -0
  157. package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -1
  158. package/data/build/dist/client/quick-phrase-layout.js +20 -0
  159. package/data/build/dist/client/quick-phrase-layout.js.map +1 -1
  160. package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -1
  161. package/data/build/dist/client/quick-phrase-slot.js +20 -8
  162. package/data/build/dist/client/quick-phrase-slot.js.map +1 -1
  163. package/data/build/dist/client/session-changed-files-view.d.ts +8 -1
  164. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -1
  165. package/data/build/dist/client/session-changed-files-view.js +71 -28
  166. package/data/build/dist/client/session-changed-files-view.js.map +1 -1
  167. package/data/build/dist/client/settings-anchor.d.ts +9 -3
  168. package/data/build/dist/client/settings-anchor.d.ts.map +1 -1
  169. package/data/build/dist/client/settings-anchor.js +8 -2
  170. package/data/build/dist/client/settings-anchor.js.map +1 -1
  171. package/data/build/dist/client/settings-section.js +3 -3
  172. package/data/build/dist/client/settings-section.js.map +1 -1
  173. package/data/build/dist/client/subscription-slot.d.ts +4 -1
  174. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  175. package/data/build/dist/client/subscription-slot.js +327 -51
  176. package/data/build/dist/client/subscription-slot.js.map +1 -1
  177. package/data/build/dist/client/terminal/model.d.ts +13 -2
  178. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  179. package/data/build/dist/client/terminal/model.js +27 -7
  180. package/data/build/dist/client/terminal/model.js.map +1 -1
  181. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  182. package/data/build/dist/client/terminal/ui.js +3 -1
  183. package/data/build/dist/client/terminal/ui.js.map +1 -1
  184. package/data/build/dist/client/terminal/xterm-view.d.ts +4 -1
  185. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  186. package/data/build/dist/client/terminal/xterm-view.js +19 -17
  187. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  188. package/data/build/dist/client/workspace-session-archive-dom.d.ts +3 -0
  189. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
  190. package/data/build/dist/client/workspace-session-archive-dom.js +131 -45
  191. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
  192. package/data/build/dist/client/workspace-session-logo-dom.d.ts +3 -0
  193. package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -1
  194. package/data/build/dist/client/workspace-session-logo-dom.js +3 -1
  195. package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -1
  196. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  197. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  198. package/data/build/dist/client/workspace-session-visibility-dom.js +46 -17
  199. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  200. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +10 -0
  201. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  202. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +20 -0
  203. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  204. package/data/build/dist/host/browser-text.d.ts +30 -0
  205. package/data/build/dist/host/browser-text.d.ts.map +1 -0
  206. package/data/build/dist/host/browser-text.js +105 -0
  207. package/data/build/dist/host/browser-text.js.map +1 -0
  208. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +28 -2
  209. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  210. package/data/build/dist/host/cli-adapters/claude-driver.js +73 -3
  211. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  212. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  213. package/data/build/dist/host/cli-adapters/claude-model-options.js +22 -9
  214. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  215. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +10 -0
  216. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  217. package/data/build/dist/host/cli-adapters/codex-driver.js +105 -5
  218. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  219. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  220. package/data/build/dist/host/cli-adapters/command-code-driver.js +49 -7
  221. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  222. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +47 -0
  223. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -0
  224. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +158 -0
  225. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -0
  226. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +32 -0
  227. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -0
  228. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +121 -0
  229. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -0
  230. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  231. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +5 -4
  232. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts +16 -0
  234. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -0
  235. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +73 -0
  236. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -0
  237. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  238. package/data/build/dist/host/cli-adapters/feature.js +196 -14
  239. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  240. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  241. package/data/build/dist/host/cli-adapters/gemini-driver.js +21 -5
  242. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  243. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  244. package/data/build/dist/host/cli-adapters/grok-driver.js +24 -7
  245. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  246. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts +22 -6
  247. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  248. package/data/build/dist/host/cli-adapters/json-rpc-process.js +118 -21
  249. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  250. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  251. package/data/build/dist/host/cli-adapters/kimi-driver.js +25 -4
  252. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  253. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +11 -2
  254. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  255. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +15 -6
  256. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  257. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts +23 -0
  258. package/data/build/dist/host/cli-adapters/mcode-catalog.d.ts.map +1 -0
  259. package/data/build/dist/host/cli-adapters/mcode-catalog.js +120 -0
  260. package/data/build/dist/host/cli-adapters/mcode-catalog.js.map +1 -0
  261. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts +56 -0
  262. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -0
  263. package/data/build/dist/host/cli-adapters/mcode-driver.js +544 -0
  264. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -0
  265. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +30 -5
  266. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  267. package/data/build/dist/host/cli-adapters/model-catalog.js +83 -8
  268. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  269. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +51 -0
  270. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -0
  271. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +193 -0
  272. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -0
  273. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts +4 -0
  274. package/data/build/dist/host/cli-adapters/native-subagent-holder.d.ts.map +1 -0
  275. package/data/build/dist/host/cli-adapters/native-subagent-holder.js +4 -0
  276. package/data/build/dist/host/cli-adapters/native-subagent-holder.js.map +1 -0
  277. package/data/build/dist/host/cli-adapters/native-team-proxy.js +18 -15
  278. package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -1
  279. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +45 -0
  280. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -0
  281. package/data/build/dist/host/cli-adapters/native-team-subagent.js +107 -0
  282. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -0
  283. package/data/build/dist/host/cli-adapters/opencode-driver.js +13 -3
  284. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  285. package/data/build/dist/host/cli-adapters/pi-driver.js +24 -7
  286. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  287. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +8 -1
  288. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  289. package/data/build/dist/host/cli-adapters/provider-subscription.js +98 -2
  290. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  291. package/data/build/dist/host/cli-adapters/registry-holder.d.ts +4 -0
  292. package/data/build/dist/host/cli-adapters/registry-holder.d.ts.map +1 -0
  293. package/data/build/dist/host/cli-adapters/registry-holder.js +9 -0
  294. package/data/build/dist/host/cli-adapters/registry-holder.js.map +1 -0
  295. package/data/build/dist/host/cli-adapters/registry.d.ts +13 -0
  296. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  297. package/data/build/dist/host/cli-adapters/registry.js +37 -0
  298. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  299. package/data/build/dist/host/cli-adapters/session-store.d.ts +6 -1
  300. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  301. package/data/build/dist/host/cli-adapters/session-store.js +42 -4
  302. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  303. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +2 -0
  304. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  305. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +30 -4
  306. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  307. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts +5 -0
  308. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -0
  309. package/data/build/dist/host/cli-adapters/subagent-tool.js +66 -0
  310. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -0
  311. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts +57 -0
  312. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -0
  313. package/data/build/dist/host/cli-adapters/zcode-driver.js +843 -0
  314. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -0
  315. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts +28 -0
  316. package/data/build/dist/host/cli-adapters/zcode-subscription.d.ts.map +1 -0
  317. package/data/build/dist/host/cli-adapters/zcode-subscription.js +212 -0
  318. package/data/build/dist/host/cli-adapters/zcode-subscription.js.map +1 -0
  319. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +27 -0
  320. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -0
  321. package/data/build/dist/host/cli-bridge/bridge-holder.js +51 -0
  322. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -0
  323. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +34 -0
  324. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -0
  325. package/data/build/dist/host/cli-bridge/bridge-server.js +135 -0
  326. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -0
  327. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +25 -0
  328. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -0
  329. package/data/build/dist/host/cli-bridge/command-code-mod.js +60 -0
  330. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -0
  331. package/data/build/dist/host/cli-bridge/dispatch.d.ts +19 -0
  332. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -0
  333. package/data/build/dist/host/cli-bridge/dispatch.js +90 -0
  334. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -0
  335. package/data/build/dist/host/cli-bridge/injections.d.ts +28 -0
  336. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -0
  337. package/data/build/dist/host/cli-bridge/injections.js +131 -0
  338. package/data/build/dist/host/cli-bridge/injections.js.map +1 -0
  339. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +8 -0
  340. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts.map +1 -0
  341. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +151 -0
  342. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -0
  343. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
  344. package/data/build/dist/host/features/lan-access-dsh.js +6 -2
  345. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  346. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  347. package/data/build/dist/host/features/peer-host.js +2 -1
  348. package/data/build/dist/host/features/peer-host.js.map +1 -1
  349. package/data/build/dist/host/index.d.ts +4 -0
  350. package/data/build/dist/host/index.d.ts.map +1 -1
  351. package/data/build/dist/host/index.js +36 -0
  352. package/data/build/dist/host/index.js.map +1 -1
  353. package/data/build/dist/host/lan-access-dsh.d.ts +7 -1
  354. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  355. package/data/build/dist/host/lan-access-dsh.js +95 -19
  356. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  357. package/data/build/dist/host/login-attempt-guard.d.ts +55 -0
  358. package/data/build/dist/host/login-attempt-guard.d.ts.map +1 -0
  359. package/data/build/dist/host/login-attempt-guard.js +201 -0
  360. package/data/build/dist/host/login-attempt-guard.js.map +1 -0
  361. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +3 -0
  362. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
  363. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +2 -0
  364. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
  365. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +1 -0
  366. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -1
  367. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +1 -0
  368. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -1
  369. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +1 -1
  370. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -1
  371. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +3 -0
  372. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  373. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +8 -0
  374. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -1
  375. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +9 -0
  376. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -1
  377. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +7 -0
  378. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -1
  379. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +31 -3
  380. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -1
  381. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +6 -4
  382. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -1
  383. package/data/build/dist/host/modules/pwa/pwa-assets.js +11 -9
  384. package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -1
  385. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +3 -0
  386. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -1
  387. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +6 -4
  388. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -1
  389. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  390. package/data/build/dist/host/native-session-bridge.js +70 -52
  391. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  392. package/data/build/dist/host/rpc.js +4 -1
  393. package/data/build/dist/host/rpc.js.map +1 -1
  394. package/data/build/dist/host/settings.d.ts.map +1 -1
  395. package/data/build/dist/host/settings.js +3 -0
  396. package/data/build/dist/host/settings.js.map +1 -1
  397. package/data/build/dist/shared/contracts/cli-adapter.d.ts +5 -0
  398. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  399. package/data/build/dist/shared/contracts/config.d.ts +10 -0
  400. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  401. package/data/build/dist/shared/contracts/config.js +8 -0
  402. package/data/build/dist/shared/contracts/config.js.map +1 -1
  403. package/data/build/dist/shared/contracts/peer-host.d.ts +2 -0
  404. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  405. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  406. package/data/build/dist/shared/contracts/subscription.d.ts +15 -0
  407. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  408. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  409. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  410. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  411. package/data/build/dist/shared/contracts/version.js +1 -1
  412. package/data/build/dist/shared/contracts/version.js.map +1 -1
  413. package/data/build/dist/shared/index.d.ts +1 -1
  414. package/data/build/dist/shared/index.d.ts.map +1 -1
  415. package/data/build/dist/shared/index.js.map +1 -1
  416. package/package.json +3 -1
  417. package/profile/README.md +2 -2
  418. package/profile/package.json +2 -2
  419. package/profile/version.json +1 -1
  420. package/version.json +1 -1
@@ -9,18 +9,19 @@
9
9
  *
10
10
  * 样式内联并带 `env(safe-area-inset-bottom)`,避免被 Home 指示条遮住。
11
11
  */
12
+ import { resolveCodingNsTranslator } from './locale.js';
12
13
  export const PWA_INSTALL_DISMISS_KEY = 'codingns4dsh.pwa.installPromptDismissed';
13
- const DEFAULT_TEXT = {
14
- install: '安装到主屏幕',
15
- hint: '安装后可从主屏幕直接打开,获得独立窗口与更完整的屏幕空间。',
16
- dismiss: '以后再说',
17
- iosHint: '点击「分享」→「添加到主屏幕」即可安装。',
18
- };
19
14
  /** 启动安装引导条;不满足条件时不创建任何节点。 */
20
15
  export function startPwaInstallPrompt(options = {}) {
21
16
  const hostWindow = options.window ?? globalThis;
22
17
  const hostDocument = options.document ?? globalThis;
23
- const text = options.text ?? DEFAULT_TEXT;
18
+ const t = resolveCodingNsTranslator(options.locale);
19
+ const text = options.text ?? {
20
+ install: t('pwaPrompt.install'),
21
+ hint: t('pwaPrompt.hint'),
22
+ dismiss: t('pwaPrompt.dismiss'),
23
+ iosHint: t('pwaPrompt.iosHint'),
24
+ };
24
25
  let element;
25
26
  let removeListeners;
26
27
  const evaluate = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"pwa-install-prompt.js","sourceRoot":"","sources":["../../../../src/client/pwa-install-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pwa-install-prompt.js","sourceRoot":"","sources":["../../../../src/client/pwa-install-prompt.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,17 @@ export declare const QUICK_PHRASE_PERMISSION_ORDER = 2;
11
11
  export declare const QUICK_PHRASE_GAP_SCALE = 0.5;
12
12
  /** 读不到宿主 gap 时按 DSH 当前的 12px 估算,留出一半间距。 */
13
13
  export declare const QUICK_PHRASE_FALLBACK_MARGIN = -6;
14
+ /**
15
+ * 按 CSS Modules 本地名匹配 DSH 类名。
16
+ *
17
+ * DSH 类名形如 `uV2eYG_add`,前缀是构建期生成的哈希:npm 分发的 Web 构建与
18
+ * Desktop 内嵌构建(app.asar)哈希不同(`yhfFVG_add`)。插件只能按本地名
19
+ * 匹配,把类名绑到某一次构建的哈希上会在另一个运行时失效。
20
+ * @param className - 元素完整的 class 字符串,可含多个类名。
21
+ * @param localName - CSS Modules 本地名,例如 `add`。
22
+ * @returns class 字符串里是否有本地名等于 localName 的类名。
23
+ */
24
+ export declare function matchesDshCssModuleClass(className: string | null | undefined, localName: string): boolean;
14
25
  /** 读取计算样式的入口;测试可注入替身。 */
15
26
  export interface QuickPhraseLayoutEnvironment {
16
27
  readonly computedStyle?: (element: Element) => {
@@ -1 +1 @@
1
- {"version":3,"file":"quick-phrase-layout.d.ts","sourceRoot":"","sources":["../../../../src/client/quick-phrase-layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAC3C,eAAO,MAAM,6BAA6B,IAAI,CAAA;AAC9C,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C,yBAAyB;AACzB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzG;AAED,gCAAgC;AAChC,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAA;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IACtC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,uBAAuB,EAChC,WAAW,GAAE,4BAAiC,GAC7C,sBAAsB,CAgBxB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,WAAW,GAAE,4BAAiC,GAC7C,MAAM,CAMR"}
1
+ {"version":3,"file":"quick-phrase-layout.d.ts","sourceRoot":"","sources":["../../../../src/client/quick-phrase-layout.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAC3C,eAAO,MAAM,6BAA6B,IAAI,CAAA;AAC9C,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOzG;AAED,yBAAyB;AACzB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACzG;AAED,gCAAgC;AAChC,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAA;IAC1C,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IACtC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAA;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,uBAAuB,EAChC,WAAW,GAAE,4BAAiC,GAC7C,sBAAsB,CAgBxB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,WAAW,GAAE,4BAAiC,GAC7C,MAAM,CAMR"}
@@ -11,6 +11,26 @@ export const QUICK_PHRASE_PERMISSION_ORDER = 2;
11
11
  export const QUICK_PHRASE_GAP_SCALE = 0.5;
12
12
  /** 读不到宿主 gap 时按 DSH 当前的 12px 估算,留出一半间距。 */
13
13
  export const QUICK_PHRASE_FALLBACK_MARGIN = -6;
14
+ /**
15
+ * 按 CSS Modules 本地名匹配 DSH 类名。
16
+ *
17
+ * DSH 类名形如 `uV2eYG_add`,前缀是构建期生成的哈希:npm 分发的 Web 构建与
18
+ * Desktop 内嵌构建(app.asar)哈希不同(`yhfFVG_add`)。插件只能按本地名
19
+ * 匹配,把类名绑到某一次构建的哈希上会在另一个运行时失效。
20
+ * @param className - 元素完整的 class 字符串,可含多个类名。
21
+ * @param localName - CSS Modules 本地名,例如 `add`。
22
+ * @returns class 字符串里是否有本地名等于 localName 的类名。
23
+ */
24
+ export function matchesDshCssModuleClass(className, localName) {
25
+ if (typeof className !== 'string')
26
+ return false;
27
+ for (const token of className.split(/\s+/)) {
28
+ const separator = token.lastIndexOf('_');
29
+ if (separator > 0 && token.slice(separator + 1) === localName)
30
+ return true;
31
+ }
32
+ return false;
33
+ }
14
34
  /**
15
35
  * 把快捷短语按钮排到添加附件按钮之后、权限设置组件之前。
16
36
  * @param request - 快捷短语根节点与添加附件按钮。
@@ -1 +1 @@
1
- {"version":3,"file":"quick-phrase-layout.js","sourceRoot":"","sources":["../../../../src/client/quick-phrase-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quick-phrase-layout.js","sourceRoot":"","sources":["../../../../src/client/quick-phrase-layout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quick-phrase-slot.d.ts","sourceRoot":"","sources":["../../../../src/client/quick-phrase-slot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAyB,KAAK,gBAAgB,EAAoB,MAAM,+BAA+B,CAAA;AAC9G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAyBxE,oCAAoC;AACpC,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,EACjD,MAAM,EAAE,cAAc,GACrB,MAAM,IAAI,CAUZ"}
1
+ {"version":3,"file":"quick-phrase-slot.d.ts","sourceRoot":"","sources":["../../../../src/client/quick-phrase-slot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAyB,KAAK,gBAAgB,EAAoB,MAAM,+BAA+B,CAAA;AAC9G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAkCxE,oCAAoC;AACpC,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,EACjD,MAAM,EAAE,cAAc,GACrB,MAAM,IAAI,CAUZ"}
@@ -1,11 +1,15 @@
1
1
  import { createElement, useEffect, useLayoutEffect, useRef, useState } from 'react';
2
2
  import { DEFAULT_QUICK_PHRASES } from '../shared/contracts/config.js';
3
3
  import { useCodingNsTranslator } from './locale.js';
4
- import { applyQuickPhraseOrder, QUICK_PHRASE_FALLBACK_MARGIN, QUICK_PHRASE_TRIGGER_ORDER, readQuickPhraseMargin } from './quick-phrase-layout.js';
4
+ import { applyQuickPhraseOrder, matchesDshCssModuleClass, QUICK_PHRASE_FALLBACK_MARGIN, QUICK_PHRASE_PERMISSION_ORDER, QUICK_PHRASE_TRIGGER_ORDER, readQuickPhraseMargin } from './quick-phrase-layout.js';
5
5
  import { dshPopupSurfaceStyle, dshThemeColor } from './theme.js';
6
6
  const QUICK_PHRASE_FALLBACK_SIZE = 28;
7
7
  const QUICK_PHRASE_FALLBACK_ICON_SIZE = 14;
8
8
  const QUICK_PHRASE_STYLE_ID = 'codingns4dsh-quick-phrase-responsive-style';
9
+ /** 高于 DSH 侧栏和普通模态框,避免弹层被宿主布局覆盖。 */
10
+ const QUICK_PHRASE_MODAL_Z_INDEX = 10001;
11
+ /** 用属性选择器粗筛带 `_add` 类名的按钮,精确匹配再交给 matchesDshCssModuleClass。 */
12
+ const ADD_BUTTON_CANDIDATE_SELECTOR = 'button[class*="_add"]';
9
13
  /** 移动端弹层脱离对话窗口边界,使用整个视口宽度。 */
10
14
  function installQuickPhraseStyles() {
11
15
  if (typeof document === 'undefined' || document.querySelector(`style[data-plugin-css="${QUICK_PHRASE_STYLE_ID}"]`) !== null)
@@ -13,7 +17,12 @@ function installQuickPhraseStyles() {
13
17
  const style = document.createElement('style');
14
18
  style.dataset.plugin = 'codingns4dsh';
15
19
  style.dataset.pluginCss = QUICK_PHRASE_STYLE_ID;
16
- style.textContent = '@media (max-width: 768px){.codingns4dsh-quick-phrase-overlay{left:0!important;right:0!important;width:100vw!important}}';
20
+ style.textContent = [
21
+ '@media (max-width: 768px){.codingns4dsh-quick-phrase-overlay{left:0!important;right:0!important;width:100vw!important}}',
22
+ // 与 applyQuickPhraseOrder 同一顺序:权限/规划组永远排在快捷短语之后。
23
+ // JS 落位依赖挂载时序(找不到添加按钮时静默跳过),CSS 固定值兜底,结构在即生效。
24
+ `[data-composer-card] [class*="_modes"]{order:${QUICK_PHRASE_PERMISSION_ORDER}}`,
25
+ ].join('');
17
26
  document.head.appendChild(style);
18
27
  }
19
28
  /** 在添加文件按钮右侧的输入工具区挂载插件自己的快捷会话入口。 */
@@ -286,14 +295,17 @@ function QuickPhraseSlot(props) {
286
295
  function findAddButton(root) {
287
296
  let scope = root.parentElement;
288
297
  while (scope !== null) {
289
- const button = Array.from(scope.querySelectorAll('button.uV2eYG_add'))
290
- .find(isVisibleElement) ?? null;
298
+ const button = findAddButtonIn(scope);
291
299
  if (button !== null)
292
300
  return button;
293
301
  scope = scope.parentElement;
294
302
  }
295
- return Array.from(document.querySelectorAll('button.uV2eYG_add'))
296
- .find(isVisibleElement) ?? null;
303
+ return findAddButtonIn(document);
304
+ }
305
+ /** 添加附件按钮:类名带 CSS Modules 本地名 `add` 且可见。哈希前缀随构建变化,不参与匹配。 */
306
+ function findAddButtonIn(scope) {
307
+ return Array.from(scope.querySelectorAll(ADD_BUTTON_CANDIDATE_SELECTOR))
308
+ .find((button) => matchesDshCssModuleClass(button.className, 'add') && isVisibleElement(button)) ?? null;
297
309
  }
298
310
  function findPositioningParent(root) {
299
311
  let current = root.parentElement;
@@ -343,7 +355,7 @@ const quickPhraseTriggerStyle = {
343
355
  const quickPhraseOverlayStyle = {
344
356
  position: 'fixed',
345
357
  inset: 0,
346
- zIndex: 1400,
358
+ zIndex: QUICK_PHRASE_MODAL_Z_INDEX,
347
359
  display: 'flex',
348
360
  alignItems: 'center',
349
361
  justifyContent: 'center',
@@ -366,7 +378,7 @@ const quickPhraseTitleStyle = { display: 'block', color: dshThemeColor.labelPrim
366
378
  const quickPhraseHintStyle = { margin: '6px 0 0', color: dshThemeColor.labelSecondary, fontSize: 13, lineHeight: 1.5 };
367
379
  const quickPhraseCloseStyle = { width: 32, height: 32, flex: '0 0 auto', border: 0, borderRadius: 16, color: dshThemeColor.labelSecondary, background: dshThemeColor.surfaceSubtle, fontSize: 24, lineHeight: 1, cursor: 'pointer' };
368
380
  const quickPhraseIconButtonStyle = { width: 32, height: 32, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', padding: 0, border: 0, borderRadius: 8, color: dshThemeColor.labelSecondary, background: dshThemeColor.surfaceSubtle, cursor: 'pointer' };
369
- const quickPhraseEditorOverlayStyle = { ...quickPhraseOverlayStyle, zIndex: 1410, background: 'transparent' };
381
+ const quickPhraseEditorOverlayStyle = { ...quickPhraseOverlayStyle, zIndex: QUICK_PHRASE_MODAL_Z_INDEX + 1, background: 'transparent' };
370
382
  const quickPhraseEditorStyle = { ...dshPopupSurfaceStyle, width: 'min(100%, 520px)', boxSizing: 'border-box', padding: 24, borderRadius: 12 };
371
383
  const quickPhraseEditorHeaderStyle = { display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 16, paddingBottom: 16, borderBottom: `1px solid ${dshThemeColor.border}` };
372
384
  const quickPhraseEditorInputStyle = { width: '100%', minHeight: 92, marginTop: 16, boxSizing: 'border-box', padding: '10px 12px', border: `1px solid ${dshThemeColor.border}`, borderRadius: 8, color: dshThemeColor.labelPrimary, background: dshThemeColor.inputBackground, fontSize: 14, lineHeight: 1.5, resize: 'vertical' };
@@ -1 +1 @@
1
- {"version":3,"file":"quick-phrase-slot.js","sourceRoot":"","sources":["../../../../src/client/quick-phrase-slot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quick-phrase-slot.js","sourceRoot":"","sources":["../../../../src/client/quick-phrase-slot.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,22 @@
1
1
  import type { ReactElement } from 'react';
2
+ import type { GitChangeItem, GitStatus } from '../shared/contracts/git.js';
3
+ import type { SessionChangedFiles } from '../shared/contracts/file-management.js';
2
4
  import type { CodingNsRpcClient } from './features/types.js';
5
+ import { type CodingNsLocale, type CodingNsTranslator } from './locale.js';
3
6
  export declare const SESSION_CHANGED_FILES_VIEW_ID = "codingns4dsh/session-changed-files";
4
7
  interface SessionChangedFilesViewProps {
5
8
  readonly sessionId: string;
6
9
  readonly rpc: CodingNsRpcClient;
7
10
  readonly remote?: unknown;
8
11
  readonly reportCount?: (sessionId: string, count: number) => void;
12
+ /** 由 Slot inject 注入的 Codingns4DSH 词典翻译函数。 */
13
+ readonly t: CodingNsTranslator;
9
14
  }
10
15
  /** 会话“修改文件”视图;数据只通过插件 RPC 和现有 Git RPC 读取。 */
11
16
  export declare function SessionChangedFilesView(props: SessionChangedFilesViewProps): ReactElement;
12
17
  /** 注册 DSH 原生 conversation.view Slot;标签由 DSH 根据 Slot 的 id/label 自动投影。 */
13
- export declare function registerSessionChangedFilesView(ctx: unknown, rpc: CodingNsRpcClient, remote?: unknown): (() => void) | undefined;
18
+ export declare function registerSessionChangedFilesView(ctx: unknown, rpc: CodingNsRpcClient, remote?: unknown, locale?: CodingNsLocale): (() => void) | undefined;
19
+ /** 只显示当前 Git 状态中仍属于本会话触及范围的文件。 */
20
+ export declare function selectSessionChangedFiles(sessionFiles: SessionChangedFiles, status: GitStatus): readonly GitChangeItem[];
14
21
  export {};
15
22
  //# sourceMappingURL=session-changed-files-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-changed-files-view.d.ts","sourceRoot":"","sources":["../../../../src/client/session-changed-files-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAA;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D,eAAO,MAAM,6BAA6B,uCAAuC,CAAA;AAMjF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClE;AA8BD,6CAA6C;AAC7C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,YAAY,CAwHzF;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CA0EhI"}
1
+ {"version":3,"file":"session-changed-files-view.d.ts","sourceRoot":"","sources":["../../../../src/client/session-changed-files-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAW,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D,OAAO,EAA6B,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErG,eAAO,MAAM,6BAA6B,uCAAuC,CAAA;AAMjF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,6CAA6C;IAC7C,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAC/B;AA8BD,6CAA6C;AAC7C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,YAAY,CAuIzF;AAED,wEAAwE;AACxE,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,iBAAiB,EACtB,MAAM,CAAC,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAuE1B;AAuED,kCAAkC;AAClC,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,aAAa,EAAE,CAGxH"}
@@ -1,9 +1,12 @@
1
- import { createElement, useEffect, useMemo, useState } from 'react';
1
+ import { createElement, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { callCodingNsRpc } from './settings-bridge.js';
3
3
  import { resolveGitWorkspaceId } from './git-management.js';
4
+ import { notifyGitWorkspaceChanged, subscribeGitWorkspaceChanged } from './git-workspace-events.js';
5
+ import { resolveCodingNsTranslator } from './locale.js';
4
6
  export const SESSION_CHANGED_FILES_VIEW_ID = 'codingns4dsh/session-changed-files';
5
7
  /** 会话“修改文件”视图;数据只通过插件 RPC 和现有 Git RPC 读取。 */
6
8
  export function SessionChangedFilesView(props) {
9
+ const t = props.t;
7
10
  const compactLayout = useCompactLayout();
8
11
  const [workspaceId, setWorkspaceId] = useState();
9
12
  const [changes, setChanges] = useState([]);
@@ -14,7 +17,10 @@ export function SessionChangedFilesView(props) {
14
17
  const [loading, setLoading] = useState(true);
15
18
  const [busy, setBusy] = useState(false);
16
19
  const [error, setError] = useState();
20
+ const requestGeneration = useRef(0);
17
21
  const load = async () => {
22
+ const generation = requestGeneration.current + 1;
23
+ requestGeneration.current = generation;
18
24
  setLoading(true);
19
25
  setError(undefined);
20
26
  try {
@@ -25,30 +31,43 @@ export function SessionChangedFilesView(props) {
25
31
  call(props.rpc, 'fileManagement/session-changes', { sessionId: props.sessionId, workspaceId: resolved }),
26
32
  call(props.rpc, 'git/status', { workspaceId: resolved }),
27
33
  ]);
28
- const touched = new Set(sessionFiles.paths.map(normalizePath));
29
- const next = status.changes.filter((item) => touched.has(normalizePath(item.path)) || item.oldPath !== null && touched.has(normalizePath(item.oldPath)));
34
+ if (generation !== requestGeneration.current)
35
+ return;
36
+ const next = selectSessionChangedFiles(sessionFiles, status);
30
37
  setWorkspaceId(resolved);
31
38
  setChanges(next);
32
39
  props.reportCount?.(props.sessionId, next.length);
33
40
  setSelectedPath((current) => current !== undefined && next.some((item) => item.path === current) ? current : next[0]?.path);
34
41
  }
35
42
  catch (cause) {
43
+ if (generation !== requestGeneration.current)
44
+ return;
36
45
  setError(cause instanceof Error ? cause.message : String(cause));
37
46
  setChanges([]);
38
47
  setWorkspaceId(undefined);
39
48
  props.reportCount?.(props.sessionId, 0);
40
49
  }
41
50
  finally {
42
- setLoading(false);
51
+ if (generation === requestGeneration.current)
52
+ setLoading(false);
43
53
  }
44
54
  };
45
55
  useEffect(() => {
46
56
  setDiff(undefined);
47
57
  setCollapsed(new Set());
58
+ setWorkspaceId(undefined);
48
59
  void load();
49
60
  const timer = globalThis.setInterval(() => { void load(); }, 5_000);
50
- return () => globalThis.clearInterval(timer);
51
- }, [props.sessionId, props.remote]);
61
+ return () => {
62
+ requestGeneration.current += 1;
63
+ globalThis.clearInterval(timer);
64
+ };
65
+ }, [props.rpc, props.sessionId, props.remote]);
66
+ useEffect(() => {
67
+ if (workspaceId === undefined)
68
+ return;
69
+ return subscribeGitWorkspaceChanged(workspaceId, () => { void load(); });
70
+ }, [props.remote, props.rpc, props.sessionId, workspaceId]);
52
71
  useEffect(() => {
53
72
  if (workspaceId === undefined || selectedPath === undefined) {
54
73
  setDiff(undefined);
@@ -73,6 +92,7 @@ export function SessionChangedFilesView(props) {
73
92
  setBusy(true);
74
93
  try {
75
94
  await call(props.rpc, `git/${action}`, { workspaceId, targets });
95
+ notifyGitWorkspaceChanged(workspaceId);
76
96
  await load();
77
97
  }
78
98
  catch (cause) {
@@ -105,14 +125,14 @@ export function SessionChangedFilesView(props) {
105
125
  borderRight: compactLayout || !hasChanges ? 'none' : treePaneStyle.borderRight,
106
126
  borderBottom: compactLayout && hasChanges ? treePaneStyle.borderRight : 'none',
107
127
  };
108
- return createElement('div', { style: viewRootStyle }, createElement('div', { style: viewToolbarStyle }, createElement('strong', { style: { fontSize: 15 } }, '修改文件'), createElement('span', { style: countStyle }, `${changes.length} 个文件`), createElement('span', { style: { flex: 1 } }), createElement('button', { type: 'button', disabled: loading || busy, onClick: () => void load(), style: toolbarRefreshButtonStyle, title: '刷新', 'aria-label': '刷新' }, createElement(RefreshIcon)), createElement('button', { type: 'button', disabled: busy || unstaged.length === 0, onClick: () => void stageTargets(unstaged.map((item) => item.path), 'stage'), style: toolbarStageButtonStyle, title: '全部暂存', 'aria-label': '全部暂存' }, createElement(StageIcon))), error === undefined ? null : createElement('div', { role: 'alert', style: errorStyle }, error), createElement('div', { style: viewContentStyle }, createElement('div', { style: viewTreePaneStyle }, loading ? createElement('div', { style: emptyStyle }, '正在读取会话修改…')
109
- : changes.length === 0 ? createElement('div', { style: emptyStyle }, '本次会话没有已识别的修改文件')
110
- : tree.map((node) => renderNode(node, 0, collapsed, hoveredPath, selectedPath, toggle, setSelectedPath, setHoveredPath, stageTargets))), hasChanges ? createElement('div', { style: diffPaneStyle }, selectedPath === undefined ? createElement('div', { style: emptyStyle }, '选择文件查看 Diff')
128
+ return createElement('div', { style: viewRootStyle }, createElement('div', { style: viewToolbarStyle }, createElement('strong', { style: { fontSize: 15 } }, t('sessionFiles.title')), createElement('span', { style: countStyle }, t('sessionFiles.count', { count: changes.length })), createElement('span', { style: { flex: 1 } }), createElement('button', { type: 'button', disabled: loading || busy, onClick: () => void load(), style: toolbarRefreshButtonStyle, title: t('sessionFiles.refresh'), 'aria-label': t('sessionFiles.refresh') }, createElement(RefreshIcon)), createElement('button', { type: 'button', disabled: busy || unstaged.length === 0, onClick: () => void stageTargets(unstaged.map((item) => item.path), 'stage'), style: toolbarStageButtonStyle, title: t('sessionFiles.stageAll'), 'aria-label': t('sessionFiles.stageAll') }, createElement(StageIcon))), error === undefined ? null : createElement('div', { role: 'alert', style: errorStyle }, error), createElement('div', { style: viewContentStyle }, createElement('div', { style: viewTreePaneStyle }, loading ? createElement('div', { style: emptyStyle }, t('sessionFiles.loading'))
129
+ : changes.length === 0 ? createElement('div', { style: emptyStyle }, t('sessionFiles.empty'))
130
+ : tree.map((node) => renderNode(node, 0, collapsed, hoveredPath, selectedPath, toggle, setSelectedPath, setHoveredPath, stageTargets, t))), hasChanges ? createElement('div', { style: diffPaneStyle }, selectedPath === undefined ? createElement('div', { style: emptyStyle }, t('sessionFiles.selectFile'))
111
131
  : diff?.content ? createElement('pre', { style: diffStyle }, renderDiff(diff.content))
112
- : createElement('div', { style: emptyStyle }, '当前文件没有可显示的 Diff')) : null));
132
+ : createElement('div', { style: emptyStyle }, t('sessionFiles.noDiff'))) : null));
113
133
  }
114
134
  /** 注册 DSH 原生 conversation.view Slot;标签由 DSH 根据 Slot 的 id/label 自动投影。 */
115
- export function registerSessionChangedFilesView(ctx, rpc, remote) {
135
+ export function registerSessionChangedFilesView(ctx, rpc, remote, locale) {
116
136
  const runtime = globalThis;
117
137
  // DSH 热重启可能先保留旧 Context 的 Slot;复用旧注册避免 id 冲突。
118
138
  if (runtime.__CODINGNS4DSH_SESSION_CHANGED_FILES_VIEW__ !== undefined)
@@ -121,6 +141,13 @@ export function registerSessionChangedFilesView(ctx, rpc, remote) {
121
141
  const slots = value?.slots;
122
142
  if (typeof slots?.inject !== 'function' || typeof slots.register !== 'function')
123
143
  return undefined;
144
+ // 同进程内换 Context 重建时,旧 Slot 账本可能仍然登记着同一个 id;先读账本再决定
145
+ // 是否注册,避免依赖宿主异常文案(0.2.0 起错误只描述 list/keyed/single 单元格冲突)。
146
+ if (isSlotIdRegistered(slots, 'conversation.view', SESSION_CHANGED_FILES_VIEW_ID))
147
+ return undefined;
148
+ if (isSlotIdRegistered(slots, 'conversation.session.header.actions', `${SESSION_CHANGED_FILES_VIEW_ID}/counter`))
149
+ return undefined;
150
+ const t = resolveCodingNsTranslator(locale);
124
151
  let disposeSlot;
125
152
  let disposeCounterSlot;
126
153
  let disposed = false;
@@ -149,8 +176,8 @@ export function registerSessionChangedFilesView(ctx, rpc, remote) {
149
176
  name: 'conversation.view',
150
177
  id: SESSION_CHANGED_FILES_VIEW_ID,
151
178
  order: 100,
152
- label: () => `修改文件 ${labelCount}`,
153
- inject: () => ({ rpc, remote, reportCount }),
179
+ label: () => t('sessionFiles.tabLabel', { count: labelCount }),
180
+ inject: () => ({ rpc, remote, reportCount, t }),
154
181
  }, SessionChangedFilesView);
155
182
  });
156
183
  }
@@ -167,11 +194,6 @@ export function registerSessionChangedFilesView(ctx, rpc, remote) {
167
194
  disposeCounterSlot = registerCounterSlot();
168
195
  }
169
196
  catch (error) {
170
- if (isDuplicateRegistrationError(error)) {
171
- disposeSlot?.();
172
- disposeCounterSlot?.();
173
- return undefined;
174
- }
175
197
  disposeSlot?.();
176
198
  disposeCounterSlot?.();
177
199
  throw error;
@@ -187,13 +209,24 @@ export function registerSessionChangedFilesView(ctx, rpc, remote) {
187
209
  runtime.__CODINGNS4DSH_SESSION_CHANGED_FILES_VIEW__ = { dispose };
188
210
  return dispose;
189
211
  }
190
- function isDuplicateRegistrationError(error) {
191
- return error instanceof Error && /already registered|已注册/u.test(error.message);
212
+ /** 按账本中的稳定 id 判断某个 Slot 是否已经登记,不再解析宿主异常文案。 */
213
+ function isSlotIdRegistered(slots, name, id) {
214
+ const entries = slots.entries?.(name);
215
+ return Array.isArray(entries) && entries.some((entry) => entry.options?.id === id);
192
216
  }
193
217
  function SessionChangedFilesCounter(props) {
194
218
  useEffect(() => {
195
219
  let disposed = false;
220
+ let generation = 0;
221
+ let disposeWorkspaceSubscription;
222
+ const updateWorkspaceSubscription = (workspaceId) => {
223
+ disposeWorkspaceSubscription?.();
224
+ disposeWorkspaceSubscription = workspaceId === undefined
225
+ ? undefined
226
+ : subscribeGitWorkspaceChanged(workspaceId, () => { void load(); });
227
+ };
196
228
  const load = async () => {
229
+ const currentGeneration = ++generation;
197
230
  try {
198
231
  const workspaceId = await resolveGitWorkspaceId(props.remote, props.sessionId);
199
232
  if (workspaceId === undefined)
@@ -202,20 +235,25 @@ function SessionChangedFilesCounter(props) {
202
235
  call(props.rpc, 'fileManagement/session-changes', { sessionId: props.sessionId, workspaceId }),
203
236
  call(props.rpc, 'git/status', { workspaceId }),
204
237
  ]);
205
- if (disposed)
238
+ if (disposed || currentGeneration !== generation)
206
239
  return;
207
- const touched = new Set(sessionFiles.paths.map(normalizePath));
208
- const count = status.changes.filter((item) => touched.has(normalizePath(item.path)) || item.oldPath !== null && touched.has(normalizePath(item.oldPath))).length;
240
+ updateWorkspaceSubscription(workspaceId);
241
+ const count = selectSessionChangedFiles(sessionFiles, status).length;
209
242
  props.reportCount(props.sessionId, count);
210
243
  }
211
244
  catch {
212
- if (!disposed)
245
+ if (!disposed && currentGeneration === generation)
213
246
  props.reportCount(props.sessionId, 0);
214
247
  }
215
248
  };
216
249
  void load();
217
250
  const timer = globalThis.setInterval(() => { void load(); }, 5_000);
218
- return () => { disposed = true; globalThis.clearInterval(timer); };
251
+ return () => {
252
+ disposed = true;
253
+ generation += 1;
254
+ globalThis.clearInterval(timer);
255
+ disposeWorkspaceSubscription?.();
256
+ };
219
257
  }, [props.remote, props.rpc, props.reportCount, props.sessionId]);
220
258
  return null;
221
259
  }
@@ -226,6 +264,11 @@ function renderDiff(content) {
226
264
  style: diffLineStyle(line),
227
265
  }, `${line}${index < lines.length - 1 ? '\n' : ''}`));
228
266
  }
267
+ /** 只显示当前 Git 状态中仍属于本会话触及范围的文件。 */
268
+ export function selectSessionChangedFiles(sessionFiles, status) {
269
+ const touched = new Set(sessionFiles.paths.map(normalizePath));
270
+ return status.changes.filter((item) => touched.has(normalizePath(item.path)) || item.oldPath !== null && touched.has(normalizePath(item.oldPath)));
271
+ }
229
272
  function RefreshIcon() {
230
273
  return createElement('svg', { width: 18, height: 18, viewBox: '0 0 20 20', fill: 'none', 'aria-hidden': true }, createElement('path', { d: 'M16 8.5A6.2 6.2 0 1 0 16.1 12', stroke: 'currentColor', strokeWidth: 1.6, strokeLinecap: 'round' }), createElement('path', { d: 'M16 4.5v4h-4', stroke: 'currentColor', strokeWidth: 1.6, strokeLinecap: 'round', strokeLinejoin: 'round' }));
231
274
  }
@@ -243,15 +286,15 @@ function diffLineStyle(line) {
243
286
  return diffHunkLineStyle;
244
287
  return diffContextLineStyle;
245
288
  }
246
- function renderNode(node, depth, collapsed, hoveredPath, selectedPath, toggle, select, hover, stageTargets) {
289
+ function renderNode(node, depth, collapsed, hoveredPath, selectedPath, toggle, select, hover, stageTargets, t) {
247
290
  if (node.kind === 'directory') {
248
291
  const expanded = !collapsed.has(node.path);
249
292
  const files = flattenFiles(node);
250
- return createElement('div', { key: `directory:${node.path}` }, createElement('div', { style: rowStyle(depth), onMouseEnter: () => hover(node.path), onMouseLeave: () => hover(undefined) }, createElement('button', { type: 'button', onClick: () => toggle(node.path), style: treeButtonStyle }, createElement('span', { style: treeChevronStyle }, expanded ? '⌄' : '›'), createElement('span', { style: folderIconStyle }, '▰'), createElement('span', { style: fileNameStyle, title: node.path }, node.name), createElement('span', { style: mutedCountStyle }, String(files.length))), hoveredPath === node.path ? createElement('button', { type: 'button', title: '暂存目录', disabled: files.every((item) => item.staged), onClick: () => void stageTargets(files.filter((item) => !item.staged).map((item) => item.path), 'stage'), style: iconButtonStyle }, '+') : null), expanded ? createElement('div', null, node.children.map((child) => renderNode(child, depth + 1, collapsed, hoveredPath, selectedPath, toggle, select, hover, stageTargets))) : null);
293
+ return createElement('div', { key: `directory:${node.path}` }, createElement('div', { style: rowStyle(depth), onMouseEnter: () => hover(node.path), onMouseLeave: () => hover(undefined) }, createElement('button', { type: 'button', onClick: () => toggle(node.path), style: treeButtonStyle }, createElement('span', { style: treeChevronStyle }, expanded ? '⌄' : '›'), createElement('span', { style: folderIconStyle }, '▰'), createElement('span', { style: fileNameStyle, title: node.path }, node.name), createElement('span', { style: mutedCountStyle }, String(files.length))), hoveredPath === node.path ? createElement('button', { type: 'button', title: t('sessionFiles.stageDirectory'), disabled: files.every((item) => item.staged), onClick: () => void stageTargets(files.filter((item) => !item.staged).map((item) => item.path), 'stage'), style: iconButtonStyle }, '+') : null), expanded ? createElement('div', null, node.children.map((child) => renderNode(child, depth + 1, collapsed, hoveredPath, selectedPath, toggle, select, hover, stageTargets, t))) : null);
251
294
  }
252
295
  const item = node.change;
253
296
  const isHovered = hoveredPath === item.path;
254
- return createElement('div', { key: `file:${item.path}`, style: { ...rowStyle(depth), ...(selectedPath === item.path ? selectedRowStyle : {}) }, onMouseEnter: () => hover(item.path), onMouseLeave: () => hover(undefined) }, createElement('button', { type: 'button', onClick: () => select(item.path), style: fileButtonStyle }, createElement('span', { style: fileIconStyle }, fileIcon(node.name)), createElement('span', { style: fileNameStyle, title: item.path }, node.name), createElement('span', { style: statusStyle }, item.status)), isHovered ? createElement('span', { style: actionsStyle }, createElement('button', { type: 'button', title: item.staged ? '撤销暂存' : '添加到暂存区', onClick: () => void stageTargets([item.path], item.staged ? 'unstage' : 'stage'), style: iconButtonStyle }, item.staged ? '↶' : '+'), createElement('button', { type: 'button', title: '撤销变更', disabled: item.staged, onClick: () => void stageTargets([item.path], 'discard'), style: dangerButtonStyle }, '×')) : null);
297
+ return createElement('div', { key: `file:${item.path}`, style: { ...rowStyle(depth), ...(selectedPath === item.path ? selectedRowStyle : {}) }, onMouseEnter: () => hover(item.path), onMouseLeave: () => hover(undefined) }, createElement('button', { type: 'button', onClick: () => select(item.path), style: fileButtonStyle }, createElement('span', { style: fileIconStyle }, fileIcon(node.name)), createElement('span', { style: fileNameStyle, title: item.path }, node.name), createElement('span', { style: statusStyle }, item.status)), isHovered ? createElement('span', { style: actionsStyle }, createElement('button', { type: 'button', title: item.staged ? t('sessionFiles.unstage') : t('sessionFiles.stage'), onClick: () => void stageTargets([item.path], item.staged ? 'unstage' : 'stage'), style: iconButtonStyle }, item.staged ? '↶' : '+'), createElement('button', { type: 'button', title: t('sessionFiles.discard'), disabled: item.staged, onClick: () => void stageTargets([item.path], 'discard'), style: dangerButtonStyle }, '×')) : null);
255
298
  }
256
299
  function buildTree(changes) {
257
300
  const root = new Map();