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

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 (353) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +15 -6
  3. package/assets/provider-icons/antigravity.svg +39 -0
  4. package/assets/provider-icons/codebuddy.svg +37 -0
  5. package/assets/provider-icons/cursor-cli.svg +1 -0
  6. package/assets/provider-icons/kiro-cli.svg +11 -0
  7. package/assets/provider-icons/qoder-cn.svg +5 -0
  8. package/assets/provider-icons/qoder.svg +5 -0
  9. package/assets/provider-icons/workbuddy.svg +29 -0
  10. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts.map +1 -1
  11. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +78 -1
  12. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -1
  13. package/data/build/dist/client/bundle.js +3864 -507
  14. package/data/build/dist/client/bundle.js.map +1 -1
  15. package/data/build/dist/client/cli-catalog.d.ts +1 -1
  16. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  17. package/data/build/dist/client/cli-catalog.js +11 -5
  18. package/data/build/dist/client/cli-catalog.js.map +1 -1
  19. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  20. package/data/build/dist/client/cli-slots.js +111 -13
  21. package/data/build/dist/client/cli-slots.js.map +1 -1
  22. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  23. package/data/build/dist/client/debug/ui.js +2 -1
  24. package/data/build/dist/client/debug/ui.js.map +1 -1
  25. package/data/build/dist/client/delegate-command.d.ts +1 -0
  26. package/data/build/dist/client/delegate-command.d.ts.map +1 -1
  27. package/data/build/dist/client/delegate-command.js +486 -27
  28. package/data/build/dist/client/delegate-command.js.map +1 -1
  29. package/data/build/dist/client/delegate-plan.d.ts +13 -4
  30. package/data/build/dist/client/delegate-plan.d.ts.map +1 -1
  31. package/data/build/dist/client/delegate-plan.js +10 -6
  32. package/data/build/dist/client/delegate-plan.js.map +1 -1
  33. package/data/build/dist/client/delegate-ui-dom.d.ts +46 -0
  34. package/data/build/dist/client/delegate-ui-dom.d.ts.map +1 -1
  35. package/data/build/dist/client/delegate-ui-dom.js +291 -7
  36. package/data/build/dist/client/delegate-ui-dom.js.map +1 -1
  37. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  38. package/data/build/dist/client/features/cli-adapters.js +117 -8
  39. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  40. package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -1
  41. package/data/build/dist/client/features/mobile-access-panel.js +8 -7
  42. package/data/build/dist/client/features/mobile-access-panel.js.map +1 -1
  43. package/data/build/dist/client/features/peer-host.d.ts +6 -4
  44. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  45. package/data/build/dist/client/features/peer-host.js +346 -18
  46. package/data/build/dist/client/features/peer-host.js.map +1 -1
  47. package/data/build/dist/client/git-history-graph.d.ts +2 -2
  48. package/data/build/dist/client/git-history-graph.d.ts.map +1 -1
  49. package/data/build/dist/client/git-history-graph.js +2 -2
  50. package/data/build/dist/client/git-history-graph.js.map +1 -1
  51. package/data/build/dist/client/git-management.d.ts.map +1 -1
  52. package/data/build/dist/client/git-management.js +21 -1
  53. package/data/build/dist/client/git-management.js.map +1 -1
  54. package/data/build/dist/client/locale.d.ts.map +1 -1
  55. package/data/build/dist/client/locale.js +60 -6
  56. package/data/build/dist/client/locale.js.map +1 -1
  57. package/data/build/dist/client/locales/terminalAuth.d.ts.map +1 -1
  58. package/data/build/dist/client/locales/terminalAuth.js +4 -0
  59. package/data/build/dist/client/locales/terminalAuth.js.map +1 -1
  60. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  61. package/data/build/dist/client/locales/usage.js +20 -0
  62. package/data/build/dist/client/locales/usage.js.map +1 -1
  63. package/data/build/dist/client/mobile-session-interaction.d.ts.map +1 -1
  64. package/data/build/dist/client/mobile-session-interaction.js +24 -7
  65. package/data/build/dist/client/mobile-session-interaction.js.map +1 -1
  66. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +55 -7
  67. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -1
  68. package/data/build/dist/client/mobile-sidebar-gestures.js +339 -40
  69. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -1
  70. package/data/build/dist/client/model-catalog-cache.d.ts +5 -0
  71. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -0
  72. package/data/build/dist/client/model-catalog-cache.js +58 -0
  73. package/data/build/dist/client/model-catalog-cache.js.map +1 -0
  74. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts +7 -0
  75. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts.map +1 -1
  76. package/data/build/dist/client/peer-host-aggregate-refresh.js +13 -1
  77. package/data/build/dist/client/peer-host-aggregate-refresh.js.map +1 -1
  78. package/data/build/dist/client/peer-host-native-projection.d.ts +16 -1
  79. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -1
  80. package/data/build/dist/client/peer-host-native-projection.js +49 -8
  81. package/data/build/dist/client/peer-host-native-projection.js.map +1 -1
  82. package/data/build/dist/client/peer-host-native-store-projection.d.ts +6 -2
  83. package/data/build/dist/client/peer-host-native-store-projection.d.ts.map +1 -1
  84. package/data/build/dist/client/peer-host-native-store-projection.js +308 -10
  85. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -1
  86. package/data/build/dist/client/provider-icon-assets.js +14 -0
  87. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  88. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  89. package/data/build/dist/client/provider-icons.js +15 -3
  90. package/data/build/dist/client/provider-icons.js.map +1 -1
  91. package/data/build/dist/client/remote-web-context.js +10 -6
  92. package/data/build/dist/client/remote-web-context.js.map +1 -1
  93. package/data/build/dist/client/service-tier.d.ts +54 -0
  94. package/data/build/dist/client/service-tier.d.ts.map +1 -0
  95. package/data/build/dist/client/service-tier.js +78 -0
  96. package/data/build/dist/client/service-tier.js.map +1 -0
  97. package/data/build/dist/client/settings-promo-styles.d.ts +28 -0
  98. package/data/build/dist/client/settings-promo-styles.d.ts.map +1 -0
  99. package/data/build/dist/client/settings-promo-styles.js +58 -0
  100. package/data/build/dist/client/settings-promo-styles.js.map +1 -0
  101. package/data/build/dist/client/settings-promo.d.ts +14 -0
  102. package/data/build/dist/client/settings-promo.d.ts.map +1 -0
  103. package/data/build/dist/client/settings-promo.js +68 -0
  104. package/data/build/dist/client/settings-promo.js.map +1 -0
  105. package/data/build/dist/client/settings-section.d.ts +2 -1
  106. package/data/build/dist/client/settings-section.d.ts.map +1 -1
  107. package/data/build/dist/client/settings-section.js +7 -4
  108. package/data/build/dist/client/settings-section.js.map +1 -1
  109. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  110. package/data/build/dist/client/subscription-slot.js +181 -16
  111. package/data/build/dist/client/subscription-slot.js.map +1 -1
  112. package/data/build/dist/client/terminal/model.d.ts +82 -3
  113. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  114. package/data/build/dist/client/terminal/model.js +368 -29
  115. package/data/build/dist/client/terminal/model.js.map +1 -1
  116. package/data/build/dist/client/terminal/recovery.d.ts +16 -1
  117. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -1
  118. package/data/build/dist/client/terminal/recovery.js +101 -39
  119. package/data/build/dist/client/terminal/recovery.js.map +1 -1
  120. package/data/build/dist/client/terminal/styles.d.ts +10 -0
  121. package/data/build/dist/client/terminal/styles.d.ts.map +1 -1
  122. package/data/build/dist/client/terminal/styles.js +27 -3
  123. package/data/build/dist/client/terminal/styles.js.map +1 -1
  124. package/data/build/dist/client/terminal/ui.d.ts +3 -2
  125. package/data/build/dist/client/terminal/ui.d.ts.map +1 -1
  126. package/data/build/dist/client/terminal/ui.js +215 -104
  127. package/data/build/dist/client/terminal/ui.js.map +1 -1
  128. package/data/build/dist/client/terminal/xterm-view.d.ts +5 -1
  129. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  130. package/data/build/dist/client/terminal/xterm-view.js +378 -20
  131. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  132. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +58 -0
  133. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -0
  134. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +271 -0
  135. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -0
  136. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts +30 -0
  137. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -0
  138. package/data/build/dist/host/cli-adapters/antigravity-driver.js +210 -0
  139. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -0
  140. package/data/build/dist/host/cli-adapters/claude-driver.js +1 -1
  141. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  142. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +139 -0
  143. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -0
  144. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +1721 -0
  145. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -0
  146. package/data/build/dist/host/cli-adapters/codebuddy-subscription.d.ts +53 -0
  147. package/data/build/dist/host/cli-adapters/codebuddy-subscription.d.ts.map +1 -0
  148. package/data/build/dist/host/cli-adapters/codebuddy-subscription.js +778 -0
  149. package/data/build/dist/host/cli-adapters/codebuddy-subscription.js.map +1 -0
  150. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +12 -0
  151. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  152. package/data/build/dist/host/cli-adapters/codex-driver.js +153 -6
  153. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  154. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +43 -3
  155. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  156. package/data/build/dist/host/cli-adapters/command-code-driver.js +637 -72
  157. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  158. package/data/build/dist/host/cli-adapters/command-code-history.d.ts +147 -0
  159. package/data/build/dist/host/cli-adapters/command-code-history.d.ts.map +1 -0
  160. package/data/build/dist/host/cli-adapters/command-code-history.js +659 -0
  161. package/data/build/dist/host/cli-adapters/command-code-history.js.map +1 -0
  162. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts +12 -0
  163. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -0
  164. package/data/build/dist/host/cli-adapters/cursor-driver.js +20 -0
  165. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -0
  166. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.d.ts +67 -0
  167. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.d.ts.map +1 -0
  168. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.js +169 -0
  169. package/data/build/dist/host/cli-adapters/custom-upstream-classifier.js.map +1 -0
  170. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts +2 -1
  171. package/data/build/dist/host/cli-adapters/delegate-dispatch.d.ts.map +1 -1
  172. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +14 -61
  173. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -1
  174. package/data/build/dist/host/cli-adapters/delegation-authorization.d.ts +19 -0
  175. package/data/build/dist/host/cli-adapters/delegation-authorization.d.ts.map +1 -0
  176. package/data/build/dist/host/cli-adapters/delegation-authorization.js +49 -0
  177. package/data/build/dist/host/cli-adapters/delegation-authorization.js.map +1 -0
  178. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts +34 -0
  179. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts.map +1 -0
  180. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +121 -0
  181. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -0
  182. package/data/build/dist/host/cli-adapters/driver.d.ts +6 -0
  183. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  184. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  185. package/data/build/dist/host/cli-adapters/feature.js +269 -18
  186. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  187. package/data/build/dist/host/cli-adapters/kiro-driver.d.ts +12 -0
  188. package/data/build/dist/host/cli-adapters/kiro-driver.d.ts.map +1 -0
  189. package/data/build/dist/host/cli-adapters/kiro-driver.js +18 -0
  190. package/data/build/dist/host/cli-adapters/kiro-driver.js.map +1 -0
  191. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  192. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +11 -0
  193. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  194. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +5 -0
  195. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  196. package/data/build/dist/host/cli-adapters/model-catalog.js +130 -0
  197. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  198. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +33 -3
  199. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  200. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +115 -9
  201. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  202. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +14 -2
  203. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  204. package/data/build/dist/host/cli-adapters/native-team-subagent.js +23 -4
  205. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  206. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts +75 -0
  207. package/data/build/dist/host/cli-adapters/new-api-subscription.d.ts.map +1 -0
  208. package/data/build/dist/host/cli-adapters/new-api-subscription.js +959 -0
  209. package/data/build/dist/host/cli-adapters/new-api-subscription.js.map +1 -0
  210. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  211. package/data/build/dist/host/cli-adapters/opencode-driver.js +9 -7
  212. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  213. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +33 -3
  214. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -1
  215. package/data/build/dist/host/cli-adapters/provider-subscription.js +158 -40
  216. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -1
  217. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts +71 -0
  218. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -0
  219. package/data/build/dist/host/cli-adapters/qoder-driver.js +553 -0
  220. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -0
  221. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts +31 -0
  222. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts.map +1 -0
  223. package/data/build/dist/host/cli-adapters/qoder-subscription.js +178 -0
  224. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -0
  225. package/data/build/dist/host/cli-adapters/registry.d.ts +41 -2
  226. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  227. package/data/build/dist/host/cli-adapters/registry.js +187 -18
  228. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  229. package/data/build/dist/host/cli-adapters/session-store.d.ts +4 -0
  230. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  231. package/data/build/dist/host/cli-adapters/session-store.js +18 -2
  232. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +14 -1
  234. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  235. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +121 -23
  236. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  237. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +10 -1
  238. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  239. package/data/build/dist/host/cli-adapters/stream-normalizer.js +23 -0
  240. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  241. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  242. package/data/build/dist/host/cli-adapters/subagent-tool.js +53 -7
  243. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  244. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +5 -0
  245. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  246. package/data/build/dist/host/cli-bridge/bridge-server.js +7 -2
  247. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  248. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts +5 -1
  249. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
  250. package/data/build/dist/host/cli-bridge/command-code-mod.js +43 -12
  251. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  252. package/data/build/dist/host/cli-bridge/dispatch.d.ts.map +1 -1
  253. package/data/build/dist/host/cli-bridge/dispatch.js +43 -5
  254. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  255. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +24 -5
  256. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  257. package/data/build/dist/host/features/peer-host.d.ts +21 -1
  258. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  259. package/data/build/dist/host/features/peer-host.js +174 -30
  260. package/data/build/dist/host/features/peer-host.js.map +1 -1
  261. package/data/build/dist/host/features/types.d.ts +2 -0
  262. package/data/build/dist/host/features/types.d.ts.map +1 -1
  263. package/data/build/dist/host/index.d.ts +11 -1
  264. package/data/build/dist/host/index.d.ts.map +1 -1
  265. package/data/build/dist/host/index.js +12 -2
  266. package/data/build/dist/host/index.js.map +1 -1
  267. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +6 -1
  268. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -1
  269. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts +2 -0
  270. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts.map +1 -1
  271. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js +26 -7
  272. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js.map +1 -1
  273. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  274. package/data/build/dist/host/native-session-bridge.js +36 -7
  275. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  276. package/data/build/dist/host/rpc.js +5 -2
  277. package/data/build/dist/host/rpc.js.map +1 -1
  278. package/data/build/dist/host/settings.d.ts.map +1 -1
  279. package/data/build/dist/host/settings.js +12 -5
  280. package/data/build/dist/host/settings.js.map +1 -1
  281. package/data/build/dist/host/terminal/backends/local-pty-backend.d.ts.map +1 -1
  282. package/data/build/dist/host/terminal/backends/local-pty-backend.js +14 -0
  283. package/data/build/dist/host/terminal/backends/local-pty-backend.js.map +1 -1
  284. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts +40 -1
  285. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -1
  286. package/data/build/dist/host/terminal/backends/tmux-backend.js +291 -18
  287. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -1
  288. package/data/build/dist/host/terminal/runtime-adapter.d.ts +32 -0
  289. package/data/build/dist/host/terminal/runtime-adapter.d.ts.map +1 -1
  290. package/data/build/dist/host/terminal/runtime-adapter.js +8 -0
  291. package/data/build/dist/host/terminal/runtime-adapter.js.map +1 -1
  292. package/data/build/dist/host/terminal/runtime-manager.d.ts +3 -0
  293. package/data/build/dist/host/terminal/runtime-manager.d.ts.map +1 -1
  294. package/data/build/dist/host/terminal/runtime-manager.js +92 -4
  295. package/data/build/dist/host/terminal/runtime-manager.js.map +1 -1
  296. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -1
  297. package/data/build/dist/host/terminal/terminal-controller.js +58 -6
  298. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -1
  299. package/data/build/dist/host/terminal/terminal-process-service.d.ts.map +1 -1
  300. package/data/build/dist/host/terminal/terminal-process-service.js +12 -2
  301. package/data/build/dist/host/terminal/terminal-process-service.js.map +1 -1
  302. package/data/build/dist/host/terminal/terminal-service.d.ts +41 -4
  303. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  304. package/data/build/dist/host/terminal/terminal-service.js +551 -61
  305. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  306. package/data/build/dist/index.d.ts +2 -2
  307. package/data/build/dist/index.d.ts.map +1 -1
  308. package/data/build/dist/index.js +2 -2
  309. package/data/build/dist/index.js.map +1 -1
  310. package/data/build/dist/shared/contracts/cli-adapter.d.ts +64 -2
  311. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  312. package/data/build/dist/shared/contracts/config.d.ts +54 -11
  313. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  314. package/data/build/dist/shared/contracts/config.js +52 -8
  315. package/data/build/dist/shared/contracts/config.js.map +1 -1
  316. package/data/build/dist/shared/contracts/subscription.d.ts +5 -1
  317. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  318. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  319. package/data/build/dist/shared/contracts/terminal.d.ts +8 -1
  320. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  321. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  322. package/data/build/dist/shared/contracts/version.js +1 -1
  323. package/data/build/dist/shared/debug.d.ts +8 -0
  324. package/data/build/dist/shared/debug.d.ts.map +1 -1
  325. package/data/build/dist/shared/debug.js +43 -7
  326. package/data/build/dist/shared/debug.js.map +1 -1
  327. package/data/build/dist/shared/delegation-carrier.d.ts +24 -0
  328. package/data/build/dist/shared/delegation-carrier.d.ts.map +1 -0
  329. package/data/build/dist/shared/delegation-carrier.js +111 -0
  330. package/data/build/dist/shared/delegation-carrier.js.map +1 -0
  331. package/data/build/dist/shared/index.d.ts +2 -2
  332. package/data/build/dist/shared/index.d.ts.map +1 -1
  333. package/data/build/dist/shared/index.js +2 -2
  334. package/data/build/dist/shared/index.js.map +1 -1
  335. package/data/build/dist/shared/terminal-input.d.ts +8 -0
  336. package/data/build/dist/shared/terminal-input.d.ts.map +1 -0
  337. package/data/build/dist/shared/terminal-input.js +10 -0
  338. package/data/build/dist/shared/terminal-input.js.map +1 -0
  339. package/data/build/dist/transport/debug.d.ts +7 -0
  340. package/data/build/dist/transport/debug.d.ts.map +1 -1
  341. package/data/build/dist/transport/debug.js +33 -5
  342. package/data/build/dist/transport/debug.js.map +1 -1
  343. package/data/build/dist/transport/index.d.ts +1 -1
  344. package/data/build/dist/transport/index.d.ts.map +1 -1
  345. package/data/build/dist/transport/index.js +1 -1
  346. package/data/build/dist/transport/index.js.map +1 -1
  347. package/data/build/dist/typert.host.js +1 -1
  348. package/data/build/dist/typert.host.js.map +1 -1
  349. package/package.json +1 -1
  350. package/profile/README.md +2 -2
  351. package/profile/package.json +2 -2
  352. package/profile/version.json +1 -1
  353. package/version.json +1 -1
