@jingyi0605/codingns4dsh 0.1.7-rc.3 → 0.2.0-beta.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 (735) hide show
  1. package/LICENSE +695 -0
  2. package/README.en.md +46 -15
  3. package/README.md +36 -15
  4. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts +1 -1
  5. package/data/build/dist/bootstrap/dsh-connection-adapter.d.ts.map +1 -0
  6. package/data/build/dist/bootstrap/dsh-connection-adapter.js.map +1 -0
  7. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts +50 -0
  8. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts.map +1 -0
  9. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +239 -0
  10. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js.map +1 -0
  11. package/data/build/dist/bootstrap/index.d.ts +3 -1
  12. package/data/build/dist/bootstrap/index.d.ts.map +1 -0
  13. package/data/build/dist/bootstrap/index.js +1 -0
  14. package/data/build/dist/bootstrap/index.js.map +1 -0
  15. package/data/build/dist/client/account-bar.d.ts +7 -1
  16. package/data/build/dist/client/account-bar.d.ts.map +1 -0
  17. package/data/build/dist/client/account-bar.js +151 -69
  18. package/data/build/dist/client/account-bar.js.map +1 -0
  19. package/data/build/dist/client/bundle.js +8174 -2024
  20. package/data/build/dist/client/bundle.js.map +1 -0
  21. package/data/build/dist/client/cli-catalog.d.ts.map +1 -0
  22. package/data/build/dist/client/cli-catalog.js.map +1 -0
  23. package/data/build/dist/client/cli-slots.d.ts.map +1 -0
  24. package/data/build/dist/client/cli-slots.js +15 -4
  25. package/data/build/dist/client/cli-slots.js.map +1 -0
  26. package/data/build/dist/client/context-breakdown-dom.d.ts +53 -0
  27. package/data/build/dist/client/context-breakdown-dom.d.ts.map +1 -0
  28. package/data/build/dist/client/context-breakdown-dom.js +171 -0
  29. package/data/build/dist/client/context-breakdown-dom.js.map +1 -0
  30. package/data/build/dist/client/debug/ui.d.ts.map +1 -0
  31. package/data/build/dist/client/debug/ui.js +2 -1
  32. package/data/build/dist/client/debug/ui.js.map +1 -0
  33. package/data/build/dist/client/dsh-h5-bootstrap.d.ts.map +1 -0
  34. package/data/build/dist/client/dsh-h5-bootstrap.js +19 -6
  35. package/data/build/dist/client/dsh-h5-bootstrap.js.map +1 -0
  36. package/data/build/dist/client/dsh-runtime-version.d.ts +3 -2
  37. package/data/build/dist/client/dsh-runtime-version.d.ts.map +1 -0
  38. package/data/build/dist/client/dsh-runtime-version.js +7 -6
  39. package/data/build/dist/client/dsh-runtime-version.js.map +1 -0
  40. package/data/build/dist/client/external-tool-stream.d.ts.map +1 -0
  41. package/data/build/dist/client/external-tool-stream.js.map +1 -0
  42. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -0
  43. package/data/build/dist/client/features/cli-adapters.js +20 -4
  44. package/data/build/dist/client/features/cli-adapters.js.map +1 -0
  45. package/data/build/dist/client/features/debug.d.ts.map +1 -0
  46. package/data/build/dist/client/features/debug.js +2 -2
  47. package/data/build/dist/client/features/debug.js.map +1 -0
  48. package/data/build/dist/client/features/file-management-panel.d.ts.map +1 -0
  49. package/data/build/dist/client/features/file-management-panel.js.map +1 -0
  50. package/data/build/dist/client/features/file-management.d.ts.map +1 -0
  51. package/data/build/dist/client/features/file-management.js +2 -2
  52. package/data/build/dist/client/features/file-management.js.map +1 -0
  53. package/data/build/dist/client/features/index.d.ts +5 -2
  54. package/data/build/dist/client/features/index.d.ts.map +1 -0
  55. package/data/build/dist/client/features/index.js +6 -2
  56. package/data/build/dist/client/features/index.js.map +1 -0
  57. package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -0
  58. package/data/build/dist/client/features/lan-access-panel.js +80 -2
  59. package/data/build/dist/client/features/lan-access-panel.js.map +1 -0
  60. package/data/build/dist/client/features/lan-access-status.d.ts +40 -0
  61. package/data/build/dist/client/features/lan-access-status.d.ts.map +1 -0
  62. package/data/build/dist/client/features/lan-access-status.js +118 -0
  63. package/data/build/dist/client/features/lan-access-status.js.map +1 -0
  64. package/data/build/dist/client/features/lan-access.d.ts +4 -1
  65. package/data/build/dist/client/features/lan-access.d.ts.map +1 -0
  66. package/data/build/dist/client/features/lan-access.js +29 -4
  67. package/data/build/dist/client/features/lan-access.js.map +1 -0
  68. package/data/build/dist/client/features/login-protection-panel.d.ts.map +1 -0
  69. package/data/build/dist/client/features/login-protection-panel.js.map +1 -0
  70. package/data/build/dist/client/features/login-protection-session.d.ts.map +1 -0
  71. package/data/build/dist/client/features/login-protection-session.js.map +1 -0
  72. package/data/build/dist/client/features/login-protection.d.ts.map +1 -0
  73. package/data/build/dist/client/features/login-protection.js +2 -2
  74. package/data/build/dist/client/features/login-protection.js.map +1 -0
  75. package/data/build/dist/client/features/mobile-access-panel.d.ts +12 -0
  76. package/data/build/dist/client/features/mobile-access-panel.d.ts.map +1 -0
  77. package/data/build/dist/client/features/mobile-access-panel.js +259 -0
  78. package/data/build/dist/client/features/mobile-access-panel.js.map +1 -0
  79. package/data/build/dist/client/features/mobile-access.d.ts +13 -0
  80. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -0
  81. package/data/build/dist/client/features/mobile-access.js +75 -0
  82. package/data/build/dist/client/features/mobile-access.js.map +1 -0
  83. package/data/build/dist/client/features/peer-host.d.ts +35 -1
  84. package/data/build/dist/client/features/peer-host.d.ts.map +1 -0
  85. package/data/build/dist/client/features/peer-host.js +495 -56
  86. package/data/build/dist/client/features/peer-host.js.map +1 -0
  87. package/data/build/dist/client/features/reverse-proxy-panel.d.ts.map +1 -0
  88. package/data/build/dist/client/features/reverse-proxy-panel.js +2 -1
  89. package/data/build/dist/client/features/reverse-proxy-panel.js.map +1 -0
  90. package/data/build/dist/client/features/reverse-proxy.d.ts.map +1 -0
  91. package/data/build/dist/client/features/reverse-proxy.js +2 -2
  92. package/data/build/dist/client/features/reverse-proxy.js.map +1 -0
  93. package/data/build/dist/client/features/subscription-usage-panel.d.ts +15 -0
  94. package/data/build/dist/client/features/subscription-usage-panel.d.ts.map +1 -0
  95. package/data/build/dist/client/features/subscription-usage-panel.js +117 -0
  96. package/data/build/dist/client/features/subscription-usage-panel.js.map +1 -0
  97. package/data/build/dist/client/features/terminal-enhancement-panel.d.ts.map +1 -0
  98. package/data/build/dist/client/features/terminal-enhancement-panel.js.map +1 -0
  99. package/data/build/dist/client/features/terminal-enhancement.d.ts.map +1 -0
  100. package/data/build/dist/client/features/terminal-enhancement.js +2 -2
  101. package/data/build/dist/client/features/terminal-enhancement.js.map +1 -0
  102. package/data/build/dist/client/features/types.d.ts +12 -0
  103. package/data/build/dist/client/features/types.d.ts.map +1 -0
  104. package/data/build/dist/client/features/types.js.map +1 -0
  105. package/data/build/dist/client/features/workspace-session-enhancement-panel.d.ts.map +1 -0
  106. package/data/build/dist/client/features/workspace-session-enhancement-panel.js +27 -7
  107. package/data/build/dist/client/features/workspace-session-enhancement-panel.js.map +1 -0
  108. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -0
  109. package/data/build/dist/client/features/workspace-session-enhancement.js +34 -6
  110. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -0
  111. package/data/build/dist/client/file-management-dom.d.ts +2 -0
  112. package/data/build/dist/client/file-management-dom.d.ts.map +1 -0
  113. package/data/build/dist/client/file-management-dom.js +37 -8
  114. package/data/build/dist/client/file-management-dom.js.map +1 -0
  115. package/data/build/dist/client/git-history-graph.d.ts +81 -0
  116. package/data/build/dist/client/git-history-graph.d.ts.map +1 -0
  117. package/data/build/dist/client/git-history-graph.js +195 -0
  118. package/data/build/dist/client/git-history-graph.js.map +1 -0
  119. package/data/build/dist/client/git-management.d.ts.map +1 -0
  120. package/data/build/dist/client/git-management.js +305 -67
  121. package/data/build/dist/client/git-management.js.map +1 -0
  122. package/data/build/dist/client/git-panel-styles.d.ts +28 -0
  123. package/data/build/dist/client/git-panel-styles.d.ts.map +1 -0
  124. package/data/build/dist/client/git-panel-styles.js +95 -0
  125. package/data/build/dist/client/git-panel-styles.js.map +1 -0
  126. package/data/build/dist/client/h5-bootstrap-entry.d.ts.map +1 -0
  127. package/data/build/dist/client/h5-bootstrap-entry.js.map +1 -0
  128. package/data/build/dist/client/host-router.d.ts.map +1 -0
  129. package/data/build/dist/client/host-router.js.map +1 -0
  130. package/data/build/dist/client/index.d.ts +6 -4
  131. package/data/build/dist/client/index.d.ts.map +1 -0
  132. package/data/build/dist/client/index.js +26 -53
  133. package/data/build/dist/client/index.js.map +1 -0
  134. package/data/build/dist/client/lan-access.d.ts.map +1 -0
  135. package/data/build/dist/client/lan-access.js.map +1 -0
  136. package/data/build/dist/client/locale.d.ts.map +1 -0
  137. package/data/build/dist/client/locale.js +170 -12
  138. package/data/build/dist/client/locale.js.map +1 -0
  139. package/data/build/dist/client/mobile-settings-modal-dom.d.ts +49 -0
  140. package/data/build/dist/client/mobile-settings-modal-dom.d.ts.map +1 -0
  141. package/data/build/dist/client/mobile-settings-modal-dom.js +152 -0
  142. package/data/build/dist/client/mobile-settings-modal-dom.js.map +1 -0
  143. package/data/build/dist/client/mobile-sidebar-gestures.d.ts +97 -0
  144. package/data/build/dist/client/mobile-sidebar-gestures.d.ts.map +1 -0
  145. package/data/build/dist/client/mobile-sidebar-gestures.js +316 -0
  146. package/data/build/dist/client/mobile-sidebar-gestures.js.map +1 -0
  147. package/data/build/dist/client/mobile-sidebar-logo.d.ts +18 -0
  148. package/data/build/dist/client/mobile-sidebar-logo.d.ts.map +1 -0
  149. package/data/build/dist/client/mobile-sidebar-logo.js +15 -0
  150. package/data/build/dist/client/mobile-sidebar-logo.js.map +1 -0
  151. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts +106 -0
  152. package/data/build/dist/client/mobile-sidebar-rail-dom.d.ts.map +1 -0
  153. package/data/build/dist/client/mobile-sidebar-rail-dom.js +444 -0
  154. package/data/build/dist/client/mobile-sidebar-rail-dom.js.map +1 -0
  155. package/data/build/dist/client/mobile-vibration.d.ts +16 -0
  156. package/data/build/dist/client/mobile-vibration.d.ts.map +1 -0
  157. package/data/build/dist/client/mobile-vibration.js +20 -0
  158. package/data/build/dist/client/mobile-vibration.js.map +1 -0
  159. package/data/build/dist/client/native-workspace-store.d.ts +29 -0
  160. package/data/build/dist/client/native-workspace-store.d.ts.map +1 -0
  161. package/data/build/dist/client/native-workspace-store.js +64 -0
  162. package/data/build/dist/client/native-workspace-store.js.map +1 -0
  163. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts +13 -0
  164. package/data/build/dist/client/peer-host-aggregate-refresh.d.ts.map +1 -0
  165. package/data/build/dist/client/peer-host-aggregate-refresh.js +14 -0
  166. package/data/build/dist/client/peer-host-aggregate-refresh.js.map +1 -0
  167. package/data/build/dist/client/peer-host-color.d.ts +13 -0
  168. package/data/build/dist/client/peer-host-color.d.ts.map +1 -0
  169. package/data/build/dist/client/peer-host-color.js +57 -0
  170. package/data/build/dist/client/peer-host-color.js.map +1 -0
  171. package/data/build/dist/client/peer-host-connection-button.d.ts.map +1 -0
  172. package/data/build/dist/client/peer-host-connection-button.js +6 -3
  173. package/data/build/dist/client/peer-host-connection-button.js.map +1 -0
  174. package/data/build/dist/client/peer-host-management-api.d.ts +34 -0
  175. package/data/build/dist/client/peer-host-management-api.d.ts.map +1 -0
  176. package/data/build/dist/client/peer-host-management-api.js +12 -0
  177. package/data/build/dist/client/peer-host-management-api.js.map +1 -0
  178. package/data/build/dist/client/peer-host-management-panel.d.ts +1 -1
  179. package/data/build/dist/client/peer-host-management-panel.d.ts.map +1 -0
  180. package/data/build/dist/client/peer-host-management-panel.js +521 -86
  181. package/data/build/dist/client/peer-host-management-panel.js.map +1 -0
  182. package/data/build/dist/client/peer-host-native-projection.d.ts +46 -0
  183. package/data/build/dist/client/peer-host-native-projection.d.ts.map +1 -0
  184. package/data/build/dist/client/peer-host-native-projection.js +137 -0
  185. package/data/build/dist/client/peer-host-native-projection.js.map +1 -0
  186. package/data/build/dist/client/peer-host-native-store-projection.d.ts +21 -0
  187. package/data/build/dist/client/peer-host-native-store-projection.d.ts.map +1 -0
  188. package/data/build/dist/client/peer-host-native-store-projection.js +114 -0
  189. package/data/build/dist/client/peer-host-native-store-projection.js.map +1 -0
  190. package/data/build/dist/client/peer-host-scoped-client.d.ts.map +1 -0
  191. package/data/build/dist/client/peer-host-scoped-client.js.map +1 -0
  192. package/data/build/dist/client/peer-host-session-controller.d.ts.map +1 -0
  193. package/data/build/dist/client/peer-host-session-controller.js.map +1 -0
  194. package/data/build/dist/client/peer-host-workspace-tab.d.ts +44 -0
  195. package/data/build/dist/client/peer-host-workspace-tab.d.ts.map +1 -0
  196. package/data/build/dist/client/peer-host-workspace-tab.js +472 -0
  197. package/data/build/dist/client/peer-host-workspace-tab.js.map +1 -0
  198. package/data/build/dist/client/peer-host-workspace-tag.d.ts +47 -0
  199. package/data/build/dist/client/peer-host-workspace-tag.d.ts.map +1 -0
  200. package/data/build/dist/client/peer-host-workspace-tag.js +207 -0
  201. package/data/build/dist/client/peer-host-workspace-tag.js.map +1 -0
  202. package/data/build/dist/client/popup-dismiss.d.ts +48 -0
  203. package/data/build/dist/client/popup-dismiss.d.ts.map +1 -0
  204. package/data/build/dist/client/popup-dismiss.js +93 -0
  205. package/data/build/dist/client/popup-dismiss.js.map +1 -0
  206. package/data/build/dist/client/provider-icon-assets.d.ts.map +1 -0
  207. package/data/build/dist/client/provider-icon-assets.js.map +1 -0
  208. package/data/build/dist/client/provider-icons.d.ts +10 -1
  209. package/data/build/dist/client/provider-icons.d.ts.map +1 -0
  210. package/data/build/dist/client/provider-icons.js +19 -12
  211. package/data/build/dist/client/provider-icons.js.map +1 -0
  212. package/data/build/dist/client/pwa-install-prompt.d.ts +73 -0
  213. package/data/build/dist/client/pwa-install-prompt.d.ts.map +1 -0
  214. package/data/build/dist/client/pwa-install-prompt.js +178 -0
  215. package/data/build/dist/client/pwa-install-prompt.js.map +1 -0
  216. package/data/build/dist/client/pwa-notifications.d.ts +105 -0
  217. package/data/build/dist/client/pwa-notifications.d.ts.map +1 -0
  218. package/data/build/dist/client/pwa-notifications.js +192 -0
  219. package/data/build/dist/client/pwa-notifications.js.map +1 -0
  220. package/data/build/dist/client/quick-phrase-layout.d.ts.map +1 -0
  221. package/data/build/dist/client/quick-phrase-layout.js.map +1 -0
  222. package/data/build/dist/client/quick-phrase-slot.d.ts.map +1 -0
  223. package/data/build/dist/client/quick-phrase-slot.js.map +1 -0
  224. package/data/build/dist/client/remote-web-context.d.ts.map +1 -0
  225. package/data/build/dist/client/remote-web-context.js +26 -2
  226. package/data/build/dist/client/remote-web-context.js.map +1 -0
  227. package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -0
  228. package/data/build/dist/client/session-adapter-cache.js.map +1 -0
  229. package/data/build/dist/client/session-changed-files-view.d.ts.map +1 -0
  230. package/data/build/dist/client/session-changed-files-view.js.map +1 -0
  231. package/data/build/dist/client/settings-anchor.d.ts +67 -0
  232. package/data/build/dist/client/settings-anchor.d.ts.map +1 -0
  233. package/data/build/dist/client/settings-anchor.js +64 -0
  234. package/data/build/dist/client/settings-anchor.js.map +1 -0
  235. package/data/build/dist/client/settings-bridge.d.ts +20 -5
  236. package/data/build/dist/client/settings-bridge.d.ts.map +1 -0
  237. package/data/build/dist/client/settings-bridge.js +30 -7
  238. package/data/build/dist/client/settings-bridge.js.map +1 -0
  239. package/data/build/dist/client/settings-section.d.ts.map +1 -0
  240. package/data/build/dist/client/settings-section.js +16 -2
  241. package/data/build/dist/client/settings-section.js.map +1 -0
  242. package/data/build/dist/client/subscription-slot.d.ts +3 -1
  243. package/data/build/dist/client/subscription-slot.d.ts.map +1 -0
  244. package/data/build/dist/client/subscription-slot.js +33 -25
  245. package/data/build/dist/client/subscription-slot.js.map +1 -0
  246. package/data/build/dist/client/terminal/index.d.ts.map +1 -0
  247. package/data/build/dist/client/terminal/index.js.map +1 -0
  248. package/data/build/dist/client/terminal/model.d.ts.map +1 -0
  249. package/data/build/dist/client/terminal/model.js.map +1 -0
  250. package/data/build/dist/client/terminal/recovery.d.ts.map +1 -0
  251. package/data/build/dist/client/terminal/recovery.js.map +1 -0
  252. package/data/build/dist/client/terminal/styles.d.ts.map +1 -0
  253. package/data/build/dist/client/terminal/styles.js.map +1 -0
  254. package/data/build/dist/client/terminal/ui.d.ts.map +1 -0
  255. package/data/build/dist/client/terminal/ui.js +1 -1
  256. package/data/build/dist/client/terminal/ui.js.map +1 -0
  257. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -0
  258. package/data/build/dist/client/terminal/xterm-view.js +1 -1
  259. package/data/build/dist/client/terminal/xterm-view.js.map +1 -0
  260. package/data/build/dist/client/theme.d.ts +17 -5
  261. package/data/build/dist/client/theme.d.ts.map +1 -0
  262. package/data/build/dist/client/theme.js +35 -13
  263. package/data/build/dist/client/theme.js.map +1 -0
  264. package/data/build/dist/client/workspace-session-archive-dom.d.ts +14 -0
  265. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -0
  266. package/data/build/dist/client/workspace-session-archive-dom.js +70 -11
  267. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -0
  268. package/data/build/dist/client/workspace-session-fiber.d.ts.map +1 -0
  269. package/data/build/dist/client/workspace-session-fiber.js.map +1 -0
  270. package/data/build/dist/client/workspace-session-logo-dom.d.ts.map +1 -0
  271. package/data/build/dist/client/workspace-session-logo-dom.js.map +1 -0
  272. package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -0
  273. package/data/build/dist/client/workspace-session-rightbar-dom.js.map +1 -0
  274. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -0
  275. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -0
  276. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts +10 -0
  277. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.d.ts.map +1 -0
  278. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js +22 -0
  279. package/data/build/dist/dsh-capabilities/client/config-forms-adapter.js.map +1 -0
  280. package/data/build/dist/dsh-capabilities/client/conversation-adapter.d.ts.map +1 -0
  281. package/data/build/dist/dsh-capabilities/client/conversation-adapter.js.map +1 -0
  282. package/data/build/dist/dsh-capabilities/client/locale-adapter.d.ts.map +1 -0
  283. package/data/build/dist/dsh-capabilities/client/locale-adapter.js.map +1 -0
  284. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +5 -2
  285. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -0
  286. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +3 -2
  287. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -0
  288. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.d.ts +2 -2
  289. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.d.ts.map +1 -0
  290. package/data/build/dist/dsh-capabilities/client/settings-scope-adapter.js.map +1 -0
  291. package/data/build/dist/dsh-capabilities/client/sidebar-adapter.d.ts.map +1 -0
  292. package/data/build/dist/dsh-capabilities/client/sidebar-adapter.js.map +1 -0
  293. package/data/build/dist/dsh-capabilities/client/theme-adapter.d.ts.map +1 -0
  294. package/data/build/dist/dsh-capabilities/client/theme-adapter.js.map +1 -0
  295. package/data/build/dist/dsh-capabilities/client/typert-adapter.d.ts.map +1 -0
  296. package/data/build/dist/dsh-capabilities/client/typert-adapter.js.map +1 -0
  297. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.d.ts +22 -1
  298. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.d.ts.map +1 -0
  299. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.js +29 -3
  300. package/data/build/dist/dsh-capabilities/host/config-forms-adapter.js.map +1 -0
  301. package/data/build/dist/dsh-capabilities/host/connection-rpc-adapter.d.ts.map +1 -0
  302. package/data/build/dist/dsh-capabilities/host/connection-rpc-adapter.js.map +1 -0
  303. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.d.ts +2 -2
  304. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.d.ts.map +1 -0
  305. package/data/build/dist/dsh-capabilities/host/settings-scope-adapter.js.map +1 -0
  306. package/data/build/dist/dsh-capabilities/host/typert-adapter.d.ts.map +1 -0
  307. package/data/build/dist/dsh-capabilities/host/typert-adapter.js.map +1 -0
  308. package/data/build/dist/dsh-capabilities/index.d.ts.map +1 -0
  309. package/data/build/dist/dsh-capabilities/index.js.map +1 -0
  310. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -0
  311. package/data/build/dist/dsh-capabilities/matrix.js +44 -1
  312. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -0
  313. package/data/build/dist/dsh-capabilities/registry.d.ts.map +1 -0
  314. package/data/build/dist/dsh-capabilities/registry.js +6 -2
  315. package/data/build/dist/dsh-capabilities/registry.js.map +1 -0
  316. package/data/build/dist/dsh-capabilities/routes.d.ts +8 -1
  317. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -0
  318. package/data/build/dist/dsh-capabilities/routes.js +260 -7
  319. package/data/build/dist/dsh-capabilities/routes.js.map +1 -0
  320. package/data/build/dist/dsh-capabilities/settings-store.d.ts.map +1 -0
  321. package/data/build/dist/dsh-capabilities/settings-store.js.map +1 -0
  322. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  323. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -0
  324. package/data/build/dist/dsh-capabilities/types.js.map +1 -0
  325. package/data/build/dist/features/host-router.d.ts.map +1 -0
  326. package/data/build/dist/features/host-router.js.map +1 -0
  327. package/data/build/dist/features/index.d.ts.map +1 -0
  328. package/data/build/dist/features/index.js.map +1 -0
  329. package/data/build/dist/features/registry.d.ts +7 -0
  330. package/data/build/dist/features/registry.d.ts.map +1 -0
  331. package/data/build/dist/features/registry.js +20 -2
  332. package/data/build/dist/features/registry.js.map +1 -0
  333. package/data/build/dist/features/resource-scope/index.d.ts.map +1 -0
  334. package/data/build/dist/features/resource-scope/index.js.map +1 -0
  335. package/data/build/dist/host/auth-session.d.ts.map +1 -0
  336. package/data/build/dist/host/auth-session.js.map +1 -0
  337. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +14 -0
  338. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -0
  339. package/data/build/dist/host/cli-adapters/attachment-utils.js +78 -0
  340. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -0
  341. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -0
  342. package/data/build/dist/host/cli-adapters/claude-driver.js +5 -2
  343. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -0
  344. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -0
  345. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -0
  346. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -0
  347. package/data/build/dist/host/cli-adapters/codex-driver.js +248 -45
  348. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -0
  349. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +24 -2
  350. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -0
  351. package/data/build/dist/host/cli-adapters/command-code-driver.js +250 -30
  352. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -0
  353. package/data/build/dist/host/cli-adapters/command-code-subscription.d.ts.map +1 -0
  354. package/data/build/dist/host/cli-adapters/command-code-subscription.js.map +1 -0
  355. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -0
  356. package/data/build/dist/host/cli-adapters/driver.js.map +1 -0
  357. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -0
  358. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -0
  359. package/data/build/dist/host/cli-adapters/dsh-tool-history.d.ts.map +1 -0
  360. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +49 -1
  361. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -0
  362. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -0
  363. package/data/build/dist/host/cli-adapters/feature.js +176 -7
  364. package/data/build/dist/host/cli-adapters/feature.js.map +1 -0
  365. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -0
  366. package/data/build/dist/host/cli-adapters/gemini-driver.js +6 -3
  367. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -0
  368. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -0
  369. package/data/build/dist/host/cli-adapters/grok-driver.js +3 -2
  370. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -0
  371. package/data/build/dist/host/cli-adapters/http-sse-client.d.ts.map +1 -0
  372. package/data/build/dist/host/cli-adapters/http-sse-client.js.map +1 -0
  373. package/data/build/dist/host/cli-adapters/interaction-events.d.ts.map +1 -0
  374. package/data/build/dist/host/cli-adapters/interaction-events.js.map +1 -0
  375. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -0
  376. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -0
  377. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -0
  378. package/data/build/dist/host/cli-adapters/kimi-driver.js +8 -3
  379. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -0
  380. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -0
  381. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -0
  382. package/data/build/dist/host/cli-adapters/legacy-session-settings.d.ts.map +1 -0
  383. package/data/build/dist/host/cli-adapters/legacy-session-settings.js.map +1 -0
  384. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -0
  385. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -0
  386. package/data/build/dist/host/cli-adapters/native-team-proxy.d.ts +36 -0
  387. package/data/build/dist/host/cli-adapters/native-team-proxy.d.ts.map +1 -0
  388. package/data/build/dist/host/cli-adapters/native-team-proxy.js +108 -0
  389. package/data/build/dist/host/cli-adapters/native-team-proxy.js.map +1 -0
  390. package/data/build/dist/host/cli-adapters/official-provider-subscription.d.ts.map +1 -0
  391. package/data/build/dist/host/cli-adapters/official-provider-subscription.js.map +1 -0
  392. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -0
  393. package/data/build/dist/host/cli-adapters/opencode-driver.js +7 -1
  394. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -0
  395. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -0
  396. package/data/build/dist/host/cli-adapters/pi-driver.js +7 -2
  397. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -0
  398. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -0
  399. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -0
  400. package/data/build/dist/host/cli-adapters/provider-registry.d.ts.map +1 -0
  401. package/data/build/dist/host/cli-adapters/provider-registry.js.map +1 -0
  402. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts +35 -0
  403. package/data/build/dist/host/cli-adapters/provider-subscription.d.ts.map +1 -0
  404. package/data/build/dist/host/cli-adapters/provider-subscription.js +405 -5
  405. package/data/build/dist/host/cli-adapters/provider-subscription.js.map +1 -0
  406. package/data/build/dist/host/cli-adapters/registry.d.ts +9 -3
  407. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -0
  408. package/data/build/dist/host/cli-adapters/registry.js +30 -0
  409. package/data/build/dist/host/cli-adapters/registry.js.map +1 -0
  410. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -0
  411. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -0
  412. package/data/build/dist/host/cli-adapters/session-probe.d.ts.map +1 -0
  413. package/data/build/dist/host/cli-adapters/session-probe.js.map +1 -0
  414. package/data/build/dist/host/cli-adapters/session-store.d.ts +8 -2
  415. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -0
  416. package/data/build/dist/host/cli-adapters/session-store.js +19 -0
  417. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -0
  418. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -0
  419. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -0
  420. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -0
  421. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -0
  422. package/data/build/dist/host/cli-adapters/tool-observation.d.ts.map +1 -0
  423. package/data/build/dist/host/cli-adapters/tool-observation.js.map +1 -0
  424. package/data/build/dist/host/control-api-client.d.ts.map +1 -0
  425. package/data/build/dist/host/control-api-client.js.map +1 -0
  426. package/data/build/dist/host/credential-store.d.ts.map +1 -0
  427. package/data/build/dist/host/credential-store.js.map +1 -0
  428. package/data/build/dist/host/debug.d.ts.map +1 -0
  429. package/data/build/dist/host/debug.js.map +1 -0
  430. package/data/build/dist/host/dsh-device-runtime.d.ts.map +1 -0
  431. package/data/build/dist/host/dsh-device-runtime.js.map +1 -0
  432. package/data/build/dist/host/dsh-gateway-feature.d.ts.map +1 -0
  433. package/data/build/dist/host/dsh-gateway-feature.js.map +1 -0
  434. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -0
  435. package/data/build/dist/host/dsh-runtime-version.js.map +1 -0
  436. package/data/build/dist/host/features/auth.d.ts.map +1 -0
  437. package/data/build/dist/host/features/auth.js.map +1 -0
  438. package/data/build/dist/host/features/debug.d.ts.map +1 -0
  439. package/data/build/dist/host/features/debug.js.map +1 -0
  440. package/data/build/dist/host/features/file-management.d.ts.map +1 -0
  441. package/data/build/dist/host/features/file-management.js.map +1 -0
  442. package/data/build/dist/host/features/git-management.d.ts.map +1 -0
  443. package/data/build/dist/host/features/git-management.js +133 -23
  444. package/data/build/dist/host/features/git-management.js.map +1 -0
  445. package/data/build/dist/host/features/host-status.d.ts.map +1 -0
  446. package/data/build/dist/host/features/host-status.js.map +1 -0
  447. package/data/build/dist/host/features/index.d.ts.map +1 -0
  448. package/data/build/dist/host/features/index.js.map +1 -0
  449. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -0
  450. package/data/build/dist/host/features/lan-access-dsh.js +30 -1
  451. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -0
  452. package/data/build/dist/host/features/peer-host.d.ts.map +1 -0
  453. package/data/build/dist/host/features/peer-host.js +340 -20
  454. package/data/build/dist/host/features/peer-host.js.map +1 -0
  455. package/data/build/dist/host/features/terminal-process.d.ts.map +1 -0
  456. package/data/build/dist/host/features/terminal-process.js.map +1 -0
  457. package/data/build/dist/host/features/terminal-status.d.ts.map +1 -0
  458. package/data/build/dist/host/features/terminal-status.js.map +1 -0
  459. package/data/build/dist/host/features/types.d.ts +9 -3
  460. package/data/build/dist/host/features/types.d.ts.map +1 -0
  461. package/data/build/dist/host/features/types.js.map +1 -0
  462. package/data/build/dist/host/host-router.d.ts.map +1 -0
  463. package/data/build/dist/host/host-router.js.map +1 -0
  464. package/data/build/dist/host/index-injection.d.ts +27 -5
  465. package/data/build/dist/host/index-injection.d.ts.map +1 -0
  466. package/data/build/dist/host/index-injection.js +77 -11
  467. package/data/build/dist/host/index-injection.js.map +1 -0
  468. package/data/build/dist/host/index.d.ts +8 -2
  469. package/data/build/dist/host/index.d.ts.map +1 -0
  470. package/data/build/dist/host/index.js +54 -7
  471. package/data/build/dist/host/index.js.map +1 -0
  472. package/data/build/dist/host/lan-access-dsh.d.ts +88 -3
  473. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -0
  474. package/data/build/dist/host/lan-access-dsh.js +349 -14
  475. package/data/build/dist/host/lan-access-dsh.js.map +1 -0
  476. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.d.ts +146 -0
  477. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.d.ts.map +1 -0
  478. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js +322 -0
  479. package/data/build/dist/host/modules/peer-host/aggregated-host-transport.js.map +1 -0
  480. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.d.ts +8 -0
  481. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.d.ts.map +1 -0
  482. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.js +120 -0
  483. package/data/build/dist/host/modules/peer-host/dsh-native-summary-source.js.map +1 -0
  484. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +22 -0
  485. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -0
  486. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +24 -3
  487. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -0
  488. package/data/build/dist/host/modules/peer-host/host-ws-connector.d.ts.map +1 -0
  489. package/data/build/dist/host/modules/peer-host/host-ws-connector.js.map +1 -0
  490. package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.d.ts.map +1 -0
  491. package/data/build/dist/host/modules/peer-host/host-ws-proxy-service.js.map +1 -0
  492. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts +9 -0
  493. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.d.ts.map +1 -0
  494. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js +26 -12
  495. package/data/build/dist/host/modules/peer-host/peer-host-aggregate-service.js.map +1 -0
  496. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.d.ts.map +1 -0
  497. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js +3 -0
  498. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js.map +1 -0
  499. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts +2 -0
  500. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts.map +1 -0
  501. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js +6 -0
  502. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js.map +1 -0
  503. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts +17 -0
  504. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -0
  505. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +52 -0
  506. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -0
  507. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts +25 -0
  508. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.d.ts.map +1 -0
  509. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js +184 -0
  510. package/data/build/dist/host/modules/peer-host/peer-host-native-protocol.js.map +1 -0
  511. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts +22 -0
  512. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.d.ts.map +1 -0
  513. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js +111 -0
  514. package/data/build/dist/host/modules/peer-host/peer-host-native-transport.js.map +1 -0
  515. package/data/build/dist/host/modules/peer-host/peer-host-relay.d.ts.map +1 -0
  516. package/data/build/dist/host/modules/peer-host/peer-host-relay.js.map +1 -0
  517. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts +53 -0
  518. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.d.ts.map +1 -0
  519. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js +153 -0
  520. package/data/build/dist/host/modules/peer-host/peer-host-remote-summary-source.js.map +1 -0
  521. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +20 -1
  522. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts.map +1 -0
  523. package/data/build/dist/host/modules/peer-host/peer-host-session.js +118 -37
  524. package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -0
  525. package/data/build/dist/host/modules/peer-host/peer-host-store.d.ts +21 -0
  526. package/data/build/dist/host/modules/peer-host/peer-host-store.d.ts.map +1 -0
  527. package/data/build/dist/host/modules/peer-host/peer-host-store.js +65 -3
  528. package/data/build/dist/host/modules/peer-host/peer-host-store.js.map +1 -0
  529. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts +49 -0
  530. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.d.ts.map +1 -0
  531. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js +174 -0
  532. package/data/build/dist/host/modules/peer-host/peer-host-virtual-registry.js.map +1 -0
  533. package/data/build/dist/host/modules/peer-host/peer-host-ws-gateway.d.ts.map +1 -0
  534. package/data/build/dist/host/modules/peer-host/peer-host-ws-gateway.js.map +1 -0
  535. package/data/build/dist/host/modules/pwa/index.d.ts +7 -0
  536. package/data/build/dist/host/modules/pwa/index.d.ts.map +1 -0
  537. package/data/build/dist/host/modules/pwa/index.js +7 -0
  538. package/data/build/dist/host/modules/pwa/index.js.map +1 -0
  539. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts +48 -0
  540. package/data/build/dist/host/modules/pwa/pwa-assets.d.ts.map +1 -0
  541. package/data/build/dist/host/modules/pwa/pwa-assets.js +180 -0
  542. package/data/build/dist/host/modules/pwa/pwa-assets.js.map +1 -0
  543. package/data/build/dist/host/modules/pwa/pwa-client-script.d.ts +10 -0
  544. package/data/build/dist/host/modules/pwa/pwa-client-script.d.ts.map +1 -0
  545. package/data/build/dist/host/modules/pwa/pwa-client-script.js +38 -0
  546. package/data/build/dist/host/modules/pwa/pwa-client-script.js.map +1 -0
  547. package/data/build/dist/host/modules/pwa/pwa-icons.d.ts +10 -0
  548. package/data/build/dist/host/modules/pwa/pwa-icons.d.ts.map +1 -0
  549. package/data/build/dist/host/modules/pwa/pwa-icons.js +185 -0
  550. package/data/build/dist/host/modules/pwa/pwa-icons.js.map +1 -0
  551. package/data/build/dist/host/modules/pwa/pwa-push.d.ts +74 -0
  552. package/data/build/dist/host/modules/pwa/pwa-push.d.ts.map +1 -0
  553. package/data/build/dist/host/modules/pwa/pwa-push.js +288 -0
  554. package/data/build/dist/host/modules/pwa/pwa-push.js.map +1 -0
  555. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts +14 -0
  556. package/data/build/dist/host/modules/pwa/pwa-session-notifications.d.ts.map +1 -0
  557. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js +80 -0
  558. package/data/build/dist/host/modules/pwa/pwa-session-notifications.js.map +1 -0
  559. package/data/build/dist/host/modules/pwa/pwa-viewport.d.ts +12 -0
  560. package/data/build/dist/host/modules/pwa/pwa-viewport.d.ts.map +1 -0
  561. package/data/build/dist/host/modules/pwa/pwa-viewport.js +47 -0
  562. package/data/build/dist/host/modules/pwa/pwa-viewport.js.map +1 -0
  563. package/data/build/dist/host/native-session-bridge.d.ts +4 -0
  564. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -0
  565. package/data/build/dist/host/native-session-bridge.js +67 -12
  566. package/data/build/dist/host/native-session-bridge.js.map +1 -0
  567. package/data/build/dist/host/relay-tunnel-runtime.d.ts +33 -0
  568. package/data/build/dist/host/relay-tunnel-runtime.d.ts.map +1 -0
  569. package/data/build/dist/host/relay-tunnel-runtime.js +81 -20
  570. package/data/build/dist/host/relay-tunnel-runtime.js.map +1 -0
  571. package/data/build/dist/host/remote-web-runtime.d.ts.map +1 -0
  572. package/data/build/dist/host/remote-web-runtime.js +40 -17
  573. package/data/build/dist/host/remote-web-runtime.js.map +1 -0
  574. package/data/build/dist/host/rpc-table.d.ts.map +1 -0
  575. package/data/build/dist/host/rpc-table.js.map +1 -0
  576. package/data/build/dist/host/rpc.d.ts +24 -5
  577. package/data/build/dist/host/rpc.d.ts.map +1 -0
  578. package/data/build/dist/host/rpc.js +54 -13
  579. package/data/build/dist/host/rpc.js.map +1 -0
  580. package/data/build/dist/host/session-changes.d.ts.map +1 -0
  581. package/data/build/dist/host/session-changes.js.map +1 -0
  582. package/data/build/dist/host/session-migration-repair.d.ts.map +1 -0
  583. package/data/build/dist/host/session-migration-repair.js +14 -0
  584. package/data/build/dist/host/session-migration-repair.js.map +1 -0
  585. package/data/build/dist/host/settings.d.ts +2 -2
  586. package/data/build/dist/host/settings.d.ts.map +1 -0
  587. package/data/build/dist/host/settings.js +40 -1
  588. package/data/build/dist/host/settings.js.map +1 -0
  589. package/data/build/dist/host/terminal/attachment-registry.d.ts.map +1 -0
  590. package/data/build/dist/host/terminal/attachment-registry.js.map +1 -0
  591. package/data/build/dist/host/terminal/backends/conpty-backend.d.ts.map +1 -0
  592. package/data/build/dist/host/terminal/backends/conpty-backend.js.map +1 -0
  593. package/data/build/dist/host/terminal/backends/local-pty-backend.d.ts.map +1 -0
  594. package/data/build/dist/host/terminal/backends/local-pty-backend.js.map +1 -0
  595. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -0
  596. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -0
  597. package/data/build/dist/host/terminal/broker/conpty-broker-client.d.ts.map +1 -0
  598. package/data/build/dist/host/terminal/broker/conpty-broker-client.js.map +1 -0
  599. package/data/build/dist/host/terminal/broker/conpty-broker-process.d.ts.map +1 -0
  600. package/data/build/dist/host/terminal/broker/conpty-broker-process.js.map +1 -0
  601. package/data/build/dist/host/terminal/broker/conpty-broker-protocol.d.ts.map +1 -0
  602. package/data/build/dist/host/terminal/broker/conpty-broker-protocol.js.map +1 -0
  603. package/data/build/dist/host/terminal/controller-factory.d.ts.map +1 -0
  604. package/data/build/dist/host/terminal/controller-factory.js.map +1 -0
  605. package/data/build/dist/host/terminal/index.d.ts.map +1 -0
  606. package/data/build/dist/host/terminal/index.js.map +1 -0
  607. package/data/build/dist/host/terminal/runtime-adapter.d.ts.map +1 -0
  608. package/data/build/dist/host/terminal/runtime-adapter.js.map +1 -0
  609. package/data/build/dist/host/terminal/runtime-manager.d.ts.map +1 -0
  610. package/data/build/dist/host/terminal/runtime-manager.js.map +1 -0
  611. package/data/build/dist/host/terminal/shell-detection.d.ts.map +1 -0
  612. package/data/build/dist/host/terminal/shell-detection.js.map +1 -0
  613. package/data/build/dist/host/terminal/startup.d.ts +2 -2
  614. package/data/build/dist/host/terminal/startup.d.ts.map +1 -0
  615. package/data/build/dist/host/terminal/startup.js.map +1 -0
  616. package/data/build/dist/host/terminal/terminal-controller.d.ts.map +1 -0
  617. package/data/build/dist/host/terminal/terminal-controller.js.map +1 -0
  618. package/data/build/dist/host/terminal/terminal-process-service.d.ts.map +1 -0
  619. package/data/build/dist/host/terminal/terminal-process-service.js.map +1 -0
  620. package/data/build/dist/host/terminal/terminal-process-store.d.ts.map +1 -0
  621. package/data/build/dist/host/terminal/terminal-process-store.js.map +1 -0
  622. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -0
  623. package/data/build/dist/host/terminal/terminal-service.js.map +1 -0
  624. package/data/build/dist/host/terminal/terminal-store.d.ts.map +1 -0
  625. package/data/build/dist/host/terminal/terminal-store.js.map +1 -0
  626. package/data/build/dist/index.d.ts +2 -2
  627. package/data/build/dist/index.d.ts.map +1 -0
  628. package/data/build/dist/index.js +2 -2
  629. package/data/build/dist/index.js.map +1 -0
  630. package/data/build/dist/shared/contracts/auth.d.ts.map +1 -0
  631. package/data/build/dist/shared/contracts/auth.js.map +1 -0
  632. package/data/build/dist/shared/contracts/cli-adapter.d.ts +52 -1
  633. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -0
  634. package/data/build/dist/shared/contracts/cli-adapter.js.map +1 -0
  635. package/data/build/dist/shared/contracts/command-code.d.ts.map +1 -0
  636. package/data/build/dist/shared/contracts/command-code.js.map +1 -0
  637. package/data/build/dist/shared/contracts/config.d.ts +100 -0
  638. package/data/build/dist/shared/contracts/config.d.ts.map +1 -0
  639. package/data/build/dist/shared/contracts/config.js +101 -0
  640. package/data/build/dist/shared/contracts/config.js.map +1 -0
  641. package/data/build/dist/shared/contracts/debug-config.d.ts.map +1 -0
  642. package/data/build/dist/shared/contracts/debug-config.js.map +1 -0
  643. package/data/build/dist/shared/contracts/debug.d.ts.map +1 -0
  644. package/data/build/dist/shared/contracts/debug.js.map +1 -0
  645. package/data/build/dist/shared/contracts/dsh-device.d.ts.map +1 -0
  646. package/data/build/dist/shared/contracts/dsh-device.js.map +1 -0
  647. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  648. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -0
  649. package/data/build/dist/shared/contracts/errors.js.map +1 -0
  650. package/data/build/dist/shared/contracts/feature.d.ts.map +1 -0
  651. package/data/build/dist/shared/contracts/feature.js.map +1 -0
  652. package/data/build/dist/shared/contracts/file-management.d.ts.map +1 -0
  653. package/data/build/dist/shared/contracts/file-management.js.map +1 -0
  654. package/data/build/dist/shared/contracts/git.d.ts +15 -1
  655. package/data/build/dist/shared/contracts/git.d.ts.map +1 -0
  656. package/data/build/dist/shared/contracts/git.js.map +1 -0
  657. package/data/build/dist/shared/contracts/host-status.d.ts.map +1 -0
  658. package/data/build/dist/shared/contracts/host-status.js.map +1 -0
  659. package/data/build/dist/shared/contracts/lan-access-dsh.d.ts +23 -0
  660. package/data/build/dist/shared/contracts/lan-access-dsh.d.ts.map +1 -0
  661. package/data/build/dist/shared/contracts/lan-access-dsh.js.map +1 -0
  662. package/data/build/dist/shared/contracts/peer-host.d.ts +158 -1
  663. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -0
  664. package/data/build/dist/shared/contracts/peer-host.js +73 -0
  665. package/data/build/dist/shared/contracts/peer-host.js.map +1 -0
  666. package/data/build/dist/shared/contracts/signaling.d.ts.map +1 -0
  667. package/data/build/dist/shared/contracts/signaling.js.map +1 -0
  668. package/data/build/dist/shared/contracts/subscription.d.ts +7 -0
  669. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -0
  670. package/data/build/dist/shared/contracts/subscription.js +14 -1
  671. package/data/build/dist/shared/contracts/subscription.js.map +1 -0
  672. package/data/build/dist/shared/contracts/terminal-process.d.ts.map +1 -0
  673. package/data/build/dist/shared/contracts/terminal-process.js.map +1 -0
  674. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -0
  675. package/data/build/dist/shared/contracts/terminal.js.map +1 -0
  676. package/data/build/dist/shared/contracts/transport.d.ts.map +1 -0
  677. package/data/build/dist/shared/contracts/transport.js.map +1 -0
  678. package/data/build/dist/shared/contracts/version.d.ts +14 -6
  679. package/data/build/dist/shared/contracts/version.d.ts.map +1 -0
  680. package/data/build/dist/shared/contracts/version.js +23 -8
  681. package/data/build/dist/shared/contracts/version.js.map +1 -0
  682. package/data/build/dist/shared/debug.d.ts.map +1 -0
  683. package/data/build/dist/shared/debug.js.map +1 -0
  684. package/data/build/dist/shared/index.d.ts +6 -5
  685. package/data/build/dist/shared/index.d.ts.map +1 -0
  686. package/data/build/dist/shared/index.js +4 -3
  687. package/data/build/dist/shared/index.js.map +1 -0
  688. package/data/build/dist/transport/carrier.d.ts +11 -1
  689. package/data/build/dist/transport/carrier.d.ts.map +1 -0
  690. package/data/build/dist/transport/carrier.js +77 -26
  691. package/data/build/dist/transport/carrier.js.map +1 -0
  692. package/data/build/dist/transport/debug.d.ts +5 -0
  693. package/data/build/dist/transport/debug.d.ts.map +1 -0
  694. package/data/build/dist/transport/debug.js +19 -2
  695. package/data/build/dist/transport/debug.js.map +1 -0
  696. package/data/build/dist/transport/dsh-envelope.d.ts.map +1 -0
  697. package/data/build/dist/transport/dsh-envelope.js.map +1 -0
  698. package/data/build/dist/transport/dsh-gateway.d.ts.map +1 -0
  699. package/data/build/dist/transport/dsh-gateway.js.map +1 -0
  700. package/data/build/dist/transport/dsh-session.d.ts +18 -1
  701. package/data/build/dist/transport/dsh-session.d.ts.map +1 -0
  702. package/data/build/dist/transport/dsh-session.js +48 -13
  703. package/data/build/dist/transport/dsh-session.js.map +1 -0
  704. package/data/build/dist/transport/dsh-transport.d.ts.map +1 -0
  705. package/data/build/dist/transport/dsh-transport.js.map +1 -0
  706. package/data/build/dist/transport/frame.d.ts.map +1 -0
  707. package/data/build/dist/transport/frame.js.map +1 -0
  708. package/data/build/dist/transport/index.d.ts +2 -2
  709. package/data/build/dist/transport/index.d.ts.map +1 -0
  710. package/data/build/dist/transport/index.js +2 -2
  711. package/data/build/dist/transport/index.js.map +1 -0
  712. package/data/build/dist/transport/multiplexer.d.ts.map +1 -0
  713. package/data/build/dist/transport/multiplexer.js.map +1 -0
  714. package/data/build/dist/transport/webrtc-client.d.ts +8 -0
  715. package/data/build/dist/transport/webrtc-client.d.ts.map +1 -0
  716. package/data/build/dist/transport/webrtc-client.js +135 -9
  717. package/data/build/dist/transport/webrtc-client.js.map +1 -0
  718. package/data/build/dist/transport/webrtc-host.d.ts.map +1 -0
  719. package/data/build/dist/transport/webrtc-host.js +5 -1
  720. package/data/build/dist/transport/webrtc-host.js.map +1 -0
  721. package/data/build/dist/typert.host.d.ts.map +1 -0
  722. package/data/build/dist/typert.host.js.map +1 -0
  723. package/data/build/dist/typert.remote-client.d.ts.map +1 -0
  724. package/data/build/dist/typert.remote-client.js.map +1 -0
  725. package/package.json +39 -20
  726. package/profile/README.md +18 -5
  727. package/profile/package.json +4 -3
  728. package/profile/scripts/check-dsh-install.mjs +100 -9
  729. package/profile/version.json +3 -3
  730. package/scripts/check-dsh-install.mjs +98 -17
  731. package/version.json +3 -3
  732. package/data/build/dist/client/host-navigation.d.ts +0 -29
  733. package/data/build/dist/client/host-navigation.js +0 -29
  734. package/data/build/dist/client/peer-host-native-session-ui.d.ts +0 -60
  735. package/data/build/dist/client/peer-host-native-session-ui.js +0 -372
