@qqbrowser/qbot-dsh 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/config/agent-presets/minimal/agent.cordis.yml +1 -1
  2. package/lib/bin.js +2 -2
  3. package/lib/{dump-config-k4Eekk03.js → dump-config-DRyeYoJB.js} +1 -1
  4. package/lib/{plugin-BVDd3xNU.js → plugin-peKc7sV-.js} +1 -1
  5. package/lib/profile-boot-BAgU8KvC.js +5 -0
  6. package/lib/profile-boot-KD3x0Z2S.js +1 -0
  7. package/node_modules/@deepseek-ai/cordis-plugin-hmr/package.json +1 -1
  8. package/node_modules/@qqbrowser/qbot-dsh-agent/package.json +1 -1
  9. package/node_modules/@qqbrowser/qbot-dsh-agent-default-model/package.json +1 -1
  10. package/node_modules/@qqbrowser/qbot-dsh-agent-instructions/package.json +1 -1
  11. package/node_modules/@qqbrowser/qbot-dsh-agent-loop/package.json +1 -1
  12. package/node_modules/@qqbrowser/qbot-dsh-agent-presets/package.json +1 -1
  13. package/node_modules/@qqbrowser/qbot-dsh-agent-tool-presentation/package.json +1 -1
  14. package/node_modules/@qqbrowser/qbot-dsh-anonymous-user-id/package.json +1 -1
  15. package/node_modules/@qqbrowser/qbot-dsh-api-gateway/package.json +1 -1
  16. package/node_modules/@qqbrowser/qbot-dsh-api-remotes/package.json +1 -1
  17. package/node_modules/@qqbrowser/qbot-dsh-app-boot/lib/index.js +12 -12
  18. package/node_modules/@qqbrowser/qbot-dsh-app-boot/package.json +1 -1
  19. package/node_modules/@qqbrowser/qbot-dsh-atomic-write/package.json +1 -1
  20. package/node_modules/@qqbrowser/qbot-dsh-attachment/package.json +1 -1
  21. package/node_modules/@qqbrowser/qbot-dsh-attachment-local/package.json +1 -1
  22. package/node_modules/@qqbrowser/qbot-dsh-base/cordis.patch.yml +4 -4
  23. package/node_modules/@qqbrowser/qbot-dsh-base/package.json +1 -1
  24. package/node_modules/@qqbrowser/qbot-dsh-bash-local/package.json +1 -1
  25. package/node_modules/@qqbrowser/qbot-dsh-bash-sandbox/package.json +1 -1
  26. package/node_modules/@qqbrowser/qbot-dsh-brand/package.json +1 -1
  27. package/node_modules/@qqbrowser/qbot-dsh-client-connection/package.json +1 -1
  28. package/node_modules/@qqbrowser/qbot-dsh-client-hmr/package.json +1 -1
  29. package/node_modules/@qqbrowser/qbot-dsh-client-locale/lib/client.js +1 -1
  30. package/node_modules/@qqbrowser/qbot-dsh-client-locale/package.json +1 -1
  31. package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/client.js +1 -1
  32. package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/index.js +3 -3
  33. package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/invariant.js +1 -1
  34. package/node_modules/@qqbrowser/qbot-dsh-client-modules/package.json +1 -1
  35. package/node_modules/@qqbrowser/qbot-dsh-client-runtime/lib/client.js +1 -1
  36. package/node_modules/@qqbrowser/qbot-dsh-client-runtime/package.json +1 -1
  37. package/node_modules/@qqbrowser/qbot-dsh-client-schema-form/package.json +1 -1
  38. package/node_modules/@qqbrowser/qbot-dsh-client-ui-agent-preset/lib/client.js +1 -1
  39. package/node_modules/@qqbrowser/qbot-dsh-client-ui-agent-preset/package.json +1 -1
  40. package/node_modules/@qqbrowser/qbot-dsh-client-ui-attachment/package.json +1 -1
  41. package/node_modules/@qqbrowser/qbot-dsh-client-ui-commands/lib/client.js +1 -1
  42. package/node_modules/@qqbrowser/qbot-dsh-client-ui-commands/package.json +1 -1
  43. package/node_modules/@qqbrowser/qbot-dsh-client-ui-conversation/lib/client.js +8 -8
  44. package/node_modules/@qqbrowser/qbot-dsh-client-ui-conversation/package.json +1 -1
  45. package/node_modules/@qqbrowser/qbot-dsh-client-ui-cordis/lib/client.js +3 -3
  46. package/node_modules/@qqbrowser/qbot-dsh-client-ui-cordis/package.json +1 -1
  47. package/node_modules/@qqbrowser/qbot-dsh-client-ui-deliverables/lib/client.js +1 -1
  48. package/node_modules/@qqbrowser/qbot-dsh-client-ui-deliverables/package.json +1 -1
  49. package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
  50. package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-browse/package.json +1 -1
  51. package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-native/package.json +1 -1
  52. package/node_modules/@qqbrowser/qbot-dsh-client-ui-goal/lib/client.js +1 -1
  53. package/node_modules/@qqbrowser/qbot-dsh-client-ui-goal/package.json +1 -1
  54. package/node_modules/@qqbrowser/qbot-dsh-client-ui-input-trigger/lib/client.js +1 -1
  55. package/node_modules/@qqbrowser/qbot-dsh-client-ui-input-trigger/package.json +1 -1
  56. package/node_modules/@qqbrowser/qbot-dsh-client-ui-jobs/lib/client.js +1 -1
  57. package/node_modules/@qqbrowser/qbot-dsh-client-ui-jobs/package.json +1 -1
  58. package/node_modules/@qqbrowser/qbot-dsh-client-ui-layout/lib/client.js +1 -1
  59. package/node_modules/@qqbrowser/qbot-dsh-client-ui-layout/package.json +1 -1
  60. package/node_modules/@qqbrowser/qbot-dsh-client-ui-message-feedback/lib/client.js +1 -1
  61. package/node_modules/@qqbrowser/qbot-dsh-client-ui-message-feedback/package.json +1 -1
  62. package/node_modules/@qqbrowser/qbot-dsh-client-ui-model-selection/lib/client.js +1 -1
  63. package/node_modules/@qqbrowser/qbot-dsh-client-ui-model-selection/package.json +1 -1
  64. package/node_modules/@qqbrowser/qbot-dsh-client-ui-permission-presets/lib/client.js +1 -1
  65. package/node_modules/@qqbrowser/qbot-dsh-client-ui-permission-presets/package.json +1 -1
  66. package/node_modules/@qqbrowser/qbot-dsh-client-ui-plan/lib/client.js +1 -1
  67. package/node_modules/@qqbrowser/qbot-dsh-client-ui-plan/package.json +1 -1
  68. package/node_modules/@qqbrowser/qbot-dsh-client-ui-primitives/package.json +1 -1
  69. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings/package.json +1 -1
  70. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-general/lib/client.js +1 -1
  71. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-general/package.json +1 -1
  72. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-models/lib/client.js +3 -3
  73. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-models/package.json +1 -1
  74. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
  75. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugin-inventory/package.json +1 -1
  76. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugins/lib/client.js +1 -1
  77. package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugins/package.json +1 -1
  78. package/node_modules/@qqbrowser/qbot-dsh-client-ui-sidebar/lib/client.js +1 -1
  79. package/node_modules/@qqbrowser/qbot-dsh-client-ui-sidebar/package.json +1 -1
  80. package/node_modules/@qqbrowser/qbot-dsh-client-ui-skill/lib/client.js +3 -3
  81. package/node_modules/@qqbrowser/qbot-dsh-client-ui-skill/package.json +1 -1
  82. package/node_modules/@qqbrowser/qbot-dsh-client-ui-slots/package.json +1 -1
  83. package/node_modules/@qqbrowser/qbot-dsh-client-ui-subagent/lib/client.js +1 -1
  84. package/node_modules/@qqbrowser/qbot-dsh-client-ui-subagent/package.json +1 -1
  85. package/node_modules/@qqbrowser/qbot-dsh-client-ui-theme/lib/client.js +1 -1
  86. package/node_modules/@qqbrowser/qbot-dsh-client-ui-theme/package.json +1 -1
  87. package/node_modules/@qqbrowser/qbot-dsh-client-ui-tool/lib/client.js +4 -4
  88. package/node_modules/@qqbrowser/qbot-dsh-client-ui-tool/package.json +1 -1
  89. package/node_modules/@qqbrowser/qbot-dsh-client-ui-trajectory/lib/client.js +14 -14
  90. package/node_modules/@qqbrowser/qbot-dsh-client-ui-trajectory/package.json +1 -1
  91. package/node_modules/@qqbrowser/qbot-dsh-client-ui-user-questions/lib/client.js +1 -1
  92. package/node_modules/@qqbrowser/qbot-dsh-client-ui-user-questions/package.json +1 -1
  93. package/node_modules/@qqbrowser/qbot-dsh-client-ui-workflow-run/lib/client.js +1 -1
  94. package/node_modules/@qqbrowser/qbot-dsh-client-ui-workflow-run/package.json +1 -1
  95. package/node_modules/@qqbrowser/qbot-dsh-client-ui-workspace/lib/client.js +1 -1
  96. package/node_modules/@qqbrowser/qbot-dsh-client-ui-workspace/package.json +1 -1
  97. package/node_modules/@qqbrowser/qbot-dsh-client-web/lib/index.js +2 -2
  98. package/node_modules/@qqbrowser/qbot-dsh-client-web/package.json +1 -1
  99. package/node_modules/@qqbrowser/qbot-dsh-client-web-react/package.json +1 -1
  100. package/node_modules/@qqbrowser/qbot-dsh-cmdline/package.json +1 -1
  101. package/node_modules/@qqbrowser/qbot-dsh-code-runtime/package.json +1 -1
  102. package/node_modules/@qqbrowser/qbot-dsh-code-runtime-worker-thread/package.json +1 -1
  103. package/node_modules/@qqbrowser/qbot-dsh-command-compact/package.json +1 -1
  104. package/node_modules/@qqbrowser/qbot-dsh-command-feedback/package.json +1 -1
  105. package/node_modules/@qqbrowser/qbot-dsh-command-goal/package.json +1 -1
  106. package/node_modules/@qqbrowser/qbot-dsh-commands/package.json +1 -1
  107. package/node_modules/@qqbrowser/qbot-dsh-compaction/package.json +1 -1
  108. package/node_modules/@qqbrowser/qbot-dsh-compaction-basic/package.json +1 -1
  109. package/node_modules/@qqbrowser/qbot-dsh-compaction-tool-result-pruner/package.json +1 -1
  110. package/node_modules/@qqbrowser/qbot-dsh-cordis-client-runner/package.json +1 -1
  111. package/node_modules/@qqbrowser/qbot-dsh-cordis-host-runner/package.json +1 -1
  112. package/node_modules/@qqbrowser/qbot-dsh-credentials/package.json +1 -1
  113. package/node_modules/@qqbrowser/qbot-dsh-credentials-local/package.json +1 -1
  114. package/node_modules/@qqbrowser/qbot-dsh-fs/package.json +1 -1
  115. package/node_modules/@qqbrowser/qbot-dsh-fs-local/package.json +1 -1
  116. package/node_modules/@qqbrowser/qbot-dsh-fs-observation-policy/package.json +1 -1
  117. package/node_modules/@qqbrowser/qbot-dsh-fs-sandbox/package.json +1 -1
  118. package/node_modules/@qqbrowser/qbot-dsh-goal/package.json +1 -1
  119. package/node_modules/@qqbrowser/qbot-dsh-goal-round-driver/package.json +1 -1
  120. package/node_modules/@qqbrowser/qbot-dsh-headless/cordis.patch.yml +1 -1
  121. package/node_modules/@qqbrowser/qbot-dsh-headless/package.json +1 -1
  122. package/node_modules/@qqbrowser/qbot-dsh-home-paths/lib/index.js +1 -1
  123. package/node_modules/@qqbrowser/qbot-dsh-home-paths/package.json +1 -1
  124. package/node_modules/@qqbrowser/qbot-dsh-host-apiproxy/package.json +1 -1
  125. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker/package.json +1 -1
  126. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-auto/package.json +1 -1
  127. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-browse/package.json +1 -1
  128. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/lib/index.js +1 -1
  129. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/lib/worker.cjs +2 -2
  130. package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/package.json +1 -1
  131. package/node_modules/@qqbrowser/qbot-dsh-host-frontend-static/package.json +1 -1
  132. package/node_modules/@qqbrowser/qbot-dsh-host-plugin-inventory/package.json +1 -1
  133. package/node_modules/@qqbrowser/qbot-dsh-host-webserver/package.json +1 -1
  134. package/node_modules/@qqbrowser/qbot-dsh-invariants/package.json +1 -1
  135. package/node_modules/@qqbrowser/qbot-dsh-jobs/package.json +1 -1
  136. package/node_modules/@qqbrowser/qbot-dsh-jobs-local/package.json +1 -1
  137. package/node_modules/@qqbrowser/qbot-dsh-launch-environment/lib/index.js +1 -1
  138. package/node_modules/@qqbrowser/qbot-dsh-launch-environment/package.json +1 -1
  139. package/node_modules/@qqbrowser/qbot-dsh-llm/package.json +1 -1
  140. package/node_modules/@qqbrowser/qbot-dsh-llm-deepseek/package.json +1 -1
  141. package/node_modules/@qqbrowser/qbot-dsh-llm-pi-ai/package.json +1 -1
  142. package/node_modules/@qqbrowser/qbot-dsh-llm-retry/package.json +1 -1
  143. package/node_modules/@qqbrowser/qbot-dsh-mcp-client/package.json +1 -1
  144. package/node_modules/@qqbrowser/qbot-dsh-message-feedback/package.json +1 -1
  145. package/node_modules/@qqbrowser/qbot-dsh-native-command/package.json +1 -1
  146. package/node_modules/@qqbrowser/qbot-dsh-output-retention/package.json +1 -1
  147. package/node_modules/@qqbrowser/qbot-dsh-permission-presets/package.json +1 -1
  148. package/node_modules/@qqbrowser/qbot-dsh-persona/package.json +1 -1
  149. package/node_modules/@qqbrowser/qbot-dsh-plan-mode/package.json +1 -1
  150. package/node_modules/@qqbrowser/qbot-dsh-pwsh-local/package.json +1 -1
  151. package/node_modules/@qqbrowser/qbot-dsh-pwsh-sandbox/package.json +1 -1
  152. package/node_modules/@qqbrowser/qbot-dsh-repeat-tool-reminder/package.json +1 -1
  153. package/node_modules/@qqbrowser/qbot-dsh-sandbox/package.json +1 -1
  154. package/node_modules/@qqbrowser/qbot-dsh-sandbox-local/package.json +1 -1
  155. package/node_modules/@qqbrowser/qbot-dsh-sandbox-policy/package.json +1 -1
  156. package/node_modules/@qqbrowser/qbot-dsh-sandbox-windows-acl/package.json +1 -1
  157. package/node_modules/@qqbrowser/qbot-dsh-schedule/package.json +1 -1
  158. package/node_modules/@qqbrowser/qbot-dsh-scope/package.json +1 -1
  159. package/node_modules/@qqbrowser/qbot-dsh-session/package.json +1 -1
  160. package/node_modules/@qqbrowser/qbot-dsh-session-checkpoint-policy/package.json +1 -1
  161. package/node_modules/@qqbrowser/qbot-dsh-session-log-export/lib/client.js +1 -1
  162. package/node_modules/@qqbrowser/qbot-dsh-session-log-export/package.json +1 -1
  163. package/node_modules/@qqbrowser/qbot-dsh-session-persistence/package.json +1 -1
  164. package/node_modules/@qqbrowser/qbot-dsh-session-persistence-jsonl/lib/index.js +1 -1
  165. package/node_modules/@qqbrowser/qbot-dsh-session-persistence-jsonl/package.json +1 -1
  166. package/node_modules/@qqbrowser/qbot-dsh-session-projection/package.json +1 -1
  167. package/node_modules/@qqbrowser/qbot-dsh-session-projection-cache/package.json +1 -1
  168. package/node_modules/@qqbrowser/qbot-dsh-session-query/package.json +1 -1
  169. package/node_modules/@qqbrowser/qbot-dsh-session-query-sqlite/package.json +1 -1
  170. package/node_modules/@qqbrowser/qbot-dsh-session-reference/package.json +1 -1
  171. package/node_modules/@qqbrowser/qbot-dsh-session-stats/package.json +1 -1
  172. package/node_modules/@qqbrowser/qbot-dsh-session-telemetry/package.json +1 -1
  173. package/node_modules/@qqbrowser/qbot-dsh-session-telemetry-otel/package.json +1 -1
  174. package/node_modules/@qqbrowser/qbot-dsh-session-title/package.json +1 -1
  175. package/node_modules/@qqbrowser/qbot-dsh-session-title-first-prompt-llm/package.json +1 -1
  176. package/node_modules/@qqbrowser/qbot-dsh-session-title-llm/package.json +1 -1
  177. package/node_modules/@qqbrowser/qbot-dsh-settings/package.json +1 -1
  178. package/node_modules/@qqbrowser/qbot-dsh-settings-file/package.json +1 -1
  179. package/node_modules/@qqbrowser/qbot-dsh-shell/lib/index.js +1 -1
  180. package/node_modules/@qqbrowser/qbot-dsh-shell/package.json +1 -1
  181. package/node_modules/@qqbrowser/qbot-dsh-shell-env/lib/index.js +1 -1
  182. package/node_modules/@qqbrowser/qbot-dsh-shell-env/package.json +1 -1
  183. package/node_modules/@qqbrowser/qbot-dsh-skill/package.json +1 -1
  184. package/node_modules/@qqbrowser/qbot-dsh-skill-badge/package.json +1 -1
  185. package/node_modules/@qqbrowser/qbot-dsh-skill-filesystem/lib/index.js +2 -2
  186. package/node_modules/@qqbrowser/qbot-dsh-skill-filesystem/package.json +1 -1
  187. package/node_modules/@qqbrowser/qbot-dsh-spill/package.json +1 -1
  188. package/node_modules/@qqbrowser/qbot-dsh-spill-local/package.json +1 -1
  189. package/node_modules/@qqbrowser/qbot-dsh-spill-policy/package.json +1 -1
  190. package/node_modules/@qqbrowser/qbot-dsh-storage/package.json +1 -1
  191. package/node_modules/@qqbrowser/qbot-dsh-storage-domain/package.json +1 -1
  192. package/node_modules/@qqbrowser/qbot-dsh-storage-json/package.json +1 -1
  193. package/node_modules/@qqbrowser/qbot-dsh-subagent/package.json +1 -1
  194. package/node_modules/@qqbrowser/qbot-dsh-subagent-fork-in-process/package.json +1 -1
  195. package/node_modules/@qqbrowser/qbot-dsh-subagent-in-process-driver/package.json +1 -1
  196. package/node_modules/@qqbrowser/qbot-dsh-subagent-spawn-in-process/package.json +1 -1
  197. package/node_modules/@qqbrowser/qbot-dsh-subprocess/lib/index.js +1 -1
  198. package/node_modules/@qqbrowser/qbot-dsh-subprocess/package.json +1 -1
  199. package/node_modules/@qqbrowser/qbot-dsh-subprocess-local/package.json +1 -1
  200. package/node_modules/@qqbrowser/qbot-dsh-system-prompt/package.json +1 -1
  201. package/node_modules/@qqbrowser/qbot-dsh-terminal/package.json +1 -1
  202. package/node_modules/@qqbrowser/qbot-dsh-terminal-bash/lib/index.js +1 -1
  203. package/node_modules/@qqbrowser/qbot-dsh-terminal-bash/package.json +1 -1
  204. package/node_modules/@qqbrowser/qbot-dsh-time-context/package.json +1 -1
  205. package/node_modules/@qqbrowser/qbot-dsh-timeout/package.json +1 -1
  206. package/node_modules/@qqbrowser/qbot-dsh-tmux-context/package.json +1 -1
  207. package/node_modules/@qqbrowser/qbot-dsh-token-meter/package.json +1 -1
  208. package/node_modules/@qqbrowser/qbot-dsh-tool-ask-user/package.json +1 -1
  209. package/node_modules/@qqbrowser/qbot-dsh-tool-bash/lib/index.js +2 -2
  210. package/node_modules/@qqbrowser/qbot-dsh-tool-bash/package.json +1 -1
  211. package/node_modules/@qqbrowser/qbot-dsh-tool-bash-persistent/lib/index.js +8 -8
  212. package/node_modules/@qqbrowser/qbot-dsh-tool-bash-persistent/package.json +1 -1
  213. package/node_modules/@qqbrowser/qbot-dsh-tool-call-timeout-policy/package.json +1 -1
  214. package/node_modules/@qqbrowser/qbot-dsh-tool-cordis/lib/index.js +7 -5
  215. package/node_modules/@qqbrowser/qbot-dsh-tool-cordis/package.json +1 -1
  216. package/node_modules/@qqbrowser/qbot-dsh-tool-fs/package.json +1 -1
  217. package/node_modules/@qqbrowser/qbot-dsh-tool-fs-search/package.json +1 -1
  218. package/node_modules/@qqbrowser/qbot-dsh-tool-goal/package.json +1 -1
  219. package/node_modules/@qqbrowser/qbot-dsh-tool-jobs/package.json +1 -1
  220. package/node_modules/@qqbrowser/qbot-dsh-tool-pwsh/lib/index.js +2 -2
  221. package/node_modules/@qqbrowser/qbot-dsh-tool-pwsh/package.json +1 -1
  222. package/node_modules/@qqbrowser/qbot-dsh-tool-ralph/package.json +1 -1
  223. package/node_modules/@qqbrowser/qbot-dsh-tool-skill/package.json +1 -1
  224. package/node_modules/@qqbrowser/qbot-dsh-tool-str-replace-editor/package.json +1 -1
  225. package/node_modules/@qqbrowser/qbot-dsh-tool-subagent/package.json +1 -1
  226. package/node_modules/@qqbrowser/qbot-dsh-tool-subagent-control/package.json +1 -1
  227. package/node_modules/@qqbrowser/qbot-dsh-tool-subagent-report/package.json +1 -1
  228. package/node_modules/@qqbrowser/qbot-dsh-tool-todo/package.json +1 -1
  229. package/node_modules/@qqbrowser/qbot-dsh-tool-web/package.json +1 -1
  230. package/node_modules/@qqbrowser/qbot-dsh-tool-workflow/package.json +1 -1
  231. package/node_modules/@qqbrowser/qbot-dsh-tools/package.json +1 -1
  232. package/node_modules/@qqbrowser/qbot-dsh-typert-loader/package.json +1 -1
  233. package/node_modules/@qqbrowser/qbot-dsh-typert-protocol/package.json +1 -1
  234. package/node_modules/@qqbrowser/qbot-dsh-typert-registry/package.json +1 -1
  235. package/node_modules/@qqbrowser/qbot-dsh-user-approval/package.json +1 -1
  236. package/node_modules/@qqbrowser/qbot-dsh-user-questions/package.json +1 -1
  237. package/node_modules/@qqbrowser/qbot-dsh-web/lib/index.js +1 -1
  238. package/node_modules/@qqbrowser/qbot-dsh-web/package.json +1 -1
  239. package/node_modules/@qqbrowser/qbot-dsh-web-app/cordis.patch.yml +1 -1
  240. package/node_modules/@qqbrowser/qbot-dsh-web-app/lib/index.js +1 -1
  241. package/node_modules/@qqbrowser/qbot-dsh-web-app/package.json +1 -1
  242. package/node_modules/@qqbrowser/qbot-dsh-web-frontend/dist/assets/{index-9qKLIol0.js → index-eqGZnPzD.js} +24 -24
  243. package/node_modules/@qqbrowser/qbot-dsh-web-frontend/dist/index.html +1 -1
  244. package/node_modules/@qqbrowser/qbot-dsh-web-frontend/package.json +1 -1
  245. package/node_modules/@qqbrowser/qbot-dsh-web-search-deepseek/package.json +1 -1
  246. package/node_modules/@qqbrowser/qbot-dsh-workflow/package.json +1 -1
  247. package/node_modules/@qqbrowser/qbot-dsh-workflow-worker-thread/package.json +1 -1
  248. package/node_modules/@qqbrowser/qbot-dsh-workspace/package.json +1 -1
  249. package/package.json +1 -1
  250. package/lib/args-DEvDJqPu.js +0 -9
  251. package/lib/args-LilI9aDQ.js +0 -9
  252. package/lib/dump-config-B2DyR4dg.js +0 -1
  253. package/lib/dump-config-BITsCIFc.js +0 -1
  254. package/lib/dump-config-C3uXMpb-.js +0 -1
  255. package/lib/dump-config-CAkgocAS.js +0 -1
  256. package/lib/plugin-CuZ9TQG6.js +0 -6
  257. package/lib/plugin-DMh4mi7q.js +0 -6
  258. package/lib/plugin-DtRgTK19.js +0 -6
  259. package/lib/plugin-GoEpG7Lt.js +0 -6
  260. package/lib/profile-boot-9oPlPpAm.js +0 -5
  261. package/lib/profile-boot-B1cY1jRh.js +0 -5
  262. package/lib/profile-boot-B4JIT6XQ.js +0 -1
  263. package/lib/profile-boot-B4SoKsRj.js +0 -5
  264. package/lib/profile-boot-Bk4jvF5L.js +0 -1
  265. package/lib/profile-boot-CC3d8SUg.js +0 -5
  266. package/lib/profile-boot-CWiF3YiI.js +0 -1
  267. package/lib/profile-boot-DF9Fqljf.js +0 -1
  268. package/lib/profile-boot-DWtNaORu.js +0 -5
  269. package/lib/profile-boot-o7vgfnwK.js +0 -1
  270. package/node_modules/@qqbrowser/qbot-dsh-sandbox-windows-acl/lib/types-CNjZgO4h.js +0 -1
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-runtime","version":"0.0.5","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"qbot-dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-client-connection","@qqbrowser/qbot-dsh-typert-registry","@qqbrowser/qbot-dsh-api-remotes"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"immer":"^10.1.1","react":"^18.2.0","zustand":"~4.4.7","@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-client-connection":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.5","@qqbrowser/qbot-dsh-host-apiproxy":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-session-projection":"^0.0.5","@qqbrowser/qbot-dsh-session-title":"^0.0.5","@qqbrowser/qbot-dsh-tools":"^0.0.5","@qqbrowser/qbot-dsh-attachment":"^0.0.5","@qqbrowser/qbot-dsh-commands":"^0.0.5","@qqbrowser/qbot-dsh-llm-retry":"^0.0.5"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-api-remotes":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-typert-registry":"^0.0.5","@qqbrowser/qbot-dsh-typert-protocol":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-runtime","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-client-connection","@qqbrowser/qbot-dsh-typert-registry","@qqbrowser/qbot-dsh-api-remotes"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"immer":"^10.1.1","react":"^18.2.0","zustand":"~4.4.7","@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-client-connection":"^0.0.6","@qqbrowser/qbot-dsh-attachment":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.6","@qqbrowser/qbot-dsh-host-apiproxy":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-llm-retry":"^0.0.6","@qqbrowser/qbot-dsh-session-projection":"^0.0.6","@qqbrowser/qbot-dsh-session-title":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-typert-registry":"^0.0.6","@qqbrowser/qbot-dsh-typert-protocol":"^0.0.6","@qqbrowser/qbot-dsh-api-remotes":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-schema-form","version":"0.0.5","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-schema-form","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
@@ -1 +1 @@
1
- var _e=Object.defineProperty;var n=(A,L)=>_e(A,"name",{value:L,configurable:!0});window.__ModuleLoader__.load({id:"@qqbrowser/qbot-dsh-client-ui-agent-preset",factory:n(A=>{var L={exports:{}},q=L.exports;Object.defineProperty(q,Symbol.toStringTag,{value:"Module"});let a=A("react/jsx-runtime"),y=A("react"),g=A("@qqbrowser/qbot-dsh-client-ui-primitives"),k=A("@qqbrowser/qbot-dsh-client-runtime/client");const F={title:"Agent preset",description:"Applies to sessions you start from now on. Running sessions keep the preset they began with.",loading:"Loading presets…",error:"Could not load agent presets.",userTrust:"Custom",seatHint:"Agent preset for the session you are about to start",headerHint:"The agent preset this session runs, fixed when it started",nav:"Agent presets",sectionIntro:"A preset is the plugin composition one session's agent runs — its tools, prompt, and capabilities. Duplicate an existing one and make it yours, or let the agent draft one for you in Creator mode.",builtIn:"Built-in",setDefault:"Set as default",view:"View",presetStandardName:"Standard mode",presetStandardDescription:"Full coding agent with file editing, shell, file and web search, skills, planning, goals, subagents, and workflows.",presetCodeName:"Code mode",presetCodeDescription:"All Standard mode capabilities, with tools exposed through the Code Mode SDK so the model can combine multi-step operations in one TypeScript program.",presetMinimalName:"Minimal mode",presetMinimalDescription:"Two-tool coding agent with persistent bash and str_replace_editor.",presetCordisName:"Creator mode",presetCordisDescription:"Built for creating custom agent presets, with all Standard mode capabilities plus runtime inspection, plugin experiments, and preset-authoring guidance.",duplicate:"Duplicate",duplicateUnavailable:"This deployment has no writable preset directory",delete:"Delete",presetId:"Identifier",presetIdPlaceholder:"my-agent",displayName:"Name",displayNamePlaceholder:"Shown in the picker; defaults to the identifier",inUse:"In use",builtInGroup:"Built-in",customGroup:"Custom",noDescription:"No description.",brokenBadge:"Failed to load",brokenNoCopy:"A preset that failed to load cannot be duplicated",copyOf:"Copied from",composition:"Composition (agent.cordis.yml)",cancel:"Cancel",close:"Close",retry:"Retry",copyTitle:"Duplicate preset",copyIntro:"The whole preset is copied on this machine. The identifier becomes its directory name and cannot be changed later; everything else is edited in the preset's own files.",create:"Create",creating:"Creating…",creatorDraft:"Draft a custom preset with Creator mode",openLocation:"Open folder",showLocation:"Show location",revealedPathLabel:"Preset files:",idRequired:"Give the preset an identifier.",idInvalid:"Use lowercase letters, digits, and hyphens, starting with a letter or digit.",idTaken:"A preset with this identifier already exists.",deleteTitle:"Delete this preset?",deleteDescription:"The preset directory is deleted. Sessions already running on it keep working; new sessions cannot select it.",deleteConfirm:"Delete",deleting:"Deleting…"},H={title:"Agent 预设",description:"对此后新建的会话生效。运行中的会话保持它开始时的预设。",loading:"正在加载预设…",error:"无法加载 Agent 预设。",userTrust:"自定义",seatHint:"即将开始的这个会话所用的 Agent 预设",headerHint:"本会话运行的 Agent 预设,开始时即固定",nav:"Agent 预设",sectionIntro:"预设即一个会话的 Agent 所运行的插件组装 —— 它的工具、提示词与能力。复制一份既有预设改成自己的,或用「创造模式」让 Agent 帮你创建。",builtIn:"内置",setDefault:"设为默认",view:"查看",presetStandardName:"标准模式",presetStandardDescription:"功能完整的编码 Agent,支持文件编辑、Shell、文件与网页检索、Skills、计划、目标、子代理和工作流。",presetCodeName:"PTC 模式",presetCodeDescription:"具备标准模式的全部能力,并通过 Code Mode SDK 呈现工具,让模型用一个 TypeScript 程序组合多步操作。",presetMinimalName:"极简模式",presetMinimalDescription:"仅提供持久 bash 与 str_replace_editor 的双工具编码 Agent。",presetCordisName:"创造模式",presetCordisDescription:"用于创建自定义 Agent preset:具备标准模式的全部能力,并提供运行时检查、插件实验和 preset 创作指导。",duplicate:"复制",duplicateUnavailable:"此部署未配置可写的预设目录",delete:"删除",presetId:"标识符",presetIdPlaceholder:"my-agent",displayName:"名称",displayNamePlaceholder:"选择器中显示的名字,缺省用标识符",inUse:"当前使用",builtInGroup:"内置",customGroup:"自定义",noDescription:"暂无描述。",brokenBadge:"加载失败",brokenNoCopy:"预设加载失败,不能复制",copyOf:"复制自",composition:"组装(agent.cordis.yml)",cancel:"取消",close:"关闭",retry:"重试",copyTitle:"复制预设",copyIntro:"整个预设会在本机复制一份。标识符将成为目录名,事后无法更改;其余内容之后直接在预设自己的文件里编辑。",create:"创建",creating:"正在创建…",creatorDraft:"用「创造模式」创作自定义预设",openLocation:"打开目录",showLocation:"查看路径",revealedPathLabel:"预设文件:",idRequired:"请填写标识符。",idInvalid:"只能使用小写字母、数字与连字符,且以字母或数字开头。",idTaken:"该标识符已被占用。",deleteTitle:"删除该预设?",deleteDescription:"预设目录将被删除。已在其上运行的会话不受影响;新会话将无法再选择它。",deleteConfirm:"删除",deleting:"正在删除…"},V={standard:{name:"presetStandardName",description:"presetStandardDescription"},code:{name:"presetCodeName",description:"presetCodeDescription"},minimal:{name:"presetMinimalName",description:"presetMinimalDescription"},cordis:{name:"presetCordisName",description:"presetCordisDescription"}};function G(e,s){const t=e.trust==="system"?V[e.id]:void 0;return t!==void 0?{name:s(t.name),description:s(t.description)}:{name:e.name??e.id,...e.description===void 0?{}:{description:e.description}}}n(G,"presetDisplayText");const U=".YP-Goq_label{background:var(--dsw-alias-fill-tsp-secondary);max-width:180px;height:22px;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:4px;padding:0 2px 0 0;font-size:12px;line-height:22px;display:inline-flex;overflow:hidden}.YP-Goq_icon{opacity:.7;flex:none}",I="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetLabel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(I)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=I,e.textContent=U,document.head.appendChild(e)}var T={label:"YP-Goq_label",icon:"YP-Goq_icon"};function W({sessionId:e,useSessions:s,useAgentPresets:t,load:o,t:r}){const c=s(u=>u.byId[e]?.agentPreset),p=t(u=>u.options);if((0,y.useEffect)(()=>{c!==void 0&&o()},[c,o]),c===void 0)return null;const m=p.find(u=>u.id===c),i=m===void 0?void 0:G(m,r);return(0,a.jsxs)("span",{className:T.label,title:i?.description??r("headerHint"),children:[(0,a.jsx)(g.IconAgentPresetOutline16,{size:14,className:T.icon}),i?.name??c]})}n(W,"AgentPresetLabel");function J({options:e,selectedId:s,label:t,t:o,buttonClassName:r,chevronClassName:c,disabled:p,open:m,onOpenChange:i,onSelect:u}){return(0,a.jsx)(g.Menu,{open:m,onClose:n(()=>{i(!1)},"onClose"),items:e.map(h=>{const v=G(h,o).name;return{id:h.id,label:h.trust==="user"?`${v} · ${o("userTrust")}`:v}}),selectedId:s,onSelect:n(h=>{i(!1),u(h)},"onSelect"),align:"end",portal:!0,anchor:(0,a.jsxs)("button",{type:"button",className:r,"aria-haspopup":"menu","aria-expanded":m,disabled:p,onClick:n(()=>{i(!m)},"onClick"),children:[t,(0,a.jsx)(g.IconChevronDownOutline14,{className:c})]})})}n(J,"PresetMenu");const K=".iWExYG_row{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.iWExYG_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.iWExYG_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.iWExYG_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.iWExYG_selector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.iWExYG_selector:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.iWExYG_selector:disabled{cursor:default}.iWExYG_chevron{flex:none}",B="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(B)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=B,e.textContent=K,document.head.appendChild(e)}var C={rowText:"iWExYG_rowText",row:"iWExYG_row",chevron:"iWExYG_chevron",desc:"iWExYG_desc",selector:"iWExYG_selector",title:"iWExYG_title"};function X({load:e,select:s,useAgentPreset:t,t:o}){const r=t(_=>_),[c,p]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{e()},[e]),(0,y.useEffect)(()=>{r.writable&&r.status!=="unavailable"||p(!1)},[r.status,r.writable]),r.status==="unavailable")return null;const m=r.status==="loading"||r.status==="saving",i=r.options.find(_=>_.id===r.currentValue),u=i===void 0?void 0:G(i,o),h=r.currentValue===""?o("loading"):u?.name??r.currentValue,v=r.error??o("description");return(0,a.jsxs)("div",{className:C.row,children:[(0,a.jsxs)("div",{className:C.rowText,children:[(0,a.jsx)("div",{className:C.title,children:o("title")}),(0,a.jsx)("div",{className:C.desc,role:r.error===null?void 0:"alert",children:v})]}),(0,a.jsx)(J,{options:r.options,selectedId:r.currentValue,label:h,t:o,buttonClassName:C.selector,chevronClassName:C.chevron,disabled:m||!r.writable||r.options.length===0,open:c,onOpenChange:p,onSelect:n(_=>{s(_)},"onSelect")})]})}n(X,"AgentPresetRow");const Q=".Y0bh2G_seat{max-width:min(100%,240px);min-height:28px;color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex;overflow:hidden}.Y0bh2G_seat:not(:disabled):hover,.Y0bh2G_seat[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.Y0bh2G_seat:disabled{cursor:default;color:var(--dsw-alias-label-quaternary)}.Y0bh2G_seatIcon{color:var(--dsw-alias-label-primary);flex:none}.Y0bh2G_introIcon{animation:.15s cubic-bezier(.16,1,.3,1) both Y0bh2G_seat-icon-in}@keyframes Y0bh2G_seat-icon-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.Y0bh2G_introText{white-space:pre;display:inline-block}.Y0bh2G_introChar{white-space:pre;opacity:0;animation:.4s ease-out forwards Y0bh2G_seat-char-in;display:inline-block}@keyframes Y0bh2G_seat-char-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.Y0bh2G_introIcon,.Y0bh2G_introChar{opacity:1;animation:none}}.Y0bh2G_chevron{color:var(--dsw-alias-label-caption);flex:none}.Y0bh2G_item{flex-direction:column;gap:2px;max-width:280px;display:flex}.Y0bh2G_itemName{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.Y0bh2G_itemDesc{color:var(--dsw-alias-label-caption);white-space:normal;font-size:12px;line-height:16px}",Y="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetSeat.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(Y)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=Y,e.textContent=Q,document.head.appendChild(e)}var x={"seat-icon-in":"Y0bh2G_seat-icon-in",seat:"Y0bh2G_seat",chevron:"Y0bh2G_chevron",item:"Y0bh2G_item",seatIcon:"Y0bh2G_seatIcon",introIcon:"Y0bh2G_introIcon","seat-char-in":"Y0bh2G_seat-char-in",introText:"Y0bh2G_introText",introChar:"Y0bh2G_introChar",itemDesc:"Y0bh2G_itemDesc",itemName:"Y0bh2G_itemName"};const E=150,Z=40,ee=200,te=400;function $(e){return e<=1?0:Math.min(Z,ee/(e-1))}n($,"introStaggerMs");function se({load:e,select:s,introduced:t,useAgentPresetSeat:o,t:r}){const c=o(b=>b),[p,m]=(0,y.useState)(!1);(0,y.useEffect)(()=>{e()},[e]);const i=c.options.find(b=>b.id===c.current),u=(i===void 0?void 0:G(i,r))?.name??c.current,h=c.options.length>0&&c.current!=="",[v,_]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{if(!c.introduce||!h)return;const b=Array.from(u);if(b.length===0||window.matchMedia("(prefers-reduced-motion: reduce)").matches){t();return}_(!0);const S=window.setTimeout(()=>{_(!1),t()},E+(b.length-1)*$(b.length)+te);return()=>{window.clearTimeout(S)}},[c.introduce,h,u,t]),!h)return null;const d=Array.from(u),f=$(d.length),j=v?(0,a.jsx)("span",{className:x.introText,children:d.map((b,S)=>(0,a.jsx)("span",{className:x.introChar,style:{animationDelay:`${E+S*f}ms`},children:b},S))}):u;return(0,a.jsx)(g.Menu,{open:p,onClose:n(()=>{m(!1)},"onClose"),items:c.options.map(b=>{const S=G(b,r);return{id:b.id,label:(0,a.jsxs)("span",{className:x.item,children:[(0,a.jsx)("span",{className:x.itemName,children:S.name}),(0,a.jsx)("span",{className:x.itemDesc,children:S.description??r("noDescription")})]})}}),selectedId:c.current,onSelect:n(b=>{m(!1),s(b)},"onSelect"),align:"start",portal:!0,anchor:(0,a.jsxs)("button",{type:"button",className:x.seat,"aria-haspopup":"menu","aria-expanded":p,title:c.error??r("seatHint"),disabled:c.busy,onClick:n(()=>{m(b=>!b)},"onClick"),children:[(0,a.jsx)(g.IconAgentPresetOutline16,{className:v?`${x.seatIcon} ${x.introIcon}`:x.seatIcon}),j,(0,a.jsx)(g.IconChevronDownOutline14,{className:x.chevron})]})})}n(se,"AgentPresetSeat");const M="agent-presets";function w(e){return e instanceof Error?e.message:String(e)}n(w,"messageOf");async function N(e,s){let t;try{t=await e.settings.update({ns:M,patch:{default:s}})}catch(o){return w(o)}return t.result.ok?void 0:t.result.error.message}n(N,"writeDefaultPreset");async function re(e){try{const s=await e.agentPresets.list({});return s.result.ok?{ok:!0,value:s.result.value}:{ok:!1,error:s.result.error.message}}catch(s){return{ok:!1,error:w(s)}}}n(re,"readRoster");async function R(e,s){const t=s.getSnapshot();if(t.status==="loading")return;s.set({...t,status:"loading",error:null});const o=await re(e);if(o.ok)return o.value;s.set({...s.getSnapshot(),status:"error",error:o.error})}n(R,"beginRosterRead");function z(e){return e.filter(s=>s.broken===void 0).map(s=>({id:s.id,trust:s.trust,...s.name===void 0?{}:{name:s.name},...s.description===void 0?{}:{description:s.description}}))}n(z,"presetOptions");const ae={status:"idle",error:null,writable:!0,currentValue:"",options:[]};var ne=class{static{n(this,"AgentPresetSettingsController")}api;store=(0,k.createSnapshotStore)(ae);constructor(e){this.api=e}set(e){this.store.set({...this.store.getSnapshot(),...e})}async load(){const e=await R(this.api,this.store);if(e===void 0)return;const{presets:s}=e,[t]=s;if(t===void 0){this.set({status:"unavailable",options:[],currentValue:""});return}try{const o=await this.api.settings.describe({});this.set({status:"ready",error:null,writable:o.result.ok&&o.result.value.writable,options:z(s),currentValue:s.find(r=>r.isDefault)?.id??t.id})}catch(o){this.set({status:"error",error:w(o)})}}async select(e){const s=this.store.getSnapshot();if(s.status==="saving"||e===s.currentValue)return;this.set({status:"saving",error:null,currentValue:e});const t=await N(this.api,e);if(t!==void 0){this.set({status:"ready",currentValue:s.currentValue,error:t});return}await this.load()}};const oe=/^[a-z0-9][a-z0-9-]*$/,ie={status:"idle",error:null,authorable:!1,hasDocument:!1,rows:[],copy:null,view:null,pendingDelete:null,deleting:!1,revealedPaths:{}};function D(e,s){if(e.id==="")return"idRequired";if(!oe.test(e.id))return"idInvalid";if(s.some(t=>t.id===e.id))return"idTaken"}n(D,"draftBlocker");var le=class{static{n(this,"AgentPresetSectionController")}api;rosterChanged;store=(0,k.createSnapshotStore)(ie);constructor(e,s=()=>{}){this.api=e,this.rosterChanged=s}set(e){this.store.set({...this.store.getSnapshot(),...e})}patchCopy(e){const{copy:s}=this.store.getSnapshot();s!==null&&this.set({copy:{...s,...e}})}async load(){const e=await R(this.api,this.store);if(e===void 0)return;const{presets:s,authorable:t,hasDocument:o}=e;if(s.length===0){this.set({status:"unavailable",rows:[],authorable:t,hasDocument:o,copy:null,view:null});return}const r=this.store.getSnapshot().revealedPaths,c=Object.fromEntries(Object.entries(r).filter(([p])=>s.some(m=>m.id===p)));this.set({status:"ready",error:null,authorable:t,hasDocument:o,rows:s.map(p=>({...p})),revealedPaths:c})}async view(e){this.set({error:null});try{const s=await this.api.agentPresets.read({agentPreset:e});if(!s.result.ok){this.set({error:s.result.error.message});return}const{name:t,content:o}=s.result.value;this.set({view:{id:e,title:t??e,content:o}})}catch(s){this.set({error:w(s)})}}closeView(){this.set({view:null})}beginCopy(e){const s=this.store.getSnapshot().rows.find(t=>t.id===e);this.set({error:null,copy:{from:e,fromTitle:s?.name??e,id:"",name:"",saving:!1,error:null}})}cancelCopy(){this.set({copy:null})}setCopyId(e){this.patchCopy({id:e,error:null})}setCopyName(e){this.patchCopy({name:e,error:null})}async confirmCopy(){const e=this.store.getSnapshot().copy;if(!(e===null||e.saving)&&D(e,this.store.getSnapshot().rows)===void 0){this.patchCopy({saving:!0,error:null});try{const s=e.name.trim(),t=await this.api.agentPresets.copy({from:e.from,agentPreset:e.id,...s===""?{}:{name:s}});if(!t.result.ok){this.patchCopy({saving:!1,error:t.result.error.message});return}this.set({copy:null}),await this.load(),this.rosterChanged(),await this.openLocation(e.id)}catch(s){this.patchCopy({saving:!1,error:w(s)})}}}async openLocation(e){try{const s=await this.api.agentPresets.openDocument({agentPreset:e});if(!s.result.ok){this.set({error:s.result.error.message});return}if(s.result.value.opened)return;const{path:t}=s.result.value;this.set({revealedPaths:{...this.store.getSnapshot().revealedPaths,[e]:t}})}catch(s){this.set({error:w(s)})}}confirmDelete(e){this.store.getSnapshot().deleting||this.set({pendingDelete:e})}async remove(){const{pendingDelete:e,deleting:s}=this.store.getSnapshot();if(!(e===null||s)){this.set({deleting:!0,error:null});try{const t=await this.api.agentPresets.remove({agentPreset:e});if(!t.result.ok){this.set({deleting:!1,pendingDelete:null,error:t.result.error.message});return}this.set({deleting:!1,pendingDelete:null}),await this.load(),this.rosterChanged()}catch(t){this.set({deleting:!1,pendingDelete:null,error:w(t)})}}}async makeDefault(e){const s=await N(this.api,e);if(s!==void 0){this.set({error:s});return}await this.load()}};const de="._6SqALG_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}._6SqALG_title{margin:0;font-size:18px;font-weight:600}._6SqALG_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}._6SqALG_group{flex-direction:column;gap:10px;display:flex}._6SqALG_group+._6SqALG_group{margin-top:20px}._6SqALG_groupHead{letter-spacing:.06em;text-transform:uppercase;color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:600}._6SqALG_cards{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));grid-auto-rows:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}._6SqALG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;flex-direction:column;transition:border-color .16s,background .16s;display:flex}._6SqALG_card:hover:not(._6SqALG_cardActive){border-color:var(--dsw-alias-label-dimmed)}._6SqALG_cardActive{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-primary)}._6SqALG_cardBroken,._6SqALG_cardBroken:hover{border-color:var(--dsw-alias-state-error-primary)}._6SqALG_brokenBadge{white-space:nowrap;background:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-bg-layer-3);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}._6SqALG_cardBrokenReason{color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;font-size:12px;line-height:1.5}._6SqALG_cardMain{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px 12px 0 0;flex-direction:column;flex:1;gap:8px;padding:14px 16px 12px;display:flex}._6SqALG_cardMain:disabled{cursor:default}._6SqALG_cardMain:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}._6SqALG_cardHead{align-items:center;gap:8px;display:flex}._6SqALG_cardName{font-size:15px;font-weight:600;line-height:1.4}._6SqALG_badge,._6SqALG_inUse{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}._6SqALG_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary)}._6SqALG_inUse{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3);margin-left:auto}._6SqALG_cardDesc{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:42px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}._6SqALG_cardId{font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--dsw-alias-label-dimmed);margin-top:auto;font-size:11px}._6SqALG_cardFoot{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;gap:2px;padding:6px 10px;display:flex}._6SqALG_iconButton{appearance:none;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;padding:6px;display:inline-flex;position:relative}._6SqALG_iconButton:disabled{opacity:.4;cursor:default}._6SqALG_iconButton:hover:not(:disabled){background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}._6SqALG_iconButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-1px}._6SqALG_iconButton:after{content:attr(data-tip);background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:11px;line-height:17px;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}._6SqALG_iconButton:hover:after,._6SqALG_iconButton:focus-visible:after{opacity:1}._6SqALG_iconDanger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}._6SqALG_revealedPath{color:var(--dsw-alias-label-tertiary);align-items:baseline;gap:6px;margin:0;padding:6px 16px 10px;font-size:11px;display:flex}._6SqALG_revealedPath code{font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--dsw-alias-label-secondary);user-select:all;overflow-wrap:anywhere}._6SqALG_revealedPathLabel{white-space:nowrap}._6SqALG_secondaryButton{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 8px;font-size:12.5px}._6SqALG_secondaryButton:hover:not(:disabled){background:var(--dsw-alias-bg-layer-1)}._6SqALG_secondaryButton:disabled{opacity:.5;cursor:default}._6SqALG_field{flex-direction:column;gap:6px;display:flex}._6SqALG_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500}._6SqALG_input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:10px;padding:9px 12px;font-size:13px}._6SqALG_input:focus{border-color:var(--dsw-alias-brand-primary);outline:none}._6SqALG_input::placeholder{color:var(--dsw-alias-label-dimmed)}._6SqALG_dialog{width:min(560px,100%)}._6SqALG_dialogFields{flex-direction:column;gap:12px;display:flex}._6SqALG_viewerCode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-height:min(52vh,480px);color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre;tab-size:2;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:10px;margin:0;padding:12px;font-size:12.5px;line-height:1.5;overflow:auto}._6SqALG_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}._6SqALG_deleteDialog{width:min(480px,100%)}._6SqALG_deleteConfirm:not(:disabled){border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}._6SqALG_deleteConfirm:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}._6SqALG_creatorButton{box-sizing:border-box;border:1px dashed var(--dsw-alias-border-l3);height:44px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;gap:6px;font-size:14px;line-height:22px;display:flex}._6SqALG_creatorButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._6SqALG_creatorButton:disabled{opacity:.4;cursor:default}",O="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetSection.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(O)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=O,e.textContent=de,document.head.appendChild(e)}var l={title:"_6SqALG_title",groupHead:"_6SqALG_groupHead",badge:"_6SqALG_badge",cardDesc:"_6SqALG_cardDesc",revealedPathLabel:"_6SqALG_revealedPathLabel",dialog:"_6SqALG_dialog",deleteConfirm:"_6SqALG_deleteConfirm",cardActive:"_6SqALG_cardActive",cardBrokenReason:"_6SqALG_cardBrokenReason",cardMain:"_6SqALG_cardMain",card:"_6SqALG_card",dialogFields:"_6SqALG_dialogFields",secondaryButton:"_6SqALG_secondaryButton",cardId:"_6SqALG_cardId",section:"_6SqALG_section",cardBroken:"_6SqALG_cardBroken",creatorButton:"_6SqALG_creatorButton",input:"_6SqALG_input",inUse:"_6SqALG_inUse",revealedPath:"_6SqALG_revealedPath",deleteDialog:"_6SqALG_deleteDialog",brokenBadge:"_6SqALG_brokenBadge",iconDanger:"_6SqALG_iconDanger",viewerCode:"_6SqALG_viewerCode",field:"_6SqALG_field",fieldLabel:"_6SqALG_fieldLabel",intro:"_6SqALG_intro",group:"_6SqALG_group",cardHead:"_6SqALG_cardHead",iconButton:"_6SqALG_iconButton",cards:"_6SqALG_cards",cardFoot:"_6SqALG_cardFoot",cardName:"_6SqALG_cardName",error:"_6SqALG_error"};function ce({state:e,t:s,actions:t}){const o=e.copy,r=o===null?void 0:D(o,e.rows),c=o===null?null:o.error??(r===void 0?null:s(r)),p=o===null?void 0:e.rows.find(i=>i.id===o.from),m=p===void 0?o?.fromTitle:G(p,s).name;return(0,a.jsx)(g.Modal,{open:o!==null,onClose:n(()=>{t.cancelCopy()},"onClose"),title:o===null?s("copyTitle"):`${s("copyTitle")} · ${s("copyOf")} ${m}`,closeLabel:s("close"),description:s("copyIntro"),className:l.dialog,footer:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Button,{variant:"outline",disabled:o?.saving===!0,onClick:n(()=>{t.cancelCopy()},"onClick"),children:s("cancel")}),(0,a.jsx)(g.Button,{disabled:o===null||o.saving||r!==void 0,onClick:n(()=>{t.confirmCopy()},"onClick"),children:o?.saving===!0?s("creating"):s("create")})]}),children:o===null?null:(0,a.jsxs)("div",{className:l.dialogFields,children:[(0,a.jsxs)("label",{className:l.field,children:[(0,a.jsx)("span",{className:l.fieldLabel,children:s("presetId")}),(0,a.jsx)("input",{className:l.input,value:o.id,autoFocus:!0,spellCheck:!1,placeholder:s("presetIdPlaceholder"),onChange:n(i=>{t.setCopyId(i.target.value)},"onChange")})]}),(0,a.jsxs)("label",{className:l.field,children:[(0,a.jsx)("span",{className:l.fieldLabel,children:s("displayName")}),(0,a.jsx)("input",{className:l.input,value:o.name,spellCheck:!1,placeholder:s("displayNamePlaceholder"),onChange:n(i=>{t.setCopyName(i.target.value)},"onChange")})]}),c===null?null:(0,a.jsx)("p",{className:l.error,role:"alert",children:c})]})})}n(ce,"CopyDialog");function ue({text:e}){const s=(0,y.useRef)(null),[t,o]=(0,y.useState)(!1);return(0,y.useLayoutEffect)(()=>{const r=s.current;if(r===null)return;const c=n(()=>{o(r.scrollHeight>r.clientHeight)},"measure");if(c(),typeof ResizeObserver>"u")return;const p=new ResizeObserver(c);return p.observe(r),()=>{p.disconnect()}},[e]),(0,a.jsx)(g.Tooltip,{label:e,side:"bottom",delayMs:400,disabled:!t,maxWidth:360,children:(0,a.jsx)("span",{ref:s,className:l.cardDesc,title:"",children:e})})}n(ue,"CardDescription");function pe(e){const{useAgentPresetSection:s,t,load:o}=e,r=s(u=>u),c=r.view?.id,p=c===void 0?void 0:r.rows.find(u=>u.id===c),m=r.view===null?"":p===void 0?r.view.title:G(p,t).name;if((0,y.useEffect)(()=>{o()},[o]),r.status==="unavailable")return null;if(r.status==="error"){const u=r.error??"";return(0,a.jsxs)("div",{className:l.section,children:[(0,a.jsx)("p",{className:l.error,role:"alert",children:`${t("error")} ${u}`}),(0,a.jsx)("button",{type:"button",className:l.secondaryButton,onClick:n(()=>{o()},"onClick"),children:t("retry")})]})}const i=e.startCreatorDraft!==void 0&&r.rows.some(u=>u.id==="cordis")?(0,a.jsxs)("button",{type:"button",className:l.creatorButton,disabled:!r.authorable,title:r.authorable?void 0:t("duplicateUnavailable"),onClick:n(()=>{e.startCreatorDraft?.(),e.close()},"onClick"),children:[(0,a.jsx)(g.IconPlusOutline16,{size:14}),t("creatorDraft")]}):null;return(0,a.jsxs)("div",{className:l.section,children:[(0,a.jsx)("h2",{className:l.title,children:t("nav")}),(0,a.jsx)("p",{className:l.intro,children:t("sectionIntro")}),r.error===null?null:(0,a.jsx)("p",{className:l.error,role:"alert",children:r.error}),[["system",t("builtInGroup")],["user",t("customGroup")]].map(([u,h])=>{const v=r.rows.filter(d=>d.trust===u).map(d=>({row:d,text:G(d,t)})),_=u==="user"?i:null;return v.length===0&&_===null?null:(0,a.jsxs)("section",{className:l.group,children:[(0,a.jsx)("h3",{className:l.groupHead,children:h}),v.length===0?null:(0,a.jsx)("ul",{className:l.cards,children:v.map(({row:d,text:f})=>(0,a.jsxs)("li",{className:d.broken!==void 0?`${l.card} ${l.cardBroken}`:d.isDefault?`${l.card} ${l.cardActive}`:l.card,children:[(0,a.jsxs)("button",{type:"button",className:l.cardMain,"aria-pressed":d.isDefault,disabled:d.isDefault||d.broken!==void 0,"aria-label":`${d.broken!==void 0?t("brokenBadge"):d.isDefault?t("inUse"):t("setDefault")}: ${f.name}`,title:d.broken??(d.isDefault?t("inUse"):t("setDefault")),onClick:n(()=>{e.makeDefault(d.id)},"onClick"),children:[(0,a.jsxs)("span",{className:l.cardHead,children:[(0,a.jsx)("span",{className:l.cardName,children:f.name}),d.broken!==void 0?(0,a.jsx)("span",{className:l.brokenBadge,children:t("brokenBadge")}):null,(0,a.jsx)("span",{className:l.badge,children:d.trust==="user"?t("userTrust"):t("builtIn")}),d.isDefault?(0,a.jsx)("span",{className:l.inUse,children:t("inUse")}):null]}),(0,a.jsx)(ue,{text:f.description??t("noDescription")}),d.broken===void 0?null:(0,a.jsx)("span",{className:l.cardBrokenReason,role:"alert",children:d.broken}),(0,a.jsx)("code",{className:l.cardId,children:d.id})]}),(0,a.jsxs)("div",{className:l.cardFoot,children:[d.trust==="system"?d.broken===void 0?(0,a.jsx)("button",{type:"button",className:l.iconButton,"data-tip":t("view"),"aria-label":`${t("view")}: ${f.name}`,onClick:n(()=>{e.view(d.id)},"onClick"),children:(0,a.jsx)(g.IconBrowseOutline16,{})}):null:(0,a.jsx)("button",{type:"button",className:l.iconButton,"data-tip":r.hasDocument?t("openLocation"):t("showLocation"),"aria-label":`${r.hasDocument?t("openLocation"):t("showLocation")}: ${f.name}`,onClick:n(()=>{e.openLocation(d.id)},"onClick"),children:(0,a.jsx)(g.IconFolderOpenOutline16,{})}),(0,a.jsx)("button",{type:"button",className:l.iconButton,disabled:!r.authorable||d.broken!==void 0,"data-tip":d.broken!==void 0?t("brokenNoCopy"):r.authorable?t("duplicate"):t("duplicateUnavailable"),"aria-label":`${t("duplicate")}: ${f.name}`,onClick:n(()=>{e.beginCopy(d.id)},"onClick"),children:(0,a.jsx)(g.IconCopyOutline16,{})}),d.trust==="user"?(0,a.jsx)("button",{type:"button",className:`${l.iconButton} ${l.iconDanger}`,"data-tip":t("delete"),"aria-label":`${t("delete")}: ${f.name}`,onClick:n(()=>{e.confirmDelete(d.id)},"onClick"),children:(0,a.jsx)(g.IconTrashOutline16,{})}):null]}),r.revealedPaths[d.id]===void 0?null:(0,a.jsxs)("p",{className:l.revealedPath,children:[(0,a.jsx)("span",{className:l.revealedPathLabel,children:t("revealedPathLabel")}),(0,a.jsx)("code",{children:r.revealedPaths[d.id]})]})]},d.id))}),_]},u)}),(0,a.jsx)(ce,{state:r,t,actions:{cancelCopy:e.cancelCopy,confirmCopy:e.confirmCopy,setCopyId:e.setCopyId,setCopyName:e.setCopyName}}),(0,a.jsx)(g.Modal,{open:r.view!==null,onClose:n(()=>{e.closeView()},"onClose"),title:r.view===null?"":`${t("view")} · ${m}`,closeLabel:t("close"),description:t("composition"),className:l.dialog,footer:(0,a.jsx)(g.Button,{variant:"outline",autoFocus:!0,onClick:n(()=>{e.closeView()},"onClick"),children:t("close")}),children:r.view===null?null:(0,a.jsx)("pre",{className:l.viewerCode,children:r.view.content})}),(0,a.jsx)(g.Modal,{open:r.pendingDelete!==null,onClose:n(()=>{e.confirmDelete(null)},"onClose"),title:t("deleteTitle"),closeLabel:t("close"),description:t("deleteDescription"),className:l.deleteDialog,footer:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Button,{variant:"outline",autoFocus:!0,disabled:r.deleting,onClick:n(()=>{e.confirmDelete(null)},"onClick"),children:t("cancel")}),(0,a.jsx)(g.Button,{variant:"outline",className:l.deleteConfirm,disabled:r.deleting,onClick:n(()=>{e.remove()},"onClick"),children:r.deleting?t("deleting"):t("deleteConfirm")})]})})]})}n(pe,"AgentPresetSection");const he={options:[],current:"",error:null,busy:!1,introduce:!1};var ge=class{static{n(this,"AgentPresetSeatController")}api;currentSession;onApplied;store=(0,k.createSnapshotStore)(he);fallback="";staged;constructor(e,s,t){this.api=e,this.currentSession=s,this.onApplied=t}set(e){this.store.set({...this.store.getSnapshot(),...e})}async load(){try{const e=await this.api.agentPresets.list({});if(!e.result.ok){this.set({error:e.result.error.message});return}const{presets:s}=e.result.value;this.fallback=s.find(t=>t.isDefault)?.id??s[0]?.id??"",this.set({options:z(s),current:this.staged??this.currentSession()?.agentPreset??this.fallback,error:null})}catch(e){this.set({error:w(e)})}}async select(e){this.store.getSnapshot().busy||(this.stage(e),await this.apply())}stage(e,s=!1){this.staged=e,this.set({current:e,error:null,introduce:s})}introduced(){this.store.getSnapshot().introduce&&this.set({introduce:!1})}async apply(){const e=this.staged,s=this.currentSession();if(!(e===void 0||s===void 0)){if(!s.blank||s.agentPreset===e){this.staged=void 0;return}this.set({busy:!0,error:null});try{const t=await this.api.agentPresets.select({sessionId:s.id,agentPreset:e});if(this.staged=void 0,!t.result.ok){this.set({busy:!1,error:t.result.error.message,current:this.fallback});return}this.set({busy:!1,current:t.result.value.agentPreset}),this.onApplied?.(s.id,t.result.value.agentPreset)}catch(t){this.staged=void 0,this.set({busy:!1,error:w(t),current:this.fallback})}}}};const me=["slots","locale","connection","remote"];function fe(e){const{api:s}=e.get("connection"),t=new ne(s),o=new Set,r=new le(s,()=>{t.load();for(const i of o)i()});e.effect(()=>e.locale.register("settings.agentPreset",{zh:H,en:F}),"ui-agent-preset: settings row dictionaries");const c=n(()=>({hooks:{agentPreset:t.store},load:n(()=>t.load(),"load"),select:n(i=>t.select(i),"select")}),"injected");e.effect(()=>{const i=n(()=>{t.load(),r.store.getSnapshot().status!=="idle"&&r.load()},"refresh"),u=[e.remote.$on("settings/document-updated",h=>{h==="agent-presets"&&i()}),e.on("connection/reset",()=>{i()})];return()=>{for(const h of u)h()}},"ui-agent-preset: settings refresh");let p;e.inject(["slots","conversation","sessions","workspaces"],i=>{const u=i.get("connection").api,h=new ge(u,()=>{const d=i.sessions.list.getSnapshot(),f=d.current===void 0?void 0:d.byId[d.current];return f===void 0?void 0:{id:f.id,blank:f.blank,...f.agentPreset===void 0?{}:{agentPreset:f.agentPreset}}},(d,f)=>{i.sessions.noteAgentPreset(d,f)}),v=n(()=>({hooks:{agentPresetSeat:h.store},load:n(()=>h.load(),"load"),select:n(d=>h.select(d),"select"),introduced:n(()=>{h.introduced()},"introduced")}),"seatInjected"),_=n(()=>({hooks:{agentPresets:t.store},load:n(()=>t.load(),"load")}),"labelInjected");i.effect(()=>{const d=i.sessions.list.subscribe(()=>{h.apply()}),f=i.remote.$on("settings/document-updated",P=>{P==="agent-presets"&&h.load()}),j=i.remote.$on("agent-preset/selected",(P,ve)=>{i.sessions.noteAgentPreset(P,ve)}),b=n(()=>{h.load()},"readRoster");o.add(b),p=n(()=>{h.stage("cordis",!0),i.workspaces.startSession()},"creatorDraft");const S=i.slots.register({name:"conversation.hero.agentPreset",locale:"settings.agentPreset",inject:v},se),be=i.slots.register({name:"conversation.session.header.actions",id:"agent-preset",order:-10,locale:"settings.agentPreset",inject:_},W);return()=>{d(),f(),j(),o.delete(b),p=void 0,S(),be()}},"ui-agent-preset: new-session chip and header label")});const m=n(()=>({hooks:{agentPresetSection:r.store},load:n(()=>r.load(),"load"),view:n(i=>r.view(i),"view"),closeView:n(()=>{r.closeView()},"closeView"),beginCopy:n(i=>{r.beginCopy(i)},"beginCopy"),cancelCopy:n(()=>{r.cancelCopy()},"cancelCopy"),setCopyId:n(i=>{r.setCopyId(i)},"setCopyId"),setCopyName:n(i=>{r.setCopyName(i)},"setCopyName"),confirmCopy:n(()=>r.confirmCopy(),"confirmCopy"),openLocation:n(i=>r.openLocation(i),"openLocation"),...p===void 0?{}:{startCreatorDraft:p},confirmDelete:n(i=>{r.confirmDelete(i)},"confirmDelete"),remove:n(()=>r.remove(),"remove"),makeDefault:n(i=>r.makeDefault(i),"makeDefault")}),"sectionInjected");e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"agent-preset",order:-25,locale:"settings.agentPreset",inject:c},X)),e.slots.inject("settings.section",()=>e.slots.register({name:"settings.section",id:"agent-presets",order:20,label:n(()=>e.locale.bind("settings.agentPreset")("nav"),"label"),locale:"settings.agentPreset",inject:m},pe))}return n(fe,"apply"),q.AGENT_PRESET_SETTINGS_NS=M,q.apply=fe,q.draftBlocker=D,q.inject=me,q.writeDefaultPreset=N,L.exports},"factory")});
1
+ var ve=Object.defineProperty;var a=(C,N)=>ve(C,"name",{value:N,configurable:!0});window.__ModuleLoader__.load({id:"@qqbrowser/qbot-dsh-client-ui-agent-preset",factory:a(C=>{var N={exports:{}},D=N.exports;Object.defineProperty(D,Symbol.toStringTag,{value:"Module"});let n=C("react/jsx-runtime"),y=C("react"),g=C("@qqbrowser/qbot-dsh-client-ui-primitives"),S=C("@qqbrowser/qbot-dsh-client-runtime/client");const O={title:"Agent preset",description:"Applies to sessions you start from now on. Running sessions keep the preset they began with.",loading:"Loading presets…",error:"Could not load agent presets.",userTrust:"Custom",seatHint:"Agent preset for the session you are about to start",headerHint:"The agent preset this session runs, fixed when it started",nav:"Agent presets",sectionIntro:"A preset is the plugin composition one session's agent runs — its tools, prompt, and capabilities. Duplicate an existing one and make it yours, or let the agent draft one for you in Creator mode.",builtIn:"Built-in",setDefault:"Set as default",view:"View",presetStandardName:"Standard mode",presetStandardDescription:"Full coding agent with file editing, shell, file and web search, skills, planning, goals, subagents, and workflows.",presetCodeName:"Code mode",presetCodeDescription:"All Standard mode capabilities, with tools exposed through the Code Mode SDK so the model can combine multi-step operations in one TypeScript program.",presetMinimalName:"Minimal mode",presetMinimalDescription:"Two-tool coding agent with persistent bash and str_replace_editor.",presetCordisName:"Creator mode",presetCordisDescription:"Built for creating custom agent presets, with all Standard mode capabilities plus runtime inspection, plugin experiments, and preset-authoring guidance.",duplicate:"Duplicate",duplicateUnavailable:"This deployment has no writable preset directory",delete:"Delete",presetId:"Identifier",presetIdPlaceholder:"my-agent",displayName:"Name",displayNamePlaceholder:"Shown in the picker; defaults to the identifier",inUse:"In use",builtInGroup:"Built-in",customGroup:"Custom",noDescription:"No description.",brokenBadge:"Failed to load",brokenNoCopy:"A preset that failed to load cannot be duplicated",copyOf:"Copied from",composition:"Composition (agent.cordis.yml)",cancel:"Cancel",close:"Close",retry:"Retry",copyTitle:"Duplicate preset",copyIntro:"The whole preset is copied on this machine. The identifier becomes its directory name and cannot be changed later; everything else is edited in the preset's own files.",create:"Create",creating:"Creating…",creatorDraft:"Draft a custom preset with Creator mode",openLocation:"Open folder",showLocation:"Show location",revealedPathLabel:"Preset files:",idRequired:"Give the preset an identifier.",idInvalid:"Use lowercase letters, digits, and hyphens, starting with a letter or digit.",idTaken:"A preset with this identifier already exists.",deleteTitle:"Delete this preset?",deleteDescription:"The preset directory is deleted. Sessions already running on it keep working; new sessions cannot select it.",deleteConfirm:"Delete",deleting:"Deleting…"},H={title:"Agent 预设",description:"对此后新建的会话生效。运行中的会话保持它开始时的预设。",loading:"正在加载预设…",error:"无法加载 Agent 预设。",userTrust:"自定义",seatHint:"即将开始的这个会话所用的 Agent 预设",headerHint:"本会话运行的 Agent 预设,开始时即固定",nav:"Agent 预设",sectionIntro:"预设即一个会话的 Agent 所运行的插件组装 —— 它的工具、提示词与能力。复制一份既有预设改成自己的,或用「创造模式」让 Agent 帮你创建。",builtIn:"内置",setDefault:"设为默认",view:"查看",presetStandardName:"标准模式",presetStandardDescription:"功能完整的编码 Agent,支持文件编辑、Shell、文件与网页检索、Skills、计划、目标、子代理和工作流。",presetCodeName:"PTC 模式",presetCodeDescription:"具备标准模式的全部能力,并通过 Code Mode SDK 呈现工具,让模型用一个 TypeScript 程序组合多步操作。",presetMinimalName:"极简模式",presetMinimalDescription:"仅提供持久 bash 与 str_replace_editor 的双工具编码 Agent。",presetCordisName:"创造模式",presetCordisDescription:"用于创建自定义 Agent preset:具备标准模式的全部能力,并提供运行时检查、插件实验和 preset 创作指导。",duplicate:"复制",duplicateUnavailable:"此部署未配置可写的预设目录",delete:"删除",presetId:"标识符",presetIdPlaceholder:"my-agent",displayName:"名称",displayNamePlaceholder:"选择器中显示的名字,缺省用标识符",inUse:"当前使用",builtInGroup:"内置",customGroup:"自定义",noDescription:"暂无描述。",brokenBadge:"加载失败",brokenNoCopy:"预设加载失败,不能复制",copyOf:"复制自",composition:"组装(agent.cordis.yml)",cancel:"取消",close:"关闭",retry:"重试",copyTitle:"复制预设",copyIntro:"整个预设会在本机复制一份。标识符将成为目录名,事后无法更改;其余内容之后直接在预设自己的文件里编辑。",create:"创建",creating:"正在创建…",creatorDraft:"用「创造模式」创作自定义预设",openLocation:"打开目录",showLocation:"查看路径",revealedPathLabel:"预设文件:",idRequired:"请填写标识符。",idInvalid:"只能使用小写字母、数字与连字符,且以字母或数字开头。",idTaken:"该标识符已被占用。",deleteTitle:"删除该预设?",deleteDescription:"预设目录将被删除。已在其上运行的会话不受影响;新会话将无法再选择它。",deleteConfirm:"删除",deleting:"正在删除…"},V={standard:{name:"presetStandardName",description:"presetStandardDescription"},code:{name:"presetCodeName",description:"presetCodeDescription"},minimal:{name:"presetMinimalName",description:"presetMinimalDescription"},cordis:{name:"presetCordisName",description:"presetCordisDescription"}};function T(e,s){const t=e.trust==="system"?V[e.id]:void 0;return t!==void 0?{name:s(t.name),description:s(t.description)}:{name:e.name??e.id,...e.description===void 0?{}:{description:e.description}}}a(T,"presetDisplayText");const U=".nBn01q_label{background:var(--dsw-alias-fill-tsp-secondary);max-width:180px;height:22px;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:4px;padding:0 2px 0 0;font-size:12px;line-height:22px;display:inline-flex;overflow:hidden}.nBn01q_icon{opacity:.7;flex:none}",G="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetLabel.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(G)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=G,e.textContent=U,document.head.appendChild(e)}var A={label:"nBn01q_label",icon:"nBn01q_icon"};function J({sessionId:e,useSessions:s,useAgentPresets:t,load:o,t:r}){const d=s(u=>u.byId[e]?.agentPreset),p=t(u=>u.options);if((0,y.useEffect)(()=>{d!==void 0&&o()},[d,o]),d===void 0)return null;const m=p.find(u=>u.id===d),i=m===void 0?void 0:T(m,r);return(0,n.jsxs)("span",{className:A.label,title:i?.description??r("headerHint"),children:[(0,n.jsx)(g.IconAgentPresetOutline16,{size:14,className:A.icon}),i?.name??d]})}a(J,"AgentPresetLabel");function K({options:e,selectedId:s,label:t,t:o,buttonClassName:r,chevronClassName:d,disabled:p,open:m,onOpenChange:i,onSelect:u}){return(0,n.jsx)(g.Menu,{open:m,onClose:a(()=>{i(!1)},"onClose"),items:e.map(h=>{const b=T(h,o).name;return{id:h.id,label:h.trust==="user"?`${b} · ${o("userTrust")}`:b}}),selectedId:s,onSelect:a(h=>{i(!1),u(h)},"onSelect"),align:"end",portal:!0,anchor:(0,n.jsxs)("button",{type:"button",className:r,"aria-haspopup":"menu","aria-expanded":m,disabled:p,onClick:a(()=>{i(!m)},"onClick"),children:[t,(0,n.jsx)(g.IconChevronDownOutline14,{className:d})]})})}a(K,"PresetMenu");const Y="._BMg6a_row{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}._BMg6a_rowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}._BMg6a_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}._BMg6a_desc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}._BMg6a_selector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}._BMg6a_selector:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._BMg6a_selector:disabled{cursor:default}._BMg6a_chevron{flex:none}",M="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetRow.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(M)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=M,e.textContent=Y,document.head.appendChild(e)}var k={desc:"_BMg6a_desc",row:"_BMg6a_row",title:"_BMg6a_title",rowText:"_BMg6a_rowText",selector:"_BMg6a_selector",chevron:"_BMg6a_chevron"};function X({load:e,select:s,useAgentPreset:t,t:o}){const r=t(v=>v),[d,p]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{e()},[e]),(0,y.useEffect)(()=>{r.writable&&r.status!=="unavailable"||p(!1)},[r.status,r.writable]),r.status==="unavailable")return null;const m=r.status==="loading"||r.status==="saving",i=r.options.find(v=>v.id===r.currentValue),u=i===void 0?void 0:T(i,o),h=r.currentValue===""?o("loading"):u?.name??r.currentValue,b=r.error??o("description");return(0,n.jsxs)("div",{className:k.row,children:[(0,n.jsxs)("div",{className:k.rowText,children:[(0,n.jsx)("div",{className:k.title,children:o("title")}),(0,n.jsx)("div",{className:k.desc,role:r.error===null?void 0:"alert",children:b})]}),(0,n.jsx)(K,{options:r.options,selectedId:r.currentValue,label:h,t:o,buttonClassName:k.selector,chevronClassName:k.chevron,disabled:m||!r.writable||r.options.length===0,open:d,onOpenChange:p,onSelect:a(v=>{s(v)},"onSelect")})]})}a(X,"AgentPresetRow");const Q=".wcGDFG_seat{max-width:min(100%,240px);min-height:28px;color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:4px;padding:0 8px;font-size:13px;font-weight:500;line-height:20px;display:inline-flex;overflow:hidden}.wcGDFG_seat:not(:disabled):hover,.wcGDFG_seat[aria-expanded=true]{background:var(--dsw-alias-interactive-bg-hover)}.wcGDFG_seat:disabled{cursor:default;color:var(--dsw-alias-label-quaternary)}.wcGDFG_seatIcon{color:var(--dsw-alias-label-primary);flex:none}.wcGDFG_introIcon{animation:.15s cubic-bezier(.16,1,.3,1) both wcGDFG_seat-icon-in}@keyframes wcGDFG_seat-icon-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.wcGDFG_introText{white-space:pre;display:inline-block}.wcGDFG_introChar{white-space:pre;opacity:0;animation:.4s ease-out forwards wcGDFG_seat-char-in;display:inline-block}@keyframes wcGDFG_seat-char-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wcGDFG_introIcon,.wcGDFG_introChar{opacity:1;animation:none}}.wcGDFG_chevron{color:var(--dsw-alias-label-caption);flex:none}.wcGDFG_item{flex-direction:column;gap:2px;max-width:280px;display:flex}.wcGDFG_itemName{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.wcGDFG_itemDesc{color:var(--dsw-alias-label-caption);white-space:normal;font-size:12px;line-height:16px}",F="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetSeat.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(F)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=F,e.textContent=Q,document.head.appendChild(e)}var x={seatIcon:"wcGDFG_seatIcon",seat:"wcGDFG_seat",introIcon:"wcGDFG_introIcon",chevron:"wcGDFG_chevron","seat-icon-in":"wcGDFG_seat-icon-in","seat-char-in":"wcGDFG_seat-char-in",introText:"wcGDFG_introText",itemName:"wcGDFG_itemName",itemDesc:"wcGDFG_itemDesc",item:"wcGDFG_item",introChar:"wcGDFG_introChar"};const q=150,Z=40,ee=200,te=400;function L(e){return e<=1?0:Math.min(Z,ee/(e-1))}a(L,"introStaggerMs");function se({load:e,select:s,introduced:t,useAgentPresetSeat:o,t:r}){const d=o(w=>w),[p,m]=(0,y.useState)(!1);(0,y.useEffect)(()=>{e()},[e]);const i=d.options.find(w=>w.id===d.current),u=(i===void 0?void 0:T(i,r))?.name??d.current,h=d.options.length>0&&d.current!=="",[b,v]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{if(!d.introduce||!h)return;const w=Array.from(u);if(w.length===0||window.matchMedia("(prefers-reduced-motion: reduce)").matches){t();return}v(!0);const W=window.setTimeout(()=>{v(!1),t()},q+(w.length-1)*L(w.length)+te);return()=>{window.clearTimeout(W)}},[d.introduce,h,u,t]),!h)return null;const c=Array.from(u),f=L(c.length),I=b?(0,n.jsx)("span",{className:x.introText,children:c.map((w,W)=>(0,n.jsx)("span",{className:x.introChar,style:{animationDelay:`${q+W*f}ms`},children:w},W))}):u;return(0,n.jsx)(g.Menu,{open:p,onClose:a(()=>{m(!1)},"onClose"),items:d.options.map(w=>{const W=T(w,r);return{id:w.id,label:(0,n.jsxs)("span",{className:x.item,children:[(0,n.jsx)("span",{className:x.itemName,children:W.name}),(0,n.jsx)("span",{className:x.itemDesc,children:W.description??r("noDescription")})]})}}),selectedId:d.current,onSelect:a(w=>{m(!1),s(w)},"onSelect"),align:"start",portal:!0,anchor:(0,n.jsxs)("button",{type:"button",className:x.seat,"aria-haspopup":"menu","aria-expanded":p,title:d.error??r("seatHint"),disabled:d.busy,onClick:a(()=>{m(w=>!w)},"onClick"),children:[(0,n.jsx)(g.IconAgentPresetOutline16,{className:b?`${x.seatIcon} ${x.introIcon}`:x.seatIcon}),I,(0,n.jsx)(g.IconChevronDownOutline14,{className:x.chevron})]})})}a(se,"AgentPresetSeat");const $="agent-presets";function _(e){return e instanceof Error?e.message:String(e)}a(_,"messageOf");async function j(e,s){let t;try{t=await e.settings.update({ns:$,patch:{default:s}})}catch(o){return _(o)}return t.result.ok?void 0:t.result.error.message}a(j,"writeDefaultPreset");async function re(e){try{const s=await e.agentPresets.list({});return s.result.ok?{ok:!0,value:s.result.value}:{ok:!1,error:s.result.error.message}}catch(s){return{ok:!1,error:_(s)}}}a(re,"readRoster");async function R(e,s){const t=s.getSnapshot();if(t.status==="loading")return;s.set({...t,status:"loading",error:null});const o=await re(e);if(o.ok)return o.value;s.set({...s.getSnapshot(),status:"error",error:o.error})}a(R,"beginRosterRead");function z(e){return e.filter(s=>s.broken===void 0).map(s=>({id:s.id,trust:s.trust,...s.name===void 0?{}:{name:s.name},...s.description===void 0?{}:{description:s.description}}))}a(z,"presetOptions");const ne={status:"idle",error:null,writable:!0,currentValue:"",options:[]};var ae=class{static{a(this,"AgentPresetSettingsController")}api;store=(0,S.createSnapshotStore)(ne);constructor(e){this.api=e}set(e){this.store.set({...this.store.getSnapshot(),...e})}async load(){const e=await R(this.api,this.store);if(e===void 0)return;const{presets:s}=e,[t]=s;if(t===void 0){this.set({status:"unavailable",options:[],currentValue:""});return}try{const o=await this.api.settings.describe({});this.set({status:"ready",error:null,writable:o.result.ok&&o.result.value.writable,options:z(s),currentValue:s.find(r=>r.isDefault)?.id??t.id})}catch(o){this.set({status:"error",error:_(o)})}}async select(e){const s=this.store.getSnapshot();if(s.status==="saving"||e===s.currentValue)return;this.set({status:"saving",error:null,currentValue:e});const t=await j(this.api,e);if(t!==void 0){this.set({status:"ready",currentValue:s.currentValue,error:t});return}await this.load()}};const oe=/^[a-z0-9][a-z0-9-]*$/,ie={status:"idle",error:null,authorable:!1,hasDocument:!1,rows:[],copy:null,view:null,pendingDelete:null,deleting:!1,revealedPaths:{}};function P(e,s){if(e.id==="")return"idRequired";if(!oe.test(e.id))return"idInvalid";if(s.some(t=>t.id===e.id))return"idTaken"}a(P,"draftBlocker");var le=class{static{a(this,"AgentPresetSectionController")}api;rosterChanged;store=(0,S.createSnapshotStore)(ie);constructor(e,s=()=>{}){this.api=e,this.rosterChanged=s}set(e){this.store.set({...this.store.getSnapshot(),...e})}patchCopy(e){const{copy:s}=this.store.getSnapshot();s!==null&&this.set({copy:{...s,...e}})}async load(){const e=await R(this.api,this.store);if(e===void 0)return;const{presets:s,authorable:t,hasDocument:o}=e;if(s.length===0){this.set({status:"unavailable",rows:[],authorable:t,hasDocument:o,copy:null,view:null});return}const r=this.store.getSnapshot().revealedPaths,d=Object.fromEntries(Object.entries(r).filter(([p])=>s.some(m=>m.id===p)));this.set({status:"ready",error:null,authorable:t,hasDocument:o,rows:s.map(p=>({...p})),revealedPaths:d})}async view(e){this.set({error:null});try{const s=await this.api.agentPresets.read({agentPreset:e});if(!s.result.ok){this.set({error:s.result.error.message});return}const{name:t,content:o}=s.result.value;this.set({view:{id:e,title:t??e,content:o}})}catch(s){this.set({error:_(s)})}}closeView(){this.set({view:null})}beginCopy(e){const s=this.store.getSnapshot().rows.find(t=>t.id===e);this.set({error:null,copy:{from:e,fromTitle:s?.name??e,id:"",name:"",saving:!1,error:null}})}cancelCopy(){this.set({copy:null})}setCopyId(e){this.patchCopy({id:e,error:null})}setCopyName(e){this.patchCopy({name:e,error:null})}async confirmCopy(){const e=this.store.getSnapshot().copy;if(!(e===null||e.saving)&&P(e,this.store.getSnapshot().rows)===void 0){this.patchCopy({saving:!0,error:null});try{const s=e.name.trim(),t=await this.api.agentPresets.copy({from:e.from,agentPreset:e.id,...s===""?{}:{name:s}});if(!t.result.ok){this.patchCopy({saving:!1,error:t.result.error.message});return}this.set({copy:null}),await this.load(),this.rosterChanged(),await this.openLocation(e.id)}catch(s){this.patchCopy({saving:!1,error:_(s)})}}}async openLocation(e){try{const s=await this.api.agentPresets.openDocument({agentPreset:e});if(!s.result.ok){this.set({error:s.result.error.message});return}if(s.result.value.opened)return;const{path:t}=s.result.value;this.set({revealedPaths:{...this.store.getSnapshot().revealedPaths,[e]:t}})}catch(s){this.set({error:_(s)})}}confirmDelete(e){this.store.getSnapshot().deleting||this.set({pendingDelete:e})}async remove(){const{pendingDelete:e,deleting:s}=this.store.getSnapshot();if(!(e===null||s)){this.set({deleting:!0,error:null});try{const t=await this.api.agentPresets.remove({agentPreset:e});if(!t.result.ok){this.set({deleting:!1,pendingDelete:null,error:t.result.error.message});return}this.set({deleting:!1,pendingDelete:null}),await this.load(),this.rosterChanged()}catch(t){this.set({deleting:!1,pendingDelete:null,error:_(t)})}}}async makeDefault(e){const s=await j(this.api,e);if(s!==void 0){this.set({error:s});return}await this.load()}};const ce=".wT5WnW_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.wT5WnW_title{margin:0;font-size:18px;font-weight:600}.wT5WnW_intro{color:var(--dsw-alias-label-tertiary);margin:0;font-size:13px}.wT5WnW_group{flex-direction:column;gap:10px;display:flex}.wT5WnW_group+.wT5WnW_group{margin-top:20px}.wT5WnW_groupHead{letter-spacing:.06em;text-transform:uppercase;color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;font-weight:600}.wT5WnW_cards{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));grid-auto-rows:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.wT5WnW_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;flex-direction:column;transition:border-color .16s,background .16s;display:flex}.wT5WnW_card:hover:not(.wT5WnW_cardActive){border-color:var(--dsw-alias-label-dimmed)}.wT5WnW_cardActive{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-primary)}.wT5WnW_cardBroken,.wT5WnW_cardBroken:hover{border-color:var(--dsw-alias-state-error-primary)}.wT5WnW_brokenBadge{white-space:nowrap;background:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-bg-layer-3);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.wT5WnW_cardBrokenReason{color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.wT5WnW_cardMain{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px 12px 0 0;flex-direction:column;flex:1;gap:8px;padding:14px 16px 12px;display:flex}.wT5WnW_cardMain:disabled{cursor:default}.wT5WnW_cardMain:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.wT5WnW_cardHead{align-items:center;gap:8px;display:flex}.wT5WnW_cardName{font-size:15px;font-weight:600;line-height:1.4}.wT5WnW_badge,.wT5WnW_inUse{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.wT5WnW_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary)}.wT5WnW_inUse{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3);margin-left:auto}.wT5WnW_cardDesc{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:42px;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.wT5WnW_cardId{font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--dsw-alias-label-dimmed);margin-top:auto;font-size:11px}.wT5WnW_cardFoot{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;gap:2px;padding:6px 10px;display:flex}.wT5WnW_iconButton{appearance:none;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;padding:6px;display:inline-flex;position:relative}.wT5WnW_iconButton:disabled{opacity:.4;cursor:default}.wT5WnW_iconButton:hover:not(:disabled){background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}.wT5WnW_iconButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-1px}.wT5WnW_iconButton:after{content:attr(data-tip);background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:3px 8px;font-size:11px;line-height:17px;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.wT5WnW_iconButton:hover:after,.wT5WnW_iconButton:focus-visible:after{opacity:1}.wT5WnW_iconDanger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.wT5WnW_revealedPath{color:var(--dsw-alias-label-tertiary);align-items:baseline;gap:6px;margin:0;padding:6px 16px 10px;font-size:11px;display:flex}.wT5WnW_revealedPath code{font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--dsw-alias-label-secondary);user-select:all;overflow-wrap:anywhere}.wT5WnW_revealedPathLabel{white-space:nowrap}.wT5WnW_secondaryButton{color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 8px;font-size:12.5px}.wT5WnW_secondaryButton:hover:not(:disabled){background:var(--dsw-alias-bg-layer-1)}.wT5WnW_secondaryButton:disabled{opacity:.5;cursor:default}.wT5WnW_field{flex-direction:column;gap:6px;display:flex}.wT5WnW_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:500}.wT5WnW_input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);font:inherit;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:10px;padding:9px 12px;font-size:13px}.wT5WnW_input:focus{border-color:var(--dsw-alias-brand-primary);outline:none}.wT5WnW_input::placeholder{color:var(--dsw-alias-label-dimmed)}.wT5WnW_dialog{width:min(560px,100%)}.wT5WnW_dialogFields{flex-direction:column;gap:12px;display:flex}.wT5WnW_viewerCode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);max-height:min(52vh,480px);color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:pre;tab-size:2;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:10px;margin:0;padding:12px;font-size:12.5px;line-height:1.5;overflow:auto}.wT5WnW_error{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.wT5WnW_deleteDialog{width:min(480px,100%)}.wT5WnW_deleteConfirm:not(:disabled){border-color:var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary)}.wT5WnW_deleteConfirm:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.wT5WnW_creatorButton{box-sizing:border-box;border:1px dashed var(--dsw-alias-border-l3);height:44px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;gap:6px;font-size:14px;line-height:22px;display:flex}.wT5WnW_creatorButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.wT5WnW_creatorButton:disabled{opacity:.4;cursor:default}",E="@qqbrowser/qbot-dsh-client-ui-agent-preset/AgentPresetSection.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(E)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-agent-preset",e.dataset.pluginCss=E,e.textContent=ce,document.head.appendChild(e)}var l={intro:"wT5WnW_intro",group:"wT5WnW_group",card:"wT5WnW_card",cardId:"wT5WnW_cardId",deleteConfirm:"wT5WnW_deleteConfirm",groupHead:"wT5WnW_groupHead",secondaryButton:"wT5WnW_secondaryButton",revealedPath:"wT5WnW_revealedPath",badge:"wT5WnW_badge",cardBroken:"wT5WnW_cardBroken",deleteDialog:"wT5WnW_deleteDialog",section:"wT5WnW_section",brokenBadge:"wT5WnW_brokenBadge",field:"wT5WnW_field",cardBrokenReason:"wT5WnW_cardBrokenReason",cardHead:"wT5WnW_cardHead",dialog:"wT5WnW_dialog",inUse:"wT5WnW_inUse",cards:"wT5WnW_cards",iconDanger:"wT5WnW_iconDanger",dialogFields:"wT5WnW_dialogFields",viewerCode:"wT5WnW_viewerCode",cardFoot:"wT5WnW_cardFoot",input:"wT5WnW_input",cardName:"wT5WnW_cardName",creatorButton:"wT5WnW_creatorButton",error:"wT5WnW_error",title:"wT5WnW_title",iconButton:"wT5WnW_iconButton",revealedPathLabel:"wT5WnW_revealedPathLabel",fieldLabel:"wT5WnW_fieldLabel",cardActive:"wT5WnW_cardActive",cardDesc:"wT5WnW_cardDesc",cardMain:"wT5WnW_cardMain"};function de({state:e,t:s,actions:t}){const o=e.copy,r=o===null?void 0:P(o,e.rows),d=o===null?null:o.error??(r===void 0?null:s(r)),p=o===null?void 0:e.rows.find(i=>i.id===o.from),m=p===void 0?o?.fromTitle:T(p,s).name;return(0,n.jsx)(g.Modal,{open:o!==null,onClose:a(()=>{t.cancelCopy()},"onClose"),title:o===null?s("copyTitle"):`${s("copyTitle")} · ${s("copyOf")} ${m}`,closeLabel:s("close"),description:s("copyIntro"),className:l.dialog,footer:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(g.Button,{variant:"outline",disabled:o?.saving===!0,onClick:a(()=>{t.cancelCopy()},"onClick"),children:s("cancel")}),(0,n.jsx)(g.Button,{disabled:o===null||o.saving||r!==void 0,onClick:a(()=>{t.confirmCopy()},"onClick"),children:o?.saving===!0?s("creating"):s("create")})]}),children:o===null?null:(0,n.jsxs)("div",{className:l.dialogFields,children:[(0,n.jsxs)("label",{className:l.field,children:[(0,n.jsx)("span",{className:l.fieldLabel,children:s("presetId")}),(0,n.jsx)("input",{className:l.input,value:o.id,autoFocus:!0,spellCheck:!1,placeholder:s("presetIdPlaceholder"),onChange:a(i=>{t.setCopyId(i.target.value)},"onChange")})]}),(0,n.jsxs)("label",{className:l.field,children:[(0,n.jsx)("span",{className:l.fieldLabel,children:s("displayName")}),(0,n.jsx)("input",{className:l.input,value:o.name,spellCheck:!1,placeholder:s("displayNamePlaceholder"),onChange:a(i=>{t.setCopyName(i.target.value)},"onChange")})]}),d===null?null:(0,n.jsx)("p",{className:l.error,role:"alert",children:d})]})})}a(de,"CopyDialog");function ue({text:e}){const s=(0,y.useRef)(null),[t,o]=(0,y.useState)(!1);return(0,y.useLayoutEffect)(()=>{const r=s.current;if(r===null)return;const d=a(()=>{o(r.scrollHeight>r.clientHeight)},"measure");if(d(),typeof ResizeObserver>"u")return;const p=new ResizeObserver(d);return p.observe(r),()=>{p.disconnect()}},[e]),(0,n.jsx)(g.Tooltip,{label:e,side:"bottom",delayMs:400,disabled:!t,maxWidth:360,children:(0,n.jsx)("span",{ref:s,className:l.cardDesc,title:"",children:e})})}a(ue,"CardDescription");function pe(e){const{useAgentPresetSection:s,t,load:o}=e,r=s(u=>u),d=r.view?.id,p=d===void 0?void 0:r.rows.find(u=>u.id===d),m=r.view===null?"":p===void 0?r.view.title:T(p,t).name;if((0,y.useEffect)(()=>{o()},[o]),r.status==="unavailable")return null;if(r.status==="error"){const u=r.error??"";return(0,n.jsxs)("div",{className:l.section,children:[(0,n.jsx)("p",{className:l.error,role:"alert",children:`${t("error")} ${u}`}),(0,n.jsx)("button",{type:"button",className:l.secondaryButton,onClick:a(()=>{o()},"onClick"),children:t("retry")})]})}const i=e.startCreatorDraft!==void 0&&r.rows.some(u=>u.id==="cordis")?(0,n.jsxs)("button",{type:"button",className:l.creatorButton,disabled:!r.authorable,title:r.authorable?void 0:t("duplicateUnavailable"),onClick:a(()=>{e.startCreatorDraft?.(),e.close()},"onClick"),children:[(0,n.jsx)(g.IconPlusOutline16,{size:14}),t("creatorDraft")]}):null;return(0,n.jsxs)("div",{className:l.section,children:[(0,n.jsx)("h2",{className:l.title,children:t("nav")}),(0,n.jsx)("p",{className:l.intro,children:t("sectionIntro")}),r.error===null?null:(0,n.jsx)("p",{className:l.error,role:"alert",children:r.error}),[["system",t("builtInGroup")],["user",t("customGroup")]].map(([u,h])=>{const b=r.rows.filter(c=>c.trust===u).map(c=>({row:c,text:T(c,t)})),v=u==="user"?i:null;return b.length===0&&v===null?null:(0,n.jsxs)("section",{className:l.group,children:[(0,n.jsx)("h3",{className:l.groupHead,children:h}),b.length===0?null:(0,n.jsx)("ul",{className:l.cards,children:b.map(({row:c,text:f})=>(0,n.jsxs)("li",{className:c.broken!==void 0?`${l.card} ${l.cardBroken}`:c.isDefault?`${l.card} ${l.cardActive}`:l.card,children:[(0,n.jsxs)("button",{type:"button",className:l.cardMain,"aria-pressed":c.isDefault,disabled:c.isDefault||c.broken!==void 0,"aria-label":`${c.broken!==void 0?t("brokenBadge"):c.isDefault?t("inUse"):t("setDefault")}: ${f.name}`,title:c.broken??(c.isDefault?t("inUse"):t("setDefault")),onClick:a(()=>{e.makeDefault(c.id)},"onClick"),children:[(0,n.jsxs)("span",{className:l.cardHead,children:[(0,n.jsx)("span",{className:l.cardName,children:f.name}),c.broken!==void 0?(0,n.jsx)("span",{className:l.brokenBadge,children:t("brokenBadge")}):null,(0,n.jsx)("span",{className:l.badge,children:c.trust==="user"?t("userTrust"):t("builtIn")}),c.isDefault?(0,n.jsx)("span",{className:l.inUse,children:t("inUse")}):null]}),(0,n.jsx)(ue,{text:f.description??t("noDescription")}),c.broken===void 0?null:(0,n.jsx)("span",{className:l.cardBrokenReason,role:"alert",children:c.broken}),(0,n.jsx)("code",{className:l.cardId,children:c.id})]}),(0,n.jsxs)("div",{className:l.cardFoot,children:[c.trust==="system"?c.broken===void 0?(0,n.jsx)("button",{type:"button",className:l.iconButton,"data-tip":t("view"),"aria-label":`${t("view")}: ${f.name}`,onClick:a(()=>{e.view(c.id)},"onClick"),children:(0,n.jsx)(g.IconBrowseOutline16,{})}):null:(0,n.jsx)("button",{type:"button",className:l.iconButton,"data-tip":r.hasDocument?t("openLocation"):t("showLocation"),"aria-label":`${r.hasDocument?t("openLocation"):t("showLocation")}: ${f.name}`,onClick:a(()=>{e.openLocation(c.id)},"onClick"),children:(0,n.jsx)(g.IconFolderOpenOutline16,{})}),(0,n.jsx)("button",{type:"button",className:l.iconButton,disabled:!r.authorable||c.broken!==void 0,"data-tip":c.broken!==void 0?t("brokenNoCopy"):r.authorable?t("duplicate"):t("duplicateUnavailable"),"aria-label":`${t("duplicate")}: ${f.name}`,onClick:a(()=>{e.beginCopy(c.id)},"onClick"),children:(0,n.jsx)(g.IconCopyOutline16,{})}),c.trust==="user"?(0,n.jsx)("button",{type:"button",className:`${l.iconButton} ${l.iconDanger}`,"data-tip":t("delete"),"aria-label":`${t("delete")}: ${f.name}`,onClick:a(()=>{e.confirmDelete(c.id)},"onClick"),children:(0,n.jsx)(g.IconTrashOutline16,{})}):null]}),r.revealedPaths[c.id]===void 0?null:(0,n.jsxs)("p",{className:l.revealedPath,children:[(0,n.jsx)("span",{className:l.revealedPathLabel,children:t("revealedPathLabel")}),(0,n.jsx)("code",{children:r.revealedPaths[c.id]})]})]},c.id))}),v]},u)}),(0,n.jsx)(de,{state:r,t,actions:{cancelCopy:e.cancelCopy,confirmCopy:e.confirmCopy,setCopyId:e.setCopyId,setCopyName:e.setCopyName}}),(0,n.jsx)(g.Modal,{open:r.view!==null,onClose:a(()=>{e.closeView()},"onClose"),title:r.view===null?"":`${t("view")} · ${m}`,closeLabel:t("close"),description:t("composition"),className:l.dialog,footer:(0,n.jsx)(g.Button,{variant:"outline",autoFocus:!0,onClick:a(()=>{e.closeView()},"onClick"),children:t("close")}),children:r.view===null?null:(0,n.jsx)("pre",{className:l.viewerCode,children:r.view.content})}),(0,n.jsx)(g.Modal,{open:r.pendingDelete!==null,onClose:a(()=>{e.confirmDelete(null)},"onClose"),title:t("deleteTitle"),closeLabel:t("close"),description:t("deleteDescription"),className:l.deleteDialog,footer:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(g.Button,{variant:"outline",autoFocus:!0,disabled:r.deleting,onClick:a(()=>{e.confirmDelete(null)},"onClick"),children:t("cancel")}),(0,n.jsx)(g.Button,{variant:"outline",className:l.deleteConfirm,disabled:r.deleting,onClick:a(()=>{e.remove()},"onClick"),children:r.deleting?t("deleting"):t("deleteConfirm")})]})})]})}a(pe,"AgentPresetSection");const he={options:[],current:"",error:null,busy:!1,introduce:!1};var ge=class{static{a(this,"AgentPresetSeatController")}api;currentSession;onApplied;store=(0,S.createSnapshotStore)(he);fallback="";staged;constructor(e,s,t){this.api=e,this.currentSession=s,this.onApplied=t}set(e){this.store.set({...this.store.getSnapshot(),...e})}async load(){try{const e=await this.api.agentPresets.list({});if(!e.result.ok){this.set({error:e.result.error.message});return}const{presets:s}=e.result.value;this.fallback=s.find(t=>t.isDefault)?.id??s[0]?.id??"",this.set({options:z(s),current:this.staged??this.currentSession()?.agentPreset??this.fallback,error:null})}catch(e){this.set({error:_(e)})}}async select(e){this.store.getSnapshot().busy||(this.stage(e),await this.apply())}stage(e,s=!1){this.staged=e,this.set({current:e,error:null,introduce:s})}introduced(){this.store.getSnapshot().introduce&&this.set({introduce:!1})}async apply(){const e=this.staged,s=this.currentSession();if(!(e===void 0||s===void 0)){if(!s.blank||s.agentPreset===e){this.staged=void 0;return}this.set({busy:!0,error:null});try{const t=await this.api.agentPresets.select({sessionId:s.id,agentPreset:e});if(this.staged=void 0,!t.result.ok){this.set({busy:!1,error:t.result.error.message,current:this.fallback});return}this.set({busy:!1,current:t.result.value.agentPreset}),this.onApplied?.(s.id,t.result.value.agentPreset)}catch(t){this.staged=void 0,this.set({busy:!1,error:_(t),current:this.fallback})}}}};const me=["slots","locale","connection","remote"];function fe(e){const{api:s}=e.get("connection"),t=new ae(s),o=new Set,r=new le(s,()=>{t.load();for(const i of o)i()});e.effect(()=>e.locale.register("settings.agentPreset",{zh:H,en:O}),"ui-agent-preset: settings row dictionaries");const d=a(()=>({hooks:{agentPreset:t.store},load:a(()=>t.load(),"load"),select:a(i=>t.select(i),"select")}),"injected");e.effect(()=>{const i=a(()=>{t.load(),r.store.getSnapshot().status!=="idle"&&r.load()},"refresh"),u=[e.remote.$on("settings/document-updated",h=>{h==="agent-presets"&&i()}),e.on("connection/reset",()=>{i()})];return()=>{for(const h of u)h()}},"ui-agent-preset: settings refresh");let p;e.inject(["slots","conversation","sessions","workspaces"],i=>{const u=i.get("connection").api,h=new ge(u,()=>{const c=i.sessions.list.getSnapshot(),f=c.current===void 0?void 0:c.byId[c.current];return f===void 0?void 0:{id:f.id,blank:f.blank,...f.agentPreset===void 0?{}:{agentPreset:f.agentPreset}}},(c,f)=>{i.sessions.noteAgentPreset(c,f)}),b=a(()=>({hooks:{agentPresetSeat:h.store},load:a(()=>h.load(),"load"),select:a(c=>h.select(c),"select"),introduced:a(()=>{h.introduced()},"introduced")}),"seatInjected"),v=a(()=>({hooks:{agentPresets:t.store},load:a(()=>t.load(),"load")}),"labelInjected");i.effect(()=>{const c=i.sessions.list.subscribe(()=>{h.apply()}),f=i.remote.$on("settings/document-updated",B=>{B==="agent-presets"&&h.load()}),I=i.remote.$on("agent-preset/selected",(B,be)=>{i.sessions.noteAgentPreset(B,be)}),w=a(()=>{h.load()},"readRoster");o.add(w),p=a(()=>{h.stage("cordis",!0),i.workspaces.startSession()},"creatorDraft");const W=i.slots.register({name:"conversation.hero.agentPreset",locale:"settings.agentPreset",inject:b},se),we=i.slots.register({name:"conversation.session.header.actions",id:"agent-preset",order:-10,locale:"settings.agentPreset",inject:v},J);return()=>{c(),f(),I(),o.delete(w),p=void 0,W(),we()}},"ui-agent-preset: new-session chip and header label")});const m=a(()=>({hooks:{agentPresetSection:r.store},load:a(()=>r.load(),"load"),view:a(i=>r.view(i),"view"),closeView:a(()=>{r.closeView()},"closeView"),beginCopy:a(i=>{r.beginCopy(i)},"beginCopy"),cancelCopy:a(()=>{r.cancelCopy()},"cancelCopy"),setCopyId:a(i=>{r.setCopyId(i)},"setCopyId"),setCopyName:a(i=>{r.setCopyName(i)},"setCopyName"),confirmCopy:a(()=>r.confirmCopy(),"confirmCopy"),openLocation:a(i=>r.openLocation(i),"openLocation"),...p===void 0?{}:{startCreatorDraft:p},confirmDelete:a(i=>{r.confirmDelete(i)},"confirmDelete"),remove:a(()=>r.remove(),"remove"),makeDefault:a(i=>r.makeDefault(i),"makeDefault")}),"sectionInjected");e.slots.inject("settings.general.item",()=>e.slots.register({name:"settings.general.item",id:"agent-preset",order:-25,locale:"settings.agentPreset",inject:d},X)),e.slots.inject("settings.section",()=>e.slots.register({name:"settings.section",id:"agent-presets",order:20,label:a(()=>e.locale.bind("settings.agentPreset")("nav"),"label"),locale:"settings.agentPreset",inject:m},pe))}return a(fe,"apply"),D.AGENT_PRESET_SETTINGS_NS=$,D.apply=fe,D.draftBlocker=P,D.inject=me,D.writeDefaultPreset=j,N.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-ui-agent-preset","version":"0.0.5","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"qbot-dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-client-connection","@qqbrowser/qbot-dsh-client-locale","@qqbrowser/qbot-dsh-client-runtime","@qqbrowser/qbot-dsh-client-ui-conversation","@qqbrowser/qbot-dsh-client-ui-settings","@qqbrowser/qbot-dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-api-remotes":"^0.0.5","@qqbrowser/qbot-dsh-client-connection":"^0.0.5","@qqbrowser/qbot-dsh-client-locale":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-conversation":"^0.0.5","@qqbrowser/qbot-dsh-client-runtime":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-settings":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-client-web-react":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-ui-agent-preset","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-client-connection","@qqbrowser/qbot-dsh-client-locale","@qqbrowser/qbot-dsh-client-runtime","@qqbrowser/qbot-dsh-client-ui-conversation","@qqbrowser/qbot-dsh-client-ui-settings","@qqbrowser/qbot-dsh-api-remotes"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@qqbrowser/qbot-dsh-client-connection":"^0.0.6","@qqbrowser/qbot-dsh-client-locale":"^0.0.6","@qqbrowser/qbot-dsh-api-remotes":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-conversation":"^0.0.6","@qqbrowser/qbot-dsh-client-runtime":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-settings":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-client-web-react":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-ui-attachment","version":"0.0.5","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"clsx":"^2.0.0","react":"^18.2.0","react-dom":"^18.2.0","@qqbrowser/qbot-dsh-attachment":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.5"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-ui-attachment","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"clsx":"^2.0.0","react":"^18.2.0","react-dom":"^18.2.0","@qqbrowser/qbot-dsh-attachment":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
@@ -1 +1 @@
1
- var J=Object.defineProperty;var i=(p,y)=>J(p,"name",{value:y,configurable:!0});window.__ModuleLoader__.load({id:"@qqbrowser/qbot-dsh-client-ui-commands",factory:i(p=>{var y={exports:{}},g=y.exports;Object.defineProperty(g,Symbol.toStringTag,{value:"Module"});let N=p("@deepseek-ai/cordis"),L=p("@qqbrowser/qbot-dsh-client-runtime/client"),d=p("react/jsx-runtime"),v=p("react"),x=p("@qqbrowser/qbot-dsh-client-ui-primitives");var $=class{static{i(this,"Entry")}state="cold";commands=[];epoch=0;lastError;waiters=[]},_=class{static{i(this,"CommandDirectory")}fetchCommands;entries=new Map;constructor(e){this.fetchCommands=e}status(e){return this.entries.get(e)?.state??"cold"}resolve(e,t){const s=this.entries.get(e);if(!(s===void 0||s.state!=="ready"))return s.commands.find(r=>r.name===t)}invalidateAll(){for(const e of this.entries.keys())this.refresh(e)}resetConnected(){for(const[e,t]of this.entries)t.state="cold",t.commands=[],this.refresh(e)}warm(e){const t=this.entry(e);(t.state==="cold"||t.state==="failed")&&this.refresh(e)}async refresh(e){const t=this.entry(e),s=++t.epoch;t.state!=="ready"&&(t.state="pending");try{const r=await this.fetchCommands(e);if(s!==t.epoch)return;t.commands=r,t.state="ready",t.lastError=void 0}catch(r){if(s!==t.epoch)return;t.commands=[],t.state="failed",t.lastError=r}finally{s===t.epoch&&P(t)}}async ensureReady(e,t){const s=this.entry(e);for(;;){if(s.state==="ready")return s.commands;if(s.state!=="pending"&&this.refresh(e),await I(s,t),s.state==="failed")throw new Error(`command directory warmup failed: ${s.lastError instanceof Error?s.lastError.message:String(s.lastError)}`)}}entry(e){let t=this.entries.get(e);return t===void 0&&(t=new $,this.entries.set(e,t)),t}};function I(e,t){return t.aborted?Promise.reject(k(t)):new Promise((s,r)=>{const n=i(()=>{t.removeEventListener("abort",o),s()},"waiter"),o=i(()=>{e.waiters=e.waiters.filter(l=>l!==n),r(k(t))},"onAbort");t.addEventListener("abort",o,{once:!0}),e.waiters.push(n)})}i(I,"settled");function P(e){const t=e.waiters;e.waiters=[];for(const s of t)s()}i(P,"notifyWaiters");function k(e){return e.reason instanceof Error?e.reason:new Error("command directory wait aborted")}i(k,"abortReason");const w={open:!1,command:null,status:"pending",options:[],search:"",active:0,submitting:!1,confirming:null,acknowledged:!1,error:null};function b(e,t){const s=t.trim().toLowerCase();return s===""?e:e.filter(r=>r.label.toLowerCase().includes(s)||(r.detail?.toLowerCase().includes(s)??!1))}i(b,"filterOptions");function S(e){return e instanceof Error?e.message:String(e)}i(S,"errorText");var E=class{static{i(this,"PopupSelectController")}deps;state=(0,L.createSnapshotStore)(w);binding=null;constructor(e){this.deps=e}open(e,t,s,r){this.binding?.abort.abort();const n={command:e,spec:t,context:s,segment:r,abort:new AbortController};this.binding=n,this.state.set({...w,open:!0,command:e}),this.load(n)}load(e){e.spec.options(e.context,e.abort.signal).then(t=>{this.binding===e&&this.state.set({...this.state.getSnapshot(),status:"ready",options:t,active:0,error:null})},t=>{this.binding===e&&(console.error(`[ui-commands] popupSelect options failed for /${e.command}:`,t),this.state.set({...this.state.getSnapshot(),status:"failed",options:[],active:0,error:S(t)}))})}retry(){const e=this.binding,t=this.state.getSnapshot();e===null||!t.open||t.status!=="failed"||(this.state.set({...t,status:"pending",error:null}),this.load(e))}setSearch(e){const t=this.state.getSnapshot();!t.open||t.submitting||t.confirming!==null||e===t.search||this.state.set({...t,search:e,active:0})}move(e){const t=this.state.getSnapshot();if(!t.open||t.status!=="ready"||t.submitting||t.confirming!==null)return;const s=b(t.options,t.search);if(s.length===0)return;const r=(t.active+e+s.length)%s.length;this.state.set({...t,active:r})}highlight(e){const t=this.state.getSnapshot();!t.open||t.status!=="ready"||t.submitting||t.confirming!==null||e<0||e>=b(t.options,t.search).length||e===t.active||this.state.set({...t,active:e})}async select(e){const t=this.binding,s=this.state.getSnapshot();if(t===null||!s.open||s.status!=="ready"||s.submitting||s.confirming!==null)return;const r=b(s.options,s.search)[e];if(r!==void 0){if(r.confirmation!==void 0){this.state.set({...s,confirming:r,acknowledged:!1,error:null});return}await this.settle(t,r)}}acknowledge(e){const t=this.state.getSnapshot();!t.open||t.submitting||t.confirming===null||t.acknowledged===e||this.state.set({...t,acknowledged:e})}cancelConfirmation(){const e=this.state.getSnapshot();!e.open||e.submitting||e.confirming===null||this.state.set({...e,confirming:null,acknowledged:!1})}async confirm(){const e=this.binding,t=this.state.getSnapshot();e===null||!t.open||t.submitting||t.confirming===null||!t.acknowledged||await this.settle(e,t.confirming)}async settle(e,t){const s=this.state.getSnapshot();if(!(this.binding!==e||!s.open||s.submitting)){this.state.set({...s,submitting:!0,confirming:null,acknowledged:!1,error:null});try{await e.spec.onSelect(t,e.context)}catch(r){if(console.error(`[ui-commands] popupSelect onSelect failed for /${e.command}:`,r),this.binding!==e)return;this.state.set({...this.state.getSnapshot(),submitting:!1,error:S(r)});return}this.binding===e&&(this.deps.consume(e.segment),this.binding=null,this.state.set(w),this.deps.focusComposer())}}dismiss(e){this.binding!==null&&(this.binding.abort.abort(),this.binding=null,this.state.set(w),e?.focusComposer===!0&&this.deps.focusComposer())}dispose(){this.binding?.abort.abort(),this.binding=null,this.state.set(w)}};function M(e){const t=e.trim(),s=t.search(/\s/u);return(s===-1?t:t.slice(0,s)).slice(1)}i(M,"submittedCommandName");function C(e,t){return t===0||e.charAt(t-1)==="-"||e.charAt(t-1)==="_"?8:0}i(C,"boundaryBonus");function T(e,t){if(t==="")return 0;if(t.length>e.length)return;const s=Number.NEGATIVE_INFINITY;let r=Array(e.length).fill(s);for(let o=0;o<e.length;o++)e.charAt(o)===t.charAt(0)&&(r[o]=1+C(e,o)-o);for(let o=1;o<t.length;o++){const l=Array(e.length).fill(s);let u=s;for(let c=0;c<e.length;c++){const m=c-2;if(m>=0){const A=r[m]??s;A!==s&&(u=Math.max(u,A+m))}if(e.charAt(c)!==t.charAt(o))continue;const a=1+C(e,c),f=c>0?r[c-1]??s:s;f!==s&&(l[c]=f+a+4),u!==s&&(l[c]=Math.max(l[c]??s,u+a+1-c))}r=l}let n=s;for(const o of r)n=Math.max(n,o);return n===s?void 0:n}i(T,"fuzzyScore");function D(e,t){const s=t.toLowerCase();if(s==="")return e;const r=[];return e.forEach((n,o)=>{const l=n.name.toLowerCase(),u=T(l,s);u!==void 0&&r.push({candidate:n,index:o,prefix:l.startsWith(s),score:u})}),r.sort((n,o)=>Number(o.prefix)-Number(n.prefix)||o.score-n.score||n.index-o.index),r.map(n=>n.candidate)}i(D,"fuzzyCandidates");var q=class extends N.Service{static{i(this,"CommandUiRuntime")}static inject=["inputTriggers","sessions","remote","remote.commands"];directory;live={contributions:new Map,decorations:new Map,popups:new Map};constructor(e){super(e,"commandUi"),this.directory=new _(async s=>{if(this.sessions().subagentAddress(s)!==void 0)return[];const r=await e.remote.commands.list(s);if(!r.ok)throw new Error(`command.list failed: ${r.error.code}: ${r.error.message}`);return r.value});const t=e.get("inputTriggers");if(t===void 0)throw new Error("ui-commands: slash service unavailable");e.effect(()=>t.registerSource({trigger:"/",name:"command",candidates:i((s,r)=>this.candidates(s,r),"candidates"),onPick:i(s=>this.dispatch(s),"onPick"),matchSpace:i((s,r)=>this.matchSpace(s,r),"matchSpace"),matchEnter:i((s,r,n)=>this.matchEnter(s,r,n),"matchEnter"),warm:i(s=>{this.directory.warm(s.sessionId)},"warm")}),"command: slash source"),e.remote.$on("commands/change",()=>{this.directory.invalidateAll()}),e.remote.$on("agent-preset/selected",s=>{this.directory.refresh(s)}),e.on("connection/reset",()=>{this.directory.resetConnected()})}register(e){const t=this.ctx.effect(()=>{const{contributions:s}=this.live;if(s.has(e.name))throw new Error(`ui-commands: duplicate contribution for /${e.name}`);return s.set(e.name,e),()=>{s.delete(e.name)}},"command.register()");return()=>{t()}}decorate(e){const t=this.ctx.effect(()=>{const{decorations:s}=this.live;if(s.has(e.name))throw new Error(`ui-commands: duplicate decoration for /${e.name}`);return s.set(e.name,e),()=>{s.delete(e.name)}},"command.decorate()");return()=>{t()}}popupFor(e){const t=this.sessions().scopeOf(e);if(t===void 0)throw new Error("command.popupFor requires a session scope");const{popups:s}=this.live,r=s.get(t);if(r!==void 0)return r;const n=new E({consume:i(o=>e.bail(e,"slash/input-consume-token",{guard:o.via==="menu"?{kind:"span",span:o.span}:{kind:"bare-token",token:o.token}})===!0,"consume"),focusComposer:i(()=>{this.focusHooks.get(t)?.()},"focusComposer")});return s.set(t,n),e.effect(()=>()=>{n.dispose(),s.delete(t),this.focusHooks.delete(t)},"command: session popup"),n}focusHooks=new Map;bindComposerFocus(e,t){return this.focusHooks.set(e,t),()=>{this.focusHooks.get(e)===t&&this.focusHooks.delete(e)}}async candidates(e,t){const s=await this.directory.ensureReady(e.sessionId,t.signal),r=[],n=new Set;for(const o of s)n.add(o.name),r.push({name:o.name,description:o.description,...o.input!==void 0?{hint:o.input.hint}:{}});for(const o of this.live.contributions.values())if(o.available(e)){if(n.has(o.name))throw new Error(`ui-commands: contribution /${o.name} collides with a host command`);r.push({name:o.name,description:o.description})}return D(r.filter(o=>t.position==="leading"||o.hint===void 0),t.query)}dispatch(e){const t=e.candidate.name,s=this.live.contributions.get(t);if(s!==void 0&&s.available(e.session))return this.openPopup(t,s.ui,e.session,{via:"menu",span:e.span}),"handled";const r=this.directory.resolve(e.session.sessionId,t);if(r===void 0)return;const n=this.live.decorations.get(t);return n!==void 0&&n.available(e.session)?(this.openPopup(t,n.ui,e.session,{via:"menu",span:e.span}),"handled"):r.input!==void 0?{claim:this.leadingClaim(r,e.session)}:(this.consumeVia(e.session.sessionId,{via:"menu",span:e.span}),this.runDetached(r,e.session,`/${t}`),"handled")}matchSpace(e,t){if(!t.startsWith("/"))return;const s=t.slice(1);if(this.live.contributions.has(s))return;const r=this.directory.resolve(e.sessionId,s);if(!(r===void 0||r.input===void 0))return{claim:this.leadingClaim(r,e)}}async matchEnter(e,t,s){const r=t.trim();if(!r.startsWith("/"))return;const n=r.search(/\s/),o=n===-1?r:r.slice(0,n),l=n===-1,u=o.slice(1);if(u==="")return;const c=this.live.contributions.get(u);if(c!==void 0&&c.available(e))return l?(this.openPopup(u,c.ui,e,{via:"enter",token:o}),"handled"):void 0;await this.directory.ensureReady(e.sessionId,s);const m=this.directory.resolve(e.sessionId,u);if(m!==void 0){if(l){const a=this.live.decorations.get(u);if(a!==void 0&&a.available(e))return this.openPopup(u,a.ui,e,{via:"enter",token:o}),"handled"}if(m.input!==void 0)return{claim:this.leadingClaim(m,e)};if(l)return this.consumeVia(e.sessionId,{via:"enter",token:o}),this.runDetached(m,e,r),"handled"}}openPopup(e,t,s,r){const n=this.scopeFor(s.sessionId);n!==void 0&&this.popupFor(n).open(e,t,s,r)}leadingClaim(e,t){const s=`/${e.name} `;return{token:s,...e.input!==void 0?{hint:e.input.hint}:{},submit:i((r,n)=>this.execute(t,s+r),"submit")}}async execute(e,t){const s=await this.ctx.remote.commands.execute(e.sessionId,t);if(!s.ok)throw new Error(`command.execute failed: ${s.error.code}: ${s.error.message}`);return s.value===void 0?{kind:"error",text:`unknown or malformed command: ${t}`}:(this.notifyExecuted(e.sessionId,M(t),s.value.result),{kind:"success"})}notifyExecuted(e,t,s){const r=["command/executed",e,t,s];for(const n of this.ctx.events.dispatch("emit",r))try{const o=n(e,t,s);o!=null&&typeof o.then=="function"&&Promise.resolve(o).then(void 0,l=>{this.warnExecutedListenerFailure(t,l)})}catch(o){this.warnExecutedListenerFailure(t,o)}}warnExecutedListenerFailure(e,t){this.ctx.logger.warn('client command: a command/executed listener for "%s" failed',e),this.ctx.logger.warn(t)}runDetached(e,t,s){this.execute(t,s).then(r=>{r.kind==="error"&&this.noticeFor(t.sessionId,"error",r.text??`/${e.name} failed`)},r=>{this.noticeFor(t.sessionId,"error",r instanceof Error?r.message:String(r))})}consumeVia(e,t){const s=this.scopeFor(e);s!==void 0&&s.bail(s,"slash/input-consume-token",{guard:t.via==="menu"?{kind:"span",span:t.span}:{kind:"bare-token",token:t.token}})}noticeFor(e,t,s){const r=this.scopeFor(e);if(r===void 0)return;const n=r.get("conversation");n!==void 0&&n.input.for(r).notify(t,s)}scopeFor(e){return this.sessions().scope(e)}sessions(){const e=this.ctx.get("sessions");if(e===void 0)throw new Error("ui-commands: sessions service unavailable");return e}};function F(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(s=F(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}i(F,"r");function z(){for(var e,t,s=0,r="",n=arguments.length;s<n;s++)(e=arguments[s])&&(t=F(e))&&(r&&(r+=" "),r+=t);return r}i(z,"clsx");const R=".cFoU7q_card{z-index:100;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);min-width:min(220px,100%);max-width:100%;max-height:320px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;outline:none;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;overflow:hidden}.cFoU7q_viewport{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.cFoU7q_row{cursor:pointer;color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.cFoU7q_rowActive{background:var(--dsw-alias-interactive-bg-hover)}.cFoU7q_label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.cFoU7q_detail{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.cFoU7q_check{color:var(--dsw-alias-label-primary);flex:none;display:inline-flex}.cFoU7q_status{color:var(--dsw-alias-label-tertiary);padding:8px 10px;font-size:13px}.cFoU7q_search{border:1px solid var(--dsw-alias-border-inverted);color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;outline:none;margin:2px 2px 4px;padding:6px 8px;font-size:13px}.cFoU7q_error{color:var(--dsw-alias-state-error-primary);align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.cFoU7q_errorText{text-overflow:ellipsis;flex:1;overflow:hidden}.cFoU7q_retry{border:1px solid var(--dsw-alias-border-inverted);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:12px}",U="@qqbrowser/qbot-dsh-client-ui-commands/PopupSelectView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(U)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-commands",e.dataset.pluginCss=U,e.textContent=R,document.head.appendChild(e)}var h={error:"cFoU7q_error",viewport:"cFoU7q_viewport",check:"cFoU7q_check",label:"cFoU7q_label",search:"cFoU7q_search",status:"cFoU7q_status",errorText:"cFoU7q_errorText",card:"cFoU7q_card",row:"cFoU7q_row",rowActive:"cFoU7q_rowActive",detail:"cFoU7q_detail",retry:"cFoU7q_retry"};const H=320;function O({popup:e,t}){const s=(0,v.useSyncExternalStore)(a=>e.state.subscribe(a),()=>e.state.getSnapshot()),r=(0,v.useRef)(null),n=(0,v.useRef)(null),o=(0,x.useAnchoredMaxHeight)(r,H,s),l=s.open?s.active:null;if((0,v.useEffect)(()=>{l!==null&&r.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[l]),(0,v.useEffect)(()=>{if(!s.open||s.confirming!==null)return;const a=i(f=>{r.current!==null&&f.target instanceof Node&&r.current.contains(f.target)||e.dismiss()},"onPointerDown");return document.addEventListener("pointerdown",a,!0),()=>{document.removeEventListener("pointerdown",a,!0)}},[s.open,s.confirming,e]),(0,v.useEffect)(()=>{s.open&&s.confirming===null&&n.current?.focus()},[s.open,s.confirming]),!s.open)return null;const u=b(s.options,s.search),c=s.confirming?.confirmation,m=i(a=>{switch(a.key){case"ArrowDown":a.preventDefault(),e.move(1);return;case"ArrowUp":a.preventDefault(),e.move(-1);return;case"Enter":a.preventDefault(),e.select(s.active);return;case"Escape":a.preventDefault(),e.dismiss({focusComposer:!0});return;default:}},"onKeyDown");return(0,d.jsxs)(d.Fragment,{children:[s.confirming===null&&(0,d.jsxs)("div",{ref:r,className:h.card,style:{maxHeight:o},"aria-label":t("overlay.aria",{command:String(s.command)}),onKeyDown:m,children:[(0,d.jsx)("input",{ref:n,className:h.search,type:"text",placeholder:t("search.placeholder"),"aria-label":t("search.aria"),value:s.search,readOnly:s.submitting,onChange:i(a=>{e.setSearch(a.currentTarget.value)},"onChange")}),s.error!==null&&(0,d.jsxs)("div",{className:h.error,role:"alert",children:[(0,d.jsx)("span",{className:h.errorText,children:s.error}),s.status==="failed"&&(0,d.jsx)("button",{type:"button",className:h.retry,onClick:i(()=>{e.retry()},"onClick"),children:t("retry")})]}),s.status==="pending"&&(0,d.jsx)("div",{className:h.status,children:t("status.loading")}),s.submitting&&(0,d.jsx)("div",{className:h.status,children:t("status.applying")}),s.status==="ready"&&u.length===0&&(0,d.jsx)("div",{className:h.status,children:t("status.empty")}),s.status==="ready"&&(0,d.jsx)("div",{role:"listbox","aria-label":t("listbox.aria",{command:String(s.command)}),className:h.viewport,children:u.map((a,f)=>(0,d.jsxs)("div",{role:"option","aria-selected":f===s.active,className:z(h.row,f===s.active&&h.rowActive),onClick:i(()=>{e.select(f)},"onClick"),onMouseEnter:i(()=>{e.highlight(f)},"onMouseEnter"),children:[(0,d.jsx)("span",{className:h.label,children:a.label}),a.detail!==void 0&&(0,d.jsx)("span",{className:h.detail,children:a.detail}),a.active===!0&&(0,d.jsx)("span",{className:h.check,children:(0,d.jsx)(x.IconCheckOutline16,{})})]},a.id))})]}),c!==void 0&&(0,d.jsx)(x.RiskConfirmation,{open:!0,title:c.title,description:c.description,acknowledgeLabel:c.acknowledgeLabel,cancelLabel:c.cancelLabel,confirmLabel:c.confirmLabel,acknowledged:s.acknowledged,onAcknowledgedChange:i(a=>{e.acknowledge(a)},"onAcknowledgedChange"),onCancel:i(()=>{e.cancelConfirmation()},"onCancel"),onConfirm:i(()=>{e.confirm()},"onConfirm")})]})}i(O,"PopupSelectView");const V={"search.placeholder":"搜索…","search.aria":"筛选选项","status.loading":"正在加载选项…","status.applying":"正在应用…","status.empty":"无选项","overlay.aria":"/{command} 选项","listbox.aria":"/{command} 匹配项"},W={"search.placeholder":"Search…","search.aria":"Filter options","status.loading":"Loading options…","status.applying":"Applying…","status.empty":"No options","overlay.aria":"/{command} options","listbox.aria":"/{command} matches"},j="command",G=["inputTriggers","sessions","remote","remote.commands","locale"];function B(e){e.effect(()=>e.locale.register(j,{zh:V,en:W}),"ui-commands: dictionaries"),e.plugin(q),e.inject(["slots","commandUi","sessions"],t=>{const s=t.commandUi,r=t.sessions;t.slots.inject("conversation.input.overlay",()=>t.slots.register({name:"conversation.input.overlay",id:"command-popup",order:1,locale:j,inject:i(n=>{const o=r.scope(n);if(o===void 0)throw new Error(`ui-commands: session "${String(n)}" resolved no scope`);return{popup:s.popupFor(o)}},"inject")},O))})}return i(B,"apply"),g.CommandDirectory=_,g.CommandUiRuntime=q,g.PopupSelectController=E,g.apply=B,g.filterOptions=b,g.inject=G,y.exports},"factory")});
1
+ var B=Object.defineProperty;var o=(p,y)=>B(p,"name",{value:y,configurable:!0});window.__ModuleLoader__.load({id:"@qqbrowser/qbot-dsh-client-ui-commands",factory:o(p=>{var y={exports:{}},g=y.exports;Object.defineProperty(g,Symbol.toStringTag,{value:"Module"});let L=p("@deepseek-ai/cordis"),q=p("@qqbrowser/qbot-dsh-client-runtime/client"),d=p("react/jsx-runtime"),v=p("react"),x=p("@qqbrowser/qbot-dsh-client-ui-primitives");var F=class{static{o(this,"Entry")}state="cold";commands=[];epoch=0;lastError;waiters=[]},_=class{static{o(this,"CommandDirectory")}fetchCommands;entries=new Map;constructor(e){this.fetchCommands=e}status(e){return this.entries.get(e)?.state??"cold"}resolve(e,t){const s=this.entries.get(e);if(!(s===void 0||s.state!=="ready"))return s.commands.find(r=>r.name===t)}invalidateAll(){for(const e of this.entries.keys())this.refresh(e)}resetConnected(){for(const[e,t]of this.entries)t.state="cold",t.commands=[],this.refresh(e)}warm(e){const t=this.entry(e);(t.state==="cold"||t.state==="failed")&&this.refresh(e)}async refresh(e){const t=this.entry(e),s=++t.epoch;t.state!=="ready"&&(t.state="pending");try{const r=await this.fetchCommands(e);if(s!==t.epoch)return;t.commands=r,t.state="ready",t.lastError=void 0}catch(r){if(s!==t.epoch)return;t.commands=[],t.state="failed",t.lastError=r}finally{s===t.epoch&&I(t)}}async ensureReady(e,t){const s=this.entry(e);for(;;){if(s.state==="ready")return s.commands;if(s.state!=="pending"&&this.refresh(e),await $(s,t),s.state==="failed")throw new Error(`command directory warmup failed: ${s.lastError instanceof Error?s.lastError.message:String(s.lastError)}`)}}entry(e){let t=this.entries.get(e);return t===void 0&&(t=new F,this.entries.set(e,t)),t}};function $(e,t){return t.aborted?Promise.reject(A(t)):new Promise((s,r)=>{const n=o(()=>{t.removeEventListener("abort",i),s()},"waiter"),i=o(()=>{e.waiters=e.waiters.filter(l=>l!==n),r(A(t))},"onAbort");t.addEventListener("abort",i,{once:!0}),e.waiters.push(n)})}o($,"settled");function I(e){const t=e.waiters;e.waiters=[];for(const s of t)s()}o(I,"notifyWaiters");function A(e){return e.reason instanceof Error?e.reason:new Error("command directory wait aborted")}o(A,"abortReason");const w={open:!1,command:null,status:"pending",options:[],search:"",active:0,submitting:!1,confirming:null,acknowledged:!1,error:null};function b(e,t){const s=t.trim().toLowerCase();return s===""?e:e.filter(r=>r.label.toLowerCase().includes(s)||(r.detail?.toLowerCase().includes(s)??!1))}o(b,"filterOptions");function k(e){return e instanceof Error?e.message:String(e)}o(k,"errorText");var S=class{static{o(this,"PopupSelectController")}deps;state=(0,q.createSnapshotStore)(w);binding=null;constructor(e){this.deps=e}open(e,t,s,r){this.binding?.abort.abort();const n={command:e,spec:t,context:s,segment:r,abort:new AbortController};this.binding=n,this.state.set({...w,open:!0,command:e}),this.load(n)}load(e){e.spec.options(e.context,e.abort.signal).then(t=>{this.binding===e&&this.state.set({...this.state.getSnapshot(),status:"ready",options:t,active:0,error:null})},t=>{this.binding===e&&(console.error(`[ui-commands] popupSelect options failed for /${e.command}:`,t),this.state.set({...this.state.getSnapshot(),status:"failed",options:[],active:0,error:k(t)}))})}retry(){const e=this.binding,t=this.state.getSnapshot();e===null||!t.open||t.status!=="failed"||(this.state.set({...t,status:"pending",error:null}),this.load(e))}setSearch(e){const t=this.state.getSnapshot();!t.open||t.submitting||t.confirming!==null||e===t.search||this.state.set({...t,search:e,active:0})}move(e){const t=this.state.getSnapshot();if(!t.open||t.status!=="ready"||t.submitting||t.confirming!==null)return;const s=b(t.options,t.search);if(s.length===0)return;const r=(t.active+e+s.length)%s.length;this.state.set({...t,active:r})}highlight(e){const t=this.state.getSnapshot();!t.open||t.status!=="ready"||t.submitting||t.confirming!==null||e<0||e>=b(t.options,t.search).length||e===t.active||this.state.set({...t,active:e})}async select(e){const t=this.binding,s=this.state.getSnapshot();if(t===null||!s.open||s.status!=="ready"||s.submitting||s.confirming!==null)return;const r=b(s.options,s.search)[e];if(r!==void 0){if(r.confirmation!==void 0){this.state.set({...s,confirming:r,acknowledged:!1,error:null});return}await this.settle(t,r)}}acknowledge(e){const t=this.state.getSnapshot();!t.open||t.submitting||t.confirming===null||t.acknowledged===e||this.state.set({...t,acknowledged:e})}cancelConfirmation(){const e=this.state.getSnapshot();!e.open||e.submitting||e.confirming===null||this.state.set({...e,confirming:null,acknowledged:!1})}async confirm(){const e=this.binding,t=this.state.getSnapshot();e===null||!t.open||t.submitting||t.confirming===null||!t.acknowledged||await this.settle(e,t.confirming)}async settle(e,t){const s=this.state.getSnapshot();if(!(this.binding!==e||!s.open||s.submitting)){this.state.set({...s,submitting:!0,confirming:null,acknowledged:!1,error:null});try{await e.spec.onSelect(t,e.context)}catch(r){if(console.error(`[ui-commands] popupSelect onSelect failed for /${e.command}:`,r),this.binding!==e)return;this.state.set({...this.state.getSnapshot(),submitting:!1,error:k(r)});return}this.binding===e&&(this.deps.consume(e.segment),this.binding=null,this.state.set(w),this.deps.focusComposer())}}dismiss(e){this.binding!==null&&(this.binding.abort.abort(),this.binding=null,this.state.set(w),e?.focusComposer===!0&&this.deps.focusComposer())}dispose(){this.binding?.abort.abort(),this.binding=null,this.state.set(w)}};function P(e){const t=e.trim(),s=t.search(/\s/u);return(s===-1?t:t.slice(0,s)).slice(1)}o(P,"submittedCommandName");function E(e,t){return t===0||e.charAt(t-1)==="-"||e.charAt(t-1)==="_"?8:0}o(E,"boundaryBonus");function M(e,t){if(t==="")return 0;if(t.length>e.length)return;const s=Number.NEGATIVE_INFINITY;let r=Array(e.length).fill(s);for(let i=0;i<e.length;i++)e.charAt(i)===t.charAt(0)&&(r[i]=1+E(e,i)-i);for(let i=1;i<t.length;i++){const l=Array(e.length).fill(s);let u=s;for(let c=0;c<e.length;c++){const m=c-2;if(m>=0){const N=r[m]??s;N!==s&&(u=Math.max(u,N+m))}if(e.charAt(c)!==t.charAt(i))continue;const a=1+E(e,c),f=c>0?r[c-1]??s:s;f!==s&&(l[c]=f+a+4),u!==s&&(l[c]=Math.max(l[c]??s,u+a+1-c))}r=l}let n=s;for(const i of r)n=Math.max(n,i);return n===s?void 0:n}o(M,"fuzzyScore");function T(e,t){const s=t.toLowerCase();if(s==="")return e;const r=[];return e.forEach((n,i)=>{const l=n.name.toLowerCase(),u=M(l,s);u!==void 0&&r.push({candidate:n,index:i,prefix:l.startsWith(s),score:u})}),r.sort((n,i)=>Number(i.prefix)-Number(n.prefix)||i.score-n.score||n.index-i.index),r.map(n=>n.candidate)}o(T,"fuzzyCandidates");var C=class extends L.Service{static{o(this,"CommandUiRuntime")}static inject=["inputTriggers","sessions","remote","remote.commands"];directory;live={contributions:new Map,decorations:new Map,popups:new Map};constructor(e){super(e,"commandUi"),this.directory=new _(async s=>{if(this.sessions().subagentAddress(s)!==void 0)return[];const r=await e.remote.commands.list(s);if(!r.ok)throw new Error(`command.list failed: ${r.error.code}: ${r.error.message}`);return r.value});const t=e.get("inputTriggers");if(t===void 0)throw new Error("ui-commands: slash service unavailable");e.effect(()=>t.registerSource({trigger:"/",name:"command",candidates:o((s,r)=>this.candidates(s,r),"candidates"),onPick:o(s=>this.dispatch(s),"onPick"),matchSpace:o((s,r)=>this.matchSpace(s,r),"matchSpace"),matchEnter:o((s,r,n)=>this.matchEnter(s,r,n),"matchEnter"),warm:o(s=>{this.directory.warm(s.sessionId)},"warm")}),"command: slash source"),e.remote.$on("commands/change",()=>{this.directory.invalidateAll()}),e.remote.$on("agent-preset/selected",s=>{this.directory.refresh(s)}),e.on("connection/reset",()=>{this.directory.resetConnected()})}register(e){const t=this.ctx.effect(()=>{const{contributions:s}=this.live;if(s.has(e.name))throw new Error(`ui-commands: duplicate contribution for /${e.name}`);return s.set(e.name,e),()=>{s.delete(e.name)}},"command.register()");return()=>{t()}}decorate(e){const t=this.ctx.effect(()=>{const{decorations:s}=this.live;if(s.has(e.name))throw new Error(`ui-commands: duplicate decoration for /${e.name}`);return s.set(e.name,e),()=>{s.delete(e.name)}},"command.decorate()");return()=>{t()}}popupFor(e){const t=this.sessions().scopeOf(e);if(t===void 0)throw new Error("command.popupFor requires a session scope");const{popups:s}=this.live,r=s.get(t);if(r!==void 0)return r;const n=new S({consume:o(i=>e.bail(e,"slash/input-consume-token",{guard:i.via==="menu"?{kind:"span",span:i.span}:{kind:"bare-token",token:i.token}})===!0,"consume"),focusComposer:o(()=>{this.focusHooks.get(t)?.()},"focusComposer")});return s.set(t,n),e.effect(()=>()=>{n.dispose(),s.delete(t),this.focusHooks.delete(t)},"command: session popup"),n}focusHooks=new Map;bindComposerFocus(e,t){return this.focusHooks.set(e,t),()=>{this.focusHooks.get(e)===t&&this.focusHooks.delete(e)}}async candidates(e,t){const s=await this.directory.ensureReady(e.sessionId,t.signal),r=[],n=new Set;for(const i of s)n.add(i.name),r.push({name:i.name,description:i.description,...i.input!==void 0?{hint:i.input.hint}:{}});for(const i of this.live.contributions.values())if(i.available(e)){if(n.has(i.name))throw new Error(`ui-commands: contribution /${i.name} collides with a host command`);r.push({name:i.name,description:i.description})}return T(r.filter(i=>t.position==="leading"||i.hint===void 0),t.query)}dispatch(e){const t=e.candidate.name,s=this.live.contributions.get(t);if(s!==void 0&&s.available(e.session))return this.openPopup(t,s.ui,e.session,{via:"menu",span:e.span}),"handled";const r=this.directory.resolve(e.session.sessionId,t);if(r===void 0)return;const n=this.live.decorations.get(t);return n!==void 0&&n.available(e.session)?(this.openPopup(t,n.ui,e.session,{via:"menu",span:e.span}),"handled"):r.input!==void 0?{claim:this.leadingClaim(r,e.session)}:(this.consumeVia(e.session.sessionId,{via:"menu",span:e.span}),this.runDetached(r,e.session,`/${t}`),"handled")}matchSpace(e,t){if(!t.startsWith("/"))return;const s=t.slice(1);if(this.live.contributions.has(s))return;const r=this.directory.resolve(e.sessionId,s);if(!(r===void 0||r.input===void 0))return{claim:this.leadingClaim(r,e)}}async matchEnter(e,t,s){const r=t.trim();if(!r.startsWith("/"))return;const n=r.search(/\s/),i=n===-1?r:r.slice(0,n),l=n===-1,u=i.slice(1);if(u==="")return;const c=this.live.contributions.get(u);if(c!==void 0&&c.available(e))return l?(this.openPopup(u,c.ui,e,{via:"enter",token:i}),"handled"):void 0;await this.directory.ensureReady(e.sessionId,s);const m=this.directory.resolve(e.sessionId,u);if(m!==void 0){if(l){const a=this.live.decorations.get(u);if(a!==void 0&&a.available(e))return this.openPopup(u,a.ui,e,{via:"enter",token:i}),"handled"}if(m.input!==void 0)return{claim:this.leadingClaim(m,e)};if(l)return this.consumeVia(e.sessionId,{via:"enter",token:i}),this.runDetached(m,e,r),"handled"}}openPopup(e,t,s,r){const n=this.scopeFor(s.sessionId);n!==void 0&&this.popupFor(n).open(e,t,s,r)}leadingClaim(e,t){const s=`/${e.name} `;return{token:s,...e.input!==void 0?{hint:e.input.hint}:{},submit:o((r,n)=>this.execute(t,s+r),"submit")}}async execute(e,t){const s=await this.ctx.remote.commands.execute(e.sessionId,t);if(!s.ok)throw new Error(`command.execute failed: ${s.error.code}: ${s.error.message}`);return s.value===void 0?{kind:"error",text:`unknown or malformed command: ${t}`}:(this.notifyExecuted(e.sessionId,P(t),s.value.result),{kind:"success"})}notifyExecuted(e,t,s){const r=["command/executed",e,t,s];for(const n of this.ctx.events.dispatch("emit",r))try{const i=n(e,t,s);i!=null&&typeof i.then=="function"&&Promise.resolve(i).then(void 0,l=>{this.warnExecutedListenerFailure(t,l)})}catch(i){this.warnExecutedListenerFailure(t,i)}}warnExecutedListenerFailure(e,t){this.ctx.logger.warn('client command: a command/executed listener for "%s" failed',e),this.ctx.logger.warn(t)}runDetached(e,t,s){this.execute(t,s).then(r=>{r.kind==="error"&&this.noticeFor(t.sessionId,"error",r.text??`/${e.name} failed`)},r=>{this.noticeFor(t.sessionId,"error",r instanceof Error?r.message:String(r))})}consumeVia(e,t){const s=this.scopeFor(e);s!==void 0&&s.bail(s,"slash/input-consume-token",{guard:t.via==="menu"?{kind:"span",span:t.span}:{kind:"bare-token",token:t.token}})}noticeFor(e,t,s){const r=this.scopeFor(e);if(r===void 0)return;const n=r.get("conversation");n!==void 0&&n.input.for(r).notify(t,s)}scopeFor(e){return this.sessions().scope(e)}sessions(){const e=this.ctx.get("sessions");if(e===void 0)throw new Error("ui-commands: sessions service unavailable");return e}};function j(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(s=j(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}o(j,"r");function D(){for(var e,t,s=0,r="",n=arguments.length;s<n;s++)(e=arguments[s])&&(t=j(e))&&(r&&(r+=" "),r+=t);return r}o(D,"clsx");const z=".J7tuAW_card{z-index:100;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);min-width:min(220px,100%);max-width:100%;max-height:320px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;outline:none;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;overflow:hidden}.J7tuAW_viewport{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.J7tuAW_row{cursor:pointer;color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.J7tuAW_rowActive{background:var(--dsw-alias-interactive-bg-hover)}.J7tuAW_label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.J7tuAW_detail{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.J7tuAW_check{color:var(--dsw-alias-label-primary);flex:none;display:inline-flex}.J7tuAW_status{color:var(--dsw-alias-label-tertiary);padding:8px 10px;font-size:13px}.J7tuAW_search{border:1px solid var(--dsw-alias-border-inverted);color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;outline:none;margin:2px 2px 4px;padding:6px 8px;font-size:13px}.J7tuAW_error{color:var(--dsw-alias-state-error-primary);align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.J7tuAW_errorText{text-overflow:ellipsis;flex:1;overflow:hidden}.J7tuAW_retry{border:1px solid var(--dsw-alias-border-inverted);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:12px}",W="@qqbrowser/qbot-dsh-client-ui-commands/PopupSelectView.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(W)+"]")===null){const e=document.createElement("style");e.dataset.plugin="@qqbrowser/qbot-dsh-client-ui-commands",e.dataset.pluginCss=W,e.textContent=z,document.head.appendChild(e)}var h={viewport:"J7tuAW_viewport",error:"J7tuAW_error",row:"J7tuAW_row",errorText:"J7tuAW_errorText",check:"J7tuAW_check",detail:"J7tuAW_detail",status:"J7tuAW_status",search:"J7tuAW_search",retry:"J7tuAW_retry",label:"J7tuAW_label",rowActive:"J7tuAW_rowActive",card:"J7tuAW_card"};const R=320;function H({popup:e,t}){const s=(0,v.useSyncExternalStore)(a=>e.state.subscribe(a),()=>e.state.getSnapshot()),r=(0,v.useRef)(null),n=(0,v.useRef)(null),i=(0,x.useAnchoredMaxHeight)(r,R,s),l=s.open?s.active:null;if((0,v.useEffect)(()=>{l!==null&&r.current?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})},[l]),(0,v.useEffect)(()=>{if(!s.open||s.confirming!==null)return;const a=o(f=>{r.current!==null&&f.target instanceof Node&&r.current.contains(f.target)||e.dismiss()},"onPointerDown");return document.addEventListener("pointerdown",a,!0),()=>{document.removeEventListener("pointerdown",a,!0)}},[s.open,s.confirming,e]),(0,v.useEffect)(()=>{s.open&&s.confirming===null&&n.current?.focus()},[s.open,s.confirming]),!s.open)return null;const u=b(s.options,s.search),c=s.confirming?.confirmation,m=o(a=>{switch(a.key){case"ArrowDown":a.preventDefault(),e.move(1);return;case"ArrowUp":a.preventDefault(),e.move(-1);return;case"Enter":a.preventDefault(),e.select(s.active);return;case"Escape":a.preventDefault(),e.dismiss({focusComposer:!0});return;default:}},"onKeyDown");return(0,d.jsxs)(d.Fragment,{children:[s.confirming===null&&(0,d.jsxs)("div",{ref:r,className:h.card,style:{maxHeight:i},"aria-label":t("overlay.aria",{command:String(s.command)}),onKeyDown:m,children:[(0,d.jsx)("input",{ref:n,className:h.search,type:"text",placeholder:t("search.placeholder"),"aria-label":t("search.aria"),value:s.search,readOnly:s.submitting,onChange:o(a=>{e.setSearch(a.currentTarget.value)},"onChange")}),s.error!==null&&(0,d.jsxs)("div",{className:h.error,role:"alert",children:[(0,d.jsx)("span",{className:h.errorText,children:s.error}),s.status==="failed"&&(0,d.jsx)("button",{type:"button",className:h.retry,onClick:o(()=>{e.retry()},"onClick"),children:t("retry")})]}),s.status==="pending"&&(0,d.jsx)("div",{className:h.status,children:t("status.loading")}),s.submitting&&(0,d.jsx)("div",{className:h.status,children:t("status.applying")}),s.status==="ready"&&u.length===0&&(0,d.jsx)("div",{className:h.status,children:t("status.empty")}),s.status==="ready"&&(0,d.jsx)("div",{role:"listbox","aria-label":t("listbox.aria",{command:String(s.command)}),className:h.viewport,children:u.map((a,f)=>(0,d.jsxs)("div",{role:"option","aria-selected":f===s.active,className:D(h.row,f===s.active&&h.rowActive),onClick:o(()=>{e.select(f)},"onClick"),onMouseEnter:o(()=>{e.highlight(f)},"onMouseEnter"),children:[(0,d.jsx)("span",{className:h.label,children:a.label}),a.detail!==void 0&&(0,d.jsx)("span",{className:h.detail,children:a.detail}),a.active===!0&&(0,d.jsx)("span",{className:h.check,children:(0,d.jsx)(x.IconCheckOutline16,{})})]},a.id))})]}),c!==void 0&&(0,d.jsx)(x.RiskConfirmation,{open:!0,title:c.title,description:c.description,acknowledgeLabel:c.acknowledgeLabel,cancelLabel:c.cancelLabel,confirmLabel:c.confirmLabel,acknowledged:s.acknowledged,onAcknowledgedChange:o(a=>{e.acknowledge(a)},"onAcknowledgedChange"),onCancel:o(()=>{e.cancelConfirmation()},"onCancel"),onConfirm:o(()=>{e.confirm()},"onConfirm")})]})}o(H,"PopupSelectView");const O={"search.placeholder":"搜索…","search.aria":"筛选选项","status.loading":"正在加载选项…","status.applying":"正在应用…","status.empty":"无选项","overlay.aria":"/{command} 选项","listbox.aria":"/{command} 匹配项"},V={"search.placeholder":"Search…","search.aria":"Filter options","status.loading":"Loading options…","status.applying":"Applying…","status.empty":"No options","overlay.aria":"/{command} options","listbox.aria":"/{command} matches"},J="command",U=["inputTriggers","sessions","remote","remote.commands","locale"];function G(e){e.effect(()=>e.locale.register(J,{zh:O,en:V}),"ui-commands: dictionaries"),e.plugin(C),e.inject(["slots","commandUi","sessions"],t=>{const s=t.commandUi,r=t.sessions;t.slots.inject("conversation.input.overlay",()=>t.slots.register({name:"conversation.input.overlay",id:"command-popup",order:1,locale:J,inject:o(n=>{const i=r.scope(n);if(i===void 0)throw new Error(`ui-commands: session "${String(n)}" resolved no scope`);return{popup:s.popupFor(i)}},"inject")},H))})}return o(G,"apply"),g.CommandDirectory=_,g.CommandUiRuntime=C,g.PopupSelectController=S,g.apply=G,g.filterOptions=b,g.inject=U,y.exports},"factory")});
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-ui-commands","version":"0.0.5","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"qbot-dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-api-remotes","@qqbrowser/qbot-dsh-client-runtime","@qqbrowser/qbot-dsh-client-locale","@qqbrowser/qbot-dsh-client-ui-input-trigger","@qqbrowser/qbot-dsh-client-ui-conversation"],"platform":"web"}},"license":"MIT","dependencies":{"clsx":"^2.0.0"},"peerDependencies":{"react":"^18.2.0","@qqbrowser/qbot-dsh-api-remotes":"^0.0.5","@qqbrowser/qbot-dsh-client-runtime":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-conversation":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.5","@qqbrowser/qbot-dsh-client-locale":"^0.0.5","@qqbrowser/qbot-dsh-commands":"^0.0.5","@qqbrowser/qbot-dsh-client-ui-input-trigger":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-ui-commands","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-api-remotes","@qqbrowser/qbot-dsh-client-runtime","@qqbrowser/qbot-dsh-client-locale","@qqbrowser/qbot-dsh-client-ui-input-trigger","@qqbrowser/qbot-dsh-client-ui-conversation"],"platform":"web"}},"license":"MIT","dependencies":{"clsx":"^2.0.0"},"peerDependencies":{"react":"^18.2.0","@qqbrowser/qbot-dsh-api-remotes":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-conversation":"^0.0.6","@qqbrowser/qbot-dsh-client-locale":"^0.0.6","@qqbrowser/qbot-dsh-client-runtime":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-client-ui-input-trigger":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}