@@ -1,13 +1,18 @@
1
- import { createElement, Fragment, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore, } from 'react';
1
+ import { createElement, useEffect, useCallback, useRef, useState, useSyncExternalStore, } from 'react';
2
2
  import { Button, Menu, } from '@deepseek-ai/dsh-client-ui-primitives';
3
- import { resolveChevronDownIcon } from '../../dsh-capabilities/client/primitives-adapter.js';
3
+ import { resolveChevronDownIcon, resolvePlusIcon } from '../../dsh-capabilities/client/primitives-adapter.js';
4
4
  import { CodingNsWebTerminals } from './model.js';
5
5
  import { createTerminalSessionRecovery } from './recovery.js';
6
6
  import { installTerminalStyles, terminalClass } from './styles.js';
7
7
  import { CodingNsXtermView } from './xterm-view.js';
8
8
  import { codingNsTranslator, useCodingNsTranslator } from '../locale.js';
9
+ import { debugInfo, debugWarn } from '../../shared/debug.js';
9
10
  export const TERMINAL_PROVIDER_ID = 'codingns4dsh/terminal';
10
11
  export const TERMINAL_KIND = 'terminal';
12
+ const AUTO_CREATE_INTENT_TTL_MS = 5000;
13
+ const pendingAutoCreateSessions = new Map();
14
+ /** 已消费的导航意图按会话保留,避免切换会话后旧 autoCreate 再次触发创建。 */
15
+ const consumedAutoCreateNavigations = new Map();
11
16
  /** 注册终端类型及其所有公开 Sidebar Slot。 */