@@ -0,0 +1,80 @@
1
+ /**
2
+ * 将 DSH 原生会话事件投影为 PWA 推送载荷。
3
+ *
4
+ * 原生事件在不同 DSH/Provider 版本中可能使用 type、method 或嵌套 data.type,
5
+ * 因此这里只读取稳定字符串字段并按语义分类;无法识别的事件安静忽略。
6
+ */
7
+ export function createPwaSessionNotification(input) {
8
+ const sessionId = readSessionId(input.session);
9
+ if (sessionId === null)
10
+ return null;
11
+ const eventType = readEventType(input.event);
12
+ if (eventType === null)
13
+ return null;
14
+ const normalized = normalizeEventType(eventType);
15
+ const url = `/?sessionId=${encodeURIComponent(sessionId)}`;
16
+ if (normalized === 'turn_end' || normalized.endsWith('_turn_end')) {
17
+ return {
18
+ title: 'DSH 会话已完成',
19
+ body: `会话 ${sessionId} 已完成当前轮次。`,
20
+ tag: `codingns4dsh-turn-${sessionId}`,
21
+ url,
22
+ };
23
+ }
24
+ if (isWaitingEvent(normalized)) {
25
+ return {
26
+ title: 'DSH 等待你的输入',
27
+ body: `会话 ${sessionId} 正在等待确认或回答。`,
28
+ tag: `codingns4dsh-input-${sessionId}`,
29
+ url,
30
+ };
31
+ }
32
+ return null;
33
+ }
34
+ function readSessionId(value) {
35
+ const record = asRecord(value);
36
+ const id = record?.id ?? record?.sessionId ?? record?.session_id;
37
+ return typeof id === 'string' && id.trim() !== '' ? id.trim() : null;
38
+ }
39
+ function readEventType(value) {
40
+ const record = asRecord(value);
41
+ let fallback = null;
42
+ for (const candidate of [record?.type, record?.method, record?.name, record?.kind]) {
43
+ if (typeof candidate !== 'string' || candidate.trim() === '')
44
+ continue;
45
+ if (fallback === null)
46
+ fallback = candidate;
47
+ if (!isGenericEventType(candidate))
48
+ return candidate;
49
+ }
50
+ for (const key of ['data', 'event', 'payload', 'params']) {
51
+ const nested = readEventType(record?.[key]);
52
+ if (nested !== null)
53
+ return nested;
54
+ }
55
+ return fallback;
56
+ }
57
+ function isGenericEventType(value) {
58
+ const normalized = normalizeEventType(value);
59
+ return normalized === 'event' || normalized === 'session_event' || normalized === 'notification';
60
+ }
61
+ function normalizeEventType(value) {
62
+ return value
63
+ .replace(/([a-z0-9])([A-Z])/gu, '$1_$2')
64
+ .toLowerCase()
65
+ .replace(/[./-]+/gu, '_');
66
+ }
67
+ function isWaitingEvent(value) {
68
+ return value.includes('question')
69
+ || value.includes('request_user_input')
70
+ || value.includes('request_input')
71
+ || value.includes('ask_user')
72
+ || value.includes('permission')
73
+ || value.includes('approval');
74
+ }
75
+ function asRecord(value) {
76
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
77
+ ? value
78
+ : null;
79
+ }
80
+ //# sourceMappingURL=pwa-session-notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pwa-session-notifications.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-session-notifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 启动页 viewport 改写。
3
+ *
4
+ * 上游 `<meta name="viewport" content="width=device-width, initial-scale=1">` 缺少
5
+ * `viewport-fit=cover`,iOS 独立窗口下会留下安全区黑边。这里只做“就地追加”:不新增
6
+ * 第二个 viewport meta(多标签行为依浏览器而异),已经包含 `viewport-fit` 时保持原样。
7
+ */
8
+ /** 幂等地把 `viewport-fit=cover` 合并进已有 viewport meta;失败时原样返回。 */
9
+ export declare function applyViewportFitTap(html: string): string;
10
+ /** 供诊断与测试确认改写是否产生效果。 */
11
+ export declare function hasViewportFit(html: string): boolean;
12
+ //# sourceMappingURL=pwa-viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pwa-viewport.d.ts","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-viewport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBxD;AAED,wBAAwB;AACxB,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpD"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * 启动页 viewport 改写。
3
+ *
4
+ * 上游 `<meta name="viewport" content="width=device-width, initial-scale=1">` 缺少
5
+ * `viewport-fit=cover`,iOS 独立窗口下会留下安全区黑边。这里只做“就地追加”:不新增
6
+ * 第二个 viewport meta(多标签行为依浏览器而异),已经包含 `viewport-fit` 时保持原样。
7
+ */
8
+ const META_TAG_PATTERN = /<meta\b[^>]*>/giu;
9
+ const NAME_VIEWPORT_PATTERN = /name\s*=\s*["']?viewport["']?/iu;
10
+ const CONTENT_PATTERN = /content\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/iu;
11
+ const VIEWPORT_FIT_PATTERN = /viewport-fit\s*=/iu;
12
+ /** 幂等地把 `viewport-fit=cover` 合并进已有 viewport meta;失败时原样返回。 */
13
+ export function applyViewportFitTap(html) {
14
+ if (typeof html !== 'string' || html === '')
15
+ return html;
16
+ try {
17
+ return html.replace(META_TAG_PATTERN, (tag) => {
18
+ if (!NAME_VIEWPORT_PATTERN.test(tag))
19
+ return tag;
20
+ const match = CONTENT_PATTERN.exec(tag);
21
+ if (match === null)
22
+ return tag;
23
+ const quote = match[1] !== undefined ? '"' : match[2] !== undefined ? "'" : '';
24
+ const value = match[1] ?? match[2] ?? match[3] ?? '';
25
+ if (VIEWPORT_FIT_PATTERN.test(value))
26
+ return tag;
27
+ const separator = value.trim().endsWith(',') ? ' ' : ', ';
28
+ const next = `${value.trim()}${separator}viewport-fit=cover`;
29
+ return tag.replace(CONTENT_PATTERN, `content=${quote}${next}${quote}`);
30
+ });
31
+ }
32
+ catch {
33
+ return html;
34
+ }
35
+ }
36
+ /** 供诊断与测试确认改写是否产生效果。 */
37
+ export function hasViewportFit(html) {
38
+ for (const tag of html.match(META_TAG_PATTERN) ?? []) {
39
+ if (!NAME_VIEWPORT_PATTERN.test(tag))
40
+ continue;
41
+ const content = CONTENT_PATTERN.exec(tag);
42
+ if (content !== null && VIEWPORT_FIT_PATTERN.test(content[1] ?? content[2] ?? content[3] ?? ''))
43
+ return true;
44
+ }
45
+ return false;
46
+ }
47
+ //# sourceMappingURL=pwa-viewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pwa-viewport.js","sourceRoot":"","sources":["../../../../../../src/host/modules/pwa/pwa-viewport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAC3C,MAAM,qBAAqB,GAAG,iCAAiC,CAAA;AAC/D,MAAM,eAAe,GAAG,mDAAmD,CAAA;AAC3E,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAEjD,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACxD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAA;YAChD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAA;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACpD,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAA;YAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;YACzD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,oBAAoB,CAAA;YAC5D,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,KAAK,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC9C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,OAAO,KAAK,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAA;IAC9G,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -12,6 +12,8 @@ export interface CodingNsNativeSessionStore {
12
12
  list(): readonly unknown[];
13
13
  flush?(session: unknown): Promise<boolean> | Promise<void> | boolean | void;
14
14
  }
