@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
@@ -38,7 +38,7 @@
38
38
  - id: fs-local
39
39
  name: '@qqbrowser/qbot-dsh-fs-local'
40
40
  config:
41
- cwd: !!js process.env.QBOT_DSH_CWD ?? process.cwd()
41
+ cwd: !!js process.env.DSH_CWD ?? process.cwd()
42
42
  - id: str-replace-editor
43
43
  name: '@qqbrowser/qbot-dsh-tool-str-replace-editor'
44
44
  config:
package/lib/bin.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- var w=Object.defineProperty;var i=(t,r)=>w(t,"name",{value:r,configurable:!0});import{readFileSync as E,writeSync as g}from"node:fs";import{fileURLToPath as b}from"node:url";const p="jsonl-v1",f=1,m={WEB_LISTEN_FAILED:"Failed to start local web server",WEB_STARTUP_FAILED:"Failed to start DSH web service"},c={stdout:process.stdout,stderr:process.stderr,writeLine:i((t,r)=>{const o=Buffer.from(r,"utf8");let e=0;for(;e<o.byteLength;){const s=g(t,o,e,o.byteLength-e);if(s===0)throw new Error("native protocol stdout write made no progress");e+=s}},"writeLine"),onExit:i(t=>{process.on("exit",t)},"onExit"),offExit:i(t=>{process.off("exit",t)},"offExit")};function y(t){return t[0]==="web"?!0:t.some((r,o)=>r==="--profile"&&t[o+1]==="web"||r==="--profile=web")}i(y,"selectsWebProfile");function L(t){return y(t)?t.some((r,o)=>r===`--native-protocol=${p}`||r==="--native-protocol"&&t[o+1]===p):!1}i(L,"requestsNativeJsonlV1");function v(t){const r=[t],o=new Set;for(;r.length>0;){const e=r.pop();if(typeof e!="object"||e===null||o.has(e))continue;o.add(e);const s=e;if(s.code==="WEB_LISTEN_FAILED")return"WEB_LISTEN_FAILED";if(r.push(s.cause),Array.isArray(s.errors)){const a=s.errors;r.push(...a)}}return"WEB_STARTUP_FAILED"}i(v,"classifyNativeStartupError");var A=class{static{i(this,"NativeProtocolWriter")}name=p;state="pending";stdout=c.stdout;stderr=c.stderr;originalWrite=this.stdout.write;redirectWrite;exitListener;constructor(){this.redirectWrite=((...t)=>!!Reflect.apply(this.stderr.write,this.stderr,t)),this.stdout.write=this.redirectWrite,this.exitListener=t=>{t!==0&&this.emitError("WEB_STARTUP_FAILED")},c.onExit(this.exitListener)}emitReady(t){if(this.state!=="pending")return!1;if(!Number.isInteger(t.port)||t.port<1||t.port>65535)throw new Error("native protocol ready port must be an integer from 1 through 65535");if(!Number.isInteger(t.pid)||t.pid<1)throw new Error("native protocol ready pid must be a positive integer");return this.write({protocolVersion:f,event:"ready",url:`http://${t.host}:${String(t.port)}`,host:t.host,port:t.port,pid:t.pid}),this.state="ready",!0}emitError(t){return this.state!=="pending"?!1:(this.write({protocolVersion:f,event:"error",code:t,message:m[t]}),this.state="error",!0)}dispose(){this.stdout.write===this.redirectWrite&&(this.stdout.write=this.originalWrite),c.offExit(this.exitListener)}write(t){c.writeLine(this.stdout.fd,`${JSON.stringify(t)}
3
- `)}};function R(t){return L(t)?new A:void 0}i(R,"createNativeProtocolWriter");function S(t,r=process.platform,o=process.arch){if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("qbot-dsh: package manifest is not an object");const e=t,s=typeof e.version=="string"?e.version:"0.0.0";if(e.qbotDshRelease===void 0)return s;if(e.qbotDshRelease===null||typeof e.qbotDshRelease!="object"||Array.isArray(e.qbotDshRelease))throw new Error("qbot-dsh: package manifest has invalid qbotDshRelease metadata");const a=e.qbotDshRelease.targets;if(!Array.isArray(a)||a.length===0||a.some(u=>typeof u!="string"))throw new Error("qbot-dsh: package manifest has invalid qbotDshRelease.targets metadata");const h=`${r}-${o}`;if(!a.includes(h))throw new Error(`qbot-dsh: unsupported target ${h}; this package supports ${a.join(", ")}`);return s}i(S,"releaseVersionForTarget");function D(){return S(JSON.parse(E(b(new URL("../package.json",import.meta.url)),"utf8")))}i(D,"readVersion");const l=process.argv.slice(2),d=R(l),{parseDshArgs:_}=await import("./args-DUXD3Svv.js"),n=_(l,D());switch(n.mode){case"profile":{const{runProfile:t}=await import("./profile-boot-B4JIT6XQ.js"),{loadLayeredEnv:r}=await import("@qqbrowser/qbot-dsh-app-boot");try{await t({environment:r("qbot-dsh"),profile:n.profile,patchFiles:n.patches,args:n.args,...d===void 0?{}:{nativeProtocol:d}})}catch(o){throw d?.emitError(v(o)),o}break}case"plugin":{const{runPlugin:t}=await import("./plugin-DtRgTK19.js");process.exit(t(n.profile,n.args));break}case"dump-config":{const{runDumpConfig:t}=await import("./dump-config-B2DyR4dg.js");t(n.profile,n.defaultOnly,n.patches);break}default:throw new Error(`qbot-dsh: unhandled invocation mode ${JSON.stringify(n)}`)}export{};
2
+ var m=Object.defineProperty;var s=(t,e)=>m(t,"name",{value:e,configurable:!0});import{readFileSync as E,writeSync as g}from"node:fs";import{fileURLToPath as l}from"node:url";const d="jsonl-v1",f=1,y={WEB_LISTEN_FAILED:"Failed to start local web server",WEB_STARTUP_FAILED:"Failed to start DSH web service"},p={stdout:process.stdout,stderr:process.stderr,writeLine:s((t,e)=>{const o=Buffer.from(e,"utf8");let r=0;for(;r<o.byteLength;){const i=g(t,o,r,o.byteLength-r);if(i===0)throw new Error("native protocol stdout write made no progress");r+=i}},"writeLine"),onExit:s(t=>{process.on("exit",t)},"onExit"),offExit:s(t=>{process.off("exit",t)},"offExit")};function b(t){return t[0]==="web"?!0:t.some((e,o)=>e==="--profile"&&t[o+1]==="web"||e==="--profile=web")}s(b,"selectsWebProfile");function v(t){return b(t)?t.some((e,o)=>e===`--native-protocol=${d}`||e==="--native-protocol"&&t[o+1]===d):!1}s(v,"requestsNativeJsonlV1");function L(t){const e=[t],o=new Set;for(;e.length>0;){const r=e.pop();if(typeof r!="object"||r===null||o.has(r))continue;o.add(r);const i=r;if(i.code==="WEB_LISTEN_FAILED")return"WEB_LISTEN_FAILED";if(e.push(i.cause),Array.isArray(i.errors)){const n=i.errors;e.push(...n)}}return"WEB_STARTUP_FAILED"}s(L,"classifyNativeStartupError");var S=class{static{s(this,"NativeProtocolWriter")}name=d;state="pending";stdout=p.stdout;stderr=p.stderr;originalWrite=this.stdout.write;redirectWrite;exitListener;constructor(){this.redirectWrite=((...t)=>!!Reflect.apply(this.stderr.write,this.stderr,t)),this.stdout.write=this.redirectWrite,this.exitListener=t=>{t!==0&&this.emitError("WEB_STARTUP_FAILED")},p.onExit(this.exitListener)}emitReady(t){if(this.state!=="pending")return!1;if(!Number.isInteger(t.port)||t.port<1||t.port>65535)throw new Error("native protocol ready port must be an integer from 1 through 65535");if(!Number.isInteger(t.pid)||t.pid<1)throw new Error("native protocol ready pid must be a positive integer");return this.write({protocolVersion:f,event:"ready",url:`http://${t.host}:${String(t.port)}`,host:t.host,port:t.port,pid:t.pid}),this.state="ready",!0}emitError(t){return this.state!=="pending"?!1:(this.write({protocolVersion:f,event:"error",code:t,message:y[t]}),this.state="error",!0)}dispose(){this.stdout.write===this.redirectWrite&&(this.stdout.write=this.originalWrite),p.offExit(this.exitListener)}write(t){p.writeLine(this.stdout.fd,`${JSON.stringify(t)}
3
+ `)}};function A(t){return v(t)?new S:void 0}s(A,"createNativeProtocolWriter");function R(t,e=process.platform,o=process.arch){if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("qbot-dsh: package manifest is not an object");const r=t,i=typeof r.version=="string"?r.version:"0.0.0";if(r.dshRelease===void 0)return i;if(r.dshRelease===null||typeof r.dshRelease!="object"||Array.isArray(r.dshRelease))throw new Error("qbot-dsh: package manifest has invalid dshRelease metadata");const n=r.dshRelease.targets;if(!Array.isArray(n)||n.length===0||n.some(w=>typeof w!="string"))throw new Error("qbot-dsh: package manifest has invalid dshRelease.targets metadata");const c=`${e}-${o}`;if(!n.includes(c))throw new Error(`qbot-dsh: unsupported target ${c}; this package supports ${n.join(", ")}`);return i}s(R,"releaseVersionForTarget");function _(){return R(JSON.parse(E(l(new URL("../package.json",import.meta.url)),"utf8")))}s(_,"readVersion");const u=process.argv.slice(2),h=A(u),{parseDshArgs:W}=await import("./args-DUXD3Svv.js"),a=W(u,_());switch(a.mode){case"profile":{if(import.meta.url.endsWith("/src/bin.ts")){const[o,r,i]=await Promise.all([import("node:fs"),import("node:path"),import("@qqbrowser/qbot-dsh-home-paths")]),n=r.join(i.resolveDshHome(),"profiles");o.mkdirSync(n,{recursive:!0});try{o.symlinkSync(l(new URL("../../../node_modules/.pnpm/node_modules/",import.meta.url)),r.join(n,"node_modules"),"junction")}catch(c){if(c.code!=="EEXIST")throw c}}const{runProfile:t}=await import("./profile-boot-KD3x0Z2S.js"),{loadLayeredEnv:e}=await import("@qqbrowser/qbot-dsh-app-boot");try{await t({environment:e("qbot-dsh"),profile:a.profile,patchFiles:a.patches,args:a.args,...h===void 0?{}:{nativeProtocol:h}})}catch(o){throw h?.emitError(L(o)),o}break}case"plugin":{const{runPlugin:t}=await import("./plugin-peKc7sV-.js");process.exit(t(a.profile,a.args));break}case"dump-config":{const{runDumpConfig:t}=await import("./dump-config-DRyeYoJB.js");t(a.profile,a.defaultOnly,a.patches);break}default:throw new Error(`qbot-dsh: unhandled invocation mode ${JSON.stringify(a)}`)}export{};
@@ -1 +1 @@
1
- var n=Object.defineProperty;var r=(s,a)=>n(s,"name",{value:a,configurable:!0});import{i as m,n as f,r as P}from"./profile-boot-B4SoKsRj.js";import{existsSync as d}from"node:fs";import{join as u,resolve as b}from"node:path";import{loadOptionalPatches as E,loadOverlayPatches as O,renderConfigDump as g}from"@qqbrowser/qbot-dsh-app-boot";const c="qbot-dsh";function v(s,a,i){const o=m(s,!a),e=o.layers.map(t=>({label:t.packageName,patches:t.patches}));if(!a){d(o.patchPath)&&e.push({label:o.patchPath,patches:o.patches});const t=P(),p=E(c,t);p!==void 0&&e.push({label:t,patches:p});for(const l of i){const h=b(l);e.push({label:h,patches:O(c,h)})}}process.stdout.write(g(c,u(o.dir,f),e))}r(v,"runDumpConfig");export{v as runDumpConfig};
1
+ var n=Object.defineProperty;var r=(s,a)=>n(s,"name",{value:a,configurable:!0});import{i as m,n as f,r as P}from"./profile-boot-BAgU8KvC.js";import{existsSync as d}from"node:fs";import{join as u,resolve as b}from"node:path";import{loadOptionalPatches as E,loadOverlayPatches as O,renderConfigDump as g}from"@qqbrowser/qbot-dsh-app-boot";const c="qbot-dsh";function v(s,a,i){const o=m(s,!a),e=o.layers.map(t=>({label:t.packageName,patches:t.patches}));if(!a){d(o.patchPath)&&e.push({label:o.patchPath,patches:o.patches});const t=P(),p=E(c,t);p!==void 0&&e.push({label:t,patches:p});for(const l of i){const h=b(l);e.push({label:h,patches:O(c,h)})}}process.stdout.write(g(c,u(o.dir,f),e))}r(v,"runDumpConfig");export{v as runDumpConfig};
@@ -1,4 +1,4 @@
1
- var w=Object.defineProperty;var c=(n,t)=>w(n,"name",{value:t,configurable:!0});import{t as g}from"./profile-boot-B4SoKsRj.js";import{existsSync as $}from"node:fs";import{join as u,resolve as b}from"node:path";import{DEFAULT_PROFILE_BUNDLES as y,PROFILE_TEMPLATES as P,initProfile as k,readProfileManifest as d,resolveBundleDir as v,resolveProfileDir as x,writeProfileManifest as E}from"@qqbrowser/qbot-dsh-app-boot";import{spawnSync as S}from"node:child_process";const i="qbot-dsh";function h(n,t){let e;try{e=v(i,n,g,t)}catch{return!1}return d(i,e).dsh?.bundle?.patch!==void 0}c(h,"exportsPatch");function N(n,t){const e=d(i,t),p=new Set(Object.keys(n.dependencies??{})),o=Object.keys(e.dependencies??{}),s=e.dsh?.profile?.bundles??[];let a=!1;for(const r of o){const l=h(r,t);l&&!s.includes(r)?(s.push(r),a=!0):!l&&!p.has(r)&&process.stderr.write(`${i}: warning: ${r} declares no dsh.bundle — installed as a plain dependency, not a profile layer (a later update that gains one activates it automatically)
1
+ var w=Object.defineProperty;var c=(n,t)=>w(n,"name",{value:t,configurable:!0});import{t as g}from"./profile-boot-BAgU8KvC.js";import{existsSync as $}from"node:fs";import{join as u,resolve as b}from"node:path";import{DEFAULT_PROFILE_BUNDLES as y,PROFILE_TEMPLATES as P,initProfile as k,readProfileManifest as d,resolveBundleDir as v,resolveProfileDir as x,writeProfileManifest as E}from"@qqbrowser/qbot-dsh-app-boot";import{spawnSync as S}from"node:child_process";const i="qbot-dsh";function h(n,t){let e;try{e=v(i,n,g,t)}catch{return!1}return d(i,e).dsh?.bundle?.patch!==void 0}c(h,"exportsPatch");function N(n,t){const e=d(i,t),p=new Set(Object.keys(n.dependencies??{})),o=Object.keys(e.dependencies??{}),s=e.dsh?.profile?.bundles??[];let a=!1;for(const r of o){const l=h(r,t);l&&!s.includes(r)?(s.push(r),a=!0):!l&&!p.has(r)&&process.stderr.write(`${i}: warning: ${r} declares no dsh.bundle — installed as a plain dependency, not a profile layer (a later update that gains one activates it automatically)
2
2
  `)}const f=new Set(o);for(const r of[...s]){const l=p.has(r)||f.has(r),m=f.has(r)&&h(r,t);l&&!m&&(s.splice(s.indexOf(r),1),a=!0)}a&&(e.dsh={...e.dsh,profile:{...e.dsh?.profile,bundles:s}},E(t,e))}c(N,"reconcilePlugins");function L(n,t){const e=/^(?<prefix>(?:file|link):)?(?<path>\.{1,2}(?:[/\\].*)?)$/.exec(n);return e?.groups?.path===void 0?n:`${e.groups.prefix??""}${b(t,e.groups.path)}`}c(L,"anchorPathSpec");function O(n,t){const e=x(n);$(u(e,"package.json"))||(k(e,P[n]??y),process.stderr.write(`${i}: initialized profile ${n} at ${e}
3
3
  `));const p=d(i,e),o=S("pnpm",t.map(a=>L(a,process.cwd())),{cwd:e,stdio:"inherit",shell:process.platform==="win32"});if(o.error!==void 0){if(o.error.code==="ENOENT")return process.stderr.write(`${i}: pnpm not found on PATH — install pnpm to manage profile plugins
4
4
  `),127;throw o.error}const s=o.status??1;return s===0?N(p,e):(process.stderr.write(`${i}: pnpm failed in profile directory ${e}
@@ -0,0 +1,5 @@
1
+ var R=Object.defineProperty;var n=(e,r)=>R(e,"name",{value:r,configurable:!0});import{writeFileSync as L}from"node:fs";import{fileURLToPath as g}from"node:url";import{join as m,resolve as S}from"node:path";import{PROFILE_PATCH_FILENAME as I,boot as N,composeEntries as M,installFailLoud as A,loadOptionalPatches as P,loadOverlayPatches as C,loadProfile as F,watchUserPatches as y}from"@qqbrowser/qbot-dsh-app-boot";import{resolveDshHome as D}from"@qqbrowser/qbot-dsh-home-paths";import{DSH_LAUNCH_ENVIRONMENT_KEY as H}from"@qqbrowser/qbot-dsh-launch-environment";import{provideCmdline as U}from"@qqbrowser/qbot-dsh-cmdline";const x=5e3;function k(e,r=s=>{process.exit(s)},i=s=>{process.exitCode=s},u=x){let s,p,c=!1,l=!1;const o=n(()=>{p!==void 0&&clearTimeout(p)},"clearExitTimeout"),t=n(a=>{l||(l=!0,o(),r(a))},"forceExitOnce"),h=n(a=>{c||l||(c=!0,o(),i(a))},"completeOnce"),E=n((a,_)=>(s!==void 0||(p=setTimeout(()=>{t(a)},u),s=Promise.resolve().then(e).then(()=>{_?t(a):h(a)},()=>{t(a)})),s),"start");return{shutdown(a){return E(a,!1)},interrupt(a){if(s!==void 0){t(a);return}E(a,!0)}}}n(k,"createProcessShutdown");const j=g(new URL("../config/agent-presets/",import.meta.url)),f="qbot-dsh";function d(){return m(D(),I)}n(d,"homePatchPath");const w=g(new URL("../package.json",import.meta.url)),T="session-telemetry-otel",G=`# qbot-dsh profile root — an empty entry list. The tree is composed as patches:
2
+ # each bundle in package.json's dsh.profile.bundles, then cordis.patch.yml, then any
3
+ # --patch overlays. Edit cordis.patch.yml, not this file.
4
+ []
5
+ `,v="cordis.yml";function O(e,r){if(!((e??"")===""||!r))return{id:T,disabled:!0}}n(O,"resolveTelemetryPatch");function b(e,r=!0){const i=F(f,e,w,void 0,{userLayer:r});return L(m(i.dir,v),G),i}n(b,"prepareProfile");function Y(e){return[...e.bundlePatches,...e.profile.patches,...e.homePatches,...e.overlays]}n(Y,"allPatches");function q(e,r){const i=b(e),u=P(f,d())??[],s=r.flatMap(t=>C(f,S(t))),p=i.layers.flatMap(t=>t.patches),c=new Map;for(const t of M([p,i.patches,u,s]))typeof t.id=="string"&&c.set(t.id,t);const l=[...s];c.has("agent-presets")&&l.push({id:"agent-presets",config:{...c.get("agent-presets")?.config??{},roots:[{path:j,trust:"system"}]}});const o=O(process.env.DSH_TELEMETRY_DISABLED,c.has(T));return o!==void 0&&l.push(o),{profile:i,bundlePatches:p,homePatches:u,overlays:l,rows:c}}n(q,"composeProfile");function W(e,r,i){if(!r.aborted&&!(e.fiber.state!==2||e.get("loader")===void 0))throw i}n(W,"suppressShutdownError");async function B(e){const r=q(e.profile,e.patchFiles),i={},u=k(async()=>{await i.current?.fiber.dispose()}),s=new AbortController,p=n(t=>{s.abort(),u.interrupt(t)},"interrupt");process.on("SIGTERM",()=>{p(0)}),process.on("SIGINT",()=>{p(130)}),A(f,process,async()=>{await i.current?.fiber.dispose()});const c=m(r.profile.dir,v),l=n(()=>structuredClone([...r.bundlePatches,...P(f,r.profile.patchPath)??[],...P(f,d())??[],...r.overlays]),"composeLive"),o=await N(f,c,structuredClone(Y(r)),t=>{i.current=t,t.provide(H,e.environment),U(t,{args:e.args,exit:n(h=>{u.shutdown(h)},"exit"),...e.nativeProtocol===void 0?{}:{nativeProtocol:e.nativeProtocol}})});if(i.current=o,!s.signal.aborted&&o.fiber.state===2&&o.get("loader")!==void 0)try{o.get("hmr")===void 0&&(o.get("timer")===void 0&&await o.loader.create({name:"@deepseek-ai/cordis-plugin-timer"}),await o.loader.create({name:"@deepseek-ai/cordis-plugin-hmr",config:{root:[]}})),await y(o,{binName:f,filename:r.profile.patchPath,compose:l}),await y(o,{binName:f,filename:d(),compose:l})}catch(t){W(o,s.signal,t)}return{ctx:o,shutdown:u}}n(B,"runProfile");export{O as a,b as i,v as n,B as o,d as r,w as t};
@@ -0,0 +1 @@
1
+ import{o}from"./profile-boot-BAgU8KvC.js";export{o as runProfile};
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/cordis-plugin-hmr","version":"1.0.16","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","@deepseek-ai/cordis":{"services":{"required":["timer"]},"description":{"en":"Hot Module Replacement","zh":"模块热替换"}},"peerDependencies":{"@deepseek-ai/cordis-plugin-timer":"^1.1.3","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@babel/code-frame":"^7.29.0","chokidar":"^4.0.3","picomatch":"^4.0.3","@deepseek-ai/cosmokit":"^1.8.2","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/cordis-plugin-hmr","version":"1.0.16","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","@deepseek-ai/cordis":{"services":{"required":["timer"]},"description":{"en":"Hot Module Replacement","zh":"模块热替换"}},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/cordis-plugin-timer":"^1.1.3"},"dependencies":{"@babel/code-frame":"^7.29.0","chokidar":"^4.0.3","picomatch":"^4.0.3","@deepseek-ai/cosmokit":"^1.8.2","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-scope":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-typert-protocol":"^0.0.5","@qqbrowser/qbot-dsh-system-prompt":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-scope":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@qqbrowser/qbot-dsh-typert-protocol":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent-default-model","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","@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-settings":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent-default-model","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent-instructions","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","peerDependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-home-paths":"^0.0.5","@qqbrowser/qbot-dsh-fs":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-tools":"^0.0.5"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent-instructions","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","peerDependencies":{"@qqbrowser/qbot-dsh-fs":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent-loop","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"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-scope":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-session-persistence":"^0.0.5","@qqbrowser/qbot-dsh-system-prompt":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-settings":"^0.0.5","@qqbrowser/qbot-dsh-tools":"^0.0.5"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent-loop","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"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-scope":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-settings":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent-presets","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-atomic-write":"^0.0.5","@qqbrowser/qbot-dsh-scope":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-settings":"^0.0.5","@qqbrowser/qbot-dsh-system-prompt":"^0.0.5","@qqbrowser/qbot-dsh-home-paths":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"js-yaml":"^4.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent-presets","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@qqbrowser/qbot-dsh-atomic-write":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@qqbrowser/qbot-dsh-scope":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@deepseek-ai/cordis-plugin-include":"^1.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"js-yaml":"^4.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-agent-tool-presentation","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-tools":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-agent-tool-presentation","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-tools":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-anonymous-user-id","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-brand":"^0.0.5","@qqbrowser/qbot-dsh-home-paths":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-anonymous-user-id","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","peerDependencies":{"@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-api-gateway","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"qbot-dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-typert-registry","@qqbrowser/qbot-dsh-client-connection"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@qqbrowser/qbot-dsh-typert-protocol":"^0.0.5"},"peerDependencies":{"@qqbrowser/qbot-dsh-client-connection":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-typert-registry":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-api-gateway","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-typert-registry","@qqbrowser/qbot-dsh-client-connection"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@qqbrowser/qbot-dsh-typert-protocol":"^0.0.6"},"peerDependencies":{"@qqbrowser/qbot-dsh-client-connection":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-typert-registry":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-api-remotes","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"qbot-dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-api-gateway"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@qqbrowser/qbot-dsh-typert-protocol":"^0.0.5"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-commands":"^0.0.5","@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-api-gateway":"^0.0.5","@qqbrowser/qbot-dsh-credentials":"^0.0.5","@qqbrowser/qbot-dsh-goal":"^0.0.5","@qqbrowser/qbot-dsh-cordis-host-runner":"^0.0.5","@qqbrowser/qbot-dsh-host-plugin-inventory":"^0.0.5","@qqbrowser/qbot-dsh-agent-presets":"^0.0.5","@qqbrowser/qbot-dsh-message-feedback":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-typert-registry":"^0.0.5","@qqbrowser/qbot-dsh-session-persistence":"^0.0.5","@qqbrowser/qbot-dsh-settings":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-api-remotes","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"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-api-gateway"],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@qqbrowser/qbot-dsh-typert-protocol":"^0.0.6"},"peerDependencies":{"@qqbrowser/qbot-dsh-api-gateway":"^0.0.6","@qqbrowser/qbot-dsh-agent":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-goal":"^0.0.6","@qqbrowser/qbot-dsh-credentials":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-cordis-host-runner":"^0.0.6","@qqbrowser/qbot-dsh-host-plugin-inventory":"^0.0.6","@qqbrowser/qbot-dsh-agent-presets":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-message-feedback":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@qqbrowser/qbot-dsh-typert-registry":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6"}}
@@ -1,21 +1,21 @@
1
- var ne=Object.defineProperty;var c=(e,t)=>ne(e,"name",{value:t,configurable:!0});import{createRequire as ie}from"node:module";import{fileURLToPath as se,pathToFileURL as $}from"node:url";import{existsSync as S,lstatSync as D,mkdirSync as k,readFileSync as E,readlinkSync as H,symlinkSync as ae,unlinkSync as ce,writeFileSync as b}from"node:fs";import{parseEnv as le}from"node:util";import{basename as P,dirname as A,extname as he,isAbsolute as de,join as u,resolve as T}from"node:path";import*as m from"js-yaml";import{Context as fe,Service as ue}from"@deepseek-ai/cordis";import pe,{EntryGroup as ye,EntryTree as we,isJsExpr as Ee}from"@deepseek-ai/cordis-plugin-loader";import{access as ge,constants as me,readFile as ve,rename as Se,writeFile as _e}from"node:fs/promises";import{setTimeout as Te}from"node:timers/promises";import Oe from"@deepseek-ai/cordis-plugin-group";import{dshHomePath as $e,resolveDshHome as L}from"@qqbrowser/qbot-dsh-home-paths";import{createLaunchEnvironmentSnapshot as be}from"@qqbrowser/qbot-dsh-launch-environment";const Pe=new m.Type("tag:yaml.org,2002:js",{kind:"scalar",resolve:c(e=>typeof e=="string","resolve"),construct:c(e=>({__jsExpr:e}),"construct"),predicate:Ee,represent:c(e=>e.__jsExpr,"represent")}),R=m.JSON_SCHEMA.extend(Pe),U=R,x={".json":"application/json",".yaml":"application/yaml",".yml":"application/yaml"},Ae=new Set(Object.keys(x)),Le=10,Re=50;function Ie(e){const t=e?.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}c(Ie,"retryableWriteError");function q(e,t,r){if(e=structuredClone(e),!t?.length)return e;const o=new Map,s=c(n=>{for(const i of n)i.id&&o.set(i.id,i),i.group&&Array.isArray(i.config)&&s(i.config)},"buildMap");s(e);for(const n of t){const{id:i,insert:a,name:l,...h}=n;if(a){if(i){const d=o.get(i);if(!d){r("patch insert: entry %C not found",i);continue}if(!d.group){r("patch insert: entry %C is not a group",i);continue}Array.isArray(d.config)||(d.config=[]),d.config.push(...a)}else e.push(...a);s(a);continue}if(!i){r("patch: id is required for non-insert patches");continue}const f=o.get(i);if(!f){r("patch: entry %C not found",i);continue}if(l&&l!==f.name){r("patch: name mismatch for %C (expected %C, got %C), skipping",i,f.name,l);continue}for(const[d,y]of Object.entries(h))d!=="id"&&(f[d]=y)}return e}c(q,"applyEntryPatches");var I=class extends Error{static{c(this,"ConfigFileError")}stage;constructor(e,t,r){super(`failed to ${e} config file ${t}`,{cause:r}),this.stage=e,this.name="ConfigFileError"}},M=class extends we{static{c(this,"Include")}config;static inject=["loader"];static[ye.key]=!0;filename;type;readonly;content;data;writeTask;pendingWrite;writeQueue=Promise.resolve();applyQueue=Promise.resolve();constructor(e,t){super(e),this.config=t,this.enableLogs=t.enableLogs??e.fiber.entry?.parent.tree.enableLogs??!1,this.filename=se(new URL(this.config.path,this.ctx.baseUrl));const r=he(this.filename);if(!Ae.has(r))throw new Error(`extension "${r}" not supported`);this.type=x[r],this.readonly=!this.type,this.ctx.baseUrl=new URL(".",$(this.filename)).href,e.on("internal/update",async(o,s,n)=>{if(o.path!==this.config.path)return n();await this.enqueue(async()=>{const i=this.applyPatches(this.data,o.patches);await this.root.update(i),this.config=o})})}enqueue(e){const t=this.applyQueue.then(e,e);return this.applyQueue=t.then(()=>{},()=>{}),t}async checkAccess(){if(this.type)try{await ge(this.filename,me.W_OK)}catch{this.readonly=!0}}async read(e=!1){let t;try{t=await ve(this.filename,"utf8")}catch(o){throw new I("read",this.filename,o)}if(!e&&this.content===t)return;let r;try{if(this.type==="application/yaml")r=m.load(t,{schema:U});else if(this.type==="application/json")r=JSON.parse(t);else{const o=await import(this.filename);r=o.default||o}}catch(o){throw new I("parse",this.filename,o)}if(!Array.isArray(r))throw new I("validate",this.filename,new TypeError("config file must be a top-level array"));return{content:t,data:r}}applyPatches(e,t){return q(e,t,(r,...o)=>{this.ctx.root.logger?.("loader").warn(r,...o)})}async*[ue.init](){let e;try{e=await this.read(!0)}catch(t){if(!(t instanceof I)||t.stage!=="read"||t.cause?.code!=="ENOENT")throw t;if(this.config.initial)await this._writeFile(this.config.initial),e=await this.read(!0);else throw new Error(`config file not found: ${this.filename}`)}yield()=>this.stop(),await this.apply(e)}async stop(){await this.root.stop(),await this.flushWrite()}async refresh(){await this.enqueue(async()=>{const e=await this.read();e&&await this._apply(e)})}apply(e){return this.enqueue(()=>this._apply(e))}async _apply(e){const t=this.applyPatches(e.data,this.config.patches);await this.root.update(t),this.content=e.content,this.data=e.data,await this.checkAccess()}async _writeFile(e){if(this.readonly)throw new Error("cannot overwrite readonly config");this.type==="application/yaml"?this.content=m.dump(e,{schema:U}):this.type==="application/json"&&(this.content=JSON.stringify(e,null,2)),await _e(this.filename+".tmp",this.content);for(let t=0;;t++)try{await Se(this.filename+".tmp",this.filename);return}catch(r){if(!Ie(r)||t>=Le)throw r;await Te((t+1)*Re)}}writeFile(e){clearTimeout(this.writeTask),this.pendingWrite=e,this.writeTask=setTimeout(()=>{this.flushWrite()},0)}flushWrite(){clearTimeout(this.writeTask),this.writeTask=void 0;const e=this.pendingWrite;if(this.pendingWrite=void 0,e===void 0)return this.writeQueue;const t=this.writeQueue.then(()=>this._writeFile(e),()=>this._writeFile(e));return this.writeQueue=t,t.catch(r=>{this.ctx.root.logger?.("loader").warn("failed to write config file %C",this.filename),this.ctx.root.logger?.("loader").warn(r)}),t}write(){return this.context.emit("loader/config-update"),this.writeFile(this.root.data)}};const j="profiles",C="cordis.patch.yml";function B(e,t=L()){if(e===""||e.includes("/")||e.includes("\\")||e==="."||e===".."||e==="node_modules")throw new Error(`qbot-dsh: invalid profile name ${JSON.stringify(e)}`);return u(t,j,e)}c(B,"resolveProfileDir");const N={web:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-web-app"],headless:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-headless"]},ke={headless:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-web-app","@qqbrowser/qbot-dsh-headless"]},qe=["@qqbrowser/qbot-dsh-base"],je=`# Your patch layer for this qbot-dsh profile, applied after every bundle layer:
1
+ var ee=Object.defineProperty;var a=(e,t)=>ee(e,"name",{value:t,configurable:!0});import{createRequire as te}from"node:module";import{fileURLToPath as re,pathToFileURL as $}from"node:url";import{existsSync as v,mkdirSync as oe,readFileSync as S,writeFileSync as A}from"node:fs";import{parseEnv as ne}from"node:util";import{basename as P,dirname as N,extname as ie,isAbsolute as se,join as u,resolve as T}from"node:path";import*as g from"js-yaml";import{Context as ae,Service as ce}from"@deepseek-ai/cordis";import le,{EntryGroup as he,EntryTree as de,isJsExpr as fe}from"@deepseek-ai/cordis-plugin-loader";import{access as ue,constants as pe,readFile as ye,rename as we,writeFile as Ee}from"node:fs/promises";import{setTimeout as ge}from"node:timers/promises";import me from"@deepseek-ai/cordis-plugin-group";import{dshHomePath as ve,resolveDshHome as b}from"@qqbrowser/qbot-dsh-home-paths";import{createLaunchEnvironmentSnapshot as Se}from"@qqbrowser/qbot-dsh-launch-environment";const _e=new g.Type("tag:yaml.org,2002:js",{kind:"scalar",resolve:a(e=>typeof e=="string","resolve"),construct:a(e=>({__jsExpr:e}),"construct"),predicate:fe,represent:a(e=>e.__jsExpr,"represent")}),L=g.JSON_SCHEMA.extend(_e),k=L,D={".json":"application/json",".yaml":"application/yaml",".yml":"application/yaml"},Te=new Set(Object.keys(D)),Oe=10,$e=50;function Ae(e){const t=e?.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}a(Ae,"retryableWriteError");function I(e,t,r){if(e=structuredClone(e),!t?.length)return e;const o=new Map,s=a(n=>{for(const i of n)i.id&&o.set(i.id,i),i.group&&Array.isArray(i.config)&&s(i.config)},"buildMap");s(e);for(const n of t){const{id:i,insert:c,name:l,...h}=n;if(c){if(i){const d=o.get(i);if(!d){r("patch insert: entry %C not found",i);continue}if(!d.group){r("patch insert: entry %C is not a group",i);continue}Array.isArray(d.config)||(d.config=[]),d.config.push(...c)}else e.push(...c);s(c);continue}if(!i){r("patch: id is required for non-insert patches");continue}const f=o.get(i);if(!f){r("patch: entry %C not found",i);continue}if(l&&l!==f.name){r("patch: name mismatch for %C (expected %C, got %C), skipping",i,f.name,l);continue}for(const[d,y]of Object.entries(h))d!=="id"&&(f[d]=y)}return e}a(I,"applyEntryPatches");var R=class extends Error{static{a(this,"ConfigFileError")}stage;constructor(e,t,r){super(`failed to ${e} config file ${t}`,{cause:r}),this.stage=e,this.name="ConfigFileError"}},q=class extends de{static{a(this,"Include")}config;static inject=["loader"];static[he.key]=!0;filename;type;readonly;content;data;writeTask;pendingWrite;writeQueue=Promise.resolve();applyQueue=Promise.resolve();constructor(e,t){super(e),this.config=t,this.enableLogs=t.enableLogs??e.fiber.entry?.parent.tree.enableLogs??!1,this.filename=re(new URL(this.config.path,this.ctx.baseUrl));const r=ie(this.filename);if(!Te.has(r))throw new Error(`extension "${r}" not supported`);this.type=D[r],this.readonly=!this.type,this.ctx.baseUrl=new URL(".",$(this.filename)).href,e.on("internal/update",async(o,s,n)=>{if(o.path!==this.config.path)return n();await this.enqueue(async()=>{const i=this.applyPatches(this.data,o.patches);await this.root.update(i),this.config=o})})}enqueue(e){const t=this.applyQueue.then(e,e);return this.applyQueue=t.then(()=>{},()=>{}),t}async checkAccess(){if(this.type)try{await ue(this.filename,pe.W_OK)}catch{this.readonly=!0}}async read(e=!1){let t;try{t=await ye(this.filename,"utf8")}catch(o){throw new R("read",this.filename,o)}if(!e&&this.content===t)return;let r;try{if(this.type==="application/yaml")r=g.load(t,{schema:k});else if(this.type==="application/json")r=JSON.parse(t);else{const o=await import(this.filename);r=o.default||o}}catch(o){throw new R("parse",this.filename,o)}if(!Array.isArray(r))throw new R("validate",this.filename,new TypeError("config file must be a top-level array"));return{content:t,data:r}}applyPatches(e,t){return I(e,t,(r,...o)=>{this.ctx.root.logger?.("loader").warn(r,...o)})}async*[ce.init](){let e;try{e=await this.read(!0)}catch(t){if(!(t instanceof R)||t.stage!=="read"||t.cause?.code!=="ENOENT")throw t;if(this.config.initial)await this._writeFile(this.config.initial),e=await this.read(!0);else throw new Error(`config file not found: ${this.filename}`)}yield()=>this.stop(),await this.apply(e)}async stop(){await this.root.stop(),await this.flushWrite()}async refresh(){await this.enqueue(async()=>{const e=await this.read();e&&await this._apply(e)})}apply(e){return this.enqueue(()=>this._apply(e))}async _apply(e){const t=this.applyPatches(e.data,this.config.patches);await this.root.update(t),this.content=e.content,this.data=e.data,await this.checkAccess()}async _writeFile(e){if(this.readonly)throw new Error("cannot overwrite readonly config");this.type==="application/yaml"?this.content=g.dump(e,{schema:k}):this.type==="application/json"&&(this.content=JSON.stringify(e,null,2)),await Ee(this.filename+".tmp",this.content);for(let t=0;;t++)try{await we(this.filename+".tmp",this.filename);return}catch(r){if(!Ae(r)||t>=Oe)throw r;await ge((t+1)*$e)}}writeFile(e){clearTimeout(this.writeTask),this.pendingWrite=e,this.writeTask=setTimeout(()=>{this.flushWrite()},0)}flushWrite(){clearTimeout(this.writeTask),this.writeTask=void 0;const e=this.pendingWrite;if(this.pendingWrite=void 0,e===void 0)return this.writeQueue;const t=this.writeQueue.then(()=>this._writeFile(e),()=>this._writeFile(e));return this.writeQueue=t,t.catch(r=>{this.ctx.root.logger?.("loader").warn("failed to write config file %C",this.filename),this.ctx.root.logger?.("loader").warn(r)}),t}write(){return this.context.emit("loader/config-update"),this.writeFile(this.root.data)}};const H="profiles",C="cordis.patch.yml";function U(e,t=b()){if(e===""||e.includes("/")||e.includes("\\")||e==="."||e===".."||e==="node_modules")throw new Error(`qbot-dsh: invalid profile name ${JSON.stringify(e)}`);return u(t,H,e)}a(U,"resolveProfileDir");const j={web:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-web-app"],headless:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-headless"]},Pe={headless:["@qqbrowser/qbot-dsh-base","@qqbrowser/qbot-dsh-web-app","@qqbrowser/qbot-dsh-headless"]},Le=["@qqbrowser/qbot-dsh-base"],Re=`# Your patch layer for this qbot-dsh profile, applied after every bundle layer:
2
2
  # a top-level YAML array of loader patch entries (id-targeted config
3
3
  # overrides, disables, and insert lists; \`!!js\` expressions allowed).
4
4
  []
5
- `,Ce=`packages:
5
+ `,be=`packages:
6
6
  - .
7
7
 
8
8
  nodeLinker: hoisted
9
9
  autoInstallPeers: false
10
- `;function J(e,t){k(e,{recursive:!0});const r=u(e,"package.json");if(!S(r)){const n={name:`qbot-dsh-profile-${P(e)}`,private:!0,dependencies:{},"qbot-dsh":{profile:{bundles:[...t]}}};b(r,JSON.stringify(n,void 0,2)+`
11
- `)}const o=u(e,C);S(o)||b(o,je);const s=u(e,"pnpm-workspace.yaml");S(s)||b(s,Ce)}c(J,"initProfile");function Ne(e,t){let r;try{r=D(e)}catch{r=void 0}if(r!==void 0){if(!r.isSymbolicLink())throw new Error(`qbot-dsh: ${e} exists and is not a symlink; remove it so qbot-dsh can manage the installation fallback`);if(H(e)===t)return;ce(e)}try{ae(t,e,"junction")}catch(o){if(o.code!=="EEXIST"||!D(e).isSymbolicLink()||H(e)!==t)throw o}}c(Ne,"ensureSymlink");function Fe(e,t=L()){const r=u(u(t,j),"node_modules");k(r,{recursive:!0});const o=JSON.parse(E(e,"utf8")),s=new Map;o.name!==void 0&&s.set(o.name,A(e));const n=[{anchor:e,manifest:o}];for(let i=n.shift();i!==void 0;i=n.shift())for(const a of[...Object.keys(i.manifest.dependencies??{}),...Object.keys(i.manifest.peerDependencies??{})]){if(s.has(a))continue;const l=W(i.anchor,a);if(l===void 0)continue;s.set(a,l);const h=u(l,"package.json");n.push({anchor:h,manifest:JSON.parse(E(h,"utf8"))})}for(const[i,a]of s){const l=u(r,i);k(A(l),{recursive:!0}),Ne(l,a)}}c(Fe,"healProfilesModuleFallback");function Y(e,t){const r=u(t,"package.json");let o;try{o=E(r,"utf8")}catch(n){throw new Error(`${e}: failed to read profile manifest ${r}: ${String(n)}`)}const s=JSON.parse(o);if(s===null||typeof s!="object"||Array.isArray(s))throw new Error(`${e}: profile manifest ${r} must hold a JSON object`);return s}c(Y,"readProfileManifest");function G(e,t){b(u(e,"package.json"),JSON.stringify(t,void 0,2)+`
12
- `)}c(G,"writeProfileManifest");function De(e,t){return e.length===t.length&&e.every((r,o)=>r===t[o])}c(De,"sameBundles");function He(e,t,r){const o=ke[e],s=N[e],n=r["qbot-dsh"]?.profile?.bundles;if(o===void 0||s===void 0||n===void 0||!De(n,o))return r;const i={...r,"qbot-dsh":{...r["qbot-dsh"],profile:{...r["qbot-dsh"]?.profile,bundles:[...s]}}};return G(t,i),i}c(He,"normalizeShippedProfile");function W(e,t){for(const r of ie(e).resolve.paths(t)??[]){const o=u(r,t);if(S(u(o,"package.json")))return o}}c(W,"packageDirFromAnchor");function Q(e,t,r,o){for(const s of[r,u(o,"package.json")]){const n=W(s,t);if(n!==void 0)return n}throw new Error(`${e}: cannot resolve profile bundle ${JSON.stringify(t)} from the dsh installation or ${o}; run 'qbot-dsh plugin --profile ${P(o)} install' if its dependency is not installed`)}c(Q,"resolveBundleDir");function Ue(e,t,r,o=L(),s={}){const n=B(t,o);if(!S(u(n,"package.json"))){const l=N[t];if(l===void 0)throw new Error(`${e}: profile ${JSON.stringify(t)} does not exist; create it with 'qbot-dsh plugin --profile ${t} add <package>'`);J(n,l)}const i=(He(t,n,Y(e,n))["qbot-dsh"]?.profile?.bundles??[]).map(l=>{const h=Q(e,l,r,n),f=JSON.parse(E(u(h,"package.json"),"utf8"))["qbot-dsh"]?.bundle?.patch;if(f===void 0)throw new Error(`${e}: profile bundle ${JSON.stringify(l)} declares no qbot-dsh.bundle in its package.json`);const d=u(h,f);return{packageName:l,packageDir:h,patchPath:d,patches:F(e,d)}}),a=u(n,C);return{name:t,dir:n,layers:i,patchPath:a,patches:s.userLayer!==!1&&S(a)?F(e,a):[]}}c(Ue,"loadProfile");function xe(e,t=()=>{}){return q([],structuredClone(e.flat()),(r,...o)=>{let s=0;t(r.replace(/%C/g,()=>JSON.stringify(o[s++])))})}c(xe,"composeEntries");function Me(e,t,r=process.cwd()){const o=T(r,e);return t!=="replay"?o:T(A(o),P(o).replace(/cordis\.ya?ml$/,"cordis.snapshot.yml"))}c(Me,"resolveConfigPath");function Be(e,t=process.cwd(),r=o=>{process.stderr.write(o)}){try{process.loadEnvFile(T(t,".env"))}catch(o){o?.code!=="ENOENT"&&r(`${e}: failed to load .env: ${String(o)}
13
- `)}}c(Be,"loadEnv");const Je=new Set(["PATH","HOME","USERPROFILE","SHELL","NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","BASH_ENV","ENV","SHELLOPTS","BASHOPTS","PERL5OPT","PERL5LIB","PYTHONSTARTUP","PYTHONPATH","RUBYOPT","RUBYLIB","JAVA_TOOL_OPTIONS","_JAVA_OPTIONS","JDK_JAVA_OPTIONS","PYTHONHOME","GIT_SSH","GIT_SSH_COMMAND","GIT_EXTERNAL_DIFF","GIT_PAGER","GIT_EDITOR","GIT_ASKPASS","SSH_ASKPASS","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_COUNT","EDITOR","VISUAL","PAGER","DEEPSEEK_BASE_URL","DEEPSEEK_SEARCH_BASE_URL","SSL_CERT_FILE","SSL_CERT_DIR","HTTP_PROXY","HTTPS_PROXY","ALL_PROXY","NO_PROXY","REQUESTS_CA_BUNDLE","CURL_CA_BUNDLE","NODE_TLS_REJECT_UNAUTHORIZED"]),Ye=["QBOT_DSH_","XDG_","DYLD_","BASH_FUNC_"];function Ge(e){const t=e.toUpperCase();return Je.has(t)||Ye.some(r=>t.startsWith(r))}c(Ge,"isBootstrapOnly");function X(e,t,r){const o=T(t,".env");let s;try{s=E(o,"utf8")}catch(i){i?.code!=="ENOENT"&&r(`${e}: failed to load .env: ${String(i)}
14
- `);return}const n=le(s);for(const i of Object.keys(n))if(Ge(i))throw new Error(`${e}: ${o} sets "${i}", which only the launching environment may set (it decides how this process starts, where its code and instructions load from, or how it reaches the network); export ${i} instead of putting it in a .env file`);return{path:o,values:n}}c(X,"readEnvLayer");function We(e,t=process.cwd(),r=o=>{process.stderr.write(o)}){const o=L(),s={...process.env},n=X(e,t,r),i=o===T(t)?void 0:X(e,o,r);for(const a of[n,i])if(a!==void 0)for(const[l,h]of Object.entries(a.values))process.env[l]===void 0&&(process.env[l]=h);return be([{source:"process",values:s},...n===void 0?[]:[{source:"project-env",path:n.path,values:n.values}],...i===void 0?[]:[{source:"user-env",path:i.path,values:i.values}]])}c(We,"loadLayeredEnv");const V=new WeakMap,Qe=R;async function Xe(e,t){const{binName:r,filename:o,compose:s=c(l=>l,"compose")}=t,n=e.get("hmr");if(n===void 0)throw new Error(`${r}: user patch-layer watching requires the Cordis HMR service`);const i=V.get(e);if(i===void 0)throw new Error(`${r}: user patch-layer watching requires the root Include entry`);const a=n.registerConfig(o,async()=>{const{patches:l,...h}=i.options.config,f=s(K(r,o)??[]);await i.update({config:{...h,patches:f}})});try{return await a}catch(l){if(l?.code==="INACTIVE_EFFECT")return async()=>{};throw l}}c(Xe,"watchUserPatches");function K(e,t){let r;try{r=E(t,"utf8")}catch(o){if(o?.code==="ENOENT")return;throw new Error(`${e}: failed to read patches ${t}: ${String(o)}`)}return z(e,t,r,"patches")}c(K,"loadOptionalPatches");function F(e,t){let r;try{r=E(t,"utf8")}catch(o){throw new Error(`${e}: failed to read overlay ${t}: ${String(o)}`)}return z(e,t,r,"overlay")}c(F,"loadOverlayPatches");function z(e,t,r,o){let s;try{s=m.load(r,{schema:Qe})}catch(n){throw new Error(`${e}: failed to parse ${o} ${t}: ${String(n)}`)}if(!Array.isArray(s))throw new Error(`${e}: ${o} ${t} must be a top-level YAML array of loader patch entries`);return s.forEach((n,i)=>{if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`${e}: ${o} entry ${i+1} in ${t} must be a mapping (a loader patch entry)`)}),s}c(z,"parsePatchList");function Ve(e,t,r,o=s=>{process.stderr.write(`${s}
15
- `)}){let s;try{s=E(t,"utf8")}catch(w){throw new Error(`${e}: failed to read config ${t}: ${String(w)}`)}let n;try{n=m.load(s,{schema:R})}catch(w){throw new Error(`${e}: failed to parse config ${t}: ${String(w)}`)}if(!Array.isArray(n))throw new Error(`${e}: config ${t} must be a top-level YAML array of entries`);const i=P(t),a=n,l=c((w,v)=>q(a,structuredClone(r.slice(0,w).flatMap(g=>g.patches)),(g,...O)=>{let p=0;v.push(g.replace(/%C/g,()=>JSON.stringify(O[p++])))}),"snapshot");let h=a,f=[];const d=a.map(()=>({origin:i,patchedBy:[]}));let y=a;for(let w=1;w<=r.length;w+=1){const v=r[w-1];if(v===void 0)continue;const g=[];y=l(w,g);for(const p of g.slice(f.length))o(`${e}: [${v.label}] ${p}`);const O=h.map(p=>JSON.stringify(p));for(let p=0;p<y.length;p+=1)p>=O.length?d.push({origin:v.label,patchedBy:[]}):JSON.stringify(y[p])!==O[p]&&d[p]?.patchedBy.push(v.label);h=y,f=g}return Ke(y,d)}c(Ve,"renderConfigDump");function Ke(e,t){const r=[];let o,s=[];const n=c(()=>{o===void 0||s.length===0||(r.push(`# == ${o}`),r.push(m.dump(s,{schema:R,noRefs:!0}).trimEnd()),s=[])},"flush");for(let i=0;i<e.length;i+=1){const a=t[i];if(a===void 0)continue;const l=a.patchedBy.length===0?a.origin:`${a.origin}, patched by ${a.patchedBy.join(", ")}`;l!==o&&(n(),o=l),s.push(e[i])}return n(),r.join(`
10
+ `;function x(e,t){oe(e,{recursive:!0});const r=u(e,"package.json");if(!v(r)){const n={name:`qbot-dsh-profile-${P(e)}`,private:!0,dependencies:{},dsh:{profile:{bundles:[...t]}}};A(r,JSON.stringify(n,void 0,2)+`
11
+ `)}const o=u(e,C);v(o)||A(o,Re);const s=u(e,"pnpm-workspace.yaml");v(s)||A(s,be)}a(x,"initProfile");function B(e,t){const r=u(t,"package.json");let o;try{o=S(r,"utf8")}catch(n){throw new Error(`${e}: failed to read profile manifest ${r}: ${String(n)}`)}const s=JSON.parse(o);if(s===null||typeof s!="object"||Array.isArray(s))throw new Error(`${e}: profile manifest ${r} must hold a JSON object`);return s}a(B,"readProfileManifest");function M(e,t){A(u(e,"package.json"),JSON.stringify(t,void 0,2)+`
12
+ `)}a(M,"writeProfileManifest");function Ie(e,t){return e.length===t.length&&e.every((r,o)=>r===t[o])}a(Ie,"sameBundles");function Ce(e,t,r){const o=Pe[e],s=j[e],n=r.dsh?.profile?.bundles;if(o===void 0||s===void 0||n===void 0||!Ie(n,o))return r;const i={...r,dsh:{...r.dsh,profile:{...r.dsh?.profile,bundles:[...s]}}};return M(t,i),i}a(Ce,"normalizeShippedProfile");function je(e,t){for(const r of te(e).resolve.paths(t)??[]){const o=u(r,t);if(v(u(o,"package.json")))return o}}a(je,"packageDirFromAnchor");function J(e,t,r,o){for(const s of[r,u(o,"package.json")]){const n=je(s,t);if(n!==void 0)return n}throw new Error(`${e}: cannot resolve profile bundle ${JSON.stringify(t)} from the dsh installation or ${o}; run 'qbot-dsh plugin --profile ${P(o)} install' if its dependency is not installed`)}a(J,"resolveBundleDir");function Fe(e,t,r,o=b(),s={}){const n=U(t,o);if(!v(u(n,"package.json"))){const l=j[t];if(l===void 0)throw new Error(`${e}: profile ${JSON.stringify(t)} does not exist; create it with 'qbot-dsh plugin --profile ${t} add <package>'`);x(n,l)}const i=(Ce(t,n,B(e,n)).dsh?.profile?.bundles??[]).map(l=>{const h=J(e,l,r,n),f=JSON.parse(S(u(h,"package.json"),"utf8")).dsh?.bundle?.patch;if(f===void 0)throw new Error(`${e}: profile bundle ${JSON.stringify(l)} declares no dsh.bundle in its package.json`);const d=u(h,f);return{packageName:l,packageDir:h,patchPath:d,patches:F(e,d)}}),c=u(n,C);return{name:t,dir:n,layers:i,patchPath:c,patches:s.userLayer!==!1&&v(c)?F(e,c):[]}}a(Fe,"loadProfile");function Ne(e,t=()=>{}){return I([],structuredClone(e.flat()),(r,...o)=>{let s=0;t(r.replace(/%C/g,()=>JSON.stringify(o[s++])))})}a(Ne,"composeEntries");function ke(e,t,r=process.cwd()){const o=T(r,e);return t!=="replay"?o:T(N(o),P(o).replace(/cordis\.ya?ml$/,"cordis.snapshot.yml"))}a(ke,"resolveConfigPath");function De(e,t=process.cwd(),r=o=>{process.stderr.write(o)}){try{process.loadEnvFile(T(t,".env"))}catch(o){o?.code!=="ENOENT"&&r(`${e}: failed to load .env: ${String(o)}
13
+ `)}}a(De,"loadEnv");const qe=new Set(["PATH","HOME","USERPROFILE","SHELL","NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","BASH_ENV","ENV","SHELLOPTS","BASHOPTS","PERL5OPT","PERL5LIB","PYTHONSTARTUP","PYTHONPATH","RUBYOPT","RUBYLIB","JAVA_TOOL_OPTIONS","_JAVA_OPTIONS","JDK_JAVA_OPTIONS","PYTHONHOME","GIT_SSH","GIT_SSH_COMMAND","GIT_EXTERNAL_DIFF","GIT_PAGER","GIT_EDITOR","GIT_ASKPASS","SSH_ASKPASS","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_COUNT","EDITOR","VISUAL","PAGER","DEEPSEEK_BASE_URL","DEEPSEEK_SEARCH_BASE_URL","SSL_CERT_FILE","SSL_CERT_DIR","HTTP_PROXY","HTTPS_PROXY","ALL_PROXY","NO_PROXY","REQUESTS_CA_BUNDLE","CURL_CA_BUNDLE","NODE_TLS_REJECT_UNAUTHORIZED"]),He=["DSH_","XDG_","DYLD_","BASH_FUNC_"];function Ue(e){const t=e.toUpperCase();return qe.has(t)||He.some(r=>t.startsWith(r))}a(Ue,"isBootstrapOnly");function Y(e,t,r){const o=T(t,".env");let s;try{s=S(o,"utf8")}catch(i){i?.code!=="ENOENT"&&r(`${e}: failed to load .env: ${String(i)}
14
+ `);return}const n=ne(s);for(const i of Object.keys(n))if(Ue(i))throw new Error(`${e}: ${o} sets "${i}", which only the launching environment may set (it decides how this process starts, where its code and instructions load from, or how it reaches the network); export ${i} instead of putting it in a .env file`);return{path:o,values:n}}a(Y,"readEnvLayer");function xe(e,t=process.cwd(),r=o=>{process.stderr.write(o)}){const o=b(),s={...process.env},n=Y(e,t,r),i=o===T(t)?void 0:Y(e,o,r);for(const c of[n,i])if(c!==void 0)for(const[l,h]of Object.entries(c.values))process.env[l]===void 0&&(process.env[l]=h);return Se([{source:"process",values:s},...n===void 0?[]:[{source:"project-env",path:n.path,values:n.values}],...i===void 0?[]:[{source:"user-env",path:i.path,values:i.values}]])}a(xe,"loadLayeredEnv");const G=new WeakMap,Be=L;async function Me(e,t){const{binName:r,filename:o,compose:s=a(l=>l,"compose")}=t,n=e.get("hmr");if(n===void 0)throw new Error(`${r}: user patch-layer watching requires the Cordis HMR service`);const i=G.get(e);if(i===void 0)throw new Error(`${r}: user patch-layer watching requires the root Include entry`);const c=n.registerConfig(o,async()=>{const{patches:l,...h}=i.options.config,f=s(W(r,o)??[]);await i.update({config:{...h,patches:f}})});try{return await c}catch(l){if(l?.code==="INACTIVE_EFFECT")return async()=>{};throw l}}a(Me,"watchUserPatches");function W(e,t){let r;try{r=S(t,"utf8")}catch(o){if(o?.code==="ENOENT")return;throw new Error(`${e}: failed to read patches ${t}: ${String(o)}`)}return Q(e,t,r,"patches")}a(W,"loadOptionalPatches");function F(e,t){let r;try{r=S(t,"utf8")}catch(o){throw new Error(`${e}: failed to read overlay ${t}: ${String(o)}`)}return Q(e,t,r,"overlay")}a(F,"loadOverlayPatches");function Q(e,t,r,o){let s;try{s=g.load(r,{schema:Be})}catch(n){throw new Error(`${e}: failed to parse ${o} ${t}: ${String(n)}`)}if(!Array.isArray(s))throw new Error(`${e}: ${o} ${t} must be a top-level YAML array of loader patch entries`);return s.forEach((n,i)=>{if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`${e}: ${o} entry ${i+1} in ${t} must be a mapping (a loader patch entry)`)}),s}a(Q,"parsePatchList");function Je(e,t,r,o=s=>{process.stderr.write(`${s}
15
+ `)}){let s;try{s=S(t,"utf8")}catch(w){throw new Error(`${e}: failed to read config ${t}: ${String(w)}`)}let n;try{n=g.load(s,{schema:L})}catch(w){throw new Error(`${e}: failed to parse config ${t}: ${String(w)}`)}if(!Array.isArray(n))throw new Error(`${e}: config ${t} must be a top-level YAML array of entries`);const i=P(t),c=n,l=a((w,m)=>I(c,structuredClone(r.slice(0,w).flatMap(E=>E.patches)),(E,...O)=>{let p=0;m.push(E.replace(/%C/g,()=>JSON.stringify(O[p++])))}),"snapshot");let h=c,f=[];const d=c.map(()=>({origin:i,patchedBy:[]}));let y=c;for(let w=1;w<=r.length;w+=1){const m=r[w-1];if(m===void 0)continue;const E=[];y=l(w,E);for(const p of E.slice(f.length))o(`${e}: [${m.label}] ${p}`);const O=h.map(p=>JSON.stringify(p));for(let p=0;p<y.length;p+=1)p>=O.length?d.push({origin:m.label,patchedBy:[]}):JSON.stringify(y[p])!==O[p]&&d[p]?.patchedBy.push(m.label);h=y,f=E}return Ye(y,d)}a(Je,"renderConfigDump");function Ye(e,t){const r=[];let o,s=[];const n=a(()=>{o===void 0||s.length===0||(r.push(`# == ${o}`),r.push(g.dump(s,{schema:L,noRefs:!0}).trimEnd()),s=[])},"flush");for(let i=0;i<e.length;i+=1){const c=t[i];if(c===void 0)continue;const l=c.patchedBy.length===0?c.origin:`${c.origin}, patched by ${c.patchedBy.join(", ")}`;l!==o&&(n(),o=l),s.push(e[i])}return n(),r.join(`
16
16
  `)+`
17
- `}c(Ke,"groupedDump");async function Z(e,t,r=[],o){e.loader.builtins.include=o===void 0?M:class extends M{static{c(this,"HostResolvedRootInclude")}import(h,f){const d=de(h)?$(h).href:h;if(h.startsWith(".")||h.startsWith("cordis:"))return super.import(d,f);const y=this.ctx.loader.internal;return y===void 0?super.import(d,f):y.import(d,o,{})}},e.loader.builtins.group=Oe;const s={id:"include",name:"cordis:include",config:{path:$(t).href,...r.length>0?{patches:[...r]}:{}}},n=await e.loader.create(s),i=e.get("loader");if(i===void 0)return;const a=i.resolve(n);return V.set(e,a),a}c(Z,"mountRootInclude");const _=new Map;function ze(e){_.set(e,(_.get(e)??0)+1)}c(ze,"retainAssembledRejection");function Ze(e){const t=_.get(e);t===void 0||t===1?_.delete(e):_.set(e,t-1)}c(Ze,"releaseAssembledRejection");async function et(e){for(const t of e)ze(t);try{await new Promise(t=>setImmediate(t))}finally{for(const t of e)Ze(t)}}c(et,"observeLoaderRejectionCheckpoint");const ee=2e3;function tt(e,t=process,r){let o=!1;const s=c(i=>{if(!_.has(i)&&!o){if(o=!0,t.stderr.write(`${e}: fatal load failure: ${i instanceof Error?i.stack??i.message:String(i)}
18
- `),r===void 0){t.exit(1);return}(async()=>{let a;try{await Promise.race([(async()=>r())(),new Promise(l=>{a=setTimeout(l,ee)})])}catch{}clearTimeout(a),t.exit(1)})()}},"handler"),n=c(()=>{t.off("unhandledRejection",s)},"uninstall");return t.on("unhandledRejection",s),n}c(tt,"installFailLoud");function te(e,t){const r=[...e.loader.entries()].filter(o=>o.fiber===void 0&&!o.disabled);if(r.length>0){const o=r.map(s=>s.options.name).join(", ");throw new Error(`${t}: plugin(s) failed to load: ${o}; Cordis startup failed because these plugin(s) could not be resolved (see the error(s) logged above)`)}}c(te,"assertEntriesLoaded");const rt=0,ot=2,nt=3;function it(e){return e instanceof Error?e.stack??e.message:String(e)}c(it,"formatActivationError");async function re(e,t){te(e,t);const r=[],o=[];for(const s of e.loader.entries()){const n=s.fiber;if(n===void 0||s.disabled)continue;const i=n.state;if(i!==ot){if(i===nt){try{await n.await()}catch(a){o.push(a),r.push(`${s.options.name}: ${it(a)}`)}continue}if(i===rt){const a=Object.keys(n.inject).filter(h=>n.ctx.get(h)===void 0),l=a.length===1?"service":"services";r.push(`${s.options.name}: pending (waiting for ${l}: ${a.join(", ")||"unknown"})`)}else r.push(`${s.options.name}: fiber state ${String(i)}`)}}if(r.length>0){o.length>0&&await et(o);const s=r.length===1?"entry":"entries";throw new Error(`${t}: ${String(r.length)} ${s} did not activate
17
+ `}a(Ye,"groupedDump");async function V(e,t,r=[],o){e.loader.builtins.include=o===void 0?q:class extends q{static{a(this,"HostResolvedRootInclude")}import(h,f){const d=se(h)?$(h).href:h;if(h.startsWith(".")||h.startsWith("cordis:"))return super.import(d,f);const y=this.ctx.loader.internal;return y===void 0?super.import(d,f):y.import(d,o,{})}},e.loader.builtins.group=me;const s={id:"include",name:"cordis:include",config:{path:$(t).href,...r.length>0?{patches:[...r]}:{}}},n=await e.loader.create(s),i=e.get("loader");if(i===void 0)return;const c=i.resolve(n);return G.set(e,c),c}a(V,"mountRootInclude");const _=new Map;function Ge(e){_.set(e,(_.get(e)??0)+1)}a(Ge,"retainAssembledRejection");function We(e){const t=_.get(e);t===void 0||t===1?_.delete(e):_.set(e,t-1)}a(We,"releaseAssembledRejection");async function Qe(e){for(const t of e)Ge(t);try{await new Promise(t=>setImmediate(t))}finally{for(const t of e)We(t)}}a(Qe,"observeLoaderRejectionCheckpoint");const X=2e3;function Ve(e,t=process,r){let o=!1;const s=a(i=>{if(!_.has(i)&&!o){if(o=!0,t.stderr.write(`${e}: fatal load failure: ${i instanceof Error?i.stack??i.message:String(i)}
18
+ `),r===void 0){t.exit(1);return}(async()=>{let c;try{await Promise.race([(async()=>r())(),new Promise(l=>{c=setTimeout(l,X)})])}catch{}clearTimeout(c),t.exit(1)})()}},"handler"),n=a(()=>{t.off("unhandledRejection",s)},"uninstall");return t.on("unhandledRejection",s),n}a(Ve,"installFailLoud");function K(e,t){const r=[...e.loader.entries()].filter(o=>o.fiber===void 0&&!o.disabled);if(r.length>0){const o=r.map(s=>s.options.name).join(", ");throw new Error(`${t}: plugin(s) failed to load: ${o}; Cordis startup failed because these plugin(s) could not be resolved (see the error(s) logged above)`)}}a(K,"assertEntriesLoaded");const Xe=0,Ke=2,ze=3;function Ze(e){return e instanceof Error?e.stack??e.message:String(e)}a(Ze,"formatActivationError");async function z(e,t){K(e,t);const r=[],o=[];for(const s of e.loader.entries()){const n=s.fiber;if(n===void 0||s.disabled)continue;const i=n.state;if(i!==Ke){if(i===ze){try{await n.await()}catch(c){o.push(c),r.push(`${s.options.name}: ${Ze(c)}`)}continue}if(i===Xe){const c=Object.keys(n.inject).filter(h=>n.ctx.get(h)===void 0),l=c.length===1?"service":"services";r.push(`${s.options.name}: pending (waiting for ${l}: ${c.join(", ")||"unknown"})`)}else r.push(`${s.options.name}: fiber state ${String(i)}`)}}if(r.length>0){o.length>0&&await Qe(o);const s=r.length===1?"entry":"entries";throw new Error(`${t}: ${String(r.length)} ${s} did not activate
19
19
  ${r.join(`
20
- `)}`)}}c(re,"assertEntriesActivated");async function st(e,t,r,o,s){const n=new fe;let i="host preparation failed";try{return n.baseUrl=$(A(t)).href+"/",n.provide("dshHomePath",$e),await n.plugin(pe),await o?.(n),i="plugin tree failed to load",await Z(n,t,r,s),await n.get("loader")?.await(),n.get("loader")===void 0||await re(n,e),n}catch(a){await n.fiber.dispose();const l=a instanceof Error?a.message:String(a);let h=a;for(;h instanceof Error&&h.cause!==void 0;)h=h.cause;const f=h instanceof Error&&h!==a?`
21
- ${h.stack??h.message}`:"";throw new Error(`${e}: ${i}: ${l}${f}`,{cause:a})}}c(st,"boot");const oe="harness:source";function at(e,t){const r=e.get("systemPrompt");if(r!==void 0)return r.section({name:oe,order:-99,text:`The DeepSeek Harness implementation checkout is at ${t}. The checkout location and current working directory are separate values and may differ; never infer the working directory from this path. Use pwd to determine the current working directory. Use this checkout only to inspect or extend DSH itself.`})}c(at,"addHarnessSourceSection");export{qe as DEFAULT_PROFILE_BUNDLES,ee as FAIL_LOUD_RELEASE_TIMEOUT_MS,oe as HARNESS_SOURCE_SECTION,j as PROFILES_DIR,C as PROFILE_PATCH_FILENAME,N as PROFILE_TEMPLATES,at as addHarnessSourceSection,re as assertEntriesActivated,te as assertEntriesLoaded,st as boot,xe as composeEntries,Fe as healProfilesModuleFallback,J as initProfile,tt as installFailLoud,Be as loadEnv,We as loadLayeredEnv,K as loadOptionalPatches,F as loadOverlayPatches,Ue as loadProfile,Z as mountRootInclude,Y as readProfileManifest,Ve as renderConfigDump,Q as resolveBundleDir,Me as resolveConfigPath,B as resolveProfileDir,Xe as watchUserPatches,G as writeProfileManifest};
20
+ `)}`)}}a(z,"assertEntriesActivated");async function et(e,t,r,o,s){const n=new ae;let i="host preparation failed";try{return n.baseUrl=$(N(t)).href+"/",n.provide("dshHomePath",ve),await n.plugin(le),await o?.(n),i="plugin tree failed to load",await V(n,t,r,s),await n.get("loader")?.await(),n.get("loader")===void 0||await z(n,e),n}catch(c){await n.fiber.dispose();const l=c instanceof Error?c.message:String(c);let h=c;for(;h instanceof Error&&h.cause!==void 0;)h=h.cause;const f=h instanceof Error&&h!==c?`
21
+ ${h.stack??h.message}`:"";throw new Error(`${e}: ${i}: ${l}${f}`,{cause:c})}}a(et,"boot");const Z="harness:source";function tt(e,t){const r=e.get("systemPrompt");if(r!==void 0)return r.section({name:Z,order:-99,text:`The DeepSeek Harness implementation checkout is at ${t}. The checkout location and current working directory are separate values and may differ; never infer the working directory from this path. Use pwd to determine the current working directory. Use this checkout only to inspect or extend DSH itself.`})}a(tt,"addHarnessSourceSection");export{Le as DEFAULT_PROFILE_BUNDLES,X as FAIL_LOUD_RELEASE_TIMEOUT_MS,Z as HARNESS_SOURCE_SECTION,H as PROFILES_DIR,C as PROFILE_PATCH_FILENAME,j as PROFILE_TEMPLATES,tt as addHarnessSourceSection,z as assertEntriesActivated,K as assertEntriesLoaded,et as boot,Ne as composeEntries,x as initProfile,Ve as installFailLoud,De as loadEnv,xe as loadLayeredEnv,W as loadOptionalPatches,F as loadOverlayPatches,Fe as loadProfile,V as mountRootInclude,B as readProfileManifest,Je as renderConfigDump,J as resolveBundleDir,ke as resolveConfigPath,U as resolveProfileDir,Me as watchUserPatches,M as writeProfileManifest};
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-app-boot","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":{"js-yaml":"^4.2.0"},"peerDependencies":{"@deepseek-ai/cordis-plugin-group":"^1.0.1","@deepseek-ai/cordis-plugin-hmr":"^1.0.16","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@qqbrowser/qbot-dsh-launch-environment":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-system-prompt":"^0.0.5","@qqbrowser/qbot-dsh-home-paths":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis-plugin-hmr":{"optional":true}}}
1
+ {"name":"@qqbrowser/qbot-dsh-app-boot","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":{"js-yaml":"^4.2.0"},"peerDependencies":{"@deepseek-ai/cordis-plugin-group":"^1.0.1","@deepseek-ai/cordis-plugin-hmr":"^1.0.16","@deepseek-ai/cordis-plugin-include":"^1.0.6","@qqbrowser/qbot-dsh-launch-environment":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis-plugin-hmr":{"optional":true}}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-atomic-write","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-atomic-write","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-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","peerDependencies":{"@qqbrowser/qbot-dsh-brand":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-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","peerDependencies":{"@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-attachment-local","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-home-paths":"^0.0.5","@qqbrowser/qbot-dsh-attachment":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"sharp":"^0.35.3","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-attachment-local","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","peerDependencies":{"@qqbrowser/qbot-dsh-attachment":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"sharp":"^0.35.3","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -87,10 +87,10 @@
87
87
  - id: session-telemetry-otel
88
88
  name: '@qqbrowser/qbot-dsh-session-telemetry-otel'
89
89
  config:
90
- mode: !!js process.env.QBOT_DSH_TELEMETRY_MODE || 'DISABLED'
90
+ mode: !!js process.env.DSH_TELEMETRY_MODE || 'DISABLED'
91
91
  shutdownTimeoutMillis: 3000
92
92
  exporter:
93
- url: !!js process.env.QBOT_DSH_TELEMETRY_OTLP_URL ?? 'https://harness-telemetry.deepseeksvc.com/v1/logs'
93
+ url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://harness-telemetry.deepseeksvc.com/v1/logs'
94
94
  compression: gzip
95
95
  timeoutMillis: 1000
96
96
  processor:
@@ -105,7 +105,7 @@
105
105
  - id: sandbox-policy
106
106
  name: '@qqbrowser/qbot-dsh-sandbox-policy'
107
107
  config:
108
- mode: !!js process.env.QBOT_DSH_PERMISSION_MODE ?? 'workspace-write'
108
+ mode: !!js process.env.DSH_PERMISSION_MODE ?? 'workspace-write'
109
109
  workspaceRoot: !!js process.cwd()
110
110
  - id: bash-sandbox
111
111
  name: '@qqbrowser/qbot-dsh-bash-sandbox'
@@ -118,7 +118,7 @@
118
118
  - id: approval
119
119
  name: '@qqbrowser/qbot-dsh-user-approval'
120
120
  config:
121
- policy: !!js "(process.env.QBOT_DSH_PERMISSION_MODE ?? 'workspace-write') === 'danger-full-access' ? 'never' : 'ask'"
121
+ policy: !!js "(process.env.DSH_PERMISSION_MODE ?? 'workspace-write') === 'danger-full-access' ? 'never' : 'ask'"
122
122
  - id: permission
123
123
  name: '@qqbrowser/qbot-dsh-permission-presets'
124
124
  config:
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-base","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"},"./cordis.patch.yml":"./cordis.patch.yml","./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","qbot-dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.5","@qqbrowser/qbot-dsh-agent-loop":"^0.0.5","@deepseek-ai/cordis-plugin-hmr":"^1.0.16","@deepseek-ai/cordis-plugin-timer":"^1.1.3","@qqbrowser/qbot-dsh-agent-default-model":"^0.0.5","@qqbrowser/qbot-dsh-shell-env":"^0.0.5","@qqbrowser/qbot-dsh-attachment-local":"^0.0.5","@qqbrowser/qbot-dsh-bash-sandbox":"^0.0.5","@qqbrowser/qbot-dsh-command-feedback":"^0.0.5","@qqbrowser/qbot-dsh-command-goal":"^0.0.5","@qqbrowser/qbot-dsh-credentials-local":"^0.0.5","@qqbrowser/qbot-dsh-commands":"^0.0.5","@qqbrowser/qbot-dsh-compaction-basic":"^0.0.5","@qqbrowser/qbot-dsh-fs-sandbox":"^0.0.5","@qqbrowser/qbot-dsh-goal":"^0.0.5","@qqbrowser/qbot-dsh-compaction-tool-result-pruner":"^0.0.5","@qqbrowser/qbot-dsh-fs-local":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-fs-observation-policy":"^0.0.5","@qqbrowser/qbot-dsh-goal-round-driver":"^0.0.5","@qqbrowser/qbot-dsh-command-compact":"^0.0.5","@qqbrowser/qbot-dsh-llm-deepseek":"^0.0.5","@qqbrowser/qbot-dsh-llm-pi-ai":"^0.0.5","@qqbrowser/qbot-dsh-llm-retry":"^0.0.5","@qqbrowser/qbot-dsh-permission-presets":"^0.0.5","@qqbrowser/qbot-dsh-plan-mode":"^0.0.5","@qqbrowser/qbot-dsh-pwsh-sandbox":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-repeat-tool-reminder":"^0.0.5","@qqbrowser/qbot-dsh-sandbox-local":"^0.0.5","@qqbrowser/qbot-dsh-session-projection":"^0.0.5","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.5","@qqbrowser/qbot-dsh-session-checkpoint-policy":"^0.0.5","@qqbrowser/qbot-dsh-session-persistence-jsonl":"^0.0.5","@qqbrowser/qbot-dsh-session-query-sqlite":"^0.0.5","@qqbrowser/qbot-dsh-session-telemetry-otel":"^0.0.5","@qqbrowser/qbot-dsh-session-title":"^0.0.5","@qqbrowser/qbot-dsh-session-title-first-prompt-llm":"^0.0.5","@qqbrowser/qbot-dsh-settings-file":"^0.0.5","@qqbrowser/qbot-dsh-spill-local":"^0.0.5","@qqbrowser/qbot-dsh-spill-policy":"^0.0.5","@qqbrowser/qbot-dsh-subagent":"^0.0.5","@qqbrowser/qbot-dsh-skill":"^0.0.5","@qqbrowser/qbot-dsh-subagent-spawn-in-process":"^0.0.5","@qqbrowser/qbot-dsh-skill-badge":"^0.0.5","@qqbrowser/qbot-dsh-system-prompt":"^0.0.5","@qqbrowser/qbot-dsh-skill-filesystem":"^0.0.5","@qqbrowser/qbot-dsh-subagent-fork-in-process":"^0.0.5","@qqbrowser/qbot-dsh-subprocess-local":"^0.0.5","@qqbrowser/qbot-dsh-jobs-local":"^0.0.5","@qqbrowser/qbot-dsh-tool-call-timeout-policy":"^0.0.5","@qqbrowser/qbot-dsh-token-meter":"^0.0.5","@qqbrowser/qbot-dsh-tool-bash":"^0.0.5","@qqbrowser/qbot-dsh-tool-pwsh":"^0.0.5","@qqbrowser/qbot-dsh-tool-ralph":"^0.0.5","@qqbrowser/qbot-dsh-tool-skill":"^0.0.5","@qqbrowser/qbot-dsh-tool-str-replace-editor":"^0.0.5","@qqbrowser/qbot-dsh-tool-fs":"^0.0.5","@qqbrowser/qbot-dsh-tool-subagent-control":"^0.0.5","@qqbrowser/qbot-dsh-tool-subagent-report":"^0.0.5","@qqbrowser/qbot-dsh-tool-fs-search":"^0.0.5","@qqbrowser/qbot-dsh-tool-todo":"^0.0.5","@qqbrowser/qbot-dsh-tool-web":"^0.0.5","@qqbrowser/qbot-dsh-tool-workflow":"^0.0.5","@qqbrowser/qbot-dsh-tools":"^0.0.5","@qqbrowser/qbot-dsh-typert-loader":"^0.0.5","@qqbrowser/qbot-dsh-typert-registry":"^0.0.5","@qqbrowser/qbot-dsh-user-approval":"^0.0.5","@qqbrowser/qbot-dsh-user-questions":"^0.0.5","@qqbrowser/qbot-dsh-web":"^0.0.5","@qqbrowser/qbot-dsh-web-search-deepseek":"^0.0.5","@qqbrowser/qbot-dsh-workflow-worker-thread":"^0.0.5","@qqbrowser/qbot-dsh-tool-goal":"^0.0.5","@qqbrowser/qbot-dsh-api-gateway":"^0.0.5","@qqbrowser/qbot-dsh-tool-subagent":"^0.0.5","@qqbrowser/qbot-dsh-tool-jobs":"^0.0.5","@qqbrowser/qbot-dsh-agent-instructions":"^0.0.5"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-base","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"},"./cordis.patch.yml":"./cordis.patch.yml","./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dependencies":{"@deepseek-ai/cordis-plugin-timer":"^1.1.3","@qqbrowser/qbot-dsh-agent-default-model":"^0.0.6","@qqbrowser/qbot-dsh-agent-loop":"^0.0.6","@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-attachment-local":"^0.0.6","@deepseek-ai/cordis-plugin-hmr":"^1.0.16","@qqbrowser/qbot-dsh-shell-env":"^0.0.6","@qqbrowser/qbot-dsh-bash-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-command-compact":"^0.0.6","@qqbrowser/qbot-dsh-command-feedback":"^0.0.6","@qqbrowser/qbot-dsh-command-goal":"^0.0.6","@qqbrowser/qbot-dsh-compaction-basic":"^0.0.6","@qqbrowser/qbot-dsh-compaction-tool-result-pruner":"^0.0.6","@qqbrowser/qbot-dsh-credentials-local":"^0.0.6","@qqbrowser/qbot-dsh-fs-local":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-fs-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-goal-round-driver":"^0.0.6","@qqbrowser/qbot-dsh-llm-deepseek":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-fs-observation-policy":"^0.0.6","@qqbrowser/qbot-dsh-api-gateway":"^0.0.6","@qqbrowser/qbot-dsh-goal":"^0.0.6","@qqbrowser/qbot-dsh-llm-pi-ai":"^0.0.6","@qqbrowser/qbot-dsh-llm-retry":"^0.0.6","@qqbrowser/qbot-dsh-plan-mode":"^0.0.6","@qqbrowser/qbot-dsh-permission-presets":"^0.0.6","@qqbrowser/qbot-dsh-repeat-tool-reminder":"^0.0.6","@qqbrowser/qbot-dsh-pwsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-sandbox-local":"^0.0.6","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.6","@qqbrowser/qbot-dsh-session-checkpoint-policy":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence-jsonl":"^0.0.6","@qqbrowser/qbot-dsh-session-projection":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-session-query-sqlite":"^0.0.6","@qqbrowser/qbot-dsh-session-telemetry-otel":"^0.0.6","@qqbrowser/qbot-dsh-session-title-first-prompt-llm":"^0.0.6","@qqbrowser/qbot-dsh-session-title":"^0.0.6","@qqbrowser/qbot-dsh-settings-file":"^0.0.6","@qqbrowser/qbot-dsh-skill-badge":"^0.0.6","@qqbrowser/qbot-dsh-skill-filesystem":"^0.0.6","@qqbrowser/qbot-dsh-skill":"^0.0.6","@qqbrowser/qbot-dsh-spill-policy":"^0.0.6","@qqbrowser/qbot-dsh-subagent-fork-in-process":"^0.0.6","@qqbrowser/qbot-dsh-spill-local":"^0.0.6","@qqbrowser/qbot-dsh-subagent-spawn-in-process":"^0.0.6","@qqbrowser/qbot-dsh-subagent":"^0.0.6","@qqbrowser/qbot-dsh-subprocess-local":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@qqbrowser/qbot-dsh-jobs-local":"^0.0.6","@qqbrowser/qbot-dsh-tool-call-timeout-policy":"^0.0.6","@qqbrowser/qbot-dsh-token-meter":"^0.0.6","@qqbrowser/qbot-dsh-tool-fs":"^0.0.6","@qqbrowser/qbot-dsh-tool-goal":"^0.0.6","@qqbrowser/qbot-dsh-tool-fs-search":"^0.0.6","@qqbrowser/qbot-dsh-tool-bash":"^0.0.6","@qqbrowser/qbot-dsh-tool-pwsh":"^0.0.6","@qqbrowser/qbot-dsh-tool-skill":"^0.0.6","@qqbrowser/qbot-dsh-tool-ralph":"^0.0.6","@qqbrowser/qbot-dsh-tool-str-replace-editor":"^0.0.6","@qqbrowser/qbot-dsh-tool-subagent":"^0.0.6","@qqbrowser/qbot-dsh-tool-subagent-control":"^0.0.6","@qqbrowser/qbot-dsh-tool-jobs":"^0.0.6","@qqbrowser/qbot-dsh-tool-todo":"^0.0.6","@qqbrowser/qbot-dsh-tool-subagent-report":"^0.0.6","@qqbrowser/qbot-dsh-tool-web":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@qqbrowser/qbot-dsh-typert-loader":"^0.0.6","@qqbrowser/qbot-dsh-typert-registry":"^0.0.6","@qqbrowser/qbot-dsh-user-approval":"^0.0.6","@qqbrowser/qbot-dsh-user-questions":"^0.0.6","@qqbrowser/qbot-dsh-tool-workflow":"^0.0.6","@qqbrowser/qbot-dsh-web":"^0.0.6","@qqbrowser/qbot-dsh-workflow-worker-thread":"^0.0.6","@qqbrowser/qbot-dsh-web-search-deepseek":"^0.0.6","@qqbrowser/qbot-dsh-agent-instructions":"^0.0.6"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-bash-local","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-shell":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-subprocess":"^0.0.5","@qqbrowser/qbot-dsh-timeout":"^0.0.5","@qqbrowser/qbot-dsh-settings":"^0.0.5"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-bash-local","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","peerDependencies":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-timeout":"^0.0.6","@qqbrowser/qbot-dsh-subprocess":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-bash-sandbox","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","peerDependencies":{"@qqbrowser/qbot-dsh-bash-local":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@qqbrowser/qbot-dsh-shell":"^0.0.5","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-sandbox":"^0.0.5"}}
1
+ {"name":"@qqbrowser/qbot-dsh-bash-sandbox","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","peerDependencies":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-bash-local":"^0.0.6","@qqbrowser/qbot-dsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-brand","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-brand","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","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-connection","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":[],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"ws":"^8.21.0","@qqbrowser/qbot-dsh-attachment":"^0.0.5","@qqbrowser/qbot-dsh-llm":"^0.0.5","@qqbrowser/qbot-dsh-session":"^0.0.5","@qqbrowser/qbot-dsh-host-apiproxy":"^0.0.5","@qqbrowser/qbot-dsh-tools":"^0.0.5","@deepseek-ai/schemastery":"^3.18.1","@qqbrowser/qbot-dsh-commands":"^0.0.5"},"peerDependencies":{"@qqbrowser/qbot-dsh-host-webserver":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-connection","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":[],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"ws":"^8.21.0","@qqbrowser/qbot-dsh-attachment":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@qqbrowser/qbot-dsh-host-apiproxy":"^0.0.6","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-host-webserver":"^0.0.6"}}
@@ -1 +1 @@
1
- {"name":"@qqbrowser/qbot-dsh-client-hmr","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":[],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-client-modules":"^0.0.5","@qqbrowser/qbot-dsh-host-webserver":"^0.0.5","@qqbrowser/qbot-dsh-invariants":"^0.0.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/cordis-plugin-loader":"^1.0.2"}}
1
+ {"name":"@qqbrowser/qbot-dsh-client-hmr","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":[],"platform":"web","immediately":true}},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-client-modules":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-host-webserver":"^0.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2"}}