12
17
  export function registerCodingNsTerminalUi(ctx, webTerminals, settings) {
13
18
  const disposers = [];
@@ -16,36 +21,28 @@ export function registerCodingNsTerminalUi(ctx, webTerminals, settings) {
16
21
  getSnapshot: () => ctx.theme.getTheme().revision,
17
22
  subscribe: (listener) => ctx.on('theme/change', listener),
18
23
  };
19
- const sidebarRight = ctx.sidebarRight;
20
- const registerCloseHandler = sidebarRight.registerCloseHandler;
21
- // alpha2 提供多 Tab 元数据和关闭 API;rc3 没有这些字段,不能直接调用。
22
- const legacyCloseFallback = typeof registerCloseHandler !== 'function';
23
- const recoverySidebar = sidebarRight;
24
- const supportsMultiple = readSidebarOpenTabs(recoverySidebar) !== undefined;
25
- const recovery = createTerminalSessionRecovery(webTerminals, recoverySidebar, TERMINAL_KIND);
24
+ const recoverySidebar = ctx.sidebarRight;
25
+ const recovery = createTerminalSessionRecovery(webTerminals, recoverySidebar, TERMINAL_KIND, hasPendingAutoCreateIntent);
26
26
  disposers.push(installTerminalStyles());
27
27
  const tabDefinition = {
28
28
  id: TERMINAL_PROVIDER_ID,
29
29
  kind: TERMINAL_KIND,
30
- ...(supportsMultiple ? { multiple: true } : {}),
30
+ // 一个 Sidebar 页签代表整个工作区终端集合;终端实例在页内列表切换。
31
+ multiple: false,
32
+ // 聚合页隐藏时仍保留所有 XtermView 和 Host follow,重新打开只需切换可见性。
33
+ keepMounted: true,
31
34
  priority: 'extension',
32
35
  title: () => t('terminal.title'),
33
- guide: [{
34
- id: 'new',
35
- order: 20,
36
- title: () => t('terminal.new'),
37
- description: () => t('terminal.description'),
38
- icon: TerminalGuideIcon,
39
- }],
36
+ guide: [{ id: 'terminal', order: 20, title: () => t('terminal.title'), description: () => t('terminal.description'), icon: TerminalGuideIcon }],
40
37
  };
41
38
  disposers.push(ctx.sidebarRightTabs.register(tabDefinition));
42
39
  disposers.push(ctx.slots.inject('sidebar.right.pane.tab', () => ctx.slots.register({
43
40
  name: 'sidebar.right.pane.tab', key: TERMINAL_PROVIDER_ID,
44
- inject: () => ({ webTerminals, settings, theme, locale: ctx.locale, legacyCloseFallback }),
45
- }, TerminalBody)));
41
+ inject: () => ({ webTerminals, settings, theme, locale: ctx.locale }),
42
+ }, CodingNsTerminalAggregateBody)));
46
43
  disposers.push(ctx.slots.inject('sidebar.right.pane.tab.title', () => ctx.slots.register({
47
44
  name: 'sidebar.right.pane.tab.title', key: TERMINAL_PROVIDER_ID,
48
- inject: () => ({ webTerminals, locale: ctx.locale }),
45
+ inject: () => ({ locale: ctx.locale }),
49
46
  }, TerminalTitle)));
