@jingyi0605/codingns4dsh 0.2.1-beta.9 → 0.2.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/README.en.md +8 -6
  2. package/README.md +11 -8
  3. package/assets/provider-icons/magpie.png +0 -0
  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 -1
  6. package/data/build/dist/bootstrap/index.d.ts +1 -1
  7. package/data/build/dist/bootstrap/index.d.ts.map +1 -1
  8. package/data/build/dist/client/account-bar.d.ts.map +1 -1
  9. package/data/build/dist/client/account-bar.js +24 -70
  10. package/data/build/dist/client/account-bar.js.map +1 -1
  11. package/data/build/dist/client/adapter-catalog-watch.d.ts +10 -2
  12. package/data/build/dist/client/adapter-catalog-watch.d.ts.map +1 -1
  13. package/data/build/dist/client/adapter-catalog-watch.js +16 -4
  14. package/data/build/dist/client/adapter-catalog-watch.js.map +1 -1
  15. package/data/build/dist/client/bundle.js +54516 -35293
  16. package/data/build/dist/client/bundle.js.map +1 -1
  17. package/data/build/dist/client/cli-management-dialog.d.ts +21 -0
  18. package/data/build/dist/client/cli-management-dialog.d.ts.map +1 -0
  19. package/data/build/dist/client/cli-management-dialog.js +215 -0
  20. package/data/build/dist/client/cli-management-dialog.js.map +1 -0
  21. package/data/build/dist/client/cli-management-terminal.d.ts +9 -0
  22. package/data/build/dist/client/cli-management-terminal.d.ts.map +1 -0
  23. package/data/build/dist/client/cli-management-terminal.js +30 -0
  24. package/data/build/dist/client/cli-management-terminal.js.map +1 -0
  25. package/data/build/dist/client/cli-settings-dialog.d.ts +9 -0
  26. package/data/build/dist/client/cli-settings-dialog.d.ts.map +1 -0
  27. package/data/build/dist/client/cli-settings-dialog.js +45 -0
  28. package/data/build/dist/client/cli-settings-dialog.js.map +1 -0
  29. package/data/build/dist/client/cli-settings-rpc.js +1 -1
  30. package/data/build/dist/client/cli-settings-rpc.js.map +1 -1
  31. package/data/build/dist/client/cli-slots.d.ts +17 -3
  32. package/data/build/dist/client/cli-slots.d.ts.map +1 -1
  33. package/data/build/dist/client/cli-slots.js +300 -41
  34. package/data/build/dist/client/cli-slots.js.map +1 -1
  35. package/data/build/dist/client/client.assistant-configuration-view.js +4 -3
  36. package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -1
  37. package/data/build/dist/client/client.delegate-command.js +44 -26
  38. package/data/build/dist/client/client.delegate-command.js.map +1 -1
  39. package/data/build/dist/client/client.editor-engine.js +4 -1
  40. package/data/build/dist/client/client.editor-engine.js.map +1 -1
  41. package/data/build/dist/client/{client.model-catalog-cache.js → client.magpie-model-tag.js} +241 -12
  42. package/data/build/dist/client/client.magpie-model-tag.js.map +1 -0
  43. package/data/build/dist/client/client.moss-voice-output.js +415 -0
  44. package/data/build/dist/client/client.moss-voice-output.js.map +1 -0
  45. package/data/build/dist/client/client.native-workspace-store.js +65 -15
  46. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  47. package/data/build/dist/client/client.primitives-adapter.js +128 -0
  48. package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
  49. package/data/build/dist/client/client.react-dom.js +0 -404
  50. package/data/build/dist/client/client.react-dom.js.map +1 -1
  51. package/data/build/dist/client/client.session-translation.js +121 -2
  52. package/data/build/dist/client/client.session-translation.js.map +1 -1
  53. package/data/build/dist/client/client.transport.js +738 -57
  54. package/data/build/dist/client/client.transport.js.map +1 -1
  55. package/data/build/dist/client/conversation-translation-settings.d.ts +11 -0
  56. package/data/build/dist/client/conversation-translation-settings.d.ts.map +1 -0
  57. package/data/build/dist/client/conversation-translation-settings.js +54 -0
  58. package/data/build/dist/client/conversation-translation-settings.js.map +1 -0
  59. package/data/build/dist/client/delegate-command.d.ts.map +1 -1
  60. package/data/build/dist/client/delegate-command.js +36 -7
  61. package/data/build/dist/client/delegate-command.js.map +1 -1
  62. package/data/build/dist/client/desktop-assistant.js +1202 -494
  63. package/data/build/dist/client/editor-engine.d.ts +1 -1
  64. package/data/build/dist/client/editor-engine.d.ts.map +1 -1
  65. package/data/build/dist/client/editor-engine.js +4 -1
  66. package/data/build/dist/client/editor-engine.js.map +1 -1
  67. package/data/build/dist/client/features/cli-adapters.d.ts +3 -1
  68. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  69. package/data/build/dist/client/features/cli-adapters.js +207 -112
  70. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  71. package/data/build/dist/client/features/file-management.d.ts.map +1 -1
  72. package/data/build/dist/client/features/file-management.js +18 -0
  73. package/data/build/dist/client/features/file-management.js.map +1 -1
  74. package/data/build/dist/client/features/index.d.ts.map +1 -1
  75. package/data/build/dist/client/features/index.js +2 -0
  76. package/data/build/dist/client/features/index.js.map +1 -1
  77. package/data/build/dist/client/features/lan-access-panel.d.ts.map +1 -1
  78. package/data/build/dist/client/features/lan-access-panel.js +1 -0
  79. package/data/build/dist/client/features/lan-access-panel.js.map +1 -1
  80. package/data/build/dist/client/features/mobile-access.d.ts.map +1 -1
  81. package/data/build/dist/client/features/mobile-access.js +7 -0
  82. package/data/build/dist/client/features/mobile-access.js.map +1 -1
  83. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  84. package/data/build/dist/client/features/peer-host.js +6 -0
  85. package/data/build/dist/client/features/peer-host.js.map +1 -1
  86. package/data/build/dist/client/features/quick-apps.d.ts +3 -0
  87. package/data/build/dist/client/features/quick-apps.d.ts.map +1 -0
  88. package/data/build/dist/client/features/quick-apps.js +14 -0
  89. package/data/build/dist/client/features/quick-apps.js.map +1 -0
  90. package/data/build/dist/client/features/session-translation.d.ts.map +1 -1
  91. package/data/build/dist/client/features/session-translation.js +50 -49
  92. package/data/build/dist/client/features/session-translation.js.map +1 -1
  93. package/data/build/dist/client/features/workspace-session-enhancement.d.ts.map +1 -1
  94. package/data/build/dist/client/features/workspace-session-enhancement.js +6 -0
  95. package/data/build/dist/client/features/workspace-session-enhancement.js.map +1 -1
  96. package/data/build/dist/client/file-management-dom.d.ts +20 -1
  97. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  98. package/data/build/dist/client/file-management-dom.js +94 -18
  99. package/data/build/dist/client/file-management-dom.js.map +1 -1
  100. package/data/build/dist/client/file-viewer-copy-path-menu.d.ts +27 -0
  101. package/data/build/dist/client/file-viewer-copy-path-menu.d.ts.map +1 -0
  102. package/data/build/dist/client/file-viewer-copy-path-menu.js +101 -0
  103. package/data/build/dist/client/file-viewer-copy-path-menu.js.map +1 -0
  104. package/data/build/dist/client/git-management-settings.d.ts +4 -0
  105. package/data/build/dist/client/git-management-settings.d.ts.map +1 -0
  106. package/data/build/dist/client/git-management-settings.js +73 -0
  107. package/data/build/dist/client/git-management-settings.js.map +1 -0
  108. package/data/build/dist/client/git-management.d.ts +2 -1
  109. package/data/build/dist/client/git-management.d.ts.map +1 -1
  110. package/data/build/dist/client/git-management.js +55 -34
  111. package/data/build/dist/client/git-management.js.map +1 -1
  112. package/data/build/dist/client/git-panel-styles.d.ts +4 -0
  113. package/data/build/dist/client/git-panel-styles.d.ts.map +1 -1
  114. package/data/build/dist/client/git-panel-styles.js +14 -0
  115. package/data/build/dist/client/git-panel-styles.js.map +1 -1
  116. package/data/build/dist/client/html-workspace-files.d.ts +4 -0
  117. package/data/build/dist/client/html-workspace-files.d.ts.map +1 -0
  118. package/data/build/dist/client/html-workspace-files.js +114 -0
  119. package/data/build/dist/client/html-workspace-files.js.map +1 -0
  120. package/data/build/dist/client/locale.d.ts.map +1 -1
  121. package/data/build/dist/client/locale.js +22 -2
  122. package/data/build/dist/client/locale.js.map +1 -1
  123. package/data/build/dist/client/locales/cliManagement.d.ts +3 -0
  124. package/data/build/dist/client/locales/cliManagement.d.ts.map +1 -0
  125. package/data/build/dist/client/locales/cliManagement.js +155 -0
  126. package/data/build/dist/client/locales/cliManagement.js.map +1 -0
  127. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  128. package/data/build/dist/client/locales/fileWorkspace.js +8 -0
  129. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  130. package/data/build/dist/client/locales/git.d.ts.map +1 -1
  131. package/data/build/dist/client/locales/git.js +30 -2
  132. package/data/build/dist/client/locales/git.js.map +1 -1
  133. package/data/build/dist/client/locales/panels.d.ts.map +1 -1
  134. package/data/build/dist/client/locales/panels.js +103 -11
  135. package/data/build/dist/client/locales/panels.js.map +1 -1
  136. package/data/build/dist/client/locales/peerHost.d.ts.map +1 -1
  137. package/data/build/dist/client/locales/peerHost.js +2 -0
  138. package/data/build/dist/client/locales/peerHost.js.map +1 -1
  139. package/data/build/dist/client/locales/quickApps.d.ts +136 -0
  140. package/data/build/dist/client/locales/quickApps.d.ts.map +1 -0
  141. package/data/build/dist/client/locales/quickApps.js +162 -0
  142. package/data/build/dist/client/locales/quickApps.js.map +1 -0
  143. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  144. package/data/build/dist/client/locales/usage.js +98 -0
  145. package/data/build/dist/client/locales/usage.js.map +1 -1
  146. package/data/build/dist/client/magpie-model-tag.d.ts +8 -0
  147. package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -0
  148. package/data/build/dist/client/magpie-model-tag.js +50 -0
  149. package/data/build/dist/client/magpie-model-tag.js.map +1 -0
  150. package/data/build/dist/client/mobile-team-panel-dom.d.ts +14 -0
  151. package/data/build/dist/client/mobile-team-panel-dom.d.ts.map +1 -0
  152. package/data/build/dist/client/mobile-team-panel-dom.js +164 -0
  153. package/data/build/dist/client/mobile-team-panel-dom.js.map +1 -0
  154. package/data/build/dist/client/model-catalog-cache.d.ts.map +1 -1
  155. package/data/build/dist/client/model-catalog-cache.js +66 -12
  156. package/data/build/dist/client/model-catalog-cache.js.map +1 -1
  157. package/data/build/dist/client/model-priority-pool.d.ts +23 -0
  158. package/data/build/dist/client/model-priority-pool.d.ts.map +1 -0
  159. package/data/build/dist/client/model-priority-pool.js +245 -0
  160. package/data/build/dist/client/model-priority-pool.js.map +1 -0
  161. package/data/build/dist/client/native-model-translation-menu.d.ts +13 -0
  162. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -0
  163. package/data/build/dist/client/native-model-translation-menu.js +159 -0
  164. package/data/build/dist/client/native-model-translation-menu.js.map +1 -0
  165. package/data/build/dist/client/native-translation-default.d.ts +6 -0
  166. package/data/build/dist/client/native-translation-default.d.ts.map +1 -0
  167. package/data/build/dist/client/native-translation-default.js +30 -0
  168. package/data/build/dist/client/native-translation-default.js.map +1 -0
  169. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  170. package/data/build/dist/client/provider-icons.js +3 -1
  171. package/data/build/dist/client/provider-icons.js.map +1 -1
  172. package/data/build/dist/client/quick-apps/browser-storage.d.ts +24 -0
  173. package/data/build/dist/client/quick-apps/browser-storage.d.ts.map +1 -0
  174. package/data/build/dist/client/quick-apps/browser-storage.js +114 -0
  175. package/data/build/dist/client/quick-apps/browser-storage.js.map +1 -0
  176. package/data/build/dist/client/quick-apps/client.d.ts +31 -0
  177. package/data/build/dist/client/quick-apps/client.d.ts.map +1 -0
  178. package/data/build/dist/client/quick-apps/client.js +68 -0
  179. package/data/build/dist/client/quick-apps/client.js.map +1 -0
  180. package/data/build/dist/client/quick-apps/document.d.ts +26 -0
  181. package/data/build/dist/client/quick-apps/document.d.ts.map +1 -0
  182. package/data/build/dist/client/quick-apps/document.js +110 -0
  183. package/data/build/dist/client/quick-apps/document.js.map +1 -0
  184. package/data/build/dist/client/quick-apps/file-picker.d.ts +14 -0
  185. package/data/build/dist/client/quick-apps/file-picker.d.ts.map +1 -0
  186. package/data/build/dist/client/quick-apps/file-picker.js +51 -0
  187. package/data/build/dist/client/quick-apps/file-picker.js.map +1 -0
  188. package/data/build/dist/client/quick-apps/launcher.d.ts +7 -0
  189. package/data/build/dist/client/quick-apps/launcher.d.ts.map +1 -0
  190. package/data/build/dist/client/quick-apps/launcher.js +267 -0
  191. package/data/build/dist/client/quick-apps/launcher.js.map +1 -0
  192. package/data/build/dist/client/quick-apps/presentation.d.ts +16 -0
  193. package/data/build/dist/client/quick-apps/presentation.d.ts.map +1 -0
  194. package/data/build/dist/client/quick-apps/presentation.js +47 -0
  195. package/data/build/dist/client/quick-apps/presentation.js.map +1 -0
  196. package/data/build/dist/client/quick-apps/rail-preference.d.ts +5 -0
  197. package/data/build/dist/client/quick-apps/rail-preference.d.ts.map +1 -0
  198. package/data/build/dist/client/quick-apps/rail-preference.js +19 -0
  199. package/data/build/dist/client/quick-apps/rail-preference.js.map +1 -0
  200. package/data/build/dist/client/quick-apps/reorder-animation.d.ts +6 -0
  201. package/data/build/dist/client/quick-apps/reorder-animation.d.ts.map +1 -0
  202. package/data/build/dist/client/quick-apps/reorder-animation.js +50 -0
  203. package/data/build/dist/client/quick-apps/reorder-animation.js.map +1 -0
  204. package/data/build/dist/client/quick-apps/reorder.d.ts +26 -0
  205. package/data/build/dist/client/quick-apps/reorder.d.ts.map +1 -0
  206. package/data/build/dist/client/quick-apps/reorder.js +128 -0
  207. package/data/build/dist/client/quick-apps/reorder.js.map +1 -0
  208. package/data/build/dist/client/quick-apps/styles.d.ts +3 -0
  209. package/data/build/dist/client/quick-apps/styles.d.ts.map +1 -0
  210. package/data/build/dist/client/quick-apps/styles.js +153 -0
  211. package/data/build/dist/client/quick-apps/styles.js.map +1 -0
  212. package/data/build/dist/client/quick-apps/ui.d.ts +20 -0
  213. package/data/build/dist/client/quick-apps/ui.d.ts.map +1 -0
  214. package/data/build/dist/client/quick-apps/ui.js +21 -0
  215. package/data/build/dist/client/quick-apps/ui.js.map +1 -0
  216. package/data/build/dist/client/quick-apps/viewer.d.ts +16 -0
  217. package/data/build/dist/client/quick-apps/viewer.d.ts.map +1 -0
  218. package/data/build/dist/client/quick-apps/viewer.js +165 -0
  219. package/data/build/dist/client/quick-apps/viewer.js.map +1 -0
  220. package/data/build/dist/client/quick-apps/workspace-picker.d.ts +19 -0
  221. package/data/build/dist/client/quick-apps/workspace-picker.d.ts.map +1 -0
  222. package/data/build/dist/client/quick-apps/workspace-picker.js +30 -0
  223. package/data/build/dist/client/quick-apps/workspace-picker.js.map +1 -0
  224. package/data/build/dist/client/session-translation-chat.d.ts +68 -2
  225. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  226. package/data/build/dist/client/session-translation-chat.js +297 -109
  227. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  228. package/data/build/dist/client/session-translation-interactions.d.ts +31 -0
  229. package/data/build/dist/client/session-translation-interactions.d.ts.map +1 -0
  230. package/data/build/dist/client/session-translation-interactions.js +158 -0
  231. package/data/build/dist/client/session-translation-interactions.js.map +1 -0
  232. package/data/build/dist/client/session-translation-pending-dom.d.ts +8 -0
  233. package/data/build/dist/client/session-translation-pending-dom.d.ts.map +1 -0
  234. package/data/build/dist/client/session-translation-pending-dom.js +58 -0
  235. package/data/build/dist/client/session-translation-pending-dom.js.map +1 -0
  236. package/data/build/dist/client/session-translation-retry.d.ts +16 -0
  237. package/data/build/dist/client/session-translation-retry.d.ts.map +1 -0
  238. package/data/build/dist/client/session-translation-retry.js +66 -0
  239. package/data/build/dist/client/session-translation-retry.js.map +1 -0
  240. package/data/build/dist/client/session-translation-rules.d.ts +13 -0
  241. package/data/build/dist/client/session-translation-rules.d.ts.map +1 -0
  242. package/data/build/dist/client/session-translation-rules.js +58 -0
  243. package/data/build/dist/client/session-translation-rules.js.map +1 -0
  244. package/data/build/dist/client/sidebar-footer-style.d.ts +13 -0
  245. package/data/build/dist/client/sidebar-footer-style.d.ts.map +1 -0
  246. package/data/build/dist/client/sidebar-footer-style.js +54 -0
  247. package/data/build/dist/client/sidebar-footer-style.js.map +1 -0
  248. package/data/build/dist/client/style.css +276 -276
  249. package/data/build/dist/client/subscription-slot.d.ts +6 -2
  250. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  251. package/data/build/dist/client/subscription-slot.js +373 -21
  252. package/data/build/dist/client/subscription-slot.js.map +1 -1
  253. package/data/build/dist/client/terminal/model.d.ts.map +1 -1
  254. package/data/build/dist/client/terminal/model.js +2 -1
  255. package/data/build/dist/client/terminal/model.js.map +1 -1
  256. package/data/build/dist/client/workspace-session-archive-dom.d.ts +1 -0
  257. package/data/build/dist/client/workspace-session-archive-dom.d.ts.map +1 -1
  258. package/data/build/dist/client/workspace-session-archive-dom.js +68 -8
  259. package/data/build/dist/client/workspace-session-archive-dom.js.map +1 -1
  260. package/data/build/dist/client/workspace-session-rightbar-dom.d.ts.map +1 -1
  261. package/data/build/dist/client/workspace-session-rightbar-dom.js +12 -21
  262. package/data/build/dist/client/workspace-session-rightbar-dom.js.map +1 -1
  263. package/data/build/dist/client/workspace-session-visibility-dom.d.ts +3 -0
  264. package/data/build/dist/client/workspace-session-visibility-dom.d.ts.map +1 -1
  265. package/data/build/dist/client/workspace-session-visibility-dom.js +43 -10
  266. package/data/build/dist/client/workspace-session-visibility-dom.js.map +1 -1
  267. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts +8 -0
  268. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.d.ts.map +1 -0
  269. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js +71 -0
  270. package/data/build/dist/dsh-capabilities/client/composer-presentation-adapter.js.map +1 -0
  271. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts +4 -0
  272. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.d.ts.map +1 -0
  273. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js +8 -0
  274. package/data/build/dist/dsh-capabilities/client/composer-slot-selectors.js.map +1 -0
  275. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts +30 -0
  276. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts.map +1 -0
  277. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js +93 -0
  278. package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js.map +1 -0
  279. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts +12 -0
  280. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts.map +1 -0
  281. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js +181 -0
  282. package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js.map +1 -0
  283. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts +19 -0
  284. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.d.ts.map +1 -0
  285. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js +39 -0
  286. package/data/build/dist/dsh-capabilities/client/message-presentation-adapter.js.map +1 -0
  287. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts +3 -0
  288. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.d.ts.map +1 -0
  289. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js +27 -0
  290. package/data/build/dist/dsh-capabilities/client/peer-host-attachment-adapter.js.map +1 -0
  291. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +36 -0
  292. package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
  293. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +88 -0
  294. package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
  295. package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts +20 -0
  296. package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts.map +1 -0
  297. package/data/build/dist/dsh-capabilities/client/question-history-adapter.js +65 -0
  298. package/data/build/dist/dsh-capabilities/client/question-history-adapter.js.map +1 -0
  299. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts +18 -0
  300. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.d.ts.map +1 -0
  301. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js +11 -0
  302. package/data/build/dist/dsh-capabilities/client/quick-app-footer-adapter.js.map +1 -0
  303. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +9 -0
  304. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -0
  305. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +75 -0
  306. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -0
  307. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts +3 -0
  308. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.d.ts.map +1 -0
  309. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js +22 -0
  310. package/data/build/dist/dsh-capabilities/client/sidebar-footer-icon-adapter.js.map +1 -0
  311. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts +32 -0
  312. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts.map +1 -0
  313. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js +90 -0
  314. package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js.map +1 -0
  315. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts +52 -0
  316. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.d.ts.map +1 -0
  317. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js +109 -0
  318. package/data/build/dist/dsh-capabilities/host/agent-team-adapter.js.map +1 -0
  319. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts +10 -0
  320. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.d.ts.map +1 -0
  321. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js +34 -0
  322. package/data/build/dist/dsh-capabilities/host/connection-peer-adapter.js.map +1 -0
  323. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts +21 -0
  324. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.d.ts.map +1 -0
  325. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js +11 -0
  326. package/data/build/dist/dsh-capabilities/host/native-dispatch-adapter.js.map +1 -0
  327. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts +11 -0
  328. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.d.ts.map +1 -0
  329. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js +97 -0
  330. package/data/build/dist/dsh-capabilities/host/quick-app-credentials.js.map +1 -0
  331. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts +36 -0
  332. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.d.ts.map +1 -0
  333. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js +164 -0
  334. package/data/build/dist/dsh-capabilities/host/quick-app-https-provider.js.map +1 -0
  335. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts +44 -0
  336. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.d.ts.map +1 -0
  337. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js +240 -0
  338. package/data/build/dist/dsh-capabilities/host/quick-app-lan-ports.js.map +1 -0
  339. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts +37 -0
  340. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.d.ts.map +1 -0
  341. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js +35 -0
  342. package/data/build/dist/dsh-capabilities/host/quick-app-origin-adapter.js.map +1 -0
  343. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts +13 -0
  344. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.d.ts.map +1 -0
  345. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js +30 -0
  346. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-adapter.js.map +1 -0
  347. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts +21 -0
  348. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.d.ts.map +1 -0
  349. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js +132 -0
  350. package/data/build/dist/dsh-capabilities/host/quick-app-proxy-provider.js.map +1 -0
  351. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts +10 -0
  352. package/data/build/dist/dsh-capabilities/host/quick-app-transport.d.ts.map +1 -0
  353. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js +33 -0
  354. package/data/build/dist/dsh-capabilities/host/quick-app-transport.js.map +1 -0
  355. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts +17 -0
  356. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.d.ts.map +1 -0
  357. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js +37 -0
  358. package/data/build/dist/dsh-capabilities/host/session-activation-adapter.js.map +1 -0
  359. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts +17 -0
  360. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -0
  361. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +45 -0
  362. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -0
  363. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts +7 -0
  364. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.d.ts.map +1 -0
  365. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js +18 -0
  366. package/data/build/dist/dsh-capabilities/host/session-performance-adapter.js.map +1 -0
  367. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts +28 -0
  368. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.d.ts.map +1 -0
  369. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js +31 -0
  370. package/data/build/dist/dsh-capabilities/host/session-prompt-adapter.js.map +1 -0
  371. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts +13 -0
  372. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.d.ts.map +1 -0
  373. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js +24 -0
  374. package/data/build/dist/dsh-capabilities/host/workspace-directory-adapter.js.map +1 -0
  375. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  376. package/data/build/dist/dsh-capabilities/matrix.js +22 -5
  377. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  378. package/data/build/dist/dsh-capabilities/routes.d.ts +1 -0
  379. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  380. package/data/build/dist/dsh-capabilities/routes.js +47 -3
  381. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  382. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  383. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  384. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  385. package/data/build/dist/host/cli-adapters/acp-cli-driver.d.ts.map +1 -1
  386. package/data/build/dist/host/cli-adapters/acp-cli-driver.js +6 -3
  387. package/data/build/dist/host/cli-adapters/acp-cli-driver.js.map +1 -1
  388. package/data/build/dist/host/cli-adapters/antigravity-driver.js +1 -1
  389. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  390. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts +4 -3
  391. package/data/build/dist/host/cli-adapters/attachment-utils.d.ts.map +1 -1
  392. package/data/build/dist/host/cli-adapters/attachment-utils.js +9 -8
  393. package/data/build/dist/host/cli-adapters/attachment-utils.js.map +1 -1
  394. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -1
  395. package/data/build/dist/host/cli-adapters/binary-detection.js +7 -3
  396. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -1
  397. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +1 -0
  398. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  399. package/data/build/dist/host/cli-adapters/claude-driver.js +184 -21
  400. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  401. package/data/build/dist/host/cli-adapters/codex-driver.d.ts +18 -0
  402. package/data/build/dist/host/cli-adapters/codex-driver.d.ts.map +1 -1
  403. package/data/build/dist/host/cli-adapters/codex-driver.js +126 -21
  404. package/data/build/dist/host/cli-adapters/codex-driver.js.map +1 -1
  405. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts +91 -0
  406. package/data/build/dist/host/cli-adapters/codex-performance-projection.d.ts.map +1 -0
  407. package/data/build/dist/host/cli-adapters/codex-performance-projection.js +8 -0
  408. package/data/build/dist/host/cli-adapters/codex-performance-projection.js.map +1 -0
  409. package/data/build/dist/host/cli-adapters/codex-performance.d.ts +16 -0
  410. package/data/build/dist/host/cli-adapters/codex-performance.d.ts.map +1 -0
  411. package/data/build/dist/host/cli-adapters/codex-performance.js +81 -0
  412. package/data/build/dist/host/cli-adapters/codex-performance.js.map +1 -0
  413. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts +4 -1
  414. package/data/build/dist/host/cli-adapters/command-code-acp-loader.d.ts.map +1 -1
  415. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js +137 -25
  416. package/data/build/dist/host/cli-adapters/command-code-acp-loader.js.map +1 -1
  417. package/data/build/dist/host/cli-adapters/command-code-driver.js +7 -4
  418. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  419. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts +3 -1
  420. package/data/build/dist/host/cli-adapters/desktop-app-runtime.d.ts.map +1 -1
  421. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js +41 -4
  422. package/data/build/dist/host/cli-adapters/desktop-app-runtime.js.map +1 -1
  423. package/data/build/dist/host/cli-adapters/driver.d.ts +2 -0
  424. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  425. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts +5 -1
  426. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  427. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +51 -16
  428. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  429. package/data/build/dist/host/cli-adapters/dsh-tool-history.js +3 -2
  430. package/data/build/dist/host/cli-adapters/dsh-tool-history.js.map +1 -1
  431. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.d.ts.map +1 -1
  432. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js +3 -2
  433. package/data/build/dist/host/cli-adapters/dsh-virtual-providers.js.map +1 -1
  434. package/data/build/dist/host/cli-adapters/feature.d.ts +4 -0
  435. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  436. package/data/build/dist/host/cli-adapters/feature.js +587 -101
  437. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  438. package/data/build/dist/host/cli-adapters/gemini-driver.d.ts.map +1 -1
  439. package/data/build/dist/host/cli-adapters/gemini-driver.js +5 -3
  440. package/data/build/dist/host/cli-adapters/gemini-driver.js.map +1 -1
  441. package/data/build/dist/host/cli-adapters/grok-driver.d.ts +7 -0
  442. package/data/build/dist/host/cli-adapters/grok-driver.d.ts.map +1 -1
  443. package/data/build/dist/host/cli-adapters/grok-driver.js +458 -59
  444. package/data/build/dist/host/cli-adapters/grok-driver.js.map +1 -1
  445. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts +123 -0
  446. package/data/build/dist/host/cli-adapters/grok-performance-projection.d.ts.map +1 -0
  447. package/data/build/dist/host/cli-adapters/grok-performance-projection.js +48 -0
  448. package/data/build/dist/host/cli-adapters/grok-performance-projection.js.map +1 -0
  449. package/data/build/dist/host/cli-adapters/grok-usage.d.ts +45 -0
  450. package/data/build/dist/host/cli-adapters/grok-usage.d.ts.map +1 -0
  451. package/data/build/dist/host/cli-adapters/grok-usage.js +197 -0
  452. package/data/build/dist/host/cli-adapters/grok-usage.js.map +1 -0
  453. package/data/build/dist/host/cli-adapters/kimi-driver.js +2 -2
  454. package/data/build/dist/host/cli-adapters/kimi-driver.js.map +1 -1
  455. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  456. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +20 -3
  457. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  458. package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts +9 -0
  459. package/data/build/dist/host/cli-adapters/magpie-session-routing.d.ts.map +1 -0
  460. package/data/build/dist/host/cli-adapters/magpie-session-routing.js +90 -0
  461. package/data/build/dist/host/cli-adapters/magpie-session-routing.js.map +1 -0
  462. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +90 -0
  463. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -0
  464. package/data/build/dist/host/cli-adapters/magpie-usage.js +986 -0
  465. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -0
  466. package/data/build/dist/host/cli-adapters/management-installation.d.ts +5 -0
  467. package/data/build/dist/host/cli-adapters/management-installation.d.ts.map +1 -0
  468. package/data/build/dist/host/cli-adapters/management-installation.js +131 -0
  469. package/data/build/dist/host/cli-adapters/management-installation.js.map +1 -0
  470. package/data/build/dist/host/cli-adapters/management-methods.d.ts +37 -0
  471. package/data/build/dist/host/cli-adapters/management-methods.d.ts.map +1 -0
  472. package/data/build/dist/host/cli-adapters/management-methods.js +144 -0
  473. package/data/build/dist/host/cli-adapters/management-methods.js.map +1 -0
  474. package/data/build/dist/host/cli-adapters/management-process.d.ts +7 -0
  475. package/data/build/dist/host/cli-adapters/management-process.d.ts.map +1 -0
  476. package/data/build/dist/host/cli-adapters/management-process.js +62 -0
  477. package/data/build/dist/host/cli-adapters/management-process.js.map +1 -0
  478. package/data/build/dist/host/cli-adapters/management.d.ts +32 -0
  479. package/data/build/dist/host/cli-adapters/management.d.ts.map +1 -0
  480. package/data/build/dist/host/cli-adapters/management.js +177 -0
  481. package/data/build/dist/host/cli-adapters/management.js.map +1 -0
  482. package/data/build/dist/host/cli-adapters/mcode-driver.d.ts.map +1 -1
  483. package/data/build/dist/host/cli-adapters/mcode-driver.js +12 -5
  484. package/data/build/dist/host/cli-adapters/mcode-driver.js.map +1 -1
  485. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +1 -0
  486. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  487. package/data/build/dist/host/cli-adapters/model-catalog.js +70 -7
  488. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  489. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts +1 -1
  490. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.d.ts.map +1 -1
  491. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +13 -5
  492. package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
  493. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts +7 -1
  494. package/data/build/dist/host/cli-adapters/native-team-subagent.d.ts.map +1 -1
  495. package/data/build/dist/host/cli-adapters/native-team-subagent.js +6 -3
  496. package/data/build/dist/host/cli-adapters/native-team-subagent.js.map +1 -1
  497. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +22 -0
  498. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  499. package/data/build/dist/host/cli-adapters/opencode-driver.js +105 -17
  500. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  501. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js +4 -1
  502. package/data/build/dist/host/cli-adapters/opencode-v2-protocol.js.map +1 -1
  503. package/data/build/dist/host/cli-adapters/pi-driver.d.ts.map +1 -1
  504. package/data/build/dist/host/cli-adapters/pi-driver.js +45 -11
  505. package/data/build/dist/host/cli-adapters/pi-driver.js.map +1 -1
  506. package/data/build/dist/host/cli-adapters/process-utils.d.ts +2 -0
  507. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  508. package/data/build/dist/host/cli-adapters/process-utils.js +16 -11
  509. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  510. package/data/build/dist/host/cli-adapters/registry.d.ts +7 -1
  511. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  512. package/data/build/dist/host/cli-adapters/registry.js +141 -51
  513. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  514. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts +74 -0
  515. package/data/build/dist/host/cli-adapters/session-performance-projection.d.ts.map +1 -0
  516. package/data/build/dist/host/cli-adapters/session-performance-projection.js +83 -0
  517. package/data/build/dist/host/cli-adapters/session-performance-projection.js.map +1 -0
  518. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  519. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +4 -0
  520. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  521. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts +3 -1
  522. package/data/build/dist/host/cli-adapters/stream-normalizer.d.ts.map +1 -1
  523. package/data/build/dist/host/cli-adapters/stream-normalizer.js +2 -0
  524. package/data/build/dist/host/cli-adapters/stream-normalizer.js.map +1 -1
  525. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts +26 -0
  526. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.d.ts.map +1 -0
  527. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js +30 -0
  528. package/data/build/dist/host/cli-adapters/subagent-tool-descriptions.js.map +1 -0
  529. package/data/build/dist/host/cli-adapters/subagent-tool.d.ts.map +1 -1
  530. package/data/build/dist/host/cli-adapters/subagent-tool.js +7 -6
  531. package/data/build/dist/host/cli-adapters/subagent-tool.js.map +1 -1
  532. package/data/build/dist/host/cli-adapters/team-input.d.ts +17 -0
  533. package/data/build/dist/host/cli-adapters/team-input.d.ts.map +1 -0
  534. package/data/build/dist/host/cli-adapters/team-input.js +67 -0
  535. package/data/build/dist/host/cli-adapters/team-input.js.map +1 -0
  536. package/data/build/dist/host/cli-adapters/update-check.d.ts +34 -0
  537. package/data/build/dist/host/cli-adapters/update-check.d.ts.map +1 -0
  538. package/data/build/dist/host/cli-adapters/update-check.js +263 -0
  539. package/data/build/dist/host/cli-adapters/update-check.js.map +1 -0
  540. package/data/build/dist/host/cli-adapters/zcode-driver.d.ts.map +1 -1
  541. package/data/build/dist/host/cli-adapters/zcode-driver.js +7 -2
  542. package/data/build/dist/host/cli-adapters/zcode-driver.js.map +1 -1
  543. package/data/build/dist/host/cli-adapters/zcode-update.d.ts +8 -0
  544. package/data/build/dist/host/cli-adapters/zcode-update.d.ts.map +1 -0
  545. package/data/build/dist/host/cli-adapters/zcode-update.js +149 -0
  546. package/data/build/dist/host/cli-adapters/zcode-update.js.map +1 -0
  547. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts +14 -0
  548. package/data/build/dist/host/cli-bridge/bridge-holder.d.ts.map +1 -1
  549. package/data/build/dist/host/cli-bridge/bridge-holder.js +53 -6
  550. package/data/build/dist/host/cli-bridge/bridge-holder.js.map +1 -1
  551. package/data/build/dist/host/cli-bridge/bridge-server.d.ts +8 -0
  552. package/data/build/dist/host/cli-bridge/bridge-server.d.ts.map +1 -1
  553. package/data/build/dist/host/cli-bridge/bridge-server.js +63 -6
  554. package/data/build/dist/host/cli-bridge/bridge-server.js.map +1 -1
  555. package/data/build/dist/host/cli-bridge/command-code-mod.d.ts.map +1 -1
  556. package/data/build/dist/host/cli-bridge/command-code-mod.js +128 -0
  557. package/data/build/dist/host/cli-bridge/command-code-mod.js.map +1 -1
  558. package/data/build/dist/host/cli-bridge/dispatch.js +1 -1
  559. package/data/build/dist/host/cli-bridge/dispatch.js.map +1 -1
  560. package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts +23 -0
  561. package/data/build/dist/host/cli-bridge/fetch-dispatch.d.ts.map +1 -0
  562. package/data/build/dist/host/cli-bridge/fetch-dispatch.js +73 -0
  563. package/data/build/dist/host/cli-bridge/fetch-dispatch.js.map +1 -0
  564. package/data/build/dist/host/cli-bridge/injections.d.ts +14 -0
  565. package/data/build/dist/host/cli-bridge/injections.d.ts.map +1 -1
  566. package/data/build/dist/host/cli-bridge/injections.js +69 -7
  567. package/data/build/dist/host/cli-bridge/injections.js.map +1 -1
  568. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.d.ts +1 -1
  569. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js +102 -7
  570. package/data/build/dist/host/cli-bridge/mcp-stdio-entry.js.map +1 -1
  571. package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts +3 -0
  572. package/data/build/dist/host/cli-bridge/pi-extension-entry.d.ts.map +1 -0
  573. package/data/build/dist/host/cli-bridge/pi-extension-entry.js +9 -0
  574. package/data/build/dist/host/cli-bridge/pi-extension-entry.js.map +1 -0
  575. package/data/build/dist/host/cli-bridge/pi-extension.d.ts +52 -0
  576. package/data/build/dist/host/cli-bridge/pi-extension.d.ts.map +1 -0
  577. package/data/build/dist/host/cli-bridge/pi-extension.js +311 -0
  578. package/data/build/dist/host/cli-bridge/pi-extension.js.map +1 -0
  579. package/data/build/dist/host/cli-bridge/search-dispatch.d.ts +20 -0
  580. package/data/build/dist/host/cli-bridge/search-dispatch.d.ts.map +1 -0
  581. package/data/build/dist/host/cli-bridge/search-dispatch.js +61 -0
  582. package/data/build/dist/host/cli-bridge/search-dispatch.js.map +1 -0
  583. package/data/build/dist/host/cli-bridge/team-adapters.d.ts +11 -0
  584. package/data/build/dist/host/cli-bridge/team-adapters.d.ts.map +1 -0
  585. package/data/build/dist/host/cli-bridge/team-adapters.js +23 -0
  586. package/data/build/dist/host/cli-bridge/team-adapters.js.map +1 -0
  587. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts +28 -0
  588. package/data/build/dist/host/cli-bridge/team-dispatch.d.ts.map +1 -0
  589. package/data/build/dist/host/cli-bridge/team-dispatch.js +208 -0
  590. package/data/build/dist/host/cli-bridge/team-dispatch.js.map +1 -0
  591. package/data/build/dist/host/cli-bridge/team-tool.d.ts +3 -0
  592. package/data/build/dist/host/cli-bridge/team-tool.d.ts.map +1 -0
  593. package/data/build/dist/host/cli-bridge/team-tool.js +18 -0
  594. package/data/build/dist/host/cli-bridge/team-tool.js.map +1 -0
  595. package/data/build/dist/host/features/file-management.d.ts.map +1 -1
  596. package/data/build/dist/host/features/file-management.js +10 -1
  597. package/data/build/dist/host/features/file-management.js.map +1 -1
  598. package/data/build/dist/host/features/git-commit-message.d.ts +5 -0
  599. package/data/build/dist/host/features/git-commit-message.d.ts.map +1 -0
  600. package/data/build/dist/host/features/git-commit-message.js +66 -0
  601. package/data/build/dist/host/features/git-commit-message.js.map +1 -0
  602. package/data/build/dist/host/features/git-management.d.ts +11 -2
  603. package/data/build/dist/host/features/git-management.d.ts.map +1 -1
  604. package/data/build/dist/host/features/git-management.js +61 -7
  605. package/data/build/dist/host/features/git-management.js.map +1 -1
  606. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  607. package/data/build/dist/host/features/global-voice-rpc.js +2 -3
  608. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  609. package/data/build/dist/host/features/index.d.ts.map +1 -1
  610. package/data/build/dist/host/features/index.js +2 -0
  611. package/data/build/dist/host/features/index.js.map +1 -1
  612. package/data/build/dist/host/features/interaction-translation.d.ts +10 -0
  613. package/data/build/dist/host/features/interaction-translation.d.ts.map +1 -0
  614. package/data/build/dist/host/features/interaction-translation.js +219 -0
  615. package/data/build/dist/host/features/interaction-translation.js.map +1 -0
  616. package/data/build/dist/host/features/lan-access-dsh.d.ts.map +1 -1
  617. package/data/build/dist/host/features/lan-access-dsh.js +3 -3
  618. package/data/build/dist/host/features/lan-access-dsh.js.map +1 -1
  619. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  620. package/data/build/dist/host/features/peer-host.js +13 -6
  621. package/data/build/dist/host/features/peer-host.js.map +1 -1
  622. package/data/build/dist/host/features/quick-apps.d.ts +4 -0
  623. package/data/build/dist/host/features/quick-apps.d.ts.map +1 -0
  624. package/data/build/dist/host/features/quick-apps.js +158 -0
  625. package/data/build/dist/host/features/quick-apps.js.map +1 -0
  626. package/data/build/dist/host/features/session-prompt-translation.d.ts +10 -0
  627. package/data/build/dist/host/features/session-prompt-translation.d.ts.map +1 -0
  628. package/data/build/dist/host/features/session-prompt-translation.js +227 -0
  629. package/data/build/dist/host/features/session-prompt-translation.js.map +1 -0
  630. package/data/build/dist/host/features/session-translation-protection.d.ts +22 -0
  631. package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -0
  632. package/data/build/dist/host/features/session-translation-protection.js +204 -0
  633. package/data/build/dist/host/features/session-translation-protection.js.map +1 -0
  634. package/data/build/dist/host/features/session-translation-recovery.d.ts +21 -0
  635. package/data/build/dist/host/features/session-translation-recovery.d.ts.map +1 -0
  636. package/data/build/dist/host/features/session-translation-recovery.js +125 -0
  637. package/data/build/dist/host/features/session-translation-recovery.js.map +1 -0
  638. package/data/build/dist/host/features/session-translation-runtime.d.ts +16 -0
  639. package/data/build/dist/host/features/session-translation-runtime.d.ts.map +1 -0
  640. package/data/build/dist/host/features/session-translation-runtime.js +85 -0
  641. package/data/build/dist/host/features/session-translation-runtime.js.map +1 -0
  642. package/data/build/dist/host/features/session-translation-service.d.ts +19 -4
  643. package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
  644. package/data/build/dist/host/features/session-translation-service.js +249 -210
  645. package/data/build/dist/host/features/session-translation-service.js.map +1 -1
  646. package/data/build/dist/host/features/session-translation.d.ts.map +1 -1
  647. package/data/build/dist/host/features/session-translation.js +6 -3
  648. package/data/build/dist/host/features/session-translation.js.map +1 -1
  649. package/data/build/dist/host/features/types.d.ts +10 -0
  650. package/data/build/dist/host/features/types.d.ts.map +1 -1
  651. package/data/build/dist/host/html-workspace-files.d.ts +3 -0
  652. package/data/build/dist/host/html-workspace-files.d.ts.map +1 -0
  653. package/data/build/dist/host/html-workspace-files.js +135 -0
  654. package/data/build/dist/host/html-workspace-files.js.map +1 -0
  655. package/data/build/dist/host/index.d.ts.map +1 -1
  656. package/data/build/dist/host/index.js +32 -39
  657. package/data/build/dist/host/index.js.map +1 -1
  658. package/data/build/dist/host/lan-access-dsh.d.ts +14 -2
  659. package/data/build/dist/host/lan-access-dsh.d.ts.map +1 -1
  660. package/data/build/dist/host/lan-access-dsh.js +81 -13
  661. package/data/build/dist/host/lan-access-dsh.js.map +1 -1
  662. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts +2 -2
  663. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.d.ts.map +1 -1
  664. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js +10 -9
  665. package/data/build/dist/host/modules/peer-host/peer-host-native-dispatch.js.map +1 -1
  666. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts +3 -3
  667. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.d.ts.map +1 -1
  668. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js +26 -14
  669. package/data/build/dist/host/modules/peer-host/peer-host-native-streams.js.map +1 -1
  670. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts +5 -0
  671. package/data/build/dist/host/modules/peer-host/quick-app-gateway.d.ts.map +1 -0
  672. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js +27 -0
  673. package/data/build/dist/host/modules/peer-host/quick-app-gateway.js.map +1 -0
  674. package/data/build/dist/host/modules/quick-apps/browse.d.ts +5 -0
  675. package/data/build/dist/host/modules/quick-apps/browse.d.ts.map +1 -0
  676. package/data/build/dist/host/modules/quick-apps/browse.js +37 -0
  677. package/data/build/dist/host/modules/quick-apps/browse.js.map +1 -0
  678. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts +4 -0
  679. package/data/build/dist/host/modules/quick-apps/code-revision.d.ts.map +1 -0
  680. package/data/build/dist/host/modules/quick-apps/code-revision.js +39 -0
  681. package/data/build/dist/host/modules/quick-apps/code-revision.js.map +1 -0
  682. package/data/build/dist/host/modules/quick-apps/documents.d.ts +14 -0
  683. package/data/build/dist/host/modules/quick-apps/documents.d.ts.map +1 -0
  684. package/data/build/dist/host/modules/quick-apps/documents.js +87 -0
  685. package/data/build/dist/host/modules/quick-apps/documents.js.map +1 -0
  686. package/data/build/dist/host/modules/quick-apps/egress.d.ts +35 -0
  687. package/data/build/dist/host/modules/quick-apps/egress.d.ts.map +1 -0
  688. package/data/build/dist/host/modules/quick-apps/egress.js +244 -0
  689. package/data/build/dist/host/modules/quick-apps/egress.js.map +1 -0
  690. package/data/build/dist/host/modules/quick-apps/errors.d.ts +8 -0
  691. package/data/build/dist/host/modules/quick-apps/errors.d.ts.map +1 -0
  692. package/data/build/dist/host/modules/quick-apps/errors.js +15 -0
  693. package/data/build/dist/host/modules/quick-apps/errors.js.map +1 -0
  694. package/data/build/dist/host/modules/quick-apps/file-api.d.ts +30 -0
  695. package/data/build/dist/host/modules/quick-apps/file-api.d.ts.map +1 -0
  696. package/data/build/dist/host/modules/quick-apps/file-api.js +149 -0
  697. package/data/build/dist/host/modules/quick-apps/file-api.js.map +1 -0
  698. package/data/build/dist/host/modules/quick-apps/launches.d.ts +35 -0
  699. package/data/build/dist/host/modules/quick-apps/launches.d.ts.map +1 -0
  700. package/data/build/dist/host/modules/quick-apps/launches.js +80 -0
  701. package/data/build/dist/host/modules/quick-apps/launches.js.map +1 -0
  702. package/data/build/dist/host/modules/quick-apps/paths.d.ts +14 -0
  703. package/data/build/dist/host/modules/quick-apps/paths.d.ts.map +1 -0
  704. package/data/build/dist/host/modules/quick-apps/paths.js +72 -0
  705. package/data/build/dist/host/modules/quick-apps/paths.js.map +1 -0
  706. package/data/build/dist/host/modules/quick-apps/registry.d.ts +30 -0
  707. package/data/build/dist/host/modules/quick-apps/registry.d.ts.map +1 -0
  708. package/data/build/dist/host/modules/quick-apps/registry.js +195 -0
  709. package/data/build/dist/host/modules/quick-apps/registry.js.map +1 -0
  710. package/data/build/dist/host/modules/quick-apps/remote.d.ts +38 -0
  711. package/data/build/dist/host/modules/quick-apps/remote.d.ts.map +1 -0
  712. package/data/build/dist/host/modules/quick-apps/remote.js +238 -0
  713. package/data/build/dist/host/modules/quick-apps/remote.js.map +1 -0
  714. package/data/build/dist/host/modules/quick-apps/service.d.ts +27 -0
  715. package/data/build/dist/host/modules/quick-apps/service.d.ts.map +1 -0
  716. package/data/build/dist/host/modules/quick-apps/service.js +174 -0
  717. package/data/build/dist/host/modules/quick-apps/service.js.map +1 -0
  718. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts +8 -0
  719. package/data/build/dist/host/modules/quick-apps/static-handler.d.ts.map +1 -0
  720. package/data/build/dist/host/modules/quick-apps/static-handler.js +213 -0
  721. package/data/build/dist/host/modules/quick-apps/static-handler.js.map +1 -0
  722. package/data/build/dist/host/native-session-bridge.d.ts +7 -1
  723. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  724. package/data/build/dist/host/native-session-bridge.js +10 -15
  725. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  726. package/data/build/dist/host/rpc.d.ts.map +1 -1
  727. package/data/build/dist/host/rpc.js +23 -12
  728. package/data/build/dist/host/rpc.js.map +1 -1
  729. package/data/build/dist/host/session-changes.d.ts.map +1 -1
  730. package/data/build/dist/host/session-changes.js +6 -2
  731. package/data/build/dist/host/session-changes.js.map +1 -1
  732. package/data/build/dist/host/session-migration-repair.js +48 -35
  733. package/data/build/dist/host/session-migration-repair.js.map +1 -1
  734. package/data/build/dist/host/settings.d.ts.map +1 -1
  735. package/data/build/dist/host/settings.js +31 -2
  736. package/data/build/dist/host/settings.js.map +1 -1
  737. package/data/build/dist/host/workspace-file-mutations.d.ts +2 -0
  738. package/data/build/dist/host/workspace-file-mutations.d.ts.map +1 -0
  739. package/data/build/dist/host/workspace-file-mutations.js +15 -0
  740. package/data/build/dist/host/workspace-file-mutations.js.map +1 -0
  741. package/data/build/dist/host/workspace-root.d.ts +14 -0
  742. package/data/build/dist/host/workspace-root.d.ts.map +1 -0
  743. package/data/build/dist/host/workspace-root.js +99 -0
  744. package/data/build/dist/host/workspace-root.js.map +1 -0
  745. package/data/build/dist/shared/attachment-prompts.d.ts +11 -0
  746. package/data/build/dist/shared/attachment-prompts.d.ts.map +1 -0
  747. package/data/build/dist/shared/attachment-prompts.js +17 -0
  748. package/data/build/dist/shared/attachment-prompts.js.map +1 -0
  749. package/data/build/dist/shared/cli-provider-route.d.ts +7 -0
  750. package/data/build/dist/shared/cli-provider-route.d.ts.map +1 -0
  751. package/data/build/dist/shared/cli-provider-route.js +13 -0
  752. package/data/build/dist/shared/cli-provider-route.js.map +1 -0
  753. package/data/build/dist/shared/codex-performance.d.ts +3 -0
  754. package/data/build/dist/shared/codex-performance.d.ts.map +1 -0
  755. package/data/build/dist/shared/codex-performance.js +2 -0
  756. package/data/build/dist/shared/codex-performance.js.map +1 -0
  757. package/data/build/dist/shared/contracts/agent-team.d.ts +14 -0
  758. package/data/build/dist/shared/contracts/agent-team.d.ts.map +1 -0
  759. package/data/build/dist/shared/contracts/agent-team.js +48 -0
  760. package/data/build/dist/shared/contracts/agent-team.js.map +1 -0
  761. package/data/build/dist/shared/contracts/cli-adapter.d.ts +62 -1
  762. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  763. package/data/build/dist/shared/contracts/cli-management.d.ts +29 -0
  764. package/data/build/dist/shared/contracts/cli-management.d.ts.map +1 -0
  765. package/data/build/dist/shared/contracts/cli-management.js +2 -0
  766. package/data/build/dist/shared/contracts/cli-management.js.map +1 -0
  767. package/data/build/dist/shared/contracts/config.d.ts +7 -1
  768. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  769. package/data/build/dist/shared/contracts/config.js +3 -0
  770. package/data/build/dist/shared/contracts/config.js.map +1 -1
  771. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  772. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  773. package/data/build/dist/shared/contracts/git.d.ts +17 -0
  774. package/data/build/dist/shared/contracts/git.d.ts.map +1 -1
  775. package/data/build/dist/shared/contracts/git.js +27 -1
  776. package/data/build/dist/shared/contracts/git.js.map +1 -1
  777. package/data/build/dist/shared/contracts/interaction-presentation.d.ts +32 -0
  778. package/data/build/dist/shared/contracts/interaction-presentation.d.ts.map +1 -0
  779. package/data/build/dist/shared/contracts/interaction-presentation.js +2 -0
  780. package/data/build/dist/shared/contracts/interaction-presentation.js.map +1 -0
  781. package/data/build/dist/shared/contracts/interaction-translation.d.ts +53 -0
  782. package/data/build/dist/shared/contracts/interaction-translation.d.ts.map +1 -0
  783. package/data/build/dist/shared/contracts/interaction-translation.js +44 -0
  784. package/data/build/dist/shared/contracts/interaction-translation.js.map +1 -0
  785. package/data/build/dist/shared/contracts/quick-apps.d.ts +70 -0
  786. package/data/build/dist/shared/contracts/quick-apps.d.ts.map +1 -0
  787. package/data/build/dist/shared/contracts/quick-apps.js +4 -0
  788. package/data/build/dist/shared/contracts/quick-apps.js.map +1 -0
  789. package/data/build/dist/shared/contracts/session-translation.d.ts +82 -9
  790. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  791. package/data/build/dist/shared/contracts/session-translation.js +146 -2
  792. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  793. package/data/build/dist/shared/contracts/subscription.d.ts +87 -0
  794. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  795. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  796. package/data/build/dist/shared/contracts/version.d.ts +9 -15
  797. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  798. package/data/build/dist/shared/contracts/version.js +8 -14
  799. package/data/build/dist/shared/contracts/version.js.map +1 -1
  800. package/data/build/dist/shared/index.d.ts +3 -2
  801. package/data/build/dist/shared/index.d.ts.map +1 -1
  802. package/data/build/dist/shared/index.js +3 -2
  803. package/data/build/dist/shared/index.js.map +1 -1
  804. package/data/build/dist/shared/peer-host-http-routes.d.ts +4 -0
  805. package/data/build/dist/shared/peer-host-http-routes.d.ts.map +1 -1
  806. package/data/build/dist/shared/peer-host-http-routes.js +4 -0
  807. package/data/build/dist/shared/peer-host-http-routes.js.map +1 -1
  808. package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -1
  809. package/data/build/dist/shared/provider-icon-resources.js +1 -0
  810. package/data/build/dist/shared/provider-icon-resources.js.map +1 -1
  811. package/data/build/dist/shared/quick-app-browser-storage.d.ts +33 -0
  812. package/data/build/dist/shared/quick-app-browser-storage.d.ts.map +1 -0
  813. package/data/build/dist/shared/quick-app-browser-storage.js +33 -0
  814. package/data/build/dist/shared/quick-app-browser-storage.js.map +1 -0
  815. package/data/build/dist/shared/quick-app-network-allow.d.ts +8 -0
  816. package/data/build/dist/shared/quick-app-network-allow.d.ts.map +1 -0
  817. package/data/build/dist/shared/quick-app-network-allow.js +192 -0
  818. package/data/build/dist/shared/quick-app-network-allow.js.map +1 -0
  819. package/data/build/dist/shared/quick-app-network-bootstrap.d.ts +9 -0
  820. package/data/build/dist/shared/quick-app-network-bootstrap.d.ts.map +1 -0
  821. package/data/build/dist/shared/quick-app-network-bootstrap.js +134 -0
  822. package/data/build/dist/shared/quick-app-network-bootstrap.js.map +1 -0
  823. package/data/build/dist/shared/quick-app-proxy-path.d.ts +6 -0
  824. package/data/build/dist/shared/quick-app-proxy-path.d.ts.map +1 -0
  825. package/data/build/dist/shared/quick-app-proxy-path.js +18 -0
  826. package/data/build/dist/shared/quick-app-proxy-path.js.map +1 -0
  827. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts +9 -0
  828. package/data/build/dist/shared/quick-app-storage-bootstrap.d.ts.map +1 -0
  829. package/data/build/dist/shared/quick-app-storage-bootstrap.js +189 -0
  830. package/data/build/dist/shared/quick-app-storage-bootstrap.js.map +1 -0
  831. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts +7 -0
  832. package/data/build/dist/shared/quick-apps-bootstrap-locale.d.ts.map +1 -0
  833. package/data/build/dist/shared/quick-apps-bootstrap-locale.js +10 -0
  834. package/data/build/dist/shared/quick-apps-bootstrap-locale.js.map +1 -0
  835. package/data/build/dist/shared/request-performance.d.ts +15 -0
  836. package/data/build/dist/shared/request-performance.d.ts.map +1 -0
  837. package/data/build/dist/shared/request-performance.js +3 -0
  838. package/data/build/dist/shared/request-performance.js.map +1 -0
  839. package/data/build/dist/shared/translation-indicator.d.ts +26 -0
  840. package/data/build/dist/shared/translation-indicator.d.ts.map +1 -0
  841. package/data/build/dist/shared/translation-indicator.js +29 -0
  842. package/data/build/dist/shared/translation-indicator.js.map +1 -0
  843. package/package.json +35 -34
  844. package/profile/README.md +2 -2
  845. package/profile/package.json +3 -3
  846. package/profile/version.json +3 -3
  847. package/version.json +3 -3
  848. package/data/build/dist/client/client.model-catalog-cache.js.map +0 -1
