@jingyi0605/codingns4dsh 0.2.1-beta.4 → 0.2.1-beta.6

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 (459) hide show
  1. package/README.en.md +134 -159
  2. package/README.md +128 -261
  3. package/assets/provider-icons/doubao.png +0 -0
  4. package/data/build/dist/client/account-bar.d.ts +1 -1
  5. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  6. package/data/build/dist/client/account-bar.js +22 -14
  7. package/data/build/dist/client/account-bar.js.map +1 -1
  8. package/data/build/dist/client/adapter-catalog-watch.d.ts +8 -0
  9. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -0
  10. package/data/build/dist/client/adapter-catalog-watch.js +79 -0
  11. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -0
  12. package/data/build/dist/client/avatar/catalog-panel.d.ts +1 -1
  13. package/data/build/dist/client/avatar/catalog-panel.d.ts.map +1 -1
  14. package/data/build/dist/client/avatar/catalog-panel.js +13 -11
  15. package/data/build/dist/client/avatar/catalog-panel.js.map +1 -1
  16. package/data/build/dist/client/avatar/engine.d.ts.map +1 -1
  17. package/data/build/dist/client/avatar/engine.js +26 -7
  18. package/data/build/dist/client/avatar/engine.js.map +1 -1
  19. package/data/build/dist/client/avatar/live2d.d.ts +2 -0
  20. package/data/build/dist/client/avatar/live2d.d.ts.map +1 -1
  21. package/data/build/dist/client/avatar/live2d.js +16 -6
  22. package/data/build/dist/client/avatar/live2d.js.map +1 -1
  23. package/data/build/dist/client/avatar/manager.d.ts.map +1 -1
  24. package/data/build/dist/client/avatar/manager.js +8 -2
  25. package/data/build/dist/client/avatar/manager.js.map +1 -1
  26. package/data/build/dist/client/avatar/slot.d.ts.map +1 -1
  27. package/data/build/dist/client/avatar/slot.js +4 -1
  28. package/data/build/dist/client/avatar/slot.js.map +1 -1
  29. package/data/build/dist/client/bundle.js +48459 -98385
  30. package/data/build/dist/client/bundle.js.map +1 -1
  31. package/data/build/dist/client/cli-catalog.d.ts +5 -0
  32. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  33. package/data/build/dist/client/cli-catalog.js +15 -0
  34. package/data/build/dist/client/cli-catalog.js.map +1 -1
  35. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  36. package/data/build/dist/client/cli-slots.js +7 -45
  37. package/data/build/dist/client/cli-slots.js.map +1 -1
  38. package/data/build/dist/client/client.assistant-configuration-view.js +4526 -0
  39. package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -0
  40. package/data/build/dist/client/client.assistant-debug-workbench.js +764 -0
  41. package/data/build/dist/client/client.assistant-debug-workbench.js.map +1 -0
  42. package/data/build/dist/client/client.assistant-prompt-editor.js +76 -0
  43. package/data/build/dist/client/client.assistant-prompt-editor.js.map +1 -0
  44. package/data/build/dist/client/client.assistant-prompts.js +44 -0
  45. package/data/build/dist/client/client.assistant-prompts.js.map +1 -0
  46. package/data/build/dist/client/client.assistant-voice-sessions.js +144 -0
  47. package/data/build/dist/client/client.assistant-voice-sessions.js.map +1 -0
  48. package/data/build/dist/client/client.assistant-workbench.js +2929 -0
  49. package/data/build/dist/client/client.assistant-workbench.js.map +1 -0
  50. package/data/build/dist/client/client.delegate-command.js +1315 -0
  51. package/data/build/dist/client/client.delegate-command.js.map +1 -0
  52. package/data/build/dist/client/client.editor-engine.js +32486 -0
  53. package/data/build/dist/client/client.editor-engine.js.map +1 -0
  54. package/data/build/dist/client/client.manager.js +3454 -0
  55. package/data/build/dist/client/client.manager.js.map +1 -0
  56. package/data/build/dist/client/client.model-catalog-cache.js +543 -0
  57. package/data/build/dist/client/client.model-catalog-cache.js.map +1 -0
  58. package/data/build/dist/client/client.native-workspace-store.js +689 -0
  59. package/data/build/dist/client/client.native-workspace-store.js.map +1 -0
  60. package/data/build/dist/client/client.primitives-adapter.js +333 -0
  61. package/data/build/dist/client/client.primitives-adapter.js.map +1 -0
  62. package/data/build/dist/client/client.react-dom.js +7286 -0
  63. package/data/build/dist/client/client.react-dom.js.map +1 -0
  64. package/data/build/dist/client/client.rolldown-runtime.js +59 -0
  65. package/data/build/dist/client/client.theme.js +386 -0
  66. package/data/build/dist/client/client.theme.js.map +1 -0
  67. package/data/build/dist/client/client.transport.js +3323 -0
  68. package/data/build/dist/client/client.transport.js.map +1 -0
  69. package/data/build/dist/client/client.xterm-engine.js +13064 -0
  70. package/data/build/dist/client/client.xterm-engine.js.map +1 -0
  71. package/data/build/dist/client/debug/ui.d.ts.map +1 -1
  72. package/data/build/dist/client/debug/ui.js +14 -5
  73. package/data/build/dist/client/debug/ui.js.map +1 -1
  74. package/data/build/dist/client/desktop-assistant.js +19 -5
  75. package/data/build/dist/client/editor-engine.d.ts +4 -0
  76. package/data/build/dist/client/editor-engine.d.ts.map +1 -0
  77. package/data/build/dist/client/editor-engine.js +50 -0
  78. package/data/build/dist/client/editor-engine.js.map +1 -0
  79. package/data/build/dist/client/engine-loader.d.ts +5 -0
  80. package/data/build/dist/client/engine-loader.d.ts.map +1 -0
  81. package/data/build/dist/client/engine-loader.js +35 -0
  82. package/data/build/dist/client/engine-loader.js.map +1 -0
  83. package/data/build/dist/client/features/assistant-configuration-loader.d.ts +14 -0
  84. package/data/build/dist/client/features/assistant-configuration-loader.d.ts.map +1 -0
  85. package/data/build/dist/client/features/assistant-configuration-loader.js +13 -0
  86. package/data/build/dist/client/features/assistant-configuration-loader.js.map +1 -0
  87. package/data/build/dist/client/features/assistant-configuration-session.d.ts.map +1 -1
  88. package/data/build/dist/client/features/assistant-configuration-session.js +13 -4
  89. package/data/build/dist/client/features/assistant-configuration-session.js.map +1 -1
  90. package/data/build/dist/client/features/assistant-configuration-view.d.ts +66 -0
  91. package/data/build/dist/client/features/assistant-configuration-view.d.ts.map +1 -0
  92. package/data/build/dist/client/features/assistant-configuration-view.js +133 -0
  93. package/data/build/dist/client/features/assistant-configuration-view.js.map +1 -0
  94. package/data/build/dist/client/features/assistant-debug-workbench.d.ts +4 -11
  95. package/data/build/dist/client/features/assistant-debug-workbench.d.ts.map +1 -1
  96. package/data/build/dist/client/features/assistant-debug-workbench.js +41 -68
  97. package/data/build/dist/client/features/assistant-debug-workbench.js.map +1 -1
  98. package/data/build/dist/client/features/assistant-display-store.d.ts +57 -0
  99. package/data/build/dist/client/features/assistant-display-store.d.ts.map +1 -0
  100. package/data/build/dist/client/features/assistant-display-store.js +189 -0
  101. package/data/build/dist/client/features/assistant-display-store.js.map +1 -0
  102. package/data/build/dist/client/features/assistant-prompt-editor.d.ts +12 -0
  103. package/data/build/dist/client/features/assistant-prompt-editor.d.ts.map +1 -0
  104. package/data/build/dist/client/features/assistant-prompt-editor.js +14 -0
  105. package/data/build/dist/client/features/assistant-prompt-editor.js.map +1 -0
  106. package/data/build/dist/client/features/assistant-view-loader.d.ts +17 -0
  107. package/data/build/dist/client/features/assistant-view-loader.d.ts.map +1 -0
  108. package/data/build/dist/client/features/assistant-view-loader.js +49 -0
  109. package/data/build/dist/client/features/assistant-view-loader.js.map +1 -0
  110. package/data/build/dist/client/features/assistant-workbench.d.ts +1 -60
  111. package/data/build/dist/client/features/assistant-workbench.d.ts.map +1 -1
  112. package/data/build/dist/client/features/assistant-workbench.js +41 -169
  113. package/data/build/dist/client/features/assistant-workbench.js.map +1 -1
  114. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  115. package/data/build/dist/client/features/cli-adapters.js +44 -13
  116. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  117. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
  118. package/data/build/dist/client/features/global-voice-assistant.js +33 -27
  119. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
  120. package/data/build/dist/client/features/peer-host.d.ts +2 -1
  121. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  122. package/data/build/dist/client/features/peer-host.js +124 -58
  123. package/data/build/dist/client/features/peer-host.js.map +1 -1
  124. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  125. package/data/build/dist/client/features/workspace-session-enhancement.js +37 -10
  126. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  127. package/data/build/dist/client/file-management-dom.d.ts +3 -1
  128. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  129. package/data/build/dist/client/file-management-dom.js +85 -79
  130. package/data/build/dist/client/file-management-dom.js.map +1 -1
  131. package/data/build/dist/client/git-management.d.ts +1 -1
  132. package/data/build/dist/client/git-management.d.ts.map +1 -1
  133. package/data/build/dist/client/git-management.js +46 -27
  134. package/data/build/dist/client/git-management.js.map +1 -1
  135. package/data/build/dist/client/locale.d.ts.map +1 -1
  136. package/data/build/dist/client/locale.js +10 -0
  137. package/data/build/dist/client/locale.js.map +1 -1
  138. package/data/build/dist/client/locales/assistantAvatar.d.ts +1 -1
  139. package/data/build/dist/client/locales/assistantAvatar.js +2 -2
  140. package/data/build/dist/client/locales/assistantAvatar.js.map +1 -1
  141. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  142. package/data/build/dist/client/locales/fileWorkspace.js +2 -0
  143. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  144. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
  145. package/data/build/dist/client/locales/peerHost.js +4 -0
  146. package/data/build/dist/client/locales/peerHost.js.map +1 -1
  147. package/data/build/dist/client/locales/peerHostWorkspace.js +2 -2
  148. package/data/build/dist/client/locales/peerHostWorkspace.js.map +1 -1
  149. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  150. package/data/build/dist/client/locales/usage.js +4 -0
  151. package/data/build/dist/client/locales/usage.js.map +1 -1
  152. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  153. package/data/build/dist/client/model-catalog-cache.js +9 -2
  154. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  155. package/data/build/dist/client/peer-host-management-api.d.ts +2 -2
  156. package/data/build/dist/client/peer-host-management-api.d.ts.map +1 -1
  157. package/data/build/dist/client/peer-host-management-api.js +8 -5
  158. package/data/build/dist/client/peer-host-management-api.js.map +1 -1
  159. package/data/build/dist/client/provider-icon-assets.js +5 -39
  160. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  161. package/data/build/dist/client/provider-icon-bridge.d.ts +6 -0
  162. package/data/build/dist/client/provider-icon-bridge.d.ts.map +1 -0
  163. package/data/build/dist/client/provider-icon-bridge.js +65 -0
  164. package/data/build/dist/client/provider-icon-bridge.js.map +1 -0
  165. package/data/build/dist/client/provider-icons.d.ts +1 -0
  166. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  167. package/data/build/dist/client/provider-icons.js +2 -1
  168. package/data/build/dist/client/provider-icons.js.map +1 -1
  169. package/data/build/dist/client/remote-web-context.d.ts +2 -0
  170. package/data/build/dist/client/remote-web-context.d.ts.map +1 -1
  171. package/data/build/dist/client/remote-web-context.js +50 -2
  172. package/data/build/dist/client/remote-web-context.js.map +1 -1
  173. package/data/build/dist/client/rpc-call.d.ts +4 -0
  174. package/data/build/dist/client/rpc-call.d.ts.map +1 -0
  175. package/data/build/dist/client/rpc-call.js +23 -0
  176. package/data/build/dist/client/rpc-call.js.map +1 -0
  177. package/data/build/dist/client/serial-polling.d.ts +15 -0
  178. package/data/build/dist/client/serial-polling.d.ts.map +1 -0
  179. package/data/build/dist/client/serial-polling.js +48 -0
  180. package/data/build/dist/client/serial-polling.js.map +1 -0
  181. package/data/build/dist/client/session-adapter-cache.d.ts.map +1 -1
  182. package/data/build/dist/client/session-adapter-cache.js +11 -1
  183. package/data/build/dist/client/session-adapter-cache.js.map +1 -1
  184. package/data/build/dist/client/settings-section.js +8 -2
  185. package/data/build/dist/client/settings-section.js.map +1 -1
  186. package/data/build/dist/client/sherpa-voice-adapter.d.ts.map +1 -1
  187. package/data/build/dist/client/sherpa-voice-adapter.js +8 -8
  188. package/data/build/dist/client/sherpa-voice-adapter.js.map +1 -1
  189. package/data/build/dist/client/subscription-slot.d.ts +11 -0
  190. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  191. package/data/build/dist/client/subscription-slot.js +42 -15
  192. package/data/build/dist/client/subscription-slot.js.map +1 -1
  193. package/data/build/dist/client/terminal/xterm-engine.d.ts +4 -0
  194. package/data/build/dist/client/terminal/xterm-engine.d.ts.map +1 -0
  195. package/data/build/dist/client/terminal/xterm-engine.js +5 -0
  196. package/data/build/dist/client/terminal/xterm-engine.js.map +1 -0
  197. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  198. package/data/build/dist/client/terminal/xterm-view.js +33 -25
  199. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  200. package/data/build/dist/host/avatar/temporary-previews.d.ts +3 -1
  201. package/data/build/dist/host/avatar/temporary-previews.d.ts.map +1 -1
  202. package/data/build/dist/host/avatar/temporary-previews.js +7 -2
  203. package/data/build/dist/host/avatar/temporary-previews.js.map +1 -1
  204. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts +1 -1
  205. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  206. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +3 -10
  207. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  208. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  209. package/data/build/dist/host/cli-adapters/antigravity-driver.js +2 -2
  210. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  211. package/data/build/dist/host/cli-adapters/antigravity-subscription.d.ts.map +1 -1
  212. package/data/build/dist/host/cli-adapters/antigravity-subscription.js +10 -10
  213. package/data/build/dist/host/cli-adapters/antigravity-subscription.js.map +1 -1
  214. package/data/build/dist/host/cli-adapters/binary-detection.d.ts +19 -0
  215. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -0
  216. package/data/build/dist/host/cli-adapters/binary-detection.js +71 -0
  217. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -0
  218. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +2 -0
  219. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  220. package/data/build/dist/host/cli-adapters/claude-driver.js +11 -5
  221. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  222. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  223. package/data/build/dist/host/cli-adapters/claude-model-options.js +2 -1
  224. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  225. package/data/build/dist/host/cli-adapters/claude-process.d.ts +7 -0
  226. package/data/build/dist/host/cli-adapters/claude-process.d.ts.map +1 -0
  227. package/data/build/dist/host/cli-adapters/claude-process.js +59 -0
  228. package/data/build/dist/host/cli-adapters/claude-process.js.map +1 -0
  229. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +3 -0
  230. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  231. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +26 -12
  232. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  233. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +0 -1
  234. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  235. package/data/build/dist/host/cli-adapters/command-code-driver.js +10 -32
  236. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  237. package/data/build/dist/host/cli-adapters/cursor-driver.d.ts.map +1 -1
  238. package/data/build/dist/host/cli-adapters/cursor-driver.js +4 -3
  239. package/data/build/dist/host/cli-adapters/cursor-driver.js.map +1 -1
  240. package/data/build/dist/host/cli-adapters/delegate-dispatch.js +1 -1
  241. package/data/build/dist/host/cli-adapters/delegate-dispatch.js.map +1 -1
  242. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts +2 -0
  243. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.d.ts.map +1 -1
  244. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js +5 -0
  245. package/data/build/dist/host/cli-adapters/delegation-mention-rewrite.js.map +1 -1
  246. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
  247. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +2 -4
  248. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
  249. package/data/build/dist/host/cli-adapters/doubao-app.d.ts +27 -0
  250. package/data/build/dist/host/cli-adapters/doubao-app.d.ts.map +1 -0
  251. package/data/build/dist/host/cli-adapters/doubao-app.js +110 -0
  252. package/data/build/dist/host/cli-adapters/doubao-app.js.map +1 -0
  253. package/data/build/dist/host/cli-adapters/doubao-artifact-store.d.ts +16 -0
  254. package/data/build/dist/host/cli-adapters/doubao-artifact-store.d.ts.map +1 -0
  255. package/data/build/dist/host/cli-adapters/doubao-artifact-store.js +142 -0
  256. package/data/build/dist/host/cli-adapters/doubao-artifact-store.js.map +1 -0
  257. package/data/build/dist/host/cli-adapters/doubao-artifacts.d.ts +16 -0
  258. package/data/build/dist/host/cli-adapters/doubao-artifacts.d.ts.map +1 -0
  259. package/data/build/dist/host/cli-adapters/doubao-artifacts.js +34 -0
  260. package/data/build/dist/host/cli-adapters/doubao-artifacts.js.map +1 -0
  261. package/data/build/dist/host/cli-adapters/doubao-cdp.d.ts +49 -0
  262. package/data/build/dist/host/cli-adapters/doubao-cdp.d.ts.map +1 -0
  263. package/data/build/dist/host/cli-adapters/doubao-cdp.js +177 -0
  264. package/data/build/dist/host/cli-adapters/doubao-cdp.js.map +1 -0
  265. package/data/build/dist/host/cli-adapters/doubao-driver.d.ts +33 -0
  266. package/data/build/dist/host/cli-adapters/doubao-driver.d.ts.map +1 -0
  267. package/data/build/dist/host/cli-adapters/doubao-driver.js +291 -0
  268. package/data/build/dist/host/cli-adapters/doubao-driver.js.map +1 -0
  269. package/data/build/dist/host/cli-adapters/doubao-events.d.ts +21 -0
  270. package/data/build/dist/host/cli-adapters/doubao-events.d.ts.map +1 -0
  271. package/data/build/dist/host/cli-adapters/doubao-events.js +126 -0
  272. package/data/build/dist/host/cli-adapters/doubao-events.js.map +1 -0
  273. package/data/build/dist/host/cli-adapters/doubao-runtime.d.ts +6 -0
  274. package/data/build/dist/host/cli-adapters/doubao-runtime.d.ts.map +1 -0
  275. package/data/build/dist/host/cli-adapters/doubao-runtime.js +176 -0
  276. package/data/build/dist/host/cli-adapters/doubao-runtime.js.map +1 -0
  277. package/data/build/dist/host/cli-adapters/doubao-tools.d.ts +8 -0
  278. package/data/build/dist/host/cli-adapters/doubao-tools.d.ts.map +1 -0
  279. package/data/build/dist/host/cli-adapters/doubao-tools.js +139 -0
  280. package/data/build/dist/host/cli-adapters/doubao-tools.js.map +1 -0
  281. package/data/build/dist/host/cli-adapters/driver.d.ts +4 -3
  282. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  283. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  284. package/data/build/dist/host/cli-adapters/feature.js +30 -36
  285. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  286. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  287. package/data/build/dist/host/cli-adapters/grok-driver.js +2 -1
  288. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  289. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  290. package/data/build/dist/host/cli-adapters/json-rpc-process.js +3 -1
  291. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  292. package/data/build/dist/host/cli-adapters/kimi-driver.d.ts.map +1 -1
  293. package/data/build/dist/host/cli-adapters/kimi-driver.js +4 -3
  294. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  295. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts +2 -0
  296. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  297. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +11 -0
  298. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  299. package/data/build/dist/host/cli-adapters/log-files.d.ts +3 -0
  300. package/data/build/dist/host/cli-adapters/log-files.d.ts.map +1 -0
  301. package/data/build/dist/host/cli-adapters/log-files.js +32 -0
  302. package/data/build/dist/host/cli-adapters/log-files.js.map +1 -0
  303. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +2 -0
  304. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  305. package/data/build/dist/host/cli-adapters/model-catalog.js +10 -0
  306. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  307. package/data/build/dist/host/cli-adapters/native-team-subagent.js +1 -1
  308. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  309. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +11 -0
  310. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  311. package/data/build/dist/host/cli-adapters/opencode-driver.js +132 -49
  312. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  313. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts +29 -0
  314. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.d.ts.map +1 -0
  315. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +471 -0
  316. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -0
  317. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  318. package/data/build/dist/host/cli-adapters/pi-driver.js +2 -1
  319. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  320. package/data/build/dist/host/cli-adapters/process-utils.d.ts +12 -4
  321. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  322. package/data/build/dist/host/cli-adapters/process-utils.js +151 -17
  323. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  324. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  325. package/data/build/dist/host/cli-adapters/qoder-driver.js +63 -100
  326. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  327. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts +6 -1
  328. package/data/build/dist/host/cli-adapters/qoder-subscription.d.ts.map +1 -1
  329. package/data/build/dist/host/cli-adapters/qoder-subscription.js +37 -10
  330. package/data/build/dist/host/cli-adapters/qoder-subscription.js.map +1 -1
  331. package/data/build/dist/host/cli-adapters/registry.d.ts +13 -21
  332. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  333. package/data/build/dist/host/cli-adapters/registry.js +102 -131
  334. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  335. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +2 -10
  336. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  337. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +1 -28
  338. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  339. package/data/build/dist/host/cli-adapters/session-store.d.ts +5 -1
  340. package/data/build/dist/host/cli-adapters/session-store.d.ts.map +1 -1
  341. package/data/build/dist/host/cli-adapters/session-store.js +68 -11
  342. package/data/build/dist/host/cli-adapters/session-store.js.map +1 -1
  343. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -3
  344. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  345. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +14 -38
  346. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  347. package/data/build/dist/host/cli-adapters/windows-command-environment.d.ts +12 -0
  348. package/data/build/dist/host/cli-adapters/windows-command-environment.d.ts.map +1 -0
  349. package/data/build/dist/host/cli-adapters/windows-command-environment.js +53 -0
  350. package/data/build/dist/host/cli-adapters/windows-command-environment.js.map +1 -0
  351. package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
  352. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  353. package/data/build/dist/host/debug.d.ts.map +1 -1
  354. package/data/build/dist/host/debug.js +5 -4
  355. package/data/build/dist/host/debug.js.map +1 -1
  356. package/data/build/dist/host/dsh-runtime-version.d.ts +1 -1
  357. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -1
  358. package/data/build/dist/host/dsh-runtime-version.js +22 -17
  359. package/data/build/dist/host/dsh-runtime-version.js.map +1 -1
  360. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -1
  361. package/data/build/dist/host/features/assistant-avatar-runtime.js +43 -19
  362. package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -1
  363. package/data/build/dist/host/features/assistant-background.d.ts +44 -0
  364. package/data/build/dist/host/features/assistant-background.d.ts.map +1 -0
  365. package/data/build/dist/host/features/assistant-background.js +116 -0
  366. package/data/build/dist/host/features/assistant-background.js.map +1 -0
  367. package/data/build/dist/host/features/assistant-index-updates.d.ts +5 -0
  368. package/data/build/dist/host/features/assistant-index-updates.d.ts.map +1 -1
  369. package/data/build/dist/host/features/assistant-index-updates.js +29 -6
  370. package/data/build/dist/host/features/assistant-index-updates.js.map +1 -1
  371. package/data/build/dist/host/features/assistant-source-cache.d.ts +12 -0
  372. package/data/build/dist/host/features/assistant-source-cache.d.ts.map +1 -0
  373. package/data/build/dist/host/features/assistant-source-cache.js +58 -0
  374. package/data/build/dist/host/features/assistant-source-cache.js.map +1 -0
  375. package/data/build/dist/host/features/global-voice-coordinator.d.ts.map +1 -1
  376. package/data/build/dist/host/features/global-voice-coordinator.js +15 -10
  377. package/data/build/dist/host/features/global-voice-coordinator.js.map +1 -1
  378. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  379. package/data/build/dist/host/features/global-voice-rpc.js +288 -114
  380. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  381. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  382. package/data/build/dist/host/features/peer-host.js +61 -21
  383. package/data/build/dist/host/features/peer-host.js.map +1 -1
  384. package/data/build/dist/host/features/sherpa-voice-worker.d.ts +18 -0
  385. package/data/build/dist/host/features/sherpa-voice-worker.d.ts.map +1 -0
  386. package/data/build/dist/host/features/sherpa-voice-worker.js +40 -0
  387. package/data/build/dist/host/features/sherpa-voice-worker.js.map +1 -0
  388. package/data/build/dist/host/features/sherpa-worker-runtime.d.ts +41 -0
  389. package/data/build/dist/host/features/sherpa-worker-runtime.d.ts.map +1 -0
  390. package/data/build/dist/host/features/sherpa-worker-runtime.js +200 -0
  391. package/data/build/dist/host/features/sherpa-worker-runtime.js.map +1 -0
  392. package/data/build/dist/host/features/types.d.ts +6 -4
  393. package/data/build/dist/host/features/types.d.ts.map +1 -1
  394. package/data/build/dist/host/index.d.ts +1 -1
  395. package/data/build/dist/host/index.d.ts.map +1 -1
  396. package/data/build/dist/host/index.js +31 -21
  397. package/data/build/dist/host/index.js.map +1 -1
  398. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  399. package/data/build/dist/host/lan-access-dsh.js +5 -22
  400. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  401. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts +6 -46
  402. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.d.ts.map +1 -1
  403. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js +48 -28
  404. package/data/build/dist/host/modules/peer-host/host-api-proxy-service.js.map +1 -1
  405. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.d.ts.map +1 -1
  406. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js +1 -0
  407. package/data/build/dist/host/modules/peer-host/peer-host-diagnostics.js.map +1 -1
  408. package/data/build/dist/host/modules/peer-host/peer-host-handshake.d.ts.map +1 -1
  409. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js +4 -1
  410. package/data/build/dist/host/modules/peer-host/peer-host-handshake.js.map +1 -1
  411. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts +7 -1
  412. package/data/build/dist/host/modules/peer-host/peer-host-session.d.ts.map +1 -1
  413. package/data/build/dist/host/modules/peer-host/peer-host-session.js +40 -13
  414. package/data/build/dist/host/modules/peer-host/peer-host-session.js.map +1 -1
  415. package/data/build/dist/host/provider-icon-assets.d.ts +5 -0
  416. package/data/build/dist/host/provider-icon-assets.d.ts.map +1 -0
  417. package/data/build/dist/host/provider-icon-assets.js +61 -0
  418. package/data/build/dist/host/provider-icon-assets.js.map +1 -0
  419. package/data/build/dist/host/rpc.js +2 -2
  420. package/data/build/dist/host/rpc.js.map +1 -1
  421. package/data/build/dist/host/session-migration-repair.d.ts +4 -0
  422. package/data/build/dist/host/session-migration-repair.d.ts.map +1 -1
  423. package/data/build/dist/host/session-migration-repair.js +75 -2
  424. package/data/build/dist/host/session-migration-repair.js.map +1 -1
  425. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts +1 -1
  426. package/data/build/dist/host/terminal/backends/tmux-backend.d.ts.map +1 -1
  427. package/data/build/dist/host/terminal/backends/tmux-backend.js +15 -14
  428. package/data/build/dist/host/terminal/backends/tmux-backend.js.map +1 -1
  429. package/data/build/dist/shared/assistant-avatar-engine.d.ts +5 -0
  430. package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -1
  431. package/data/build/dist/shared/assistant-avatar-engine.js +14 -0
  432. package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -1
  433. package/data/build/dist/shared/contracts/cli-adapter.d.ts +6 -0
  434. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  435. package/data/build/dist/shared/contracts/errors.d.ts +1 -0
  436. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  437. package/data/build/dist/shared/contracts/errors.js +1 -0
  438. package/data/build/dist/shared/contracts/errors.js.map +1 -1
  439. package/data/build/dist/shared/contracts/peer-host.d.ts +1 -0
  440. package/data/build/dist/shared/contracts/peer-host.d.ts.map +1 -1
  441. package/data/build/dist/shared/contracts/peer-host.js +1 -0
  442. package/data/build/dist/shared/contracts/peer-host.js.map +1 -1
  443. package/data/build/dist/shared/contracts/version.d.ts +3 -1
  444. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  445. package/data/build/dist/shared/contracts/version.js +20 -7
  446. package/data/build/dist/shared/contracts/version.js.map +1 -1
  447. package/data/build/dist/shared/peer-host-http-routes.d.ts +62 -0
  448. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -0
  449. package/data/build/dist/shared/peer-host-http-routes.js +31 -0
  450. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -0
  451. package/data/build/dist/shared/provider-icon-resources.d.ts +4 -0
  452. package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -0
  453. package/data/build/dist/shared/provider-icon-resources.js +24 -0
  454. package/data/build/dist/shared/provider-icon-resources.js.map +1 -0
  455. package/package.json +2 -2
  456. package/profile/README.md +2 -2
  457. package/profile/package.json +2 -2
  458. package/profile/version.json +1 -1
  459. package/version.json +1 -1