50
47
  disposers.push(ctx.slots.inject('sidebar.right.tab.guide.entry', () => ctx.slots.register({
51
48
  name: 'sidebar.right.tab.guide.entry', key: TERMINAL_PROVIDER_ID,
@@ -53,97 +50,172 @@ export function registerCodingNsTerminalUi(ctx, webTerminals, settings) {
53
50
  }, TerminalGuide)));
54
51
  disposers.push(ctx.slots.inject('shell.overlay', () => ctx.slots.register({
55
52
  name: 'shell.overlay', id: 'codingns4dsh-terminal-cleanup', order: 1000,
56
- inject: () => ({ webTerminals, locale: ctx.locale, sidebarRight: recoverySidebar, recoverSession: recovery.ensure }),
53
+ inject: () => ({
54
+ webTerminals,
55
+ locale: ctx.locale,
56
+ sidebarRight: recoverySidebar,
57
+ recoverSession: recovery.ensure,
58
+ invalidateRecovery: recovery.invalidate,
59
+ }),
57
60
  }, TerminalCleanup)));
58
- if (typeof registerCloseHandler === 'function')
59
- disposers.push(registerCloseHandler.call(ctx.sidebarRight, TERMINAL_KIND, (sessionId, tab) => {
60
- const params = navigationParams(tab);
61
- webTerminals.close(String(sessionId), String(tab.id), tab.contentId, params.terminalId);
62
- }));
63
61
  return () => { for (const dispose of disposers.reverse())
64
62
  dispose(); };
65
63
  }