15
+ /** 插件可安全写入的 DSH Session generation;未来 generation 必须先有专用 adapter。 */
16
+ export type CodingNsNativeSessionFormat = 3 | 4 | 'unknown' | 'unsupported';
15
17
  /** 公共 CLI 投影层写入 DSH 的工具调用,不包含任何 Provider 私有字段。 */
16
18
  export interface CodingNsNativeToolCall {
17
19
  readonly callId: string;
@@ -123,6 +125,8 @@ export interface CodingNsNativeSessionBridge {
123
125
  readonly workspaceController?: CodingNsNativeWorkspaceController;
124
126
  /** 获取已经进入 DSH 原生 SessionStore 的会话。 */
125
127
  get(sessionId: string): unknown | undefined;
128
+ /** 读取 Session header generation,用于阻止未来格式被旧投影器误写。 */
129
+ formatVersion?(sessionId: string): CodingNsNativeSessionFormat;
126
130
  /** 获取当前 Host 已装载的原生会话;失败时返回空数组。 */
127
131
  list(): readonly unknown[];
128
132
  /** 调用 DSH 原生 session/list;无 Controller 时回退到本地 SessionStore。 */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-session-bridge.d.ts","sourceRoot":"","sources":["../../../../src/host/native-session-bridge.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,24 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
23
23
  // 下一步的工具写进旧 step;step/start 到达后由工具投影器重试。
24
24
  const pendingStepTransitions = new Set();
25
25
  let injectedStepSequence = 0;
26
- const modernInjectedSource = isModernDshVersion(dshVersion);
26
+ const modernProducerSource = isModernDshVersion(dshVersion);
27
+ // 当前会话的 generation 比运行时版本号更直接:v4 只接受生产者自持的
28
+ // source.kind,旧的 plugin 包装会被准入拒绝;v3 仍由 dsh-compaction 的
29
+ // plugin 判定识别。会话头缺少版本时(精简 Host 或旧夹具)才退回版本号推断。
30
+ const usesProducerOwnedSource = (session) => {
31
+ const format = sessionFormat(session);
32
+ if (format === 4)
33
+ return true;
34
+ if (format === 3)
35
+ return false;
36
+ return modernProducerSource;
37
+ };
27
38
  const appendNativeToolCall = (sessionId, call) => {
28
39
  if (on !== undefined && pendingStepTransitions.has(sessionId))
29
40
  return null;
30
41
  const session = appendableSession(store?.get(sessionId));
42
+ if (sessionFormat(session) === 'unsupported')
43
+ return null;
31
44
  const position = session === null ? null : activeStep(session);
32
45
  if (session === null || position === null)
33
46
  return null;
@@ -66,7 +79,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
66
79
  };
67
80
  const appendNativeToolResult = (handle, result) => {
68
81
  const session = appendableSession(store?.get(handle.sessionId));
69
- if (session === null)
82
+ if (session === null || sessionFormat(session) === 'unsupported')
70
83
  return false;
71
84
  const error = result.error?.trim();
72
85
  session.append('tool/result', {
@@ -92,7 +105,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
92
105
  };
93
106
  const appendNativeRequestContext = (sessionId, context) => {
94
107
  const session = appendableSession(store?.get(sessionId));
95
- if (session === null || context.provider.trim() === '' || context.model.trim() === '')
108
+ if (session === null || sessionFormat(session) === 'unsupported' || context.provider.trim() === '' || context.model.trim() === '')
96
109
  return false;
97
110
  try {
98
111
  // request/context 是 token-meter 的容量来源。相同路由重复追加会让
@@ -174,7 +187,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
174
187
  const appendNativeUsageSample = (sessionId, usage) => {
175
188
  const session = appendableSession(store?.get(sessionId));
176
189
  const position = session === null ? null : activeStep(session);
177
- if (session === null || position === null)
190
+ if (session === null || sessionFormat(session) === 'unsupported' || position === null)
178
191
  return false;
179
192
  try {
180
193
  const previousContext = latestRequestContext(session);
@@ -209,12 +222,21 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
209
222
  };
210
223
  const appendNativeCompactionEvent = (sessionId, event) => {
211
224
  const session = appendableSession(store?.get(sessionId));
212
- if (session === null)
225
+ if (session === null || sessionFormat(session) === 'unsupported')
213
226
  return false;
214
227
  try {
215
228
  if (event.phase === 'start') {
216
- if (compactionStates.has(sessionId))
217
- return true;
229
+ const existing = compactionStates.get(sessionId);
230
+ if (existing !== undefined) {
231
+ const position = activeStep(session);
232
+ // 同一 turn 内重复的 start 属于同一次压缩的迟到通知,保持幂等。
233
+ if (existing.turn === (position?.turn ?? null))
234
+ return true;
235
+ // 旧事务属于已经关闭的 turn:DSH 只允许在 owner turn 打开期间写
236
+ // compaction/end,历史日志无法在这里补救。丢弃它的状态,让当前压缩
237
+ // 建立新事务,避免后续 summary/end 继续挂到错误的 turn 上。
238
+ compactionStates.delete(sessionId);
239
+ }
218
240
  const compactionId = event.compactionId?.trim() || `codingns-compaction-${randomUUID()}`;
219
241
  const position = activeStep(session);
220
242
  session.append('compaction/start', {
@@ -245,13 +267,13 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
245
267
  model: event.model?.trim() || 'external-agent',
246
268
  });
247
269
  // DSH 前端的 compaction 节点由紧随 summary 的 checkpoint 替换事件生成。
248
- // DSH 0.1.7 起会话格式只接受生产者自持的 source.kind,旧的 plugin 包装
249
- // 会让整轮持久化失败;0.1.6 及更早仍由 dsh-compaction 的 plugin 标记识别。
270
+ // v4 的检查点必须携带同一次 compaction/start 的 compactionId,v3 继续
271
+ // 使用该版本 dsh-compaction 识别的 plugin 标记。
250
272
  session.append('user/message', {
251
273
  id: `codingns-compaction-${state.compactionId}`,
252
274
  role: 'user',
253
275
  content: [{ type: 'text', text: summary }],
254
- source: modernInjectedSource
276
+ source: usesProducerOwnedSource(session)
255
277
  ? { kind: 'compact-checkpoint', compactionId: state.compactionId }
256
278
  : { kind: 'plugin', plugin: 'compact' },
257
279
  }, {
@@ -260,7 +282,11 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
260
282
  });
261
283
  state.summaryAppended = true;
262
284
  }
263
- return true;
285
+ // summary 相位到此结束;end 相位还必须继续写 compaction/end 关闭事务,
286
+ // 否则携带摘要的 end 会让日志残留未闭合 compaction,历史加载时报
287
+ // "turn/end crosses an open compaction"。
288
+ if (event.phase === 'summary')
289
+ return true;
264
290
  }
265
291
  if (event.phase === 'end') {
266
292
  session.append('compaction/end', {
@@ -290,7 +316,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
290
316
  id: `codingns-external-step-${injectedStepSequence}-${randomUUID()}`,
291
317
  role: 'user',
292
318
  content: [{ type: 'text', text: boundedSummary }],
293
- source: modernInjectedSource
319
+ source: usesProducerOwnedSource(appendableSession(store?.get(sessionId)))
294
320
  ? { kind: 'model-selection', form: 'notice', summary: boundedSummary }
295
321
  : { kind: 'plugin', plugin: 'codingns4dsh', form: 'notice', summary: boundedSummary },
296
322
  });
@@ -316,6 +342,9 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
316
342
  get(sessionId) {
317
343
  return store?.get(sessionId);
318
344
  },
345
+ formatVersion(sessionId) {
346
+ return sessionFormat(appendableSession(store?.get(sessionId)));
347
+ },
319
348
  list() {
320
349
  try {
321
350
  return store?.list() ?? [];
@@ -491,6 +520,32 @@ function appendableSession(value) {
491
520
  return null;
492
521
  return value;
493
522
  }
523
+ /**
524
+ * Session V4 的 header 可能直接暴露 version,也可能包在 data 中;旧测试夹具
525
+ * 没有 header 时返回 unknown,继续保持 0.1.x 的兼容行为。对未来 generation
526
+ * 直接停止插件写入,避免把 V4 envelope 当作未知事件追加后破坏 projection。
527
+ */
528
+ function sessionFormat(session) {
529
+ if (session === null)
530
+ return 'unknown';
531
+ let events;
532
+ try {
533
+ events = session.snapshotEvents();
534
+ }
535
+ catch {
536
+ return 'unknown';
537
+ }
538
+ const header = events[0];
539
+ if (!isRecord(header))
540
+ return 'unknown';
541
+ const data = isRecord(header.data) ? header.data : undefined;
542
+ const version = finiteInteger(header.version) ?? (data === undefined ? null : finiteInteger(data.version));
543
+ if (version === null)
544
+ return 'unknown';
545
+ if (version === 3 || version === 4)
546
+ return version;
547
+ return version > 4 ? 'unsupported' : 'unknown';
548
+ }
494
549
  function isNativeStepStart(value) {
495
550
  return isRecord(value) && value.type === 'step/start';
496
551
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-session-bridge.js","sourceRoot":"","sources":["../../../../src/host/native-session-bridge.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,39 @@ export interface HostRelayRuntime {
80
80
  * `resources` 若提供,所有 WebSocket、PeerConnection、心跳和换票计时器都会登记。
81
81
  */
82
82
  export declare function startHostRelayRuntime(options: HostRelayRuntimeOptions): Promise<HostRelayRuntime>;
83
+ /** werift PeerConnection 中适配层需要用到的最小结构,便于用替身测试提前 connect 的门控。 */
84
+ export interface WeriftPeerConnectionLike {
85
+ readonly connectionState: string;
86
+ readonly iceConnectionState: string;
87
+ onicecandidate: unknown;
88
+ ondatachannel: unknown;
89
+ createAnswer(): Promise<{
90
+ sdp: string;
91
+ }>;
92
+ setRemoteDescription(description: unknown): Promise<void>;
93
+ setLocalDescription(description: unknown): Promise<void>;
94
+ addIceCandidate(candidate: unknown): Promise<void>;
95
+ addEventListener(type: string, listener: unknown): void;
96
+ removeEventListener(type: string, listener: unknown): void;
97
+ close(): void;
98
+ /** werift 声明为 private,因此这里是可选字段。 */
99
+ connect?(): Promise<void>;
100
+ }
101
+ /**
102
+ * 把 werift PeerConnection 适配到 Host 注入接口,并在此处实现「提前 connect」。
103
+ *
104
+ * werift 的 setLocalDescription(answer) 内部会先 await gatherCandidates() 再调用
105
+ * connect()。STUN/TURN 不可达时 gatherCandidates 要等满 5s 超时,ICE 检查因此被
106
+ * 推迟 5s,DataChannel 才迟迟不 open(实测 dead STUN 下 5.1s,正常网络 0.3s)。
107
+ *
108
+ * 这里在「首个本地候选出现」时提前调用 connect(),把 ICE 检查与剩余的候选收集
109
+ * 并行起来,实测可把 open 时间压到 ~0.18s。两个约束必须同时满足:
110
+ * 1. 必须有本地候选:零候选时调用 connect() 会让 ICE 进入 failed(实测必然失败)。
111
+ * 2. 必须已有 remote description:iceTransport.start() 在缺 remoteParams 时直接抛错。
112
+ * 提前调用是安全的:werift 收集结束后自己再调 connect() 时,ICE/DTLS 已 connected,
113
+ * 会命中 connect() 内部的 checkDtlsConnected 早退分支,不会重复握手。
114
+ */
115
+ export declare function adaptWeriftPeerConnection(peer: WeriftPeerConnectionLike): HostPeerConnectionLike;
83
116
  /** 为 Host answerer 创建 werift PeerConnection,并适配到 transport 的注入接口。 */
84
117
  export declare function createWeriftPeerConnectionFactory(identity?: HostDtlsIdentityMaterial): NonNullable<HostRelayRuntimeOptions['peerConnectionFactory']>;
85
118
  export interface HostSignalingSocket {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-tunnel-runtime.d.ts","sourceRoot":"","sources":["../../../../src/host/relay-tunnel-runtime.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { RTCCertificate, RTCDtlsTransport, RTCPeerConnection } from 'werift';
11
11
  import { acceptWebRtcHost, createHostSignalingTicketRequest, } from '../transport/webrtc-host.js';
12
12
  import { DshGateway } from '../transport/dsh-gateway.js';
13
13
  import { createDshTransportDebugLogger } from '../transport/debug.js';
14
+ import { DATA_CHANNEL_MAX_MESSAGE_BYTES } from '../transport/carrier.js';
14
15
  /** Relay Tunnel 规定的 DataChannel label,不允许使用插件自定义值。 */
15
16
  export const CODINGNS_TUNNEL_DATA_CHANNEL_LABEL = 'codingns-tunnel';
16
17
  /** 文件存储适用于 Host 桌面进程;先写临时文件再 rename,避免半截证书。 */
@@ -223,30 +224,90 @@ function isSignalingOpen(socket) {
223
224
  return true;
224
225
  return socket.readyState === 1;
225
226
  }
227
+ /**
228
+ * 把 werift PeerConnection 适配到 Host 注入接口,并在此处实现「提前 connect」。
229
+ *
230
+ * werift 的 setLocalDescription(answer) 内部会先 await gatherCandidates() 再调用
231
+ * connect()。STUN/TURN 不可达时 gatherCandidates 要等满 5s 超时,ICE 检查因此被
232
+ * 推迟 5s,DataChannel 才迟迟不 open(实测 dead STUN 下 5.1s,正常网络 0.3s)。
233
+ *
234
+ * 这里在「首个本地候选出现」时提前调用 connect(),把 ICE 检查与剩余的候选收集
235
+ * 并行起来,实测可把 open 时间压到 ~0.18s。两个约束必须同时满足:
236
+ * 1. 必须有本地候选:零候选时调用 connect() 会让 ICE 进入 failed(实测必然失败)。
237
+ * 2. 必须已有 remote description:iceTransport.start() 在缺 remoteParams 时直接抛错。
238
+ * 提前调用是安全的:werift 收集结束后自己再调 connect() 时,ICE/DTLS 已 connected,
239
+ * 会命中 connect() 内部的 checkDtlsConnected 早退分支,不会重复握手。
240
+ */
241
+ export function adaptWeriftPeerConnection(peer) {
242
+ let originalOnIceCandidate = null;
243
+ let remoteDescriptionSet = false;
244
+ let earlyConnectStarted = false;
245
+ let peerClosed = false;
246
+ const earlyConnect = async () => {
247
+ if (earlyConnectStarted || peerClosed || !remoteDescriptionSet)
248
+ return;
249
+ // werift 把 connect() 声明为 private;这是唯一能绕开 5s 收集等待的入口
250
+ // (公开的二次 setLocalDescription 会被 signaling state 拒绝)。
251
+ const connect = peer.connect?.bind(peer);
252
+ if (typeof connect !== 'function')
253
+ return;
254
+ earlyConnectStarted = true;
255
+ try {
256
+ await connect();
257
+ }
258
+ catch {
259
+ // 失败不影响主流程:werift 收集结束后的 connect() 仍会重试。
260
+ earlyConnectStarted = false;
261
+ }
262
+ };
263
+ return {
264
+ get connectionState() { return peer.connectionState; },
265
+ get iceConnectionState() { return peer.iceConnectionState; },
266
+ get onicecandidate() { return originalOnIceCandidate; },
267
+ set onicecandidate(value) {
268
+ originalOnIceCandidate = value;
269
+ if (!value) {
270
+ peer.onicecandidate = null;
271
+ return;
272
+ }
273
+ peer.onicecandidate = ((event) => {
274
+ value(event);
275
+ // 首个本地候选出现即触发;零候选时绝不调用 connect()。
276
+ if (event?.candidate)
277
+ void earlyConnect();
278
+ });
279
+ },
280
+ get ondatachannel() { return peer.ondatachannel; },
281
+ set ondatachannel(value) { peer.ondatachannel = value; },
282
+ addEventListener: (type, listener) => { peer.addEventListener(type, listener); },
283
+ removeEventListener: (type, listener) => { peer.removeEventListener(type, listener); },
284
+ createAnswer: async () => {
285
+ const answer = await peer.createAnswer();
286
+ return { type: 'answer', sdp: answer.sdp };
287
+ },
288
+ setRemoteDescription: async (description) => {
289
+ await peer.setRemoteDescription(description);
290
+ remoteDescriptionSet = true;
291
+ },
292
+ setLocalDescription: (description) => peer.setLocalDescription(description).then(() => undefined),
293
+ addIceCandidate: (candidate) => peer.addIceCandidate(candidate),
294
+ close: () => { peerClosed = true; peer.close(); },
295
+ };
296
+ }
226
297
  /** 为 Host answerer 创建 werift PeerConnection,并适配到 transport 的注入接口。 */
227
298
  export function createWeriftPeerConnectionFactory(identity) {
228
299
  return ({ iceServers, iceTransportPolicy }) => {
229
300
  const certificate = identity ? new RTCCertificate(identity.privateKeyPem, identity.certPem, identity.signatureHash) : undefined;
230
- const peer = new RTCPeerConnection({ iceServers, iceTransportPolicy, ...(certificate ? { certificates: [certificate] } : {}) });
231
- const adapted = {
232
- get connectionState() { return peer.connectionState; },
233
- get iceConnectionState() { return peer.iceConnectionState; },
234
- get onicecandidate() { return peer.onicecandidate; },
235
- set onicecandidate(value) { peer.onicecandidate = value; },
236
- get ondatachannel() { return peer.ondatachannel; },
237
- set ondatachannel(value) { peer.ondatachannel = value; },
238
- addEventListener: (type, listener) => { peer.addEventListener(type, listener); },
239
- removeEventListener: (type, listener) => { peer.removeEventListener(type, listener); },
240
- createAnswer: async () => {
241
- const answer = await peer.createAnswer();
242
- return { type: 'answer', sdp: answer.sdp };
243
- },
244
- setRemoteDescription: (description) => peer.setRemoteDescription(description),
245
- setLocalDescription: (description) => peer.setLocalDescription(description).then(() => undefined),
246
- addIceCandidate: (candidate) => peer.addIceCandidate(candidate),
247
- close: () => { void peer.close(); },
248
- };
249
- return adapted;
301
+ // 浏览器按对端 SDP 宣告的 max-message-size 限制 RTCDataChannel.send()。werift 默认
302
+ // 只宣告 64 KiB,而 Carrier 的整分片是 64 KiB 正文加 20 字节头,浏览器一旦发送
303
+ // 超过 64 KiB 的消息就会抛错,中继下的原生设置与附件因此失败。
304
+ const peer = new RTCPeerConnection({
305
+ iceServers,
306
+ iceTransportPolicy,
307
+ maxMessageSize: DATA_CHANNEL_MAX_MESSAGE_BYTES,
308
+ ...(certificate ? { certificates: [certificate] } : {}),
309
+ });
310
+ return adaptWeriftPeerConnection(peer);
250
311
  };
251
312
  }
252
313
  /** 建立 Host 信令并等待服务端 registered;registered 后每 20 秒发 ping。 */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-tunnel-runtime.js","sourceRoot":"","sources":["../../../../src/host/relay-tunnel-runtime.ts"],"names":[],"mappings":"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"}