@@ -2,6 +2,7 @@ import { readFileSync } from 'node:fs';
2
2
  import { createRequire } from 'node:module';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { spawnSync } from 'node:child_process';
5
+ import { runAsyncCommand } from './cli-adapters/process-utils.js';
5
6
  import { fileURLToPath } from 'node:url';
6
7
  import { assertSupportedDshVersion, CODINGNS_DSH_VERSION_GLOBAL, CODINGNS_DSH_ERROR_CODES, CodingNsDshError, } from '../shared/index.js';
7
8
  const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
@@ -14,23 +15,26 @@ const VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u;
14
15
  * 根目录,需要直接从该目录的 node_modules 读取实际加载的包版本;只有
15
16
  * 这些路径都无法提供版本时才回退到 PATH 中的 `dsh --version`。
16
17
  */
17
- export function detectRuntimeDshVersion() {
18
- const candidates = [
19
- process.env.DSH_RUNTIME_VERSION,
20
- process.env.DSH_VERSION,
21
- ...process.argv.slice(1).map(readDshVersionFromRuntimeRoot),
22
- ...process.argv.slice(1).map(readDshVersionFromModule),
23
- ...readDshVersionsFromDesktopResources(),
24
- readDshPackageVersion(process.argv[1]),
25
- readDshPackageVersion(fileURLToPath(import.meta.url)),
26
- readDshVersionFromCommand(),
18
+ export async function detectRuntimeDshVersion() {
19
+ // 按优先级惰性读取;原先数组会先执行全部探测,即使环境变量已给出版本也会启动 CLI。
20
+ const probes = [
21
+ () => process.env.DSH_RUNTIME_VERSION,
22
+ () => process.env.DSH_VERSION,
23
+ ...process.argv.slice(1).map((path) => () => readDshVersionFromRuntimeRoot(path)),
24
+ ...process.argv.slice(1).map((path) => () => readDshVersionFromModule(path)),
25
+ () => readDshVersionsFromDesktopResources().find((value) => value !== undefined && VERSION_PATTERN.test(value)),
26
+ () => readDshPackageVersion(process.argv[1]),
27
+ () => readDshPackageVersion(fileURLToPath(import.meta.url)),
28
+ () => readDshVersionFromCommand(),
27
29
  ];
28
- const version = candidates.find((candidate) => candidate !== undefined && VERSION_PATTERN.test(candidate));
29
- if (version === undefined) {
30
- throw new CodingNsDshError(CODINGNS_DSH_ERROR_CODES.DSH_VERSION_UNSUPPORTED, '无法读取当前 DSH 版本;为避免 API 不兼容,已拒绝启用 codingns4dsh');
30
+ for (const probe of probes) {
31
+ const version = await probe();
32
+ if (version === undefined || !VERSION_PATTERN.test(version))
33
+ continue;
34
+ assertSupportedDshVersion(version);
35
+ return version;
31
36
  }
32
- assertSupportedDshVersion(version);
33
- return version;
37
+ throw new CodingNsDshError(CODINGNS_DSH_ERROR_CODES.DSH_VERSION_UNSUPPORTED, '无法读取当前 DSH 版本;为避免 API 不兼容,已拒绝启用 codingns4dsh');
34
38
  }
35
39
  /** Host 启动后供 Web Client 复用的版本注入名称。 */
36
40
  export const DSH_VERSION_INJECTION_NAME = CODINGNS_DSH_VERSION_GLOBAL;
@@ -119,12 +123,13 @@ function readDshPackageManifestVersion(manifestPath) {
119
123
  }
120
124
  return undefined;
121
125
  }
122
- function readDshVersionFromCommand() {
126
+ async function readDshVersionFromCommand() {
123
127
  try {
124
- const result = spawnSync(process.platform === 'win32' ? 'dsh.cmd' : 'dsh', ['--version'], {
128
+ const result = await runAsyncCommand(spawnSync, process.platform === 'win32' ? 'dsh.cmd' : 'dsh', ['--version'], {
125
129
  encoding: 'utf8',
126
130
  timeout: 2_000,
127
131
  windowsHide: true,
132
+ shell: process.platform === 'win32',
128
133
  });
129
134
  if (result.status !== 0)
130
135
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"dsh-runtime-version.js","sourceRoot":"","sources":["../../../../src/host/dsh-runtime-version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsh-runtime-version.js","sourceRoot":"","sources":["../../../../src/host/dsh-runtime-version.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-avatar-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-avatar-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAI7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAI/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAA;AAE1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAElF,6CAA6C;AAC7C,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,UAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAelK;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,0BAAgC,EAAE,MAAM,UAAQ,EACxG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAajJ;AAED,kCAAkC;AAClC,wBAAgB,mCAAmC,CAAC,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAatJ;AAaD,yCAAyC;AACzC,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAW5F;AAED,wBAAgB,mCAAmC,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,gCAAgC,CAAA;CAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CA2FxP"}
1
+ {"version":3,"file":"assistant-avatar-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-avatar-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAI7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAI/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAA;AAE1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAElF,6CAA6C;AAC7C,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,UAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAelK;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,0BAAgC,EAAE,MAAM,UAAQ,EACxG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAajJ;AAED,kCAAkC;AAClC,wBAAgB,mCAAmC,CAAC,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAwBtJ;AAaD,yCAAyC;AACzC,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAW5F;AAED,wBAAgB,mCAAmC,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,gCAAgC,CAAA;CAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAoGxP"}
@@ -12,7 +12,7 @@ import { CodingNsRpcError } from '../rpc-table.js';
12
12
  import { getAssistantAvatarPackages } from '../avatar/registry.js';
13
13
  import { AssistantAvatarCatalog } from '../avatar/catalog.js';
14
14
  import { assistantAvatarEngineInstalled, installAssistantAvatarEngine, readAssistantAvatarEngine } from '../avatar/engine.js';
15
- import { ASSISTANT_AVATAR_ENGINE_VERSION, hasAssistantAvatarEngineConsent } from '../../shared/assistant-avatar-engine.js';
15
+ import { ASSISTANT_AVATAR_ENGINE_VERSION, hasAssistantAvatarEngineConsent, invalidateAssistantAvatarRuntime, assistantAvatarRuntimeRevision } from '../../shared/assistant-avatar-engine.js';
16
16
  import { ASSISTANT_AVATAR_CATALOG_PREVIEW_PATH, ASSISTANT_AVATAR_TEMPORARY_ASSET_PATH, hasAssistantAvatarConsent } from '../../shared/assistant-avatar-catalog.js';
17
17
  import { AssistantAvatarTemporaryPreviews } from '../avatar/temporary-previews.js';
18
18
  /** 原生 Fetch 路由逐项登记固定路径,停用后全部注销;不开放通用资源代理。 */
@@ -59,18 +59,32 @@ export function createAssistantAvatarRouteHandler(packages = new AssistantAvatar
59
59
  /** 只返回固定依赖文件,不提供任意路径读取或外部脚本代理。 */
60
60
  export function createAssistantAvatarRuntimeHandler(readRuntime = readInstalledRuntime) {
61
61
  let source;
62
+ let retryAt = 0;
63
+ let revision = assistantAvatarRuntimeRevision();
62
64
  return async (request) => {
63
65
  if (new URL(request.url).pathname !== ASSISTANT_AVATAR_RUNTIME_PATH)
64
66
  return new Response(null, { status: 404 });
65
67
  if (request.method !== 'GET')
66
68
  return new Response(null, { status: 405, headers: { Allow: 'GET' } });
69
+ if (revision !== assistantAvatarRuntimeRevision()) {
70
+ revision = assistantAvatarRuntimeRevision();
71
+ source = undefined;
72
+ retryAt = 0;
73
+ }
74
+ if (Date.now() < retryAt)
75
+ return Response.json({ error: 'avatar_runtime_unavailable' }, { status: 503, headers: { 'Retry-After': '30', 'Cache-Control': 'no-store' } });
76
+ const requestRevision = revision;
77
+ let pending;
67
78
  try {
68
- source ??= readRuntime();
69
- return new Response(await source, { headers: { 'Content-Type': 'text/javascript; charset=utf-8', 'Cache-Control': 'private, max-age=86400', 'X-Content-Type-Options': 'nosniff' } });
79
+ pending = source ??= readRuntime();
80
+ return new Response(await pending, { headers: { 'Content-Type': 'text/javascript; charset=utf-8', 'Cache-Control': 'private, max-age=86400', 'X-Content-Type-Options': 'nosniff' } });
70
81
  }
71
82
  catch {
72
- source = undefined;
73
- return Response.json({ error: 'avatar_runtime_unavailable' }, { status: 503 });
83
+ if (source === pending && revision === requestRevision) {
84
+ source = undefined;
85
+ retryAt = Date.now() + 30_000;
86
+ }
87
+ return Response.json({ error: 'avatar_runtime_unavailable' }, { status: 503, headers: { 'Retry-After': '30', 'Cache-Control': 'no-store' } });
74
88
  }
75
89
  };
76
90
  }
@@ -108,13 +122,17 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
108
122
  const packages = options.packages ?? getAssistantAvatarPackages(context.services);
109
123
  const catalog = options.catalog ?? new AssistantAvatarCatalog();
110
124
  const temporary = options.temporary ?? new AssistantAvatarTemporaryPreviews(catalog);
111
- const requireConsent = () => {
112
- if (!hasAssistantAvatarConsent(context.services.settings?.get().assistant.appearance?.thirdPartyConsent)) {
125
+ const requireConsent = (requested) => {
126
+ // 草稿中的明确同意只授权本次请求;旧客户端继续使用已保存的协议记录。
127
+ const consent = requested === undefined ? context.services.settings?.get().assistant.appearance?.thirdPartyConsent : requested;
128
+ if (!hasAssistantAvatarConsent(consent)) {
113
129
  throw new CodingNsRpcError('CODINGNS_AVATAR_CONSENT_REQUIRED', '请先同意第三方形象使用说明');
114
130
  }
115
131
  };
116
- const requireEngineConsent = () => {
117
- if (!hasAssistantAvatarEngineConsent(context.services.settings?.get().assistant.appearance?.engineConsent)) {
132
+ const requireEngineConsent = (requested) => {
133
+ // 请求中的明确同意只授权本次安装;未携带时兼容旧客户端已保存的许可。
134
+ const consent = requested === undefined ? context.services.settings?.get().assistant.appearance?.engineConsent : requested;
135
+ if (!hasAssistantAvatarEngineConsent(consent)) {
118
136
  throw new CodingNsRpcError('CODINGNS_AVATAR_ENGINE_CONSENT_REQUIRED', '请先确认 Live2D 引擎许可');
119
137
  }
120
138
  };
@@ -132,14 +150,14 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
132
150
  if (action === 'engineStatus')
133
151
  return readAssistantAvatarEngineStatus();
134
152
  if (action === 'catalog') {
135
- requireConsent();
153
+ requireConsent(input?.thirdPartyConsent);
136
154
  return catalog.list();
137
155
  }
138
156
  // 撤销协议或连接变为只读后,清理接口仍必须可用。
139
157
  if (action === 'releasePreview' && typeof input?.lease === 'string')
140
158
  return temporary.release(input.lease);
141
159
  if (action === 'keepPreview' && typeof input?.lease === 'string') {
142
- requireConsent();
160
+ requireConsent(input.thirdPartyConsent);
143
161
  return temporary.touch(input.lease);
144
162
  }
145
163
  // 与原设置写入边界一致,远端只读连接不能借安装接口写入磁盘。
@@ -147,17 +165,18 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
147
165
  throw new CodingNsRpcError('CODINGNS_SETTINGS_READONLY', '当前形象设置为只读');
148
166
  // 引擎下载写入 CodingNS 自有目录,不修改 DSH Profile 或插件依赖树。
149
167
  if (action === 'installEngine') {
150
- requireEngineConsent();
168
+ requireEngineConsent(input?.engineConsent);
151
169
  await installAssistantAvatarEngine({ signal });
170
+ invalidateAssistantAvatarRuntime();
152
171
  return readAssistantAvatarEngineStatus();
153
172
  }
154
173
  if (action === 'previewCatalog') {
155
- requireConsent();
174
+ requireConsent(input?.thirdPartyConsent);
156
175
  if (typeof input?.id !== 'string' || typeof input.revision !== 'string' || typeof input.lease !== 'string')
157
176
  throw new TypeError('临时形象预览参数无效');
158
- const preview = await temporary.create(input.lease, input.id, input.revision, signal);
177
+ const preview = await temporary.create(input.lease, input.id, input.revision, signal, hasAssistantAvatarConsent(input.thirdPartyConsent));
159
178
  try {
160
- requireConsent();
179
+ requireConsent(input.thirdPartyConsent);
161
180
  signal.throwIfAborted();
162
181
  return preview;
163
182
  }
@@ -167,7 +186,7 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
167
186
  }
168
187
  }
169
188
  if (action === 'installCatalog') {
170
- requireConsent();
189
+ requireConsent(input?.thirdPartyConsent);
171
190
  if (input?.licenseAccepted !== true || typeof input.id !== 'string' || typeof input.revision !== 'string')
172
191
  throw new TypeError('请确认所选形象的许可及应用');
173
192
  if (input.lease !== undefined && typeof input.lease !== 'string')
@@ -175,7 +194,7 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
175
194
  const installed = input.lease === undefined ? await catalog.install(input.id, input.revision, packages, signal)
176
195
  : await temporary.install(input.lease, input.id, input.revision, packages, signal);
177
196
  try {
178
- requireConsent();
197
+ requireConsent(input.thirdPartyConsent);
179
198
  signal.throwIfAborted();
180
199
  return installed;
181
200
  }
@@ -215,10 +234,15 @@ export function createAssistantAvatarRuntimeFeature(options = {}) {
215
234
  }
216
235
  };
217
236
  const temporaryAssets = async (request) => {
237
+ // 草稿预览的同意绑定在租约上,不要求为浏览素材提前写入正式配置。
238
+ const requirePreviewConsent = () => {
239
+ if (!temporary.hasRequestConsent(new URL(request.url).searchParams.get('lease') ?? ''))
240
+ requireConsent();
241
+ };
218
242
  try {
219
- requireConsent();
243
+ requirePreviewConsent();
220
244
  const response = await temporary.handle(request);
221
- requireConsent();
245
+ requirePreviewConsent();
222
246
  return response;
223
247
  }
224
248
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-avatar-runtime.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-avatar-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAA;AAClH,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAA;AAIhF,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAA;AACnI,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAA;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AACzH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC7H,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAA;AAE1H,OAAO,EAAE,qCAAqC,EAAE,qCAAqC,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AAClK,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAElF,6CAA6C;AAC7C,MAAM,UAAU,6BAA6B,CAAC,QAA6B,EAAE,OAAgD,EAAE,MAAM,GAAG,KAAK;IAC3I,MAAM,KAAK,GAAG,CAAC,6BAA6B,EAAE,2BAA2B,EAAE,4BAA4B;QACrG,qCAAqC,EAAE,qCAAqC;QAC5E,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC;QAClD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACvK,MAAM,SAAS,GAA4B,EAAE,CAAA;IAC7C,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACzH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;QACtE,IAAI,OAAO,EAAE,MAAM,KAAK,UAAU;YAAE,MAAM,OAAO,CAAC,MAAM,CAAA;IAC1D,CAAC,CAAA;IACD,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAClI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,KAAK,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,KAAK,CAAA;IAAC,CAAC;IACtE,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,EAAE,MAAM,GAAG,KAAK,EACxG,OAAiD,EAAE,SAAmD;IACtG,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAA;IACrD,MAAM,MAAM,GAAG,iCAAiC,EAAE,CAAA;IAClD,MAAM,MAAM,GAAG,iCAAiC,EAAE,CAAA;IAClD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC1C,IAAI,IAAI,KAAK,6BAA6B;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;QACnE,IAAI,IAAI,KAAK,qCAAqC;YAAE,OAAO,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACrI,IAAI,IAAI,KAAK,qCAAqC;YAAE,OAAO,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACvI,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1F,OAAO,IAAI,KAAK,2BAA2B,IAAI,IAAI,KAAK,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7G,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACrF,CAAC,CAAA;AACH,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,mCAAmC,CAAC,cAAqC,oBAAoB;IAC3G,IAAI,MAAmC,CAAA;IACvC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,6BAA6B;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC/G,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACnG,IAAI,CAAC;YACH,MAAM,KAAK,WAAW,EAAE,CAAA;YACxB,OAAO,IAAI,QAAQ,CAAC,MAAM,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,gCAAgC,EAAE,eAAe,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QACtL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAA;YAClB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAChF,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,qCAAqC;IACrC,MAAM,OAAO,GAAG,MAAM,yBAAyB,EAAE,CAAA;IACjD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IACzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,+CAA+C;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACzD,0DAA0D;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;AACzD,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,+BAA+B;IACnD,IAAI,MAAM,8BAA8B,EAAE;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IACnI,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAA0B,CAAA;QACxG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;QACrE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI;gBAC7C,OAAO,EAAE,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;IAC9H,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACvC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,UAA6J,EAAE;IACjN,OAAO;QACL,UAAU,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3H,KAAK,CAAC,OAAO;YACX,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,0BAA0B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACjF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,sBAAsB,EAAE,CAAA;YAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,gCAAgC,CAAC,OAAO,CAAC,CAAA;YACpF,MAAM,cAAc,GAAG,GAAS,EAAE;gBAChC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBACzG,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,EAAE,eAAe,CAAC,CAAA;gBACjF,CAAC;YACH,CAAC,CAAA;YACD,MAAM,oBAAoB,GAAG,GAAS,EAAE;gBACtC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC3G,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,EAAE,kBAAkB,CAAC,CAAA;gBAC3F,CAAC;YACH,CAAC,CAAA;YACD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;YACtC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;YAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;oBAC1I,MAAM,KAAK,GAAG,OAAkI,CAAA;oBAChJ,MAAM,eAAe,GAAI,UAAmD,EAAE,MAAM,CAAA;oBACpF,MAAM,MAAM,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;oBACpH,IAAI,MAAM,KAAK,MAAM;wBAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;oBAC7C,8BAA8B;oBAC9B,IAAI,MAAM,KAAK,cAAc;wBAAE,OAAO,+BAA+B,EAAE,CAAA;oBACvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBAAC,cAAc,EAAE,CAAC;wBAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;oBAAC,CAAC;oBACrE,0BAA0B;oBAC1B,IAAI,MAAM,KAAK,gBAAgB,IAAI,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ;wBAAE,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAC1G,IAAI,MAAM,KAAK,aAAa,IAAI,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAAC,cAAc,EAAE,CAAC;wBAAC,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAAC,CAAC;oBAC3H,gCAAgC;oBAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,KAAK,KAAK;wBAAE,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAA;oBAChI,+CAA+C;oBAC/C,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;wBAC/B,oBAAoB,EAAE,CAAA;wBACtB,MAAM,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;wBAC9C,OAAO,+BAA+B,EAAE,CAAA;oBAC1C,CAAC;oBACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBAChC,cAAc,EAAE,CAAA;wBAChB,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;4BAAE,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAA;wBAC7I,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;wBACrF,IAAI,CAAC;4BAAC,cAAc,EAAE,CAAC;4BAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BAAC,OAAO,OAAO,CAAA;wBAAC,CAAC;wBACjE,OAAO,KAAK,EAAE,CAAC;4BAAC,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAAC,MAAM,KAAK,CAAA;wBAAC,CAAC;oBACrE,CAAC;oBACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;wBAChC,cAAc,EAAE,CAAA;wBAChB,IAAI,KAAK,EAAE,eAAe,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;4BAAE,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,CAAA;wBAC/I,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;4BAAE,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAA;wBACnG,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;4BAC7G,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;wBACpF,IAAI,CAAC;4BAAC,cAAc,EAAE,CAAC;4BAAC,MAAM,CAAC,cAAc,EAAE,CAAC;4BAAC,OAAO,SAAS,CAAA;wBAAC,CAAC;wBACnE,OAAO,KAAK,EAAE,CAAC;4BACb,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,EAAE,CAAC;gCAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;4BAC5L,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,KAAK,KAAK,CAAC,EAAE,CAAC;4BAAE,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAA;wBAC5K,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBAClC,CAAC;oBACD,IAAI,OAAO,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;wBAAE,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;oBACpG,IAAI,MAAM,KAAK,UAAU;wBAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBACzE,IAAI,MAAM,KAAK,SAAS;wBAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBACvI,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAC,CAAA;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAA;YACrE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAA;YACxE,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;mBAChL,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/H,MAAM,OAAO,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;gBAC5D,IAAI,CAAC;oBACH,cAAc,EAAE,CAAA;oBAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC/C,cAAc,EAAE,CAAA;oBAChB,OAAO,QAAQ,CAAA;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;oBAC/F,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;gBAC7H,CAAC;YACH,CAAC,CAAA;YACD,MAAM,eAAe,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;gBACpE,IAAI,CAAC;oBAAC,cAAc,EAAE,CAAC;oBAAC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAAC,cAAc,EAAE,CAAC;oBAAC,OAAO,QAAQ,CAAA;gBAAC,CAAC;gBAC7G,OAAO,KAAK,EAAE,CAAC;oBAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE;wBACtF,MAAM,EAAE,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;qBAChG,CAAC,CAAA;gBAAC,CAAC;YACN,CAAC,CAAA;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACpJ,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"assistant-avatar-runtime.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-avatar-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /** 后台元数据只有一个所有者;轮询和多个界面共享同一份已完成快照。 */
2
+ export interface AssistantMetadataSnapshot<T> {
3
+ readonly revision: number;
4
+ readonly capturedAt: number;
5
+ readonly value: T;
6
+ }
7
+ export interface AssistantRefreshCadence {
8
+ readonly remote: boolean;
9
+ readonly active: boolean;
10
+ readonly failed?: boolean;
11
+ }
12
+ /** 纯调度层不持有档案或对话;停用只撤销在途读取和后续定时任务。 */
13
+ export declare class AssistantBackground<T> {
14
+ private readonly options;
15
+ private epoch;
16
+ private revision;
17
+ private enabled;
18
+ private disposed;
19
+ private failures;
20
+ private followUpDelay;
21
+ private timer;
22
+ private timerDue;
23
+ private controller;
24
+ private pending;
25
+ private current;
26
+ constructor(options: {
27
+ read: (signal: AbortSignal) => Promise<T>;
28
+ publish: (value: T) => void;
29
+ cadence: (value: T) => AssistantRefreshCadence;
30
+ });
31
+ snapshot(): AssistantMetadataSnapshot<T> | undefined;
32
+ version(): number;
33
+ /** 范围变化立即作废旧快照;不支持中断的旧服务结束前也不会并行启动新扫描。 */
34
+ invalidate(): void;
35
+ setEnabled(enabled: boolean): void;
36
+ /** 本地事件合并刷新;索引自身仍保留完成后五秒的防抖。 */
37
+ request(delay?: number): void;
38
+ read(refresh?: boolean): Promise<AssistantMetadataSnapshot<T>>;
39
+ dispose(): void;
40
+ private scheduleNext;
41
+ private schedule;
42
+ private clearTimer;
43
+ }
44
+ //# sourceMappingURL=assistant-background.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-background.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-background.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,qCAAqC;AACrC,qBAAa,mBAAmB,CAAC,CAAC;IAapB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,OAAO,CAA+E;IAC9F,OAAO,CAAC,OAAO,CAA0C;gBAE5B,OAAO,EAAE;QACpC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;QACzC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;QAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,uBAAuB,CAAA;KAC/C;IAED,QAAQ,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,SAAS;IACpD,OAAO,IAAI,MAAM;IAEjB,0CAA0C;IAC1C,UAAU,IAAI,IAAI;IAUlB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAclC,gCAAgC;IAChC,OAAO,CAAC,KAAK,SAAI,GAAG,IAAI;IASxB,IAAI,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IA2B5D,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,UAAU;CACnB"}
@@ -0,0 +1,116 @@
1
+ /** 纯调度层不持有档案或对话;停用只撤销在途读取和后续定时任务。 */
2
+ export class AssistantBackground {
3
+ options;
4
+ epoch = 0;
5
+ revision = 0;
6
+ enabled = false;
7
+ disposed = false;
8
+ failures = 0;
9
+ followUpDelay;
10
+ timer;
11
+ timerDue = Infinity;
12
+ controller = new AbortController();
13
+ pending;
14
+ current;
15
+ constructor(options) {
16
+ this.options = options;
17
+ }
18
+ snapshot() { return this.current; }
19
+ version() { return this.revision; }
20
+ /** 范围变化立即作废旧快照;不支持中断的旧服务结束前也不会并行启动新扫描。 */
21
+ invalidate() {
22
+ this.epoch++;
23
+ this.controller.abort(new Error('助理元数据范围已变化'));
24
+ this.controller = new AbortController();
25
+ this.current = undefined;
26
+ this.failures = 0;
27
+ this.followUpDelay = undefined;
28
+ this.clearTimer();
29
+ }
30
+ setEnabled(enabled) {
31
+ if (this.disposed || this.enabled === enabled)
32
+ return;
33
+ this.enabled = enabled;
34
+ if (!enabled) {
35
+ this.epoch++;
36
+ this.controller.abort(new Error('助理后台刷新已停止'));
37
+ this.controller = new AbortController();
38
+ this.clearTimer();
39
+ this.followUpDelay = undefined;
40
+ return;
41
+ }
42
+ this.schedule(0);
43
+ }
44
+ /** 本地事件合并刷新;索引自身仍保留完成后五秒的防抖。 */
45
+ request(delay = 0) {
46
+ if (!this.enabled)
47
+ return;
48
+ if (this.pending?.epoch === this.epoch) {
49
+ this.followUpDelay = Math.min(this.followUpDelay ?? delay, delay);
50
+ return;
51
+ }
52
+ // 元数据事件只能提前刷新,不能让连续事件无限推迟已有兜底任务。
53
+ // 真正的“完成后五秒”索引防抖由 AssistantIndexUpdates 单独负责。
54
+ if (this.timer !== undefined && this.timerDue <= Date.now() + delay)
55
+ return;
56
+ this.schedule(delay);
57
+ }
58
+ read(refresh = false) {
59
+ if (this.disposed)
60
+ return Promise.reject(new Error('助理后台已销毁'));
61
+ if (!refresh && this.current !== undefined)
62
+ return Promise.resolve(this.current);
63
+ if (this.pending !== undefined) {
64
+ if (this.pending.epoch === this.epoch)
65
+ return this.pending.promise;
66
+ return this.pending.promise.catch(() => undefined).then(() => this.read(refresh));
67
+ }
68
+ const epoch = this.epoch;
69
+ const signal = this.controller.signal;
70
+ const promise = Promise.resolve().then(() => {
71
+ signal.throwIfAborted();
72
+ return this.options.read(signal);
73
+ }).then((value) => {
74
+ signal.throwIfAborted();
75
+ if (epoch !== this.epoch || this.disposed)
76
+ throw new Error('助理元数据已过期');
77
+ this.current = { revision: ++this.revision, capturedAt: Date.now(), value };
78
+ this.options.publish(value);
79
+ this.scheduleNext(this.options.cadence(value));
80
+ return this.current;
81
+ }).catch((error) => {
82
+ if (epoch === this.epoch && !signal.aborted)
83
+ this.scheduleNext({ remote: true, active: false, failed: true });
84
+ throw error;
85
+ }).finally(() => { if (this.pending?.promise === promise)
86
+ this.pending = undefined; });
87
+ this.pending = { epoch, promise };
88
+ return promise;
89
+ }
90
+ dispose() {
91
+ this.disposed = true;
92
+ this.enabled = false;
93
+ this.invalidate();
94
+ this.controller.abort(new Error('助理后台已销毁'));
95
+ }
96
+ scheduleNext(cadence) {
97
+ this.failures = cadence.failed ? this.failures + 1 : 0;
98
+ const delay = this.failures > 0 ? Math.min(120_000, 5_000 * 2 ** Math.min(this.failures, 5))
99
+ : cadence.remote ? cadence.active ? 5_000 : 30_000 : 60_000;
100
+ const nextDelay = Math.min(this.followUpDelay ?? delay, delay);
101
+ this.followUpDelay = undefined;
102
+ if (this.enabled)
103
+ this.schedule(nextDelay);
104
+ }
105
+ schedule(delay) {
106
+ this.clearTimer();
107
+ if (!this.enabled || this.disposed)
108
+ return;
109
+ this.timerDue = Date.now() + delay;
110
+ this.timer = setTimeout(() => { this.timer = undefined; this.timerDue = Infinity; void this.read(true).catch(() => undefined); }, delay);
111
+ this.timer.unref?.();
112
+ }
113
+ clearTimer() { if (this.timer !== undefined)
114
+ clearTimeout(this.timer); this.timer = undefined; this.timerDue = Infinity; }
115
+ }
116
+ //# sourceMappingURL=assistant-background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-background.js","sourceRoot":"","sources":["../../../../../src/host/features/assistant-background.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export declare const assistantSessionKey: (entry: {
3
3
  hostId: string;
4
4
  sessionId: string;
5
5
  }) => string;
6
+ /** 高频原生事件先过滤,再访问会话成员表和索引版本。 */
7
+ export declare function isAssistantIndexEvent(event: unknown): boolean;
6
8
  /** 版本只在有效材料变化时推进,流式片段和工具步骤结束都不会触发索引。 */
7
9
  export declare class AssistantIndexUpdates {
8
10
  private readonly run;
@@ -12,6 +14,7 @@ export declare class AssistantIndexUpdates {
12
14
  private disposed;
13
15
  private running;
14
16
  private again;
17
+ private enabled;
15
18
  constructor(run: () => Promise<void>, liveActivity: (entry: SessionIndexEntry) => 'running' | 'idle' | 'unknown');
16
19
  observe(entries: readonly SessionIndexEntry[]): boolean;
17
20
  event(key: string, event: unknown): void;
@@ -34,6 +37,8 @@ export declare class AssistantIndexUpdates {
34
37
  /** 有效变化重新等待5秒;轮询、刷新和重复空闲通知只确保已有任务被安排。 */
35
38
  schedule(restart?: boolean): void;
36
39
  pause(): void;
40
+ /** 模块停用不能把待索引版本标记成已尝试,重新启用仍须继续。 */
41
+ setEnabled(enabled: boolean): void;
37
42
  clear(): void;
38
43
  dispose(): void;
39
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-index-updates.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-index-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAA8B,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAc3J,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAG,MAAyD,CAAA;AAG5I,wCAAwC;AACxC,qBAAa,qBAAqB;IAOpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAuB,OAAO,CAAC,QAAQ,CAAC,YAAY;IANpF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAQ;gBAEQ,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAmB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS;IAElJ,OAAO,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO;IAqBvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAcxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO1B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAS3C,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAG,CAAC;IAOjF,uCAAuC;IACvC,OAAO,CAAC,UAAU;IAOlB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAQ3C,QAAQ,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKpF,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAKzC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO;IACxD,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAC7C,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAE/C,KAAK,IAAI,IAAI;IACb,yCAAyC;IACzC,QAAQ,CAAC,OAAO,UAAO,GAAG,IAAI;IAY9B,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,IAAI;IACb,OAAO,IAAI,IAAI;CAChB"}
1
+ {"version":3,"file":"assistant-index-updates.d.ts","sourceRoot":"","sources":["../../../../../src/host/features/assistant-index-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAA8B,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAc3J,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAG,MAAyD,CAAA;AAI5I,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM7D;AAED,wCAAwC;AACxC,qBAAa,qBAAqB;IAQpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAuB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAPpF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAO;gBAEO,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAmB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS;IAElJ,OAAO,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO;IAqBvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAYxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO1B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAS3C,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAG,CAAC;IAOjF,uCAAuC;IACvC,OAAO,CAAC,UAAU;IAOlB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAQ3C,QAAQ,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKpF,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAKzC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GAAG,OAAO;IACxD,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAC7C,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO;IAE/C,KAAK,IAAI,IAAI;IACb,yCAAyC;IACzC,QAAQ,CAAC,OAAO,UAAO,GAAG,IAAI;IAY9B,KAAK,IAAI,IAAI;IACb,mCAAmC;IACnC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQlC,KAAK,IAAI,IAAI;IACb,OAAO,IAAI,IAAI;CAChB"}
@@ -1,6 +1,17 @@
1
1
  import { resolveAssistantSessionState } from './assistant-session-index.js';
2
2
  export const assistantSessionKey = (entry) => JSON.stringify([entry.hostId, entry.sessionId]);
3
3
  const INDEX_UPDATE_DELAY_MS = 5_000;
4
+ const INDEX_EVENTS = new Set(['turn/start', 'turn/end', 'user/message', 'assistant/message', 'tool/call', 'tool/result', 'session/title', 'todo/write', 'compaction/summary']);
5
+ /** 高频原生事件先过滤,再访问会话成员表和索引版本。 */
6
+ export function isAssistantIndexEvent(event) {
7
+ if (typeof event !== 'object' || event === null)
8
+ return false;
9
+ const value = event;
10
+ if (!INDEX_EVENTS.has(value.type ?? ''))
11
+ return false;
12
+ const source = value.data?.message?.source ?? value.data?.source;
13
+ return value.type !== 'user/message' || source?.kind === undefined || source.kind === 'user';
14
+ }
4
15
  /** 版本只在有效材料变化时推进,流式片段和工具步骤结束都不会触发索引。 */
5
16
  export class AssistantIndexUpdates {
6
17
  run;
@@ -10,6 +21,7 @@ export class AssistantIndexUpdates {
10
21
  disposed = false;
11
22
  running = false;
12
23
  again = false;
24
+ enabled = true;
13
25
  constructor(run, liveActivity) {
14
26
  this.run = run;
15
27
  this.liveActivity = liveActivity;
@@ -61,10 +73,7 @@ export class AssistantIndexUpdates {
61
73
  if (current === undefined || typeof event !== 'object' || event === null)
62
74
  return;
63
75
  const value = event;
64
- if (!['turn/start', 'turn/end', 'user/message', 'assistant/message', 'tool/call', 'tool/result', 'session/title', 'todo/write', 'compaction/summary'].includes(value.type ?? ''))
65
- return;
66
- const source = value.data?.message?.source ?? value.data?.source;
67
- if (value.type === 'user/message' && source?.kind !== undefined && source.kind !== 'user')
76
+ if (!isAssistantIndexEvent(event))
68
77
  return;
69
78
  if (typeof value.seq === 'number') {
70
79
  if (value.seq <= current.seq)
@@ -153,7 +162,7 @@ export class AssistantIndexUpdates {
153
162
  } ; this.schedule(); }
154
163
  /** 有效变化重新等待5秒;轮询、刷新和重复空闲通知只确保已有任务被安排。 */
155
164
  schedule(restart = true) {
156
- if (this.disposed)
165
+ if (this.disposed || !this.enabled)
157
166
  return;
158
167
  if (!restart && this.timer !== undefined)
159
168
  return;
@@ -161,7 +170,7 @@ export class AssistantIndexUpdates {
161
170
  clearTimeout(this.timer);
162
171
  this.timer = setTimeout(() => {
163
172
  this.timer = undefined;
164
- if (this.disposed)
173
+ if (this.disposed || !this.enabled)
165
174
  return;
166
175
  if (this.running) {
167
176
  this.again = true;
@@ -177,6 +186,20 @@ export class AssistantIndexUpdates {
177
186
  pause() { if (this.timer !== undefined)
178
187
  clearTimeout(this.timer); this.timer = undefined; for (const current of this.sessions.values())
179
188
  current.attempted = current.version; }
189
+ /** 模块停用不能把待索引版本标记成已尝试,重新启用仍须继续。 */
190
+ setEnabled(enabled) {
191
+ if (this.enabled === enabled)
192
+ return;
193
+ this.enabled = enabled;
194
+ if (enabled) {
195
+ this.schedule(false);
196
+ return;
197
+ }
198
+ if (this.timer !== undefined)
199
+ clearTimeout(this.timer);
200
+ this.timer = undefined;
201
+ this.again = false;
202
+ }
180
203
  clear() { this.pause(); this.sessions.clear(); this.again = false; }
181
204
  dispose() { this.disposed = true; this.pause(); }
182
205
  }