66
- function TerminalBody({ sessionId, useTabInfo, webTerminals, settings, theme, locale, legacyCloseFallback }) {
64
+ /** 聚合终端页使用独立组件名,避免 HMR 把旧单终端 TerminalBody 的 Hook 树复用过来。 */
65
+ function CodingNsTerminalAggregateBody({ sessionId, useTabInfo, webTerminals, settings, theme, locale }) {
67
66
  const t = useCodingNsTranslator(locale);
68
67
  const info = useTabInfo();
69
68
  const params = terminalParams(info);
70
- const view = webTerminals.view(String(sessionId), String(info.tab.id), info.tab.contentId, params.terminalId, params.shellPath);
69
+ const navigationKey = terminalNavigationKey(info, String(sessionId));
70
+ // recovery 创建的聚合页也会有 navigation revision,但那只是页签导航版本,
71
+ // 不能把它当成“新建终端”命令。创建只能由明确参数或 Guide 写入的一次性意图触发。
72
+ const hasAutoCreateIntent = params.autoCreate === true || hasPendingAutoCreateIntent(String(sessionId));
73
+ const autoCreate = hasAutoCreateIntent && consumedAutoCreateNavigations.get(String(sessionId)) !== navigationKey;
74
+ const revision = useSyncExternalStore(webTerminals.inventoryRevision.subscribe.bind(webTerminals.inventoryRevision), webTerminals.inventoryRevision.getSnapshot.bind(webTerminals.inventoryRevision));
71
75
  const themeRevision = useSyncExternalStore(theme.subscribe, theme.getSnapshot);
72
- useEffect(() => info.tab.visible ? view.mount() : undefined, [info.tab.visible, view]);
76
+ const [terminals, setTerminals] = useState([]);
77
+ const [selectedId, setSelectedId] = useState();
78
+ const [loading, setLoading] = useState(true);
79
+ const [creating, setCreating] = useState(false);
80
+ const [createError, setCreateError] = useState();
81
+ /** React 状态更新前可能收到连续点击;用同步锁保证只发出一个 create 请求。 */
82
+ const creatingRef = useRef(false);
83
+ const autoCreatedFor = useRef(undefined);
84
+ const reloadSequence = useRef(0);
85
+ const reload = useCallback(async () => {
86
+ const sequence = reloadSequence.current + 1;
87
+ reloadSequence.current = sequence;
88
+ setLoading(true);
89
+ try {
90
+ const next = await webTerminals.refreshInventory(String(sessionId));
91
+ if (sequence !== reloadSequence.current)
92
+ return next;
93
+ setTerminals(next);
94
+ setSelectedId((current) => next.some((item) => item.id === current) ? current : next[0]?.id);
95
+ return next;
96
+ }
97
+ finally {
98
+ if (sequence === reloadSequence.current)
99
+ setLoading(false);
100
+ }
101
+ }, [sessionId, webTerminals]);
102
+ const createNewTerminal = useCallback(async () => {
103
+ if (creatingRef.current)
104
+ return;
105
+ creatingRef.current = true;
106
+ setCreating(true);
107
+ setCreateError(undefined);
108
+ debugInfo('codingns4dsh: client terminal aggregate create begin', { sessionId: String(sessionId), shellPath: params.shellPath ?? null });
109
+ try {
110
+ const info = await webTerminals.createTerminal(String(sessionId), params.shellPath);
111
+ setTerminals((current) => current.some((item) => item.id === info.id) ? current : [...current, info]);
112
+ setSelectedId(info.id);
113
+ await reload();
114
+ // 创建成功后再消费本地意图。创建期间 recovery 仍需看到它,避免空列表
115
+ // 的迟到响应把正在创建的聚合页关闭。
116
+ pendingAutoCreateSessions.delete(String(sessionId));
117
+ debugInfo('codingns4dsh: client terminal aggregate create success', { sessionId: String(sessionId), terminalId: info.id });
118
+ }
119
+ catch (cause) {
120
+ const message = cause instanceof Error ? cause.message : String(cause);
121
+ setCreateError(message);
122
+ debugWarn('codingns4dsh: client terminal aggregate create failed', { sessionId: String(sessionId), error: message });
123
+ }
124
+ finally {
125
+ creatingRef.current = false;
126
+ setCreating(false);
127
+ }
128
+ }, [params.shellPath, reload, sessionId, webTerminals]);
129
+ useEffect(() => { void reload().catch(() => setLoading(false)); }, [reload, revision]);
73
130
  useEffect(() => {
74
- if (!legacyCloseFallback)
131
+ // 创建失败后保留错误状态,等待用户显式重试,避免 effect 在失败后无限重复 create。
132
+ if (!autoCreate || autoCreatedFor.current === navigationKey || loading || creating || createError !== undefined || terminals.length > 0)
75
133
  return;
76
- // rc3 没有显式关闭回调,只能利用 Tab 被移除时的 signal 回收对应 Host 终端。
77
- const close = () => {
78
- const nextParams = navigationParams(info.tab);
79
- webTerminals.close(String(sessionId), String(info.tab.id), info.tab.contentId, nextParams.terminalId);
80
- };
81
- if (info.tab.signal.aborted)
82
- close();
83
- else
84
- info.tab.signal.addEventListener('abort', close, { once: true });
85
- return () => info.tab.signal.removeEventListener('abort', close);
86
- }, [legacyCloseFallback, info.tab, sessionId, webTerminals]);
87
- return info.tab.visible ? createElement(CodingNsXtermView, {
88
- view,
89
- settings,
90
- themeRevision,
91
- onNewTerminal: () => info.tab.actions.openTab(TERMINAL_KIND, { replaceTab: true }),
92
- t,
93
- }) : null;
134
+ // autoCreate 是打开当前聚合页时的一次性导航意图。创建成功后必须保持已消费状态,
135
+ // 否则用户关闭最后一个终端使库存变空时,effect 会把它误当成首次打开并再次创建。
136
+ autoCreatedFor.current = navigationKey;
137
+ consumedAutoCreateNavigations.set(String(sessionId), navigationKey);
138
+ void createNewTerminal();
139
+ }, [autoCreate, createError, createNewTerminal, creating, loading, navigationKey, sessionId, terminals.length]);
140
+ const selected = terminals.find((item) => item.id === selectedId);
141
+ // 库存刷新删除当前项时,selectedId 的修正和 terminals 更新不一定同一帧完成。
142
+ // 先用首项作为 active,避免短暂渲染空状态导致所有 view 卸载并重新连接。
143
+ const activeId = selected?.id ?? terminals[0]?.id;
144
+ // 聚合页声明 keepMounted 后,隐藏页签仍必须保留列表和每个 XtermView。
145
+ // DSH 会隐藏外层 pane;这里把 visible 只传给视图作为 attach 生命周期信号,
146
+ // 不能直接返回 null,否则切回页签会重新创建 DOM 并重新 follow。
147
+ // DSH 0.2.x 的保留页签会复用旧终端页的 div 根节点。沿用 div 形状,
148
+ // 让升级后的聚合布局在旧页签实例上也能正常完成 React reconciliation。
149
+ const navigation = createElement('nav', { className: terminalClass.list, 'aria-label': t('terminal.title') }, [
150
+ ...terminals.map((item) => createElement(TerminalListRow, {
151
+ key: item.id,
152
+ item,
153
+ selected: item.id === activeId,
154
+ onSelect: () => setSelectedId(item.id),
155
+ onClose: () => { void webTerminals.closeTerminal(String(sessionId), item.id).then(() => reload()); },
156
+ onRename: async (title) => {
157
+ const target = webTerminals.viewForTerminal(String(sessionId), item.id, item.shell.path);
158
+ await target.rename(title);
159
+ await reload();
160
+ },
161
+ t,
162
+ })),
163
+ createElement(Button, {
164
+ variant: 'ghost',
165
+ size: 'sm',
166
+ className: terminalClass.newButton,
167
+ icon: createElement(resolvePlusIcon()),
168
+ 'aria-label': t('terminal.new'),
169
+ title: t('terminal.new'),
170
+ disabled: creating,
171
+ onClick: () => { void createNewTerminal(); },
172
+ }),
173
+ ]);
174
+ const content = createElement('div', { className: terminalClass.content }, terminals.length === 0
175
+ ? createElement('div', { role: 'status', className: terminalClass.empty }, createElement('p', undefined, createError ?? (creating ? t('terminalView.starting') : t('terminal.description'))), createError === undefined ? null : createElement(Button, { variant: 'primary', size: 'sm', onClick: () => { void createNewTerminal(); } }, t('terminal.retry')))
176
+ : terminals.map((item) => createElement(CodingNsXtermView, {
177
+ key: item.id,
178
+ view: webTerminals.viewForTerminal(String(sessionId), item.id, item.shell.path),
179
+ settings,
180
+ themeRevision,
181
+ active: item.id === activeId,
182
+ visible: info.tab.visible,
183
+ onNewTerminal: () => { void createNewTerminal(); },
184
+ t,
185
+ })));
186
+ const aggregateElement = createElement('div', { className: `${terminalClass.aggregateRoot} ${terminalClass.content}` }, navigation, content);
187
+ return aggregateElement;
94
188
  }