@@ -1,11 +1,19 @@
1
1
  window.__ModuleLoader__.load({
2
2
  id: "@jingyi0605/codingns4dsh",
3
- chunk: "client.model-catalog-cache.js",
3
+ chunk: "client.magpie-model-tag.js",
4
4
  factory: (require) => {
5
5
  var module = { exports: {} };
6
6
  var exports = module.exports;
7
7
  const require_transport = require("@jingyi0605/codingns4dsh/client.transport.js");
8
8
  const require_primitives_adapter = require("@jingyi0605/codingns4dsh/client.primitives-adapter.js");
9
+ let react = require("react");
10
+ /** A bare brand name does not establish ownership of a DSH provider. */
11
+ function fromCliProviderId(provider) {
12
+ if (typeof provider !== "string" || !provider.startsWith("codingns-cli-")) return void 0;
13
+ const adapterId = provider.slice(13);
14
+ return adapterId === "" ? void 0 : adapterId;
15
+ }
16
+ //#endregion
9
17
  //#region src/client/provider-icons.ts
10
18
  /** 未绑定和未知 Agent 使用中性灰,绝不冒充任一已知品牌色。 */
11
19
  const PROVIDER_NEUTRAL_COLOR = "#71717a";
@@ -155,7 +163,8 @@ window.__ModuleLoader__.load({
155
163
  }
156
164
  /** 兼容旧版 CN profile 的会话快照,但不重新暴露第二个 Provider。 */
157
165
  function normalizeProviderAdapterId(adapterId) {
158
- return adapterId === "codebuddy-cn" ? "codebuddy" : adapterId;
166
+ const normalized = fromCliProviderId(adapterId) ?? adapterId;
167
+ return normalized === "codebuddy-cn" ? "codebuddy" : normalized;
159
168
  }
160
169
  const CODINGNS4DSH_DEBUG_LEVEL_ENV = "CODINGNS4DSH_DEBUG_LEVEL";
161
170
  const LEGACY_DEBUG_ENV = "CODINGNS4DSH_TUNNEL_DEBUG";
@@ -298,6 +307,100 @@ window.__ModuleLoader__.load({
298
307
  return /^未知 CLI RPC: cli\/catalog\/refresh$/u.test(message) ? t("cli.redetectHostUnsupported") : message;
299
308
  }
300
309
  //#endregion
310
+ //#region src/client/adapter-catalog-watch.ts
311
+ const loads = /* @__PURE__ */ new WeakMap();
312
+ const listeners = /* @__PURE__ */ new WeakMap();
313
+ /** 手动检测完成后,让已挂载的选择器和模型目录一起更新。 */
314
+ function notifyAdapterCatalogChanged(rpc) {
315
+ publishCatalogChange(rpc, { kind: "adapter" });
316
+ }
317
+ /** Model enrichment must not trigger a fresh adapter-installation scan. */
318
+ function notifyModelCatalogChanged(rpc, adapterId) {
319
+ publishCatalogChange(rpc, {
320
+ kind: "models",
321
+ adapterId
322
+ });
323
+ }
324
+ function publishCatalogChange(rpc, change) {
325
+ for (const listener of listeners.get(rpc) ?? []) listener(change);
326
+ }
327
+ function subscribeAdapterCatalogChanged(rpc, listener) {
328
+ let entries = listeners.get(rpc);
329
+ if (entries === void 0) {
330
+ entries = /* @__PURE__ */ new Set();
331
+ listeners.set(rpc, entries);
332
+ }
333
+ entries.add(listener);
334
+ return () => {
335
+ entries.delete(listener);
336
+ };
337
+ }
338
+ /** Poll only while installation detection or an explicitly requested release check is pending. */
339
+ function watchAdapterCatalog(rpc, sessionId, onValue, onError = () => void 0) {
340
+ let active = true;
341
+ let busy = false;
342
+ let dirty = false;
343
+ let started = Date.now();
344
+ let failures = 0;
345
+ let timer;
346
+ const refresh = async () => {
347
+ if (!active) return;
348
+ if (busy) {
349
+ dirty = true;
350
+ return;
351
+ }
352
+ clearTimeout(timer);
353
+ busy = true;
354
+ try {
355
+ let requests = loads.get(rpc);
356
+ if (requests === void 0) {
357
+ requests = /* @__PURE__ */ new Map();
358
+ loads.set(rpc, requests);
359
+ }
360
+ const key = sessionId ?? "";
361
+ let request = requests.get(key);
362
+ if (request === void 0) {
363
+ request = callCliRpc(rpc, "catalog", sessionId === void 0 ? {} : { sessionId }, AbortSignal.timeout(1e4)).finally(() => {
364
+ if (requests.get(key) === request) requests.delete(key);
365
+ });
366
+ requests.set(key, request);
367
+ }
368
+ const value = await request;
369
+ if (!active) return;
370
+ failures = 0;
371
+ onValue(value);
372
+ if (value.some((entry) => entry.detectionState === "pending" || entry.detectionState === "running" || entry.update?.state === "checking") && Date.now() - started < 12e4) timer = setTimeout(() => {
373
+ refresh();
374
+ }, 1e3);
375
+ } catch (error) {
376
+ if (active) {
377
+ failures += 1;
378
+ if (failures === 1) onError(error);
379
+ if (Date.now() - started < 12e4) timer = setTimeout(() => {
380
+ refresh();
381
+ }, Math.min(1e3 * 2 ** failures, 15e3));
382
+ }
383
+ } finally {
384
+ busy = false;
385
+ if (dirty && active) {
386
+ dirty = false;
387
+ refresh();
388
+ }
389
+ }
390
+ };
391
+ const remove = subscribeAdapterCatalogChanged(rpc, (change) => {
392
+ if (change.kind !== "adapter") return;
393
+ started = Date.now();
394
+ refresh();
395
+ });
396
+ refresh();
397
+ return () => {
398
+ active = false;
399
+ clearTimeout(timer);
400
+ remove();
401
+ };
402
+ }
403
+ //#endregion
301
404
  //#region src/client/model-catalog-cache.ts
302
405
  /**
303
406
  * Client 侧模型目录缓存。
@@ -349,11 +452,12 @@ window.__ModuleLoader__.load({
349
452
  }
350
453
  return times;
351
454
  }
352
- function storeCatalog(rpc, adapterId, value, sessionId) {
455
+ function storeCatalog(rpc, adapterId, value, sessionId, ttlMs = MODEL_CATALOG_CACHE_TTL_MS) {
353
456
  getModelCatalogCache(rpc, sessionId).set(adapterId, value);
354
457
  cacheTimesFor(rpc, sessionId).set(adapterId, {
355
458
  value,
356
- storedAt: Date.now()
459
+ storedAt: Date.now(),
460
+ ttlMs
357
461
  });
358
462
  }
359
463
  /** 指定会话时只作废其 Host;旧调用不传会话时仍清理整个 RPC 的指定目录。 */
@@ -400,30 +504,66 @@ window.__ModuleLoader__.load({
400
504
  }
401
505
  function loadModelCatalog(rpc, adapterId, sessionId) {
402
506
  const cached = getModelCatalogCache(rpc, sessionId).get(adapterId);
403
- if (cached !== void 0 && cached.fallback !== true && isFreshCacheEntry(rpc, adapterId, cached, sessionId)) return Promise.resolve(cached);
404
- if (cached !== void 0) invalidateModelCatalogCache(rpc, adapterId, sessionId);
507
+ const entry = cached === void 0 ? void 0 : cacheEntry(rpc, adapterId, sessionId);
508
+ if (cached !== void 0 && cached.fallback !== true && entry?.value === cached && isFreshCacheEntry(rpc, adapterId, cached, sessionId)) return Promise.resolve(cached);
405
509
  const loads = getModelCatalogLoadCache(rpc, sessionId);
406
510
  const running = loads.get(adapterId);
407
- if (running !== void 0) return running;
511
+ if (running !== void 0) return cached !== void 0 && cached.fallback !== true ? Promise.resolve(cached) : running;
512
+ const hasStaleCatalog = cached !== void 0 && cached.fallback !== true && entry?.value === cached;
513
+ if (cached !== void 0 && !hasStaleCatalog) invalidateModelCatalogCache(rpc, adapterId, sessionId);
408
514
  const request = callCliRpc(rpc, "models", {
409
515
  adapterId,
516
+ stage: "base",
410
517
  ...sessionId === void 0 ? {} : { sessionId }
411
518
  }).then((value) => {
412
519
  if (loads.get(adapterId) !== request) return loadModelCatalog(rpc, adapterId, sessionId);
413
- if (value.fallback === true) invalidateModelCatalogCache(rpc, adapterId, sessionId);
414
- else storeCatalog(rpc, adapterId, value, sessionId);
520
+ if (value.fallback === true) {
521
+ if (hasStaleCatalog && cached !== void 0) storeCatalog(rpc, adapterId, cached, sessionId, 5e3);
522
+ else invalidateModelCatalogCache(rpc, adapterId, sessionId);
523
+ } else {
524
+ storeCatalog(rpc, adapterId, value, sessionId);
525
+ if (hasStaleCatalog) notifyModelCatalogChanged(rpc, adapterId);
526
+ }
415
527
  return value;
528
+ });
529
+ loads.set(adapterId, request);
530
+ request.then(async (base) => {
531
+ if (base.fallback === true || base.magpiePending !== true || loads.get(adapterId) !== request) return;
532
+ try {
533
+ const enriched = await callCliRpc(rpc, "models", {
534
+ adapterId,
535
+ stage: "enriched",
536
+ ...sessionId === void 0 ? {} : { sessionId }
537
+ });
538
+ if (loads.get(adapterId) !== request || getModelCatalogCache(rpc, sessionId).get(adapterId) !== base || enriched.fallback === true) return;
539
+ storeCatalog(rpc, adapterId, enriched, sessionId);
540
+ notifyModelCatalogChanged(rpc, adapterId);
541
+ } catch {
542
+ if (loads.get(adapterId) !== request || getModelCatalogCache(rpc, sessionId).get(adapterId) !== base) return;
543
+ storeCatalog(rpc, adapterId, withoutMagpiePending(base), sessionId, 5e3);
544
+ notifyModelCatalogChanged(rpc, adapterId);
545
+ }
546
+ }).catch(() => {
547
+ if (loads.get(adapterId) !== request) return;
548
+ const current = getModelCatalogCache(rpc, sessionId).get(adapterId);
549
+ if (current === void 0 || current.fallback === true || cacheEntry(rpc, adapterId, sessionId)?.value !== current) return;
550
+ storeCatalog(rpc, adapterId, current, sessionId, 5e3);
416
551
  }).finally(() => {
417
552
  if (loads.get(adapterId) === request) loads.delete(adapterId);
418
553
  });
419
- loads.set(adapterId, request);
554
+ if (hasStaleCatalog) return Promise.resolve(cached);
420
555
  return request;
421
556
  }
557
+ function withoutMagpiePending(catalog) {
558
+ if (catalog.magpiePending !== true) return catalog;
559
+ const { magpiePending: _magpiePending, ...ready } = catalog;
560
+ return ready;
561
+ }
422
562
  /** 缓存条目是否仍在有效期内;没有时间戳的旧条目按过期处理并触发一次重新读取。 */
423
563
  function isFreshCacheEntry(rpc, adapterId, cached, sessionId) {
424
564
  const entry = cacheEntry(rpc, adapterId, sessionId);
425
565
  if (entry === void 0 || entry.value !== cached) return false;
426
- return Date.now() - entry.storedAt < MODEL_CATALOG_CACHE_TTL_MS;
566
+ return Date.now() - entry.storedAt < entry.ttlMs;
427
567
  }
428
568
  function getModelCatalogLoadCache(rpc, sessionId) {
429
569
  const key = modelCatalogKey(rpc, sessionId);
@@ -435,6 +575,71 @@ window.__ModuleLoader__.load({
435
575
  return cache;
436
576
  }
437
577
  //#endregion
578
+ //#region src/client/magpie-model-tag.ts
579
+ const MAGPIE_MODEL_TAG_ATTRIBUTE = "data-codingns-magpie-model-tag";
580
+ const MAGPIE_MODEL_LOGO_URL = "https://github.com/yetone/magpie/raw/main/site/public/img/icon-256.png";
581
+ const tagStyle = {
582
+ display: "inline-flex",
583
+ flex: "none",
584
+ alignItems: "center",
585
+ justifyContent: "center",
586
+ width: "18px",
587
+ height: "18px",
588
+ marginInlineStart: "auto",
589
+ whiteSpace: "nowrap",
590
+ verticalAlign: "middle"
591
+ };
592
+ const tagLogoStyle = {
593
+ display: "block",
594
+ width: "16px",
595
+ height: "16px",
596
+ flex: "0 0 16px",
597
+ objectFit: "contain",
598
+ borderRadius: "4px"
599
+ };
600
+ /** Compact visual source marker shared by every model-list surface. */
601
+ function MagpieModelTag() {
602
+ return (0, react.createElement)("span", {
603
+ [MAGPIE_MODEL_TAG_ATTRIBUTE]: "",
604
+ role: "note",
605
+ "aria-label": "Provided by Magpie",
606
+ title: "Provided by Magpie",
607
+ style: tagStyle
608
+ }, (0, react.createElement)("img", {
609
+ src: MAGPIE_MODEL_LOGO_URL,
610
+ alt: "Provided by Magpie",
611
+ style: tagLogoStyle
612
+ }));
613
+ }
614
+ /** Native DSH owns its menu DOM, so its option rows receive the same badge imperatively. */
615
+ function createMagpieModelTagNode(document, modelId) {
616
+ const tag = document.createElement("span");
617
+ tag.setAttribute(MAGPIE_MODEL_TAG_ATTRIBUTE, "");
618
+ if (modelId !== void 0) tag.dataset.modelId = modelId;
619
+ tag.setAttribute("role", "note");
620
+ tag.setAttribute("aria-label", "Provided by Magpie");
621
+ tag.title = "Provided by Magpie";
622
+ Object.assign(tag.style, tagStyle);
623
+ const logo = document.createElement("img");
624
+ logo.setAttribute("src", MAGPIE_MODEL_LOGO_URL);
625
+ logo.setAttribute("alt", "Provided by Magpie");
626
+ Object.assign(logo.style, tagLogoStyle);
627
+ tag.append(logo);
628
+ return tag;
629
+ }
630
+ //#endregion
631
+ Object.defineProperty(exports, "MAGPIE_MODEL_TAG_ATTRIBUTE", {
632
+ enumerable: true,
633
+ get: function() {
634
+ return MAGPIE_MODEL_TAG_ATTRIBUTE;
635
+ }
636
+ });
637
+ Object.defineProperty(exports, "MagpieModelTag", {
638
+ enumerable: true,
639
+ get: function() {
640
+ return MagpieModelTag;
641
+ }
642
+ });
438
643
  Object.defineProperty(exports, "adapterCatalogWithDsh", {
439
644
  enumerable: true,
440
645
  get: function() {
@@ -459,6 +664,12 @@ window.__ModuleLoader__.load({
459
664
  return catalogRefreshErrorMessage;
460
665
  }
461
666
  });
667
+ Object.defineProperty(exports, "createMagpieModelTagNode", {
668
+ enumerable: true,
669
+ get: function() {
670
+ return createMagpieModelTagNode;
671
+ }
672
+ });
462
673
  Object.defineProperty(exports, "debugInfo", {
463
674
  enumerable: true,
464
675
  get: function() {
@@ -513,6 +724,12 @@ window.__ModuleLoader__.load({
513
724
  return loadModelCatalog;
514
725
  }
515
726
  });
727
+ Object.defineProperty(exports, "notifyAdapterCatalogChanged", {
728
+ enumerable: true,
729
+ get: function() {
730
+ return notifyAdapterCatalogChanged;
731
+ }
732
+ });
516
733
  Object.defineProperty(exports, "providerIconUrl", {
517
734
  enumerable: true,
518
735
  get: function() {
@@ -537,8 +754,20 @@ window.__ModuleLoader__.load({
537
754
  return shouldRevalidateModelCatalog;
538
755
  }
539
756
  });
757
+ Object.defineProperty(exports, "subscribeAdapterCatalogChanged", {
758
+ enumerable: true,
759
+ get: function() {
760
+ return subscribeAdapterCatalogChanged;
761
+ }
762
+ });
763
+ Object.defineProperty(exports, "watchAdapterCatalog", {
764
+ enumerable: true,
765
+ get: function() {
766
+ return watchAdapterCatalog;
767
+ }
768
+ });
540
769
  return module.exports;
541
770
  }
542
771
  });
543
772
 
544
- //# sourceMappingURL=client.model-catalog-cache.js.map
773
+ //# sourceMappingURL=client.magpie-model-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.magpie-model-tag.js","names":["resolveCodingNsTranslator","CODINGNS_RPC_CHANNEL","parseVirtualSessionId","createElement"],"sources":["../../../../src/shared/cli-provider-route.ts","../../../../src/client/provider-icons.ts","../../../../src/shared/debug.ts","../../../../src/client/cli-catalog.ts","../../../../src/client/adapter-catalog-watch.ts","../../../../src/client/model-catalog-cache.ts","../../../../src/client/magpie-model-tag.ts"],"sourcesContent":["import type { CodingNsCliAdapterId } from './contracts/cli-adapter.js'\n\nexport const CLI_PROVIDER_PREFIX = 'codingns-cli-'\n\n/** DSH provider routes are global; persisted adapter IDs remain plugin-local. */\nexport function toCliProviderId(adapterId: CodingNsCliAdapterId): string {\n return `${CLI_PROVIDER_PREFIX}${adapterId}`\n}\n\n/** A bare brand name does not establish ownership of a DSH provider. */\nexport function fromCliProviderId(provider: unknown): CodingNsCliAdapterId | undefined {\n if (typeof provider !== 'string' || !provider.startsWith(CLI_PROVIDER_PREFIX)) return undefined\n const adapterId = provider.slice(CLI_PROVIDER_PREFIX.length)\n return adapterId === '' ? undefined : adapterId\n}\n","import { resolveCodingNsTranslator, type CodingNsTranslator } from './locale.js'\nimport { fromCliProviderId } from '../shared/cli-provider-route.js'\n\nexport interface ProviderVisual {\n readonly adapterId: string | null\n readonly displayName: string\n readonly iconUrl: string | undefined\n readonly color: string\n}\n\ninterface ProviderDefinition {\n readonly adapterId: string\n readonly displayName: string\n readonly displayNameKey?: string\n readonly color: string\n}\n\n/** 未绑定和未知 Agent 使用中性灰,绝不冒充任一已知品牌色。 */\nexport const PROVIDER_NEUTRAL_COLOR = '#71717a'\n\n/**\n * 外部 Agent 标识、显示名称与标签颜色的唯一映射。浏览器入口另行安装内联资产。\n *\n * 标签颜色用于会话行/归档列表的彩色标识:优先贴近本地图标或品牌色,\n * 并保持在浅色与深色主题下都可读的中等明度区间。\n */\nconst PROVIDER_DEFINITIONS: Readonly<Record<string, ProviderDefinition>> = {\n dsh: { adapterId: 'dsh', displayName: 'DeepSeek Harness', color: '#2563eb' },\n 'command-code': { adapterId: 'command-code', displayName: 'Command Code', color: '#8b5cf6' },\n 'claude-code': { adapterId: 'claude-code', displayName: 'Claude Code', color: '#d97757' },\n kimi: { adapterId: 'kimi', displayName: 'Kimi', color: '#0ea5e9' },\n gemini: { adapterId: 'gemini', displayName: 'Gemini CLI', color: '#4285f4' },\n pi: { adapterId: 'pi', displayName: 'Pi', color: '#f59e0b' },\n codex: { adapterId: 'codex', displayName: 'Codex', color: '#10a37f' },\n opencode: { adapterId: 'opencode', displayName: 'OpenCode', color: '#14b8a6' },\n grok: { adapterId: 'grok', displayName: 'Grok', color: '#71717a' },\n mcode: { adapterId: 'mcode', displayName: 'MiniMax Code', color: '#f97316' },\n zcode: { adapterId: 'zcode', displayName: 'ZCode', color: '#38bdf8' },\n codebuddy: { adapterId: 'codebuddy', displayName: 'CodeBuddy', color: '#2563eb' },\n workbuddy: { adapterId: 'workbuddy', displayName: 'WorkBuddy', color: '#0f766e' },\n 'cursor-cli': { adapterId: 'cursor-cli', displayName: 'Cursor CLI', color: '#111827' },\n 'kiro-cli': { adapterId: 'kiro-cli', displayName: 'Kiro CLI', color: '#7c3aed' },\n qoder: { adapterId: 'qoder', displayName: 'Qoder', color: '#ea580c' },\n 'qoder-cn': { adapterId: 'qoder-cn', displayName: 'Qoder CN', color: '#c2410c' },\n antigravity: { adapterId: 'antigravity', displayName: 'Antigravity', color: '#1d4ed8' },\n doubao: { adapterId: 'doubao', displayName: 'Doubao App', displayNameKey: 'provider.doubao', color: '#477fe8' },\n}\n\nconst PROVIDER_ICONS: Record<string, string> = {}\n\n/** 只由浏览器入口调用,使普通 Node 测试不需要加载 png/svg。 */\nexport function installProviderIcons(icons: Readonly<Record<string, string>>): void {\n for (const adapterId of Object.keys(PROVIDER_ICONS)) delete PROVIDER_ICONS[adapterId]\n // 资源也包含 R4 等上游品牌,不要求它同时是可执行的 Agent。\n for (const adapterId of Object.keys(icons)) {\n const iconUrl = icons[adapterId]\n if (iconUrl !== undefined) PROVIDER_ICONS[adapterId] = iconUrl\n }\n}\n\nexport function providerIconUrl(adapterId: string): string | undefined {\n return PROVIDER_ICONS[normalizeProviderAdapterId(adapterId)]\n}\n\n/**\n * 未绑定和未知值都返回中性占位,绝不冒充任一已知品牌。\n *\n * 第二个参数是 Codingns4DSH 词典翻译函数;未提供时退回内置中文词典,\n * 保证不接 locale 的调用方与单测仍能拿到稳定的展示名。\n */\nexport function providerVisual(adapterId: string | undefined, t?: CodingNsTranslator): ProviderVisual {\n const translate = t ?? resolveCodingNsTranslator()\n if (adapterId === undefined || adapterId.trim() === '') {\n return { adapterId: null, displayName: translate('provider.unbound'), iconUrl: undefined, color: PROVIDER_NEUTRAL_COLOR }\n }\n const normalizedAdapterId = normalizeProviderAdapterId(adapterId)\n const definition = PROVIDER_DEFINITIONS[normalizedAdapterId]\n if (definition === undefined) {\n return { adapterId, displayName: translate('provider.unknown', { adapterId }), iconUrl: undefined, color: PROVIDER_NEUTRAL_COLOR }\n }\n return { ...definition, displayName: definition.displayNameKey ? translate(definition.displayNameKey) : definition.displayName, iconUrl: PROVIDER_ICONS[normalizedAdapterId] }\n}\n\n/** 兼容旧版 CN profile 的会话快照,但不重新暴露第二个 Provider。 */\nfunction normalizeProviderAdapterId(adapterId: string): string {\n const normalized = fromCliProviderId(adapterId) ?? adapterId\n return normalized === 'codebuddy-cn' ? 'codebuddy' : normalized\n}\n\nexport { PROVIDER_DEFINITIONS, PROVIDER_ICONS }\n","/**\n * Codingns4DSH 调试日志开关。\n *\n * 调试输出默认关闭。需要查看启动或 RPC 追踪时,使用\n * `CODINGNS4DSH_DEBUG=1 dsh ...` 启动 DSH;浏览器侧同时支持 `?dshDebug=1`。\n * 只看警告和错误时使用 `CODINGNS4DSH_DEBUG_LEVEL=warn`,也接受\n * `CODINGNS4DSH_DEBUG=warn` 作为简写。\n */\nexport const CODINGNS4DSH_DEBUG_ENV = 'CODINGNS4DSH_DEBUG'\nexport const CODINGNS4DSH_DEBUG_LEVEL_ENV = 'CODINGNS4DSH_DEBUG_LEVEL'\n/** 兼容脚本化启动器的显式警告模式开关。 */\nexport const CODINGNS4DSH_DEBUG_WARN_ENV = 'CODINGNS4DSH_DEBUG_WARN'\n\nconst LEGACY_DEBUG_ENV = 'CODINGNS4DSH_TUNNEL_DEBUG'\n\nexport type CodingNsDebugLevel = 'off' | 'warn' | 'info'\n\n/** 当前运行环境是否明确要求输出调试日志。 */\nexport function resolveCodingNsDebugEnabled(): boolean {\n return resolveCodingNsDebugLevel() !== 'off'\n}\n\n/** 解析调试日志级别;`warn` 会过滤普通追踪信息,只保留警告和错误。 */\nexport function resolveCodingNsDebugLevel(): CodingNsDebugLevel {\n const globals = globalThis as typeof globalThis & {\n __CODINGNS4DSH_DEBUG_ENABLED__?: unknown\n __CODINGNS4DSH_DEBUG_LEVEL__?: unknown\n __CODINGNS4DSH_TUNNEL_DEBUG__?: unknown\n }\n if (globals.__CODINGNS4DSH_DEBUG_LEVEL__ !== undefined) {\n return parseDebugLevel(globals.__CODINGNS4DSH_DEBUG_LEVEL__)\n }\n const globalValue = globals.__CODINGNS4DSH_DEBUG_ENABLED__ ?? globals.__CODINGNS4DSH_TUNNEL_DEBUG__\n if (globalValue !== undefined) return parseDebugValue(globalValue) ? 'info' : 'off'\n\n if (typeof location !== 'undefined') {\n const searchParams = new URL(location.href).searchParams\n const queryValue = searchParams.get('dshDebugLevel') ?? searchParams.get('dshDebug')\n if (queryValue !== null) return parseDebugLevel(queryValue)\n }\n\n if (typeof localStorage !== 'undefined') {\n try {\n const storedLevel = localStorage.getItem('codingns4dsh-debug-level')\n if (storedLevel !== null) return parseDebugLevel(storedLevel)\n const storedWarn = localStorage.getItem('codingns4dsh-debug-warn')\n if (storedWarn !== null && parseDebugValue(storedWarn)) return 'warn'\n const stored = localStorage.getItem('codingns4dsh-debug')\n ?? localStorage.getItem('codingns4dsh-tunnel-debug')\n if (stored !== null) return parseDebugLevel(stored)\n } catch {\n // 隐私模式或受限 iframe 可能禁止读取 localStorage,继续检查进程环境变量。\n }\n }\n\n if (typeof process !== 'undefined') {\n const level = process.env[CODINGNS4DSH_DEBUG_LEVEL_ENV]\n if (level !== undefined) return parseDebugLevel(level)\n if (parseDebugValue(process.env[CODINGNS4DSH_DEBUG_WARN_ENV])) return 'warn'\n return parseDebugLevel(process.env[CODINGNS4DSH_DEBUG_ENV] ?? process.env[LEGACY_DEBUG_ENV])\n }\n return 'off'\n}\n\n/** 输出受统一开关控制的调试信息。 */\nexport function debugInfo(message: unknown, ...args: unknown[]): void {\n if (resolveCodingNsDebugLevel() === 'info') console.info(message, ...args)\n}\n\n/** 输出受统一开关控制的调试警告。 */\nexport function debugWarn(message: unknown, ...args: unknown[]): void {\n if (resolveCodingNsDebugEnabled()) console.warn(message, ...args)\n}\n\nfunction parseDebugValue(value: unknown): boolean {\n if (typeof value === 'boolean') return value\n if (typeof value !== 'string') return false\n return /^(1|true|yes|on)$/iu.test(value.trim())\n}\n\nfunction parseDebugLevel(value: unknown): CodingNsDebugLevel {\n if (typeof value === 'boolean') return value ? 'info' : 'off'\n if (typeof value !== 'string') return 'off'\n const normalized = value.trim().toLowerCase()\n if (/^(warn|warning|error)$/u.test(normalized)) return 'warn'\n if (/^(1|true|yes|on|info|debug)$/u.test(normalized)) return 'info'\n return 'off'\n}\n","import type {\n CodingNsCliAdapterDescriptor,\n CodingNsCliModel,\n CodingNsCliModelCatalog,\n CodingNsCliSessionRecord,\n} from '../shared/contracts/cli-adapter.js'\nimport { CODINGNS_RPC_CHANNEL } from '../shared/contracts/transport.js'\nimport { debugInfo, debugWarn } from '../shared/debug.js'\nimport type { CodingNsRpcClient } from './features/types.js'\nimport type { CodingNsTranslator } from './locale.js'\n\n/** 设置页和选择器使用同一状态文案,检测中或失败都不能显示成未安装。 */\nexport function adapterDetectionLabel(adapter: CodingNsCliAdapterDescriptor): 'cli.detecting' | 'cli.detectionFailed' | 'cli.installed' | 'cli.installedOffline' | 'cli.notInstalled' {\n if (adapter.detectionState === 'pending' || adapter.detectionState === 'running') return 'cli.detecting'\n if (adapter.detectionState === 'error') return 'cli.detectionFailed'\n if (adapter.installed && adapter.runtimeState === 'installed') return 'cli.installedOffline'\n return adapter.installed ? 'cli.installed' : 'cli.notInstalled'\n}\n\n/** Client 侧访问 Host CLI 命名空间的统一入口。 */\nexport async function callCliRpc<T>(rpc: CodingNsRpcClient, action: string, payload: unknown, signal?: AbortSignal): Promise<T> {\n let response\n try {\n debugInfo('codingns4dsh: cli rpc request', { channel: CODINGNS_RPC_CHANNEL, action })\n response = await rpc.call(CODINGNS_RPC_CHANNEL, `cli/${action}`, payload, signal)\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n if (!/HTTP (?:404|405)\\b/u.test(message)) throw error\n debugWarn('codingns4dsh: cli rpc fallback', { action, error: message })\n try {\n response = await rpc.call('/api', `codingns/cli/${action}`, payload, signal)\n } catch (fallbackError) {\n console.error('codingns4dsh: cli rpc fallback failed', { action, error: fallbackError })\n throw fallbackError\n }\n }\n if (!response.ok) {\n console.error('codingns4dsh: cli rpc response error', { action, error: response.error })\n throw new Error(response.error.message)\n }\n debugInfo('codingns4dsh: cli rpc response success', { action })\n return response.value as T\n}\n\nexport function adapterCatalogWithDsh(catalog: readonly CodingNsCliAdapterDescriptor[], dshVersion?: string): CodingNsCliAdapterDescriptor[] {\n // 对话框只展示实际可用的适配器;未安装或已停用的适配器由设置页管理。\n const available = catalog.filter((adapter) => adapter.installed && adapter.enabled)\n const version = dshVersion?.trim()\n const existingDsh = available.find((adapter) => adapter.id === 'dsh')\n if (existingDsh !== undefined) {\n if (version === undefined || version === '' || existingDsh.version === version) return available\n return available.map((adapter) => adapter.id === 'dsh' ? { ...adapter, version } : adapter)\n }\n return [{ id: 'dsh', name: 'DeepSeek Harness', installed: true, enabled: true, version: version === undefined || version === '' ? null : version, command: null }, ...available]\n}\n\nexport function firstModel(catalog: CodingNsCliModelCatalog): CodingNsCliModel | undefined {\n for (const group of catalog.groups) {\n const model = group.models[0]\n if (model !== undefined) return model\n }\n return undefined\n}\n\nexport function findModel(catalog: CodingNsCliModelCatalog, modelId: string | undefined): CodingNsCliModel | undefined {\n if (modelId === undefined) return undefined\n for (const group of catalog.groups) {\n const model = group.models.find((item) => item.id === modelId)\n if (model !== undefined) return model\n }\n return undefined\n}\n\nexport function errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\n/** 旧 Host 缺少重新检测动作时给出版本提示;网络和检测错误仍保留原始原因。 */\nexport function catalogRefreshErrorMessage(error: unknown, t: CodingNsTranslator): string {\n const message = errorMessage(error)\n return /^未知 CLI RPC: cli\\/catalog\\/refresh$/u.test(message)\n ? t('cli.redetectHostUnsupported')\n : message\n}\n\n/** 读取 Host 持久化的外部会话索引;兼容数组和带 items/sessions 的响应包装。 */\nexport async function listCliSessions(\n rpc: CodingNsRpcClient,\n options: { readonly includeArchived?: boolean; readonly adapterId?: string } = {},\n): Promise<readonly CodingNsCliSessionRecord[]> {\n const value = await callCliRpc<unknown>(rpc, 'session/list', options)\n const rows = Array.isArray(value)\n ? value\n : isRecord(value) && Array.isArray(value.items)\n ? value.items\n : isRecord(value) && Array.isArray(value.sessions)\n ? value.sessions\n : []\n return rows.filter(isCliSessionRecord).map(redactCliSessionRecord)\n}\n\n/** 把已存在的 DSH 会话恢复到原生会话页面;插件不接管消息列表。 */\nexport async function restoreCliSession(\n rpc: CodingNsRpcClient,\n record: CodingNsCliSessionRecord,\n): Promise<void> {\n await callCliRpc(rpc, 'session/set', {\n sessionId: record.dshSessionId,\n adapterId: record.adapterId,\n ...(record.modelId ? { modelId: record.modelId } : {}),\n ...(record.effortId ? { effortId: record.effortId } : {}),\n ...(record.serviceTierId ? { serviceTierId: record.serviceTierId } : {}),\n ...(record.providerId ? { providerId: record.providerId } : {}),\n ...(record.providerSessionId ? { providerSessionId: record.providerSessionId } : {}),\n })\n navigateToDshSession(record.dshSessionId)\n}\n\n/** 通过 Host 同步归档 DSH 原生会话和 Codingns4DSH 外部会话索引。 */\nexport async function archiveCliSession(\n rpc: CodingNsRpcClient,\n sessionId: string,\n): Promise<void> {\n await callCliRpc(rpc, 'session/archive', { sessionId })\n}\n\n/**\n * 使用 DSH 当前的会话路由,而不是在插件中复制会话消息组件。\n * 旧版 DSH 使用 `/sessions/:id`,新版 workspace 页面使用同一路径的 workspace 前缀,\n * 因此保留当前 workspace 段并只替换 session id。\n */\nexport function navigateToDshSession(sessionId: string): void {\n if (typeof window === 'undefined' || sessionId.trim() === '') return\n const encoded = encodeURIComponent(sessionId.trim())\n const pathname = window.location.pathname\n const nextPath = /^(\\/workspaces\\/[^/]+\\/sessions\\/)[^/]+(?:\\/.*)?$/u.test(pathname)\n ? pathname.replace(/^(\\/workspaces\\/[^/]+\\/sessions\\/)[^/]+(?:\\/.*)?$/u, `$1${encoded}`)\n : /^\\/sessions\\/[^/]+(?:\\/.*)?$/u.test(pathname)\n ? pathname.replace(/^\\/sessions\\/[^/]+(?:\\/.*)?$/u, `/sessions/${encoded}`)\n : `/sessions/${encoded}`\n if (`${window.location.pathname}${window.location.search}${window.location.hash}` === `${nextPath}${window.location.search}${window.location.hash}`) return\n window.history.pushState({}, '', nextPath)\n window.dispatchEvent(new PopStateEvent('popstate'))\n}\n\nfunction isCliSessionRecord(value: unknown): value is CodingNsCliSessionRecord {\n if (!isRecord(value)) return false\n return typeof value.dshSessionId === 'string'\n && value.dshSessionId.trim() !== ''\n && typeof value.adapterId === 'string'\n && value.adapterId.trim() !== ''\n && (value.status === 'active' || value.status === 'idle' || value.status === 'error' || value.status === 'archived')\n && typeof value.createdAt === 'string'\n && typeof value.updatedAt === 'string'\n}\n\n/** 双重防护:即使旧 Host 错误返回 rawStoreRef,浏览器也不会把它留在状态中。 */\nfunction redactCliSessionRecord(record: CodingNsCliSessionRecord): CodingNsCliSessionRecord {\n const { rawStoreRef: _rawStoreRef, ...safe } = record\n return safe\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n}\n","import type { CodingNsCliAdapterDescriptor } from '../shared/contracts/cli-adapter.js'\nimport type { CodingNsRpcClient } from './features/types.js'\nimport { callCliRpc } from './cli-catalog.js'\n\nconst loads = new WeakMap<CodingNsRpcClient, Map<string, Promise<readonly CodingNsCliAdapterDescriptor[]>>>()\nexport type AdapterCatalogChange =\n | { readonly kind: 'adapter' }\n | { readonly kind: 'models'; readonly adapterId: string }\n\nconst listeners = new WeakMap<CodingNsRpcClient, Set<(change: AdapterCatalogChange) => void>>()\n\n/** 手动检测完成后,让已挂载的选择器和模型目录一起更新。 */\nexport function notifyAdapterCatalogChanged(rpc: CodingNsRpcClient): void {\n publishCatalogChange(rpc, { kind: 'adapter' })\n}\n\n/** Model enrichment must not trigger a fresh adapter-installation scan. */\nexport function notifyModelCatalogChanged(rpc: CodingNsRpcClient, adapterId: string): void {\n publishCatalogChange(rpc, { kind: 'models', adapterId })\n}\n\nfunction publishCatalogChange(rpc: CodingNsRpcClient, change: AdapterCatalogChange): void {\n for (const listener of listeners.get(rpc) ?? []) listener(change)\n}\n\nexport function subscribeAdapterCatalogChanged(rpc: CodingNsRpcClient, listener: (change: AdapterCatalogChange) => void): () => void {\n let entries = listeners.get(rpc)\n if (entries === undefined) { entries = new Set(); listeners.set(rpc, entries) }\n entries.add(listener)\n return () => { entries.delete(listener) }\n}\n\n/** Poll only while installation detection or an explicitly requested release check is pending. */\nexport function watchAdapterCatalog(\n rpc: CodingNsRpcClient,\n sessionId: string | undefined,\n onValue: (value: readonly CodingNsCliAdapterDescriptor[]) => void,\n onError: (error: unknown) => void = () => undefined,\n): () => void {\n let active = true\n let busy = false\n let dirty = false\n let started = Date.now()\n let failures = 0\n let timer: ReturnType<typeof setTimeout> | undefined\n const refresh = async (): Promise<void> => {\n if (!active) return\n if (busy) { dirty = true; return }\n clearTimeout(timer)\n busy = true\n try {\n let requests = loads.get(rpc)\n if (requests === undefined) { requests = new Map(); loads.set(rpc, requests) }\n const key = sessionId ?? ''\n let request = requests.get(key)\n if (request === undefined) {\n request = callCliRpc<readonly CodingNsCliAdapterDescriptor[]>(rpc, 'catalog', sessionId === undefined ? {} : { sessionId }, AbortSignal.timeout(10_000))\n .finally(() => { if (requests.get(key) === request) requests.delete(key) })\n requests.set(key, request)\n }\n const value = await request\n if (!active) return\n failures = 0\n onValue(value)\n if (value.some((entry) => entry.detectionState === 'pending' || entry.detectionState === 'running' || entry.update?.state === 'checking') && Date.now() - started < 120_000) {\n timer = setTimeout(() => { void refresh() }, 1_000)\n }\n } catch (error) {\n if (active) {\n failures += 1\n if (failures === 1) onError(error)\n if (Date.now() - started < 120_000) timer = setTimeout(() => { void refresh() }, Math.min(1_000 * 2 ** failures, 15_000))\n }\n }\n finally {\n busy = false\n if (dirty && active) { dirty = false; void refresh() }\n }\n }\n const remove = subscribeAdapterCatalogChanged(rpc, (change) => {\n if (change.kind !== 'adapter') return\n started = Date.now()\n void refresh()\n })\n void refresh()\n return () => { active = false; clearTimeout(timer); remove() }\n}\n","import type { CodingNsCliModelCatalog } from '../shared/contracts/cli-adapter.js'\nimport type { CodingNsRpcClient } from './features/types.js'\nimport { callCliRpc } from './cli-catalog.js'\nimport { notifyModelCatalogChanged } from './adapter-catalog-watch.js'\nimport { parseVirtualSessionId } from '../shared/contracts/peer-host.js'\n\n/**\n * Client 侧模型目录缓存。\n *\n * Agent 选择器、模型选择器和委派弹层共享同一份 RPC 结果。缓存只属于当前\n * RPC 客户端实例与会话所属 Host,同一 Host 的会话共享目录,跨 Host 不复用。\n */\nconst modelCatalogCaches = new WeakMap<object, Map<string, CodingNsCliModelCatalog>>()\nconst modelCatalogLoads = new WeakMap<object, Map<string, Promise<CodingNsCliModelCatalog>>>()\n/** PeerHost 复用页面 RPC 实例,用稳定的 Host 身份隔离目录、请求与复检节流。 */\nconst modelCatalogHostKeys = new WeakMap<object, Map<string, object>>()\n\nfunction modelCatalogKey(rpc: CodingNsRpcClient, sessionId?: string): object {\n const hostId = sessionId === undefined ? undefined : parseVirtualSessionId(sessionId)?.hostId\n if (hostId === undefined) return rpc as object\n let hosts = modelCatalogHostKeys.get(rpc as object)\n if (hosts === undefined) {\n hosts = new Map()\n modelCatalogHostKeys.set(rpc as object, hosts)\n }\n let key = hosts.get(hostId)\n if (key === undefined) { key = {}; hosts.set(hostId, key) }\n return key\n}\n\n/**\n * Client 缓存有效期。\n *\n * 目录里既有模型清单,也有账号级事实(例如 Codex 的 `officialSubscription`\n * 与 `defaultServiceTier`)。后者会随用户在外部工具里切换供应商或登录状态而\n * 变化,而页面不会因此重新挂载。若 Client 永久持有第一次的结果,依赖这些事实\n * 的控件(Codex 官方订阅的 Fast 档位开关)就会在整场会话里一直缺失。\n *\n * 因此这里给出一个短 TTL:命中即用(不阻塞渲染),过期后重新请求。Host 侧还会\n * 比对 Provider 配置指纹,配置真正变化时立即失效,不依赖这个 TTL。\n */\nexport const MODEL_CATALOG_CACHE_TTL_MS = 60_000\n\ninterface CachedCatalog {\n readonly value: CodingNsCliModelCatalog\n readonly storedAt: number\n readonly ttlMs: number\n}\n\nconst modelCatalogCacheTimes = new WeakMap<object, Map<string, CachedCatalog>>()\n\nfunction cacheEntry(rpc: CodingNsRpcClient, adapterId: string, sessionId?: string): CachedCatalog | undefined {\n return cacheTimesFor(rpc, sessionId).get(adapterId)\n}\n\nfunction cacheTimesFor(rpc: CodingNsRpcClient, sessionId?: string): Map<string, CachedCatalog> {\n const key = modelCatalogKey(rpc, sessionId)\n let times = modelCatalogCacheTimes.get(key)\n if (times === undefined) {\n times = new Map()\n modelCatalogCacheTimes.set(key, times)\n }\n return times\n}\n\nfunction storeCatalog(rpc: CodingNsRpcClient, adapterId: string, value: CodingNsCliModelCatalog, sessionId?: string, ttlMs = MODEL_CATALOG_CACHE_TTL_MS): void {\n getModelCatalogCache(rpc, sessionId).set(adapterId, value)\n cacheTimesFor(rpc, sessionId).set(adapterId, { value, storedAt: Date.now(), ttlMs })\n}\n\n/** 指定会话时只作废其 Host;旧调用不传会话时仍清理整个 RPC 的指定目录。 */\nexport function invalidateModelCatalogCache(rpc: CodingNsRpcClient, adapterId?: string, sessionId?: string): void {\n const keys = sessionId === undefined\n ? [rpc as object, ...(modelCatalogHostKeys.get(rpc as object)?.values() ?? [])]\n : [modelCatalogKey(rpc, sessionId)]\n for (const key of keys) {\n const cache = modelCatalogCaches.get(key)\n const times = modelCatalogCacheTimes.get(key)\n const loads = modelCatalogLoads.get(key)\n if (adapterId === undefined) loads?.clear()\n else loads?.delete(adapterId)\n if (adapterId === undefined) { cache?.clear(); times?.clear() }\n else { cache?.delete(adapterId); times?.delete(adapterId) }\n }\n}\n\n/**\n * 「判定可能过期」时的复检节流。\n *\n * 目录声明了服务档位却未确认官方订阅时,值得再探测一次;但真实第三方接入会\n * 长期停在这个状态,不能每次挂载都发一次请求。这里按适配器记录最近一次复检\n * 时间,只有超过间隔才允许再次作废缓存。\n */\nexport const MODEL_CATALOG_REVALIDATE_INTERVAL_MS = 60_000\n\nconst modelCatalogRevalidations = new WeakMap<object, Map<string, number>>()\n\nexport function shouldRevalidateModelCatalog(\n rpc: CodingNsRpcClient,\n adapterId: string,\n needsRevalidation: boolean,\n sessionId?: string,\n): boolean {\n if (!needsRevalidation) return false\n const key = modelCatalogKey(rpc, sessionId)\n let times = modelCatalogRevalidations.get(key)\n if (times === undefined) {\n times = new Map()\n modelCatalogRevalidations.set(key, times)\n }\n const last = times.get(adapterId)\n const now = Date.now()\n if (last !== undefined && now - last < MODEL_CATALOG_REVALIDATE_INTERVAL_MS) return false\n times.set(adapterId, now)\n return true\n}\n\nexport function getModelCatalogCache(rpc: CodingNsRpcClient, sessionId?: string): Map<string, CodingNsCliModelCatalog> {\n const key = modelCatalogKey(rpc, sessionId)\n let cache = modelCatalogCaches.get(key)\n if (cache === undefined) {\n cache = new Map()\n modelCatalogCaches.set(key, cache)\n }\n return cache\n}\n\nexport function loadModelCatalog(rpc: CodingNsRpcClient, adapterId: string, sessionId?: string): Promise<CodingNsCliModelCatalog> {\n const cached = getModelCatalogCache(rpc, sessionId).get(adapterId)\n const entry = cached === undefined ? undefined : cacheEntry(rpc, adapterId, sessionId)\n // A successful stale catalog stays visible while a fresh base and optional\n // Magpie enrichment load in the background.\n if (cached !== undefined && cached.fallback !== true && entry?.value === cached && isFreshCacheEntry(rpc, adapterId, cached, sessionId)) {\n return Promise.resolve(cached)\n }\n const loads = getModelCatalogLoadCache(rpc, sessionId)\n const running = loads.get(adapterId)\n if (running !== undefined) return cached !== undefined && cached.fallback !== true ? Promise.resolve(cached) : running\n\n const hasStaleCatalog = cached !== undefined && cached.fallback !== true && entry?.value === cached\n if (cached !== undefined && !hasStaleCatalog) invalidateModelCatalogCache(rpc, adapterId, sessionId)\n\n const request = callCliRpc<CodingNsCliModelCatalog>(rpc, 'models', {\n adapterId,\n stage: 'base',\n ...(sessionId === undefined ? {} : { sessionId }),\n }).then((value) => {\n // 手动重新检测已替换请求时,迟到结果不能复活被作废的目录。\n if (loads.get(adapterId) !== request) return loadModelCatalog(rpc, adapterId, sessionId)\n if (value.fallback === true) {\n if (hasStaleCatalog && cached !== undefined) storeCatalog(rpc, adapterId, cached, sessionId, 5_000)\n else invalidateModelCatalogCache(rpc, adapterId, sessionId)\n } else {\n storeCatalog(rpc, adapterId, value, sessionId)\n if (hasStaleCatalog) notifyModelCatalogChanged(rpc, adapterId)\n }\n return value\n })\n loads.set(adapterId, request)\n\n // The base result above is the only part awaited by the caller. Enrichment\n // is a second, shared Host request; its completed snapshot replaces the base\n // cache and wakes mounted selectors without a timer or blocking spinner.\n void request.then(async (base) => {\n if (base.fallback === true || base.magpiePending !== true || loads.get(adapterId) !== request) return\n try {\n const enriched = await callCliRpc<CodingNsCliModelCatalog>(rpc, 'models', {\n adapterId,\n stage: 'enriched',\n ...(sessionId === undefined ? {} : { sessionId }),\n })\n if (loads.get(adapterId) !== request || getModelCatalogCache(rpc, sessionId).get(adapterId) !== base || enriched.fallback === true) return\n storeCatalog(rpc, adapterId, enriched, sessionId)\n notifyModelCatalogChanged(rpc, adapterId)\n } catch {\n if (loads.get(adapterId) !== request || getModelCatalogCache(rpc, sessionId).get(adapterId) !== base) return\n const readyBase = withoutMagpiePending(base)\n storeCatalog(rpc, adapterId, readyBase, sessionId, 5_000)\n notifyModelCatalogChanged(rpc, adapterId)\n }\n }).catch(() => {\n if (loads.get(adapterId) !== request) return\n const current = getModelCatalogCache(rpc, sessionId).get(adapterId)\n if (current === undefined || current.fallback === true || cacheEntry(rpc, adapterId, sessionId)?.value !== current) return\n // Keep showing the last good snapshot and avoid immediately retrying a\n // failing Host after every render.\n storeCatalog(rpc, adapterId, current, sessionId, 5_000)\n }).finally(() => {\n if (loads.get(adapterId) === request) loads.delete(adapterId)\n })\n\n if (hasStaleCatalog) return Promise.resolve(cached)\n return request\n}\n\nfunction withoutMagpiePending(catalog: CodingNsCliModelCatalog): CodingNsCliModelCatalog {\n if (catalog.magpiePending !== true) return catalog\n const { magpiePending: _magpiePending, ...ready } = catalog\n return ready\n}\n\n/** 缓存条目是否仍在有效期内;没有时间戳的旧条目按过期处理并触发一次重新读取。 */\nfunction isFreshCacheEntry(rpc: CodingNsRpcClient, adapterId: string, cached: CodingNsCliModelCatalog, sessionId?: string): boolean {\n const entry = cacheEntry(rpc, adapterId, sessionId)\n if (entry === undefined || entry.value !== cached) return false\n return Date.now() - entry.storedAt < entry.ttlMs\n}\n\nfunction getModelCatalogLoadCache(rpc: CodingNsRpcClient, sessionId?: string): Map<string, Promise<CodingNsCliModelCatalog>> {\n const key = modelCatalogKey(rpc, sessionId)\n let cache = modelCatalogLoads.get(key)\n if (cache === undefined) {\n cache = new Map()\n modelCatalogLoads.set(key, cache)\n }\n return cache\n}\n","import { createElement, type ReactElement } from 'react'\n\nexport const MAGPIE_MODEL_TAG_ATTRIBUTE = 'data-codingns-magpie-model-tag'\nexport const MAGPIE_MODEL_LOGO_URL = 'https://github.com/yetone/magpie/raw/main/site/public/img/icon-256.png'\n\nconst tagStyle = {\n display: 'inline-flex',\n flex: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n width: '18px',\n height: '18px',\n marginInlineStart: 'auto',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n} as const\n\nconst tagLogoStyle = {\n display: 'block',\n width: '16px',\n height: '16px',\n flex: '0 0 16px',\n objectFit: 'contain',\n borderRadius: '4px',\n} as const\n\n/** Compact visual source marker shared by every model-list surface. */\nexport function MagpieModelTag(): ReactElement {\n return createElement('span', {\n [MAGPIE_MODEL_TAG_ATTRIBUTE]: '',\n role: 'note',\n 'aria-label': 'Provided by Magpie',\n title: 'Provided by Magpie',\n style: tagStyle,\n }, createElement('img', { src: MAGPIE_MODEL_LOGO_URL, alt: 'Provided by Magpie', style: tagLogoStyle }))\n}\n\n/** Native DSH owns its menu DOM, so its option rows receive the same badge imperatively. */\nexport function createMagpieModelTagNode(document: Document, modelId?: string): HTMLSpanElement {\n const tag = document.createElement('span')\n tag.setAttribute(MAGPIE_MODEL_TAG_ATTRIBUTE, '')\n if (modelId !== undefined) tag.dataset.modelId = modelId\n tag.setAttribute('role', 'note')\n tag.setAttribute('aria-label', 'Provided by Magpie')\n tag.title = 'Provided by Magpie'\n Object.assign(tag.style, tagStyle)\n\n const logo = document.createElement('img')\n logo.setAttribute('src', MAGPIE_MODEL_LOGO_URL)\n logo.setAttribute('alt', 'Provided by Magpie')\n Object.assign(logo.style, tagLogoStyle)\n tag.append(logo)\n return tag\n}\n"],"mappings":"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"}