95
- function TerminalTitle({ sessionId, useTabInfo, webTerminals, locale }) {
189
+ function TerminalTitle({ useTabInfo, locale }) {
96
190
  const t = useCodingNsTranslator(locale);
97
191
  const info = useTabInfo();
98
- const params = terminalParams(info);
99
- const view = webTerminals.view(String(sessionId), String(info.tab.id), info.tab.contentId, params.terminalId, params.shellPath);
100
- const state = useSyncExternalStore(view.state.subscribe.bind(view.state), view.state.getSnapshot.bind(view.state));
192
+ return createElement('span', { className: terminalClass.title, 'aria-label': t('terminal.title') }, createElement(TerminalIcon), t('terminal.title'));
193
+ }
194
+ function TerminalListRow({ item, selected, onSelect, onClose, onRename, t }) {
101
195
  const [editing, setEditing] = useState(false);
102
- const [title, setTitle] = useState(state.title);
103
- const input = useRef(null);
104
- useEffect(() => { if (!editing)
105
- setTitle(state.title); }, [editing, state.title]);
106
- useLayoutEffect(() => {
107
- if (!editing)
108
- return;
109
- input.current?.focus();
110
- input.current?.select();
111
- }, [editing]);
112
- const beginEditing = (event) => {
113
- event.stopPropagation();
114
- if (event.detail === undefined || event.detail >= 2)
115
- setEditing(true);
116
- };
117
- return createElement(Fragment, undefined, createElement(TerminalIcon), editing
196
+ const [title, setTitle] = useState(item.title);
197
+ return createElement('div', { className: selected ? `${terminalClass.listRow} ${terminalClass.listRowSelected}` : terminalClass.listRow }, editing
118
198
  ? createElement('input', {
119
- ref: input,
120
199
  value: title,
121
- maxLength: 120,
122
- 'aria-label': t('terminal.title'),
123
- className: terminalClass.titleInput,
124
- onPointerDown: stopPropagation,
125
- onClick: stopPropagation,
126
- onDoubleClick: stopPropagation,
200
+ autoFocus: true,
201
+ className: terminalClass.listInput,
202
+ 'aria-label': t('terminal.rename'),
127
203
  onChange: (event) => setTitle(event.currentTarget.value),
128
- onBlur: () => { setEditing(false); void view.rename(title); },
129
- onKeyDown: (event) => {
130
- event.stopPropagation();
131
- if (event.key === 'Escape') {
132
- setTitle(state.title);
133
- event.currentTarget.blur();
134
- }
135
- else if (event.key === 'Enter')
136
- event.currentTarget.blur();
137
- },
204
+ onBlur: () => { setEditing(false); void onRename(title); },
205
+ onKeyDown: (event) => { event.stopPropagation(); if (event.key === 'Enter')
206
+ event.currentTarget.blur(); },
138
207
  })
139
- : createElement('span', {
140
- className: terminalClass.title,
141
- onPointerDown: stopPropagation,
142
- onMouseDown: stopPropagation,
143
- onClick: beginEditing,
144
- onDoubleClick: beginEditing,
145
- title: t('terminal.rename'),
146
- }, state.title));
208
+ : createElement('button', { type: 'button', className: terminalClass.listSelect, onClick: onSelect, onDoubleClick: () => setEditing(true) }, createElement('span', undefined, item.title), createElement('small', undefined, item.shell.name)), createElement('button', {
209
+ type: 'button',
210
+ className: terminalClass.listClose,
211
+ 'aria-label': t('terminal.close'),
212
+ // 阻止点击子终端关闭按钮冒泡到 DSH 外层页签,避免误关聚合页。
213
+ onClick: (event) => {
214
+ event.preventDefault();
215
+ event.stopPropagation();
216
+ onClose();
217
+ },
218
+ }, '×'));
147
219
  }
148
220
  function TerminalGuide({ sessionId, useTabInfo, webTerminals, recoverSession, title, description, locale }) {
149
221
  const t = useCodingNsTranslator(locale);
@@ -176,7 +248,11 @@ function TerminalGuide({ sessionId, useTabInfo, webTerminals, recoverSession, ti
176
248
  }, createElement(Button, {
177
249
  variant: 'ghost',
178
250
  className: terminalClass.guideMain,
179
- onClick: () => info.tab.actions.openTab(TERMINAL_KIND, { replaceTab: true }),
251
+ // Tab actions 的 replaceTab 是布尔开关;传 true 由 DSH 自动绑定当前标签 ID。
252
+ onClick: () => {
253
+ markPendingAutoCreateIntent(String(sessionId));
254
+ info.tab.actions.openTab(TERMINAL_KIND, { replaceTab: true, params: { autoCreate: true } });
255
+ },
180
256
  }, createElement(TerminalGuideIcon, { size: description === undefined ? 22 : 26, className: terminalClass.guideIcon }), createElement('span', { className: terminalClass.guideText }, createElement('span', { className: terminalClass.guideTitle }, title), description === undefined ? null : createElement('span', { className: terminalClass.guideDescription }, description))), createElement(Menu, {
181
257
  open,
182
258
  portal: true,
@@ -196,7 +272,11 @@ function TerminalGuide({ sessionId, useTabInfo, webTerminals, recoverSession, ti
196
272
  return;
197
273
  webTerminals.selectShell(path);
198
274
  setOpen(false);
199
- info.tab.actions.openTab(TERMINAL_KIND, { params: { shellPath: path }, replaceTab: true });
275
+ markPendingAutoCreateIntent(String(sessionId));
276
+ info.tab.actions.openTab(TERMINAL_KIND, {
277
+ params: { autoCreate: true, shellPath: path },
278
+ replaceTab: true,
279
+ });
200
280
  },
201
281
  anchor: createElement(Button, {
202
282
  variant: 'ghost',
@@ -220,23 +300,30 @@ function shellMenuItems(state, t) {
220
300
  return [{ id: 'empty', label: t('terminal.noShell'), disabled: true }];
221
301
  return state.shells.map((shell) => ({ id: shell.path, label: shell.name }));
222
302
  }
223
- function TerminalCleanup({ webTerminals, locale, sidebarRight, recoverSession }) {
303
+ function TerminalCleanup({ webTerminals, locale, sidebarRight, recoverSession, invalidateRecovery }) {
224
304
  const t = useCodingNsTranslator(locale);
225
305
  const openTabs = readSidebarOpenTabs(sidebarRight);
226
306
  const openTabSnapshot = useSyncExternalStore(openTabs?.subscribe ?? noSubscribe, openTabs?.getSnapshot ?? noOpenTabs, openTabs?.getSnapshot ?? noOpenTabs);
227
307
  const remoteReady = useSyncExternalStore(webTerminals.remoteReadyState.subscribe.bind(webTerminals.remoteReadyState), webTerminals.remoteReadyState.getSnapshot.bind(webTerminals.remoteReadyState), webTerminals.remoteReadyState.getSnapshot.bind(webTerminals.remoteReadyState));
308
+ const inventoryRevision = useSyncExternalStore(webTerminals.inventoryRevision.subscribe.bind(webTerminals.inventoryRevision), webTerminals.inventoryRevision.getSnapshot.bind(webTerminals.inventoryRevision), webTerminals.inventoryRevision.getSnapshot.bind(webTerminals.inventoryRevision));
228
309
  const mounted = readSidebarMounted(sidebarRight);
229
310
  const mountedSessionId = useSyncExternalStore(mounted?.subscribe ?? noSubscribe, mounted?.getSnapshot ?? noMountedSession, mounted?.getSnapshot ?? noMountedSession);
311
+ const previousInventoryRevision = useRef(inventoryRevision);
230
312
  useEffect(() => {
231
313
  // 0.1.7 才提供 mounted 会话 observable;旧版本保留原有 Guide 挂载路径。
232
314
  if (!remoteReady || mounted === undefined)
233
315
  return;
316
+ const inventoryChanged = previousInventoryRevision.current !== inventoryRevision;
317
+ previousInventoryRevision.current = inventoryRevision;
234
318
  const sessionIds = new Set(openTabSnapshot.map((tab) => String(tab.sessionId).trim()).filter(Boolean));
235
319
  if (mountedSessionId !== undefined)
236
320
  sessionIds.add(String(mountedSessionId).trim());
237
- for (const sessionId of sessionIds)
321
+ for (const sessionId of sessionIds) {
322
+ if (inventoryChanged)
323
+ invalidateRecovery(sessionId);
238
324
  void recoverSession(sessionId).catch(() => undefined);
239
- }, [openTabSnapshot, recoverSession, remoteReady, mountedSessionId]);
325
+ }
326
+ }, [openTabSnapshot, recoverSession, remoteReady, mountedSessionId, inventoryRevision, invalidateRecovery]);
240
327
  const failures = useSyncExternalStore(webTerminals.closeFailures.subscribe.bind(webTerminals.closeFailures), webTerminals.closeFailures.getSnapshot.bind(webTerminals.closeFailures));
241
328
  if (failures.length === 0)
242
329
  return null;
@@ -267,15 +354,39 @@ const EMPTY_OPEN_TABS = [];
267
354
  function noOpenTabs() { return EMPTY_OPEN_TABS; }
268
355
  function noSubscribe() { return () => undefined; }
269
356
  function terminalParams(info) {
270
- const params = info.tab.navigation.params;
271
- return typeof params === 'object' && params !== null ? params : {};
357
+ // DSH 0.2.x 的 navigation 是 SnapshotStore,参数位于 getSnapshot() 返回值;
358
+ // 旧版适配层可能仍直接暴露 params,因此保留直接读取作为兼容兜底。
359
+ const navigation = info.tab.navigation;
360
+ const snapshot = isRecord(navigation) && typeof navigation.getSnapshot === 'function'
361
+ ? navigation.getSnapshot()
362
+ : navigation;
363
+ const params = isRecord(snapshot) ? snapshot.params : undefined;
364
+ return isRecord(params) ? params : {};
365
+ }
366
+ function terminalNavigationKey(info, sessionId) {
367
+ // TabRecord.id 在同一页签生命周期内稳定;导航 revision 会因 recovery
368
+ // 或重新聚焦而递增,不能用它判断是否应再次创建 Host 终端。
369
+ const tab = info.tab;
370
+ const tabId = typeof tab.id === 'string' ? tab.id : '';
371
+ return `${sessionId}:${tabId}`;
372
+ }
373
+ function markPendingAutoCreateIntent(sessionId) {
374
+ pendingAutoCreateSessions.set(sessionId, Date.now());
375
+ }
376
+ function hasPendingAutoCreateIntent(sessionId) {
377
+ const createdAt = pendingAutoCreateSessions.get(sessionId);
378
+ if (createdAt === undefined)
379
+ return false;
380
+ if (Date.now() - createdAt > AUTO_CREATE_INTENT_TTL_MS) {
381
+ pendingAutoCreateSessions.delete(sessionId);
382
+ return false;
383
+ }
384
+ return true;
272
385
  }
273
- function navigationParams(tab) {
274
- const params = tab.navigation?.params;
275
- return typeof params === 'object' && params !== null ? params : {};
386
+ function isRecord(value) {
387
+ return typeof value === 'object' && value !== null;
276
388
  }
277
389
  function messageOf(value) { return value instanceof Error ? value.message : String(value); }
278
- function stopPropagation(event) { event.stopPropagation(); }
279
390
  function TerminalIcon() {
280
391
  return createElement('svg', { width: 16, height: 16, viewBox: '0 0 16 16', fill: 'none', 'aria-hidden': true }, createElement('path', {
281
392
  d: 'm3 4 4 4-4 4M9 12h4',
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../src/client/terminal/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../src/client/terminal/ui.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,13 @@ export interface CodingNsXtermViewProps {
8
8
  readonly settings: CodingNsSettingsStore<CodingNsSettings>;
9
9
  readonly themeRevision: number;
10
10
  readonly onNewTerminal: () => void;
11
+ /** 聚合页是否正在显示这个终端;隐藏时仍保持 attach 和 xterm 状态。 */
12
+ readonly active?: boolean;
13
+ /** 外层 Sidebar 页签是否可见;不可见时释放整个终端页的 attach。 */
14
+ readonly visible?: boolean;
11
15
  /** 由 terminal/ui.ts 注入的翻译函数;缺省时退回内置中文词典(单测路径)。 */
12
16
  readonly t?: CodingNsTranslator;
13
17
  }
14
18
  /** 使用与 DSH 内置终端相同的布局、状态条和 xterm 默认参数。 */
15
- export declare function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal, t: injectedTranslator, }: CodingNsXtermViewProps): ReactElement;
19
+ export declare function CodingNsXtermView({ view, settings, themeRevision, onNewTerminal, active, visible, t: injectedTranslator, }: CodingNsXtermViewProps): ReactElement;
16
20
  //# sourceMappingURL=xterm-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xterm-view.d.ts","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAA;AAGzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;IAClC,kDAAkD;IAClD,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,aAAa,EACb,CAAC,EAAE,kBAAkB,GACtB,EAAE,sBAAsB,GAAG,YAAY,CA2GvC"}
1
+ {"version":3,"file":"xterm-view.d.ts","sourceRoot":"","sources":["../../../../../src/client/terminal/xterm-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAOzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGjF,OAAO,KAAK,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAA;AAWzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAA;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED,yCAAyC;AACzC,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,aAAa,EACb,MAAa,EACb,OAAc,EACd,CAAC,EAAE,kBAAkB,GACtB,EAAE,sBAAsB,GAAG,YAAY,CAiYvC"}