@qqbrowser/qbot-dsh 0.0.9 → 0.0.11

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 (260) hide show
  1. package/node_modules/@deepseek-ai/cordis-plugin-group/package.json +1 -1
  2. package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
  3. package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
  4. package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
  5. package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
  6. package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
  7. package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
  8. package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
  9. package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
  10. package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
  11. package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
  12. package/node_modules/@deepseek-ai/dsh-atomic-write/package.json +1 -1
  13. package/node_modules/@deepseek-ai/dsh-attachment/package.json +1 -1
  14. package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +1 -1
  15. package/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +10 -9
  16. package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
  17. package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
  18. package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +1 -1
  19. package/node_modules/@deepseek-ai/dsh-brand/package.json +1 -1
  20. package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
  21. package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
  22. package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
  23. package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
  24. package/node_modules/@deepseek-ai/dsh-client-modules/package.json +1 -1
  25. package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
  26. package/node_modules/@deepseek-ai/dsh-client-schema-form/package.json +1 -1
  27. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
  28. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
  29. package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +1 -1
  30. package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
  31. package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
  32. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +7 -7
  33. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
  34. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +1 -1
  35. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
  36. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
  37. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
  38. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
  39. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
  40. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +1 -1
  41. package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
  42. package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
  43. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
  44. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
  45. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
  46. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
  47. package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
  48. package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
  49. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
  50. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
  51. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
  52. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
  53. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
  54. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
  55. package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +1 -1
  56. package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
  57. package/node_modules/@deepseek-ai/dsh-client-ui-primitives/package.json +1 -1
  58. package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
  59. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  60. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
  61. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +1 -1
  62. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
  63. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
  64. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
  65. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
  66. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
  67. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
  68. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
  69. package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +1 -1
  70. package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
  71. package/node_modules/@deepseek-ai/dsh-client-ui-slots/package.json +1 -1
  72. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
  73. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
  74. package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
  75. package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
  76. package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -1
  77. package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
  78. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +2 -2
  79. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
  80. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
  81. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
  82. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
  83. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
  84. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
  85. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
  86. package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
  87. package/node_modules/@deepseek-ai/dsh-client-web-react/package.json +1 -1
  88. package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
  89. package/node_modules/@deepseek-ai/dsh-code-runtime/package.json +1 -1
  90. package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
  91. package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
  92. package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +1 -1
  93. package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
  94. package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
  95. package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
  96. package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
  97. package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
  98. package/node_modules/@deepseek-ai/dsh-content-review/package.json +1 -1
  99. package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
  100. package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
  101. package/node_modules/@deepseek-ai/dsh-credentials/package.json +1 -1
  102. package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
  103. package/node_modules/@deepseek-ai/dsh-fs/package.json +1 -1
  104. package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
  105. package/node_modules/@deepseek-ai/dsh-fs-observation-policy/package.json +1 -1
  106. package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
  107. package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
  108. package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
  109. package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
  110. package/node_modules/@deepseek-ai/dsh-home-paths/package.json +1 -1
  111. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/lib/index.js +1 -0
  112. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/lib/invariant.js +1 -0
  113. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/package.json +1 -0
  114. package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
  115. package/node_modules/@deepseek-ai/dsh-host-directory-picker/package.json +1 -1
  116. package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
  117. package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
  118. package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +1 -1
  119. package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +1 -1
  120. package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/package.json +1 -1
  121. package/node_modules/@deepseek-ai/dsh-host-webserver/package.json +1 -1
  122. package/node_modules/@deepseek-ai/dsh-invariants/package.json +1 -1
  123. package/node_modules/@deepseek-ai/dsh-jobs/package.json +1 -1
  124. package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
  125. package/node_modules/@deepseek-ai/dsh-launch-environment/package.json +1 -1
  126. package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
  127. package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
  128. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/lib/index.js +1 -1
  129. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/package.json +1 -1
  130. package/node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js +1 -1
  131. package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
  132. package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
  133. package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
  134. package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
  135. package/node_modules/@deepseek-ai/dsh-native-command/package.json +1 -1
  136. package/node_modules/@deepseek-ai/dsh-output-retention/package.json +1 -1
  137. package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
  138. package/node_modules/@deepseek-ai/dsh-persona/package.json +1 -1
  139. package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
  140. package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
  141. package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
  142. package/node_modules/@deepseek-ai/dsh-qb-auth/lib/index.js +1 -1
  143. package/node_modules/@deepseek-ai/dsh-qb-auth/package.json +1 -1
  144. package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
  145. package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
  146. package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
  147. package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
  148. package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +1 -1
  149. package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
  150. package/node_modules/@deepseek-ai/dsh-scope/package.json +1 -1
  151. package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
  152. package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
  153. package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
  154. package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
  155. package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
  156. package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
  157. package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
  158. package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
  159. package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
  160. package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
  161. package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
  162. package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
  163. package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
  164. package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
  165. package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
  166. package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
  167. package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
  168. package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
  169. package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
  170. package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
  171. package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
  172. package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
  173. package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
  174. package/node_modules/@deepseek-ai/dsh-spill/package.json +1 -1
  175. package/node_modules/@deepseek-ai/dsh-spill-local/package.json +1 -1
  176. package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
  177. package/node_modules/@deepseek-ai/dsh-storage/package.json +1 -1
  178. package/node_modules/@deepseek-ai/dsh-storage-domain/package.json +1 -1
  179. package/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -1
  180. package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
  181. package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
  182. package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
  183. package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +1 -1
  184. package/node_modules/@deepseek-ai/dsh-subprocess/package.json +1 -1
  185. package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
  186. package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
  187. package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
  188. package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
  189. package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
  190. package/node_modules/@deepseek-ai/dsh-timeout/package.json +1 -1
  191. package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
  192. package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
  193. package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
  194. package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
  195. package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +1 -1
  196. package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
  197. package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
  198. package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
  199. package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
  200. package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
  201. package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
  202. package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
  203. package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
  204. package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
  205. package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
  206. package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
  207. package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +1 -1
  208. package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
  209. package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
  210. package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
  211. package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
  212. package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
  213. package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +1 -1
  214. package/node_modules/@deepseek-ai/dsh-typert-protocol/package.json +1 -1
  215. package/node_modules/@deepseek-ai/dsh-typert-registry/package.json +1 -1
  216. package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
  217. package/node_modules/@deepseek-ai/dsh-user-questions/package.json +1 -1
  218. package/node_modules/@deepseek-ai/dsh-web/package.json +1 -1
  219. package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
  220. package/node_modules/@deepseek-ai/dsh-web-frontend/package.json +1 -1
  221. package/node_modules/@deepseek-ai/dsh-web-search-dsh/LICENSE +21 -0
  222. package/node_modules/@deepseek-ai/dsh-web-search-dsh/lib/index.js +1 -0
  223. package/node_modules/@deepseek-ai/dsh-web-search-dsh/lib/invariant.js +1 -0
  224. package/node_modules/@deepseek-ai/dsh-web-search-dsh/package.json +1 -0
  225. package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
  226. package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
  227. package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
  228. package/node_modules/@napi-rs/xattr/LICENSE +21 -0
  229. package/node_modules/@napi-rs/xattr/index.js +567 -0
  230. package/node_modules/@napi-rs/xattr/package.json +1 -0
  231. package/node_modules/@napi-rs/xattr-darwin-arm64/package.json +1 -0
  232. package/node_modules/@napi-rs/xattr-darwin-arm64/xattr.darwin-arm64.node +0 -0
  233. package/node_modules/@napi-rs/xattr-darwin-x64/package.json +1 -0
  234. package/node_modules/@napi-rs/xattr-darwin-x64/xattr.darwin-x64.node +0 -0
  235. package/node_modules/@parcel/watcher/LICENSE +21 -0
  236. package/node_modules/@parcel/watcher/index.js +44 -0
  237. package/node_modules/@parcel/watcher/index.js.flow +45 -0
  238. package/node_modules/@parcel/watcher/package.json +1 -0
  239. package/node_modules/@parcel/watcher/scripts/build-from-source.js +16 -0
  240. package/node_modules/@parcel/watcher/wrapper.js +88 -0
  241. package/node_modules/@parcel/watcher-darwin-arm64/LICENSE +21 -0
  242. package/node_modules/@parcel/watcher-darwin-arm64/package.json +1 -0
  243. package/node_modules/@parcel/watcher-darwin-arm64/watcher.node +0 -0
  244. package/node_modules/@parcel/watcher-darwin-x64/LICENSE +21 -0
  245. package/node_modules/@parcel/watcher-darwin-x64/package.json +1 -0
  246. package/node_modules/@parcel/watcher-darwin-x64/watcher.node +0 -0
  247. package/node_modules/@parcel/watcher-win32-x64/LICENSE +21 -0
  248. package/node_modules/@parcel/watcher-win32-x64/package.json +1 -0
  249. package/node_modules/@parcel/watcher-win32-x64/watcher.node +0 -0
  250. package/node_modules/is-extglob/LICENSE +21 -0
  251. package/node_modules/is-extglob/index.js +20 -0
  252. package/node_modules/is-extglob/package.json +1 -0
  253. package/node_modules/is-glob/LICENSE +21 -0
  254. package/node_modules/is-glob/index.js +150 -0
  255. package/node_modules/is-glob/package.json +1 -0
  256. package/package.json +1 -1
  257. package/node_modules/@deepseek-ai/dsh-web-search-deepseek/lib/index.js +0 -1
  258. package/node_modules/@deepseek-ai/dsh-web-search-deepseek/lib/invariant.js +0 -1
  259. package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +0 -1
  260. /package/node_modules/@deepseek-ai/{dsh-web-search-deepseek → dsh-home-quarantine-macos}/LICENSE +0 -0
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-code-runtime","version":"0.0.9","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":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-code-runtime","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-code-runtime-worker-thread","version":"0.0.9","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"},"./worker":{"types":"./lib/types/worker.d.ts","default":"./lib/worker.cjs"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-code-runtime":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-timeout":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-code-runtime-worker-thread","version":"0.0.11","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"},"./worker":{"types":"./lib/types/worker.d.ts","default":"./lib/worker.cjs"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-code-runtime":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-timeout":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.0.11"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-command-compact","version":"0.0.9","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":{"@deepseek-ai/dsh-commands":"^0.0.9","@deepseek-ai/dsh-compaction":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-command-compact","version":"0.0.11","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":{"@deepseek-ai/dsh-commands":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-compaction":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-command-feedback","version":"0.0.9","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":{"@deepseek-ai/dsh-commands":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/dsh-anonymous-user-id":"^0.0.9","@deepseek-ai/dsh-session-telemetry":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-command-feedback","version":"0.0.11","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":{"@deepseek-ai/dsh-commands":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-session-telemetry":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-anonymous-user-id":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-command-goal","version":"0.0.9","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":{"@deepseek-ai/dsh-goal":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-commands":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-command-goal","version":"0.0.11","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":{"@deepseek-ai/dsh-commands":"^0.0.11","@deepseek-ai/dsh-goal":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-commands","version":"0.0.9","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-scope":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-typert-protocol":"^0.0.9"},"dependencies":{"zod":"^4.4.3"}}
1
+ {"name":"@deepseek-ai/dsh-commands","version":"0.0.11","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-typert-protocol":"^0.0.11","@deepseek-ai/dsh-scope":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.0.11"},"dependencies":{"zod":"^4.4.3"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-compaction","version":"0.0.9","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"},"./checkpoint":{"types":"./lib/types/checkpoint.d.ts","default":"./lib/types/checkpoint.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-commands":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-compaction","version":"0.0.11","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"},"./checkpoint":{"types":"./lib/types/checkpoint.d.ts","default":"./lib/types/checkpoint.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-commands":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-compaction-basic","version":"0.0.9","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":{"@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-compaction":"^0.0.9","@deepseek-ai/dsh-commands":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-compaction-tool-result-pruner":"^0.0.9","@deepseek-ai/dsh-token-meter":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@deepseek-ai/dsh-compaction-tool-result-pruner":{"optional":true}},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-compaction-basic","version":"0.0.11","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":{"@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-compaction":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-commands":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-token-meter":"^0.0.11","@deepseek-ai/dsh-compaction-tool-result-pruner":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@deepseek-ai/dsh-compaction-tool-result-pruner":{"optional":true}},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-compaction-tool-result-pruner","version":"0.0.9","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":{"@deepseek-ai/dsh-compaction":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/dsh-token-meter":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-compaction-tool-result-pruner","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-compaction":"^0.0.11","@deepseek-ai/dsh-token-meter":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-content-review","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-qb-auth":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-content-review","version":"0.0.11","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-qb-auth":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-cordis-client-runner","version":"0.0.9","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":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-modules","@deepseek-ai/dsh-client-ui-theme"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-client-modules":"^0.0.9","@deepseek-ai/dsh-client-connection":"^0.0.9","@deepseek-ai/dsh-api-remotes":"^0.0.9","@deepseek-ai/dsh-client-runtime":"^0.0.9","@deepseek-ai/dsh-client-ui-theme":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-client-ui-slots":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-cordis-client-runner","version":"0.0.11","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":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-modules","@deepseek-ai/dsh-client-ui-theme"],"platform":"web"}},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-client-connection":"^0.0.11","@deepseek-ai/dsh-client-runtime":"^0.0.11","@deepseek-ai/dsh-client-ui-slots":"^0.0.11","@deepseek-ai/dsh-api-remotes":"^0.0.11","@deepseek-ai/dsh-client-modules":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-ui-theme":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-cordis-host-runner","version":"0.0.9","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"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-tools":"^0.0.9","@deepseek-ai/dsh-typert-protocol":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/dsh-scope":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-cordis-host-runner","version":"0.0.11","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"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-scope":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-tools":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-typert-protocol":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-credentials","version":"0.0.9","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/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-credentials","version":"0.0.11","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/dsh-brand":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-credentials-local","version":"0.0.9","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":{"@deepseek-ai/dsh-atomic-write":"^0.0.9","@deepseek-ai/dsh-home-paths":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-credentials":"^0.0.9","@deepseek-ai/dsh-launch-environment":"^0.0.9"},"dependencies":{"chokidar":"^4.0.3","yaml":"^2.9.0","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-credentials-local","version":"0.0.11","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":{"@deepseek-ai/dsh-credentials":"^0.0.11","@deepseek-ai/dsh-launch-environment":"^0.0.11","@deepseek-ai/dsh-home-paths":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-atomic-write":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"chokidar":"^4.0.3","yaml":"^2.9.0","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-fs","version":"0.0.9","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":{"@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-sandbox":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-fs","version":"0.0.11","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":{"@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-sandbox":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-fs-local","version":"0.0.9","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":{"@deepseek-ai/dsh-fs":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"koffi":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-fs-local","version":"0.0.11","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":{"@deepseek-ai/dsh-fs":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"koffi":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-fs-observation-policy","version":"0.0.9","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":{"@deepseek-ai/dsh-fs":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-fs-observation-policy","version":"0.0.11","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":{"@deepseek-ai/dsh-fs":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-fs-sandbox","version":"0.0.9","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":{"@deepseek-ai/dsh-fs":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-sandbox-policy":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs-local":"^0.0.9","@deepseek-ai/dsh-sandbox":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-fs-sandbox","version":"0.0.11","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":{"@deepseek-ai/dsh-sandbox-policy":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-fs":"^0.0.11","@deepseek-ai/dsh-fs-local":"^0.0.11","@deepseek-ai/dsh-sandbox":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-goal","version":"0.0.9","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-scope":"^0.0.9","@deepseek-ai/dsh-session-projection":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-typert-protocol":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-goal","version":"0.0.11","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-session-projection":"^0.0.11","@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-scope":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-typert-protocol":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.0.11"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-goal-round-driver","version":"0.0.9","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":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-goal":"^0.0.9","@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-goal-round-driver","version":"0.0.11","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":{"@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-goal":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-headless","version":"0.0.9","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./startup":{"types":"./lib/types/startup.d.ts","default":"./lib/startup.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":{"commander":"^15.0.0","@deepseek-ai/dsh-cmdline":"^0.0.9","@deepseek-ai/dsh-code-runtime-worker-thread":"^0.0.9","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-agent-default-model":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-headless","version":"0.0.11","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./startup":{"types":"./lib/types/startup.d.ts","default":"./lib/startup.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":{"commander":"^15.0.0","@deepseek-ai/dsh-cmdline":"^0.0.11","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-code-runtime-worker-thread":"^0.0.11"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-agent-default-model":"^0.0.11","@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-home-paths","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-home-paths","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -0,0 +1 @@
1
+ var c=Object.defineProperty;var a=(t,s)=>c(t,"name",{value:s,configurable:!0});import{canonicalizeWatchPath as h,expandHomePath as u,resolveDshHome as l}from"@deepseek-ai/dsh-home-paths";import{runNativeCommand as d}from"@deepseek-ai/dsh-native-command";import o from"@deepseek-ai/schemastery";import{mkdir as m}from"node:fs/promises";import{basename as w,dirname as f,isAbsolute as p,join as g,relative as b,resolve as A,sep as T}from"node:path";const n="com.apple.quarantine",E="/usr/bin/xattr",R=/(?:Events were dropped|File system must be re-scanned)/,v="home-quarantine-macos",x=o.object({root:o.string().pattern(/\S/)});function q(t,s){const e=b(t,s);return e===""||!p(e)&&e!==".."&&!e.startsWith(`..${T}`)}a(q,"isWithin");function y(t){if(t.root!==void 0)return A(u(t.root));const s=l(),e=f(s),r=g(e,"runtime","node");return w(s)==="dsh-home"&&q(r,process.execPath)?e:s}a(y,"resolveRoot");function S(t){const s=t?.code;if(s==="ENOENT"||s==="ENOTDIR"||s==="ENOATTR"||s==="ENODATA")return!0;const e=t instanceof Error?t.message:String(t);return/os error (?:2|61|93)\b/.test(e)}a(S,"isBenignRace");var k=class{static{a(this,"HomeQuarantineRuntime")}ctx;root;watcher;xattr;subscription;clears=new Set;pendingPaths=new Set;scanAbort=new AbortController;scanTask;scanAgain=!1;closed=!1;scanRoot;constructor(t,s,e,r){this.ctx=t,this.root=s,this.watcher=e,this.xattr=r,this.scanRoot=s}async start(){await m(this.root,{recursive:!0,mode:448});const t=await h(this.root);this.scanRoot=t;try{this.subscription=await this.watcher.subscribe(t,this.onEvents,{backend:"fs-events"}),await this.requestScan()}catch(s){this.closed=!0,this.scanAbort.abort();try{await this.subscription?.unsubscribe()}catch(e){throw new AggregateError([s,e],"home-quarantine-macos: setup and watcher cleanup failed")}throw s}}async close(){this.closed=!0;let t;try{await this.subscription?.unsubscribe()}catch(s){t=s instanceof Error?s:new Error("home-quarantine-macos: watcher cleanup failed",{cause:s})}if(this.scanAbort.abort(),await this.scanTask?.catch(()=>{}),await Promise.all(this.clears),t!==void 0)throw t}onEvents=a((t,s)=>{if(!this.closed){if(t!==null){this.ctx.logger.warn("home-quarantine-macos: watcher error under %s: %s",this.root,t.message),R.test(t.message)&&this.requestScan().catch(e=>{this.closed||this.warnScan(e)});return}for(const e of s)e.type==="create"&&this.queueClear(e)}},"onEvents");queueClear(t){if(this.pendingPaths.has(t.path))return;this.pendingPaths.add(t.path);const s=this.clear(t.path);this.clears.add(s),s.then(()=>{this.pendingPaths.delete(t.path),this.clears.delete(s)},()=>{this.pendingPaths.delete(t.path),this.clears.delete(s)})}async clear(t){try{if(!(await this.xattr.listAttributes(t)).includes(n)||this.closed)return;await this.xattr.removeAttribute(t,n)}catch(s){if(S(s)||this.closed)return;this.ctx.logger.warn("home-quarantine-macos: failed to clear quarantine from %s",t),this.ctx.logger.warn(s)}}requestScan(){if(this.scanTask!==void 0)return this.scanAgain=!0,this.scanTask;const t=(async()=>{do this.scanAgain=!1,await d(E,["-drs",n,this.scanRoot],this.scanAbort.signal);while(this.shouldRescan())})();return this.scanTask=t,t.then(()=>{this.scanTask=void 0},()=>{this.scanTask=void 0}),t}shouldRescan(){return this.scanAgain&&!this.closed}warnScan(t){this.ctx.logger.warn("home-quarantine-macos: compensation scan failed under %s",this.root),this.ctx.logger.warn(t)}};async function N(t,s={}){if(process.platform!=="darwin")return;const[e,r]=await Promise.all([import("@parcel/watcher"),import("@napi-rs/xattr")]);await t.effect(async()=>{const i=new k(t,y(s),e,r);return await i.start(),()=>i.close()},"home-quarantine-macos: cleanup-root watcher")}a(N,"apply");export{x as Config,N as apply,v as name};
@@ -0,0 +1 @@
1
+ var s=Object.defineProperty;var a=(n,e)=>s(n,"name",{value:e,configurable:!0});const t="@deepseek-ai/dsh-home-quarantine-macos",i="home-quarantine-macos-invariant",o=["invariants"],r=a(()=>{},"install"),c=a(n=>Promise.resolve(n.invariants.register(t,r)),"apply");export{c as apply,o as inject,i as name};
@@ -0,0 +1 @@
1
+ {"name":"@deepseek-ai/dsh-home-quarantine-macos","version":"0.0.11","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":{"@napi-rs/xattr":"^1.0.3","@parcel/watcher":"^2.6.0","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-home-paths":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-native-command":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-apiproxy","version":"0.0.9","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","./api":{"types":"./lib/types/api/index.d.ts","default":"./lib/types/api/index.js"},"./api/*":{"types":"./lib/types/api/*.d.ts","default":"./lib/types/api/*.js"},"./client":{"types":"./lib/types/fetch/client.d.ts","default":"./lib/types/fetch/client.js"}},"license":"MIT","dependencies":{"fflate":"^0.8.2","zod":"^4.4.3","@deepseek-ai/dsh-attachment":"^0.0.9","@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-agent-default-model":"^0.0.9","@deepseek-ai/dsh-commands":"^0.0.9","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-api-remotes":"^0.0.9","@deepseek-ai/dsh-goal":"^0.0.9","@deepseek-ai/dsh-credentials":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-host-directory-picker":"^0.0.9","@deepseek-ai/dsh-native-command":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/dsh-session-persistence":"^0.0.9","@deepseek-ai/dsh-session-projection-cache":"^0.0.9","@deepseek-ai/dsh-session-query":"^0.0.9","@deepseek-ai/dsh-session-projection":"^0.0.9","@deepseek-ai/dsh-session-title":"^0.0.9","@deepseek-ai/dsh-settings":"^0.0.9","@deepseek-ai/dsh-skill":"^0.0.9","@deepseek-ai/dsh-jobs":"^0.0.9","@deepseek-ai/dsh-subagent":"^0.0.9","@deepseek-ai/dsh-user-approval":"^0.0.9","@deepseek-ai/dsh-user-questions":"^0.0.9","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-workspace":"^0.0.9","@deepseek-ai/dsh-tools":"^0.0.9"},"peerDependencies":{"@deepseek-ai/dsh-cordis-host-runner":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-agent-presets":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-host-apiproxy","version":"0.0.11","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","./api":{"types":"./lib/types/api/index.d.ts","default":"./lib/types/api/index.js"},"./api/*":{"types":"./lib/types/api/*.d.ts","default":"./lib/types/api/*.js"},"./client":{"types":"./lib/types/fetch/client.d.ts","default":"./lib/types/fetch/client.js"}},"license":"MIT","dependencies":{"fflate":"^0.8.2","zod":"^4.4.3","@deepseek-ai/dsh-attachment":"^0.0.11","@deepseek-ai/dsh-agent-default-model":"^0.0.11","@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-api-remotes":"^0.0.11","@deepseek-ai/dsh-commands":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/dsh-credentials":"^0.0.11","@deepseek-ai/dsh-goal":"^0.0.11","@deepseek-ai/dsh-host-directory-picker":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-session-persistence":"^0.0.11","@deepseek-ai/dsh-session-projection":"^0.0.11","@deepseek-ai/dsh-native-command":"^0.0.11","@deepseek-ai/dsh-session-query":"^0.0.11","@deepseek-ai/dsh-session-title":"^0.0.11","@deepseek-ai/dsh-settings":"^0.0.11","@deepseek-ai/dsh-session-projection-cache":"^0.0.11","@deepseek-ai/dsh-skill":"^0.0.11","@deepseek-ai/dsh-subagent":"^0.0.11","@deepseek-ai/dsh-tools":"^0.0.11","@deepseek-ai/dsh-jobs":"^0.0.11","@deepseek-ai/dsh-user-approval":"^0.0.11","@deepseek-ai/dsh-user-questions":"^0.0.11","@deepseek-ai/dsh-workspace":"^0.0.11","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-cordis-host-runner":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-agent-presets":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-directory-picker","version":"0.0.9","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":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-host-directory-picker","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-directory-picker-auto","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-client-ui-directory-picker-browse":"^0.0.9","@deepseek-ai/dsh-client-ui-directory-picker-native":"^0.0.9","@deepseek-ai/dsh-host-directory-picker-browse":"^0.0.9","@deepseek-ai/dsh-host-directory-picker-native":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-host-webserver":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-host-directory-picker-auto","version":"0.0.11","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":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-client-ui-directory-picker-browse":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-host-directory-picker-browse":"^0.0.11","@deepseek-ai/dsh-client-ui-directory-picker-native":"^0.0.11","@deepseek-ai/dsh-host-webserver":"^0.0.11","@deepseek-ai/dsh-host-directory-picker-native":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-directory-picker-browse","version":"0.0.9","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/dsh-host-directory-picker":"^0.0.9","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-host-directory-picker-browse","version":"0.0.11","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/dsh-host-directory-picker":"^0.0.11","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-directory-picker-native","version":"0.0.9","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"},"./worker":{"types":"./lib/types/win32-dialog-worker.d.ts","default":"./lib/worker.cjs"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"koffi":"^3.1.0","@deepseek-ai/dsh-host-directory-picker":"^0.0.9","@deepseek-ai/dsh-native-command":"^0.0.9"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-host-directory-picker-native","version":"0.0.11","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"},"./worker":{"types":"./lib/types/win32-dialog-worker.d.ts","default":"./lib/worker.cjs"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"koffi":"^3.1.0","@deepseek-ai/dsh-host-directory-picker":"^0.0.11","@deepseek-ai/dsh-native-command":"^0.0.11"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-frontend-static","version":"0.0.9","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":{"@deepseek-ai/dsh-host-webserver":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-host-frontend-static","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-host-webserver":"^0.0.11"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-plugin-inventory","version":"0.0.9","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"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-typert-protocol":"^0.0.9"}}
1
+ {"name":"@deepseek-ai/dsh-host-plugin-inventory","version":"0.0.11","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"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-typert-protocol":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-host-webserver","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-host-webserver","version":"0.0.11","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.11"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-invariants","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-invariants","version":"0.0.11","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":{"@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-jobs","version":"0.0.9","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-session":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-jobs","version":"0.0.11","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-jobs-local","version":"0.0.9","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":{"@deepseek-ai/dsh-agent":"^0.0.9","@deepseek-ai/dsh-jobs":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-scope":"^0.0.9","@deepseek-ai/dsh-timeout":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-jobs-local","version":"0.0.11","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":{"@deepseek-ai/dsh-agent":"^0.0.11","@deepseek-ai/dsh-scope":"^0.0.11","@deepseek-ai/dsh-jobs":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-timeout":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-launch-environment","version":"0.0.9","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":{"@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"}}
1
+ {"name":"@deepseek-ai/dsh-launch-environment","version":"0.0.11","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":{"@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/cordis":"^4.0.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-llm","version":"0.0.9","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./message":{"types":"./lib/types/message.d.ts","default":"./lib/types/message.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-timeout":"^0.0.9","@deepseek-ai/dsh-brand":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-llm","version":"0.0.11","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"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./message":{"types":"./lib/types/message.d.ts","default":"./lib/types/message.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.0.11","@deepseek-ai/dsh-timeout":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-brand":"^0.0.11"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-llm-deepseek","version":"0.0.9","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":{"@deepseek-ai/dsh-credentials":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-launch-environment":"^0.0.9","@deepseek-ai/dsh-timeout":"^0.0.9","@deepseek-ai/dsh-llm":"^0.0.9","@deepseek-ai/dsh-settings":"^0.0.9","@deepseek-ai/dsh-anonymous-user-id":"^0.0.9","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"eventsource-parser":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-llm-deepseek","version":"0.0.11","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":{"@deepseek-ai/dsh-credentials":"^0.0.11","@deepseek-ai/dsh-llm":"^0.0.11","@deepseek-ai/dsh-launch-environment":"^0.0.11","@deepseek-ai/dsh-settings":"^0.0.11","@deepseek-ai/dsh-timeout":"^0.0.11","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-anonymous-user-id":"^0.0.11"},"dependencies":{"eventsource-parser":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
@@ -14,4 +14,4 @@ var oe=Object.defineProperty;var o=(e,t)=>oe(e,"name",{value:t,configurable:!0})
14
14
 
15
15
  `)},"writePayload"),I=o(()=>{if(l.length!==0){for(const u of l)O(u);A=!0,l=[],_=0}},"flush"),$=o(()=>{l=[],_=0},"discard"),T=o(u=>{y=!0,$();const i=A?d.CONTENT_REVIEW_FAILED_OUTPUT_PARTIAL:d.CONTENT_REVIEW_FAILED_OUTPUT;n.debug(`llm-gateway[${a}]: output review denied the turn (partial=${String(A)})`),L(t,u.fallbackMsg,p.CONTENT_FILTER,i,u.extra),r.destroy()},"denyOutput"),x=o(async()=>{const u=h;h="";const i=e.reviewOutput;if(i===void 0||u===""){I();return}r.pause();try{const f=await i(u);if(y)return;if(f!==void 0){T(f);return}I()}catch(f){n.warn(`llm-gateway[${a}]: output review unavailable, releasing buffered output (${f instanceof Error?f.name:"unknown error"})`),I()}finally{!y&&!r.destroyed&&r.resume()}},"reviewAccumulated"),R=o(()=>{v=!0,k=x().finally(()=>{v=!1}),k.catch(u=>{n.warn(`llm-gateway[${a}]: stream gate review failed unexpectedly: ${u instanceof Error?u.message:String(u)}`)})},"runReview");r.on("data",u=>{if(N()){for(const i of s.read(u)){const f=Z(i);if(f.kind==="done"){g=!0;continue}if(f.kind!=="data")continue;const U=ee(f.payload);if(z(U)){y=!0,$(),n.warn(`llm-gateway[${a}]: upstream reported a dependency failure (reqid=${X(U)})`),L(t,B,p.UPSTREAM,d.UPSTREAM_UNAVAILABLE),r.destroy();return}if(l.push(f.payload),_+=Buffer.byteLength(f.payload),U!==void 0){const D=J(U);h+=D.content,m+=D.content,D.hasToolCalls&&(E=!0)}}if(_>e.maxPendingBytes){y=!0,$(),n.warn(`llm-gateway[${a}]: buffered output exceeded maxPendingBytes (${String(e.maxPendingBytes)}); ending the turn`),L(t,B,p.UPSTREAM,d.UPSTREAM_UNAVAILABLE),r.destroy();return}if(h.length>=e.thresholdChars&&!v){R();return}e.reviewOutput===void 0&&I()}}),r.on("end",()=>{(async()=>{if(v&&await k,!N())return;const u=s.remainder;if(u.trim()!==""){const i=Z(u);if(i.kind==="data"){const f=ee(i.payload);if(f!==void 0){const U=J(f);h+=U.content,m+=U.content,U.hasToolCalls&&(E=!0)}l.push(i.payload)}else i.kind==="done"&&(g=!0)}if(h!==""&&await x(),!!N()){if(I(),m===""&&!E){n.debug(`llm-gateway[${a}]: upstream produced no output; sending the standard notice`),Ae(t,H,e.model);return}g&&t.write(`data: [DONE]
16
16
 
17
- `),t.end()}})()})},"runStreamGate"),w=o((e,t)=>{if(!(typeof e!="object"||e===null))return e[t]},"child"),Se=o(e=>{const t=e.authorization;if(typeof t!="string")return;const r=/^Bearer\s+(.+)$/i.exec(t);return r===null?void 0:r[1]},"extractBearerToken"),ke=o((e,t)=>new Promise((r,n)=>{const a=[];let s=0;e.on("data",l=>{if(s+=l.length,s>t){n(new Error(`request body exceeds ${String(t)} bytes`)),e.destroy();return}a.push(l)}),e.once("end",()=>{r(Buffer.concat(a))}),e.once("error",n)}),"readRequestBody"),be=o(e=>{const t=[];for(const r of e){if(w(r,"role")!=="user")continue;const n=w(r,"content");if(typeof n=="string"){n.length>0&&t.push(n);continue}if(Array.isArray(n))for(const a of n){const s=w(a,"text");w(a,"type")==="text"&&typeof s=="string"&&s.length>0&&t.push(s)}}return t},"collectUserTexts"),Ie=o(e=>{let t=-1;for(let r=e.length-1;r>=0;r-=1)if(w(e[r],"role")==="user"){t=r;break}return t<0?!1:e.slice(t+1).some(r=>w(r,"role")==="tool")},"hasToolMessageAfterLastUser"),xe=o(e=>{const t=w(e,"choices");if(!Array.isArray(t))return{texts:[],hasToolCalls:!1};const r=[];let n=!1;for(const a of t){const s=w(a,"message"),l=w(s,"content");typeof l=="string"&&l.length>0&&r.push(l);const _=w(s,"tool_calls"),h=w(s,"function_call");(Array.isArray(_)&&_.length>0||h!=null)&&(n=!0)}return{texts:r,hasToolCalls:n}},"collectReplyTexts"),te=o(e=>{const t={};for(const[r,n]of Object.entries(e))n!==void 0&&(Y.has(r.toLowerCase())||(t[r]=n));return t},"relayResponseHeaders"),Ue=o(()=>Math.random().toString(36).slice(2,10),"newRequestId"),Ne=o(async(e,t,r)=>{const{spec:n,logger:a}=r,s=Ue(),l=e.url??"/",_=e.method??"GET",h=me(l,n.upstream.basePath);if(!h.ok){a.debug(`llm-gateway[${s}]: refusing ${_} target (${h.reason})`);const i=h.reason==="not-v1"?404:400,f=h.reason==="not-v1"?d.NOT_FOUND:d.BAD_REQUEST;b(t,i,h.reason==="not-v1"?"Not Found":"Bad Request",p.INVALID_REQUEST,f);return}const m=Se(e.headers);if(m===void 0){b(t,401,"You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth.",p.INVALID_REQUEST,d.MISSING_API_KEY);return}const E=await r.expectedKey();if(E===void 0||E===""||m!==E){b(t,401,"Incorrect API key provided. You can check your API key in the proxy configuration.",p.INVALID_REQUEST,d.INVALID_API_KEY);return}let g;try{g=await ke(e,n.maxRequestBytes)}catch(i){a.warn(`llm-gateway[${s}]: cannot read the request body: ${i instanceof Error?i.message:"unknown error"}`),t.headersSent||b(t,400,"Failed to read request body",p.INVALID_REQUEST,d.BAD_REQUEST);return}const A=l.includes("/chat/completions");let y,v=!1;if(A&&g.length>0)try{y=JSON.parse(g.toString("utf-8")),v=w(y,"stream")===!0}catch{}const k=w(y,"model"),N=typeof k=="string"&&k!==""?k:Ee;let O=g;const I=typeof k=="string"?n.modelMap[k]:void 0;I!==void 0&&typeof y=="object"&&y!==null&&(O=Buffer.from(JSON.stringify({...y,model:I}),"utf-8"));const $=w(y,"messages");if(r.reviewInput!==void 0&&A&&Array.isArray($)){const i=await Oe($,r,s);if(i!==void 0){C(t,{isStream:v,httpStatus:400,message:i.fallbackMsg===""?_e:i.fallbackMsg,type:p.CONTENT_FILTER,code:d.CONTENT_REVIEW_FAILED_INPUT,extra:i.extra});return}}let T;try{T=await r.upstreamAuth()}catch(i){C(t,$e(i,v)),a.warn(`llm-gateway[${s}]: cannot obtain upstream credentials: ${i instanceof Error?i.name:"unknown error"}`);return}const x={authorization:T.authorization,bus:le};T.guid!==""&&(x.guid=T.guid),T.qimei36!==""&&(x.qimei36=T.qimei36),T.qua2!==""&&(x.qua2=T.qua2),O!==g&&(x["content-length"]=String(O.length));const R=we({target:n.upstream,method:_,path:h.path,headers:ge(e.headers,n.upstream,x),timeoutMs:n.timeoutMs}),u=r.track(R);R.on("response",i=>{const f=i.statusCode??502;if((i.headers["content-type"]??"").includes("text/event-stream")||v){t.writeHead(f,te(i.headers)),Re({res:t,upstream:i,model:N,thresholdChars:n.review.thresholdChars,maxPendingBytes:n.review.maxPendingBytes,reviewOutput:r.reviewOutput,logger:a,requestId:s});return}Pe({upstream:i,res:t,status:f,deps:r,requestId:s,modelLabel:N,isChatCompletions:A})}),R.on("timeout",()=>{a.warn(`llm-gateway[${s}]: upstream timed out after ${String(n.timeoutMs)}ms`),R.destroy(),C(t,{isStream:v,httpStatus:504,message:"Gateway Timeout",type:p.SERVER,code:d.GATEWAY_TIMEOUT})}),R.on("error",i=>{a.warn(`llm-gateway[${s}]: upstream request failed: ${i.message}`),C(t,{isStream:v,httpStatus:502,message:`Bad Gateway: ${i.message}`,type:p.SERVER,code:d.PROXY_ERROR})}),R.once("close",u),t.once("close",()=>{t.writableEnded||R.destroy()}),R.end(O)},"handleRequest"),Oe=o(async(e,t,r)=>{if(Ie(e)){t.logger.debug(`llm-gateway[${r}]: tool continuation; input already reviewed this turn`);return}const n=be(e).at(-1);if(n===void 0)return;const a=t.reviewInput;if(a!==void 0)try{return await a(n)}catch(s){t.logger.warn(`llm-gateway[${r}]: input review unavailable, forwarding anyway (${s instanceof Error?s.name:"unknown error"})`);return}},"reviewLastUserMessage"),$e=o((e,t)=>e instanceof de?{isStream:t,httpStatus:429,message:e.message,type:p.INSUFFICIENT_QUOTA,code:d.TOKEN_EXHAUSTED}:e instanceof ue?{isStream:t,httpStatus:401,message:`Auth token expired: ${e.message}`,type:p.AUTH,code:d.AUTH_EXPIRED}:{isStream:t,httpStatus:500,message:`Failed to obtain auth token: ${e instanceof Error?e.message:"unknown error"}`,type:p.SERVER,code:d.TOKEN_FETCH_ERROR},"classifyAuthFailure"),Pe=o(e=>{const{upstream:t,res:r,status:n,deps:a,requestId:s,modelLabel:l,isChatCompletions:_}=e,h=[];t.on("data",m=>{h.push(m)}),t.once("error",m=>{if(a.logger.warn(`llm-gateway[${s}]: reading the upstream reply failed: ${m.message}`),!r.headersSent){b(r,502,`Bad Gateway: ${m.message}`,p.SERVER,d.PROXY_ERROR);return}r.end()}),t.once("end",()=>{(async()=>{const m=Buffer.concat(h);let E;if(_)try{E=JSON.parse(m.toString("utf-8"))}catch{}if(z(E)){if(a.logger.warn(`llm-gateway[${s}]: upstream reported a dependency failure (reqid=${X(E)})`),!r.headersSent){b(r,503,B,p.UPSTREAM,d.UPSTREAM_UNAVAILABLE);return}r.end();return}if(E!==void 0){const g=xe(E);if(g.texts.length===0&&!g.hasToolCalls){if(a.logger.debug(`llm-gateway[${s}]: upstream produced no output; sending the standard notice`),!r.headersSent){ve(r,H,l);return}r.end();return}const A=a.reviewOutput;if(A!==void 0&&g.texts.length>0){const y=await Le(A,g.texts.join(""),a,s);if(y!==void 0){if(!r.headersSent){b(r,400,y.fallbackMsg,p.CONTENT_FILTER,d.CONTENT_REVIEW_FAILED_OUTPUT,y.extra);return}r.end();return}}}if(r.headersSent){r.end();return}r.writeHead(n,te(t.headers)),r.end(m)})()})},"relayBufferedResponse"),Le=o(async(e,t,r,n)=>{try{return await e(t)}catch(a){r.logger.warn(`llm-gateway[${n}]: output review unavailable, relaying the reply (${a instanceof Error?a.name:"unknown error"})`);return}},"reviewOutputText");var re=class extends Error{static{o(this,"GatewayListenError")}code="GATEWAY_LISTEN_FAILED";constructor(e){super(`llm-gateway: failed to listen: ${e.message}`,{cause:e}),this.name="GatewayListenError"}},ne=class extends Error{static{o(this,"GatewayKeyError")}code="GATEWAY_KEY_UNWRITABLE";constructor(e,t){super(`llm-gateway: cannot store the gateway key in "${e}": a read-only source${t===void 0?"":` (${t})`} already supplies it. Point keyRef at an unused reference, or set generateKey to false to authenticate against the value that source provides.`),this.name="GatewayKeyError"}};const Ce=o(e=>{if(e instanceof ce)return{fallbackMsg:e.fallbackMsg,extra:{phase_action:e.phaseAction,is_show:e.isShow}}},"toReviewDenial");var ae=class extends q{static{o(this,"LlmGateway")}static inject=["credentials","qbAuth","contentReview"];static Config=c.object({host:c.union([c.const("127.0.0.1"),c.const("0.0.0.0")]).default("127.0.0.1"),port:c.natural().max(65535).default(3099),upstream:c.object({baseURL:c.string().required(),timeoutMs:c.natural().min(1e3).max(6e5).default(12e4)}),auth:c.object({kind:c.union([c.const("qb-encode-token"),c.const("credential")]).default("qb-encode-token"),ref:c.string().role("credential-ref").default("")}),review:c.object({input:c.boolean().default(!0),output:c.boolean().default(!0),thresholdChars:c.natural().min(1).default(100),maxPendingBytes:c.natural().min(1024).default(4*1024*1024)}),keyRef:c.string().role("credential-ref").default(G),maxRequestBytes:c.natural().min(1024).default(32*1024*1024),generateKey:c.boolean().default(!0),modelMap:c.dict(c.string()).default({})});spec;keyRef;inFlight=new Set;server;listenedPort;localKey;keyStored=!1;constructor(e,t){super(e,"llmGateway"),this.spec=V(t),this.keyRef=K(this.spec.keyRef)}get port(){return this.listenedPort}get host(){return this.spec.host}get baseURL(){return`http://${this.spec.host}:${String(this.listenedPort)}/v1`}inspect(){return{inFlight:this.inFlight.size,keyStored:this.keyStored}}async[q.init](){await this.establishKey();const e=this.buildDeps();this.server=se((t,r)=>{Ne(t,r,e).catch(n=>{if(this.ctx.logger.warn(`llm-gateway: request handling failed: ${n instanceof Error?n.message:String(n)}`),r.headersSent){r.destroy();return}b(r,500,"Internal gateway error",p.SERVER,d.PROXY_ERROR)})}),await new Promise((t,r)=>{const n=o(a=>{r(new re(a))},"rejectListen");this.server.once("error",n),this.server.listen(this.spec.port,this.spec.host,()=>{this.server.off("error",n),this.server.on("error",a=>{this.ctx.logger.error(a)}),this.listenedPort=this.server.address().port,t()})}),this.ctx.effect(()=>async()=>{for(const r of this.inFlight)r.destroy();this.inFlight.clear();const t=new Promise(r=>{this.server.close(()=>{r()})});this.server.closeAllConnections(),await t,await this.retractKey()},"llmGateway.listen")}async establishKey(){if(!this.spec.generateKey)return;const e=await this.ctx.credentials.describe(this.keyRef);if(!e.writable)throw new ne(this.spec.keyRef,e.source);const t=M(32).toString("base64url");await this.ctx.credentials.set(this.keyRef,t),this.localKey=t,this.keyStored=!0}async retractKey(){if(this.keyStored){this.keyStored=!1,this.localKey=void 0;try{await this.ctx.credentials.unset(this.keyRef)}catch(e){this.ctx.logger.warn(`llm-gateway: could not remove the gateway key from "${this.spec.keyRef}": ${e instanceof Error?e.message:String(e)}`)}}}buildDeps(){return{spec:this.spec,logger:{debug:o(e=>{this.ctx.logger.debug(e)},"debug"),warn:o(e=>{this.ctx.logger.warn(e)},"warn")},expectedKey:o(async()=>{const e=this.localKey;return e!==void 0?e:(await this.ctx.credentials.resolve(this.keyRef))?.value},"expectedKey"),upstreamAuth:o(async()=>this.resolveUpstreamAuth(),"upstreamAuth"),reviewInput:this.spec.review.input?e=>this.review(e,F.INPUT):void 0,reviewOutput:this.spec.review.output?e=>this.review(e,F.OUTPUT):void 0,track:o(e=>(this.inFlight.add(e),()=>{this.inFlight.delete(e)}),"track")}}async resolveUpstreamAuth(){const e=this.spec.auth;switch(e.kind){case"qb-encode-token":{const t=await this.ctx.qbAuth.llmToken(),r=await this.ctx.qbAuth.identity();return{authorization:`Bearer ${t}`,guid:r.guid,qimei36:r.qimei36,qua2:r.qua2}}case"credential":{const t=await this.ctx.credentials.resolve(K(e.ref));if(t===void 0)throw new Error(`llm-gateway: credential "${e.ref}" is not configured`);return{authorization:`Bearer ${t.value}`,guid:"",qimei36:"",qua2:""}}default:throw new Error(`llm-gateway: unhandled auth strategy ${JSON.stringify(e)}`)}}async review(e,t){try{await this.ctx.contentReview.review({text:e,type:t});return}catch(r){const n=Ce(r);if(n!==void 0)return n;throw r}}};export{G as DEFAULT_KEY_REF,d as ErrorCode,p as ErrorType,P as GatewayConfigError,ne as GatewayKeyError,re as GatewayListenError,ae as LlmGateway,ae as default,V as resolveSpec};
17
+ `),t.end()}})()})},"runStreamGate"),w=o((e,t)=>{if(!(typeof e!="object"||e===null))return e[t]},"child"),Se=o(e=>{const t=e.authorization;if(typeof t!="string")return;const r=/^Bearer\s+(.+)$/i.exec(t);return r===null?void 0:r[1]},"extractBearerToken"),ke=o((e,t)=>new Promise((r,n)=>{const a=[];let s=0;e.on("data",l=>{if(s+=l.length,s>t){n(new Error(`request body exceeds ${String(t)} bytes`)),e.destroy();return}a.push(l)}),e.once("end",()=>{r(Buffer.concat(a))}),e.once("error",n)}),"readRequestBody"),be=o(e=>{const t=[];for(const r of e){if(w(r,"role")!=="user")continue;const n=w(r,"content");if(typeof n=="string"){n.length>0&&t.push(n);continue}if(Array.isArray(n))for(const a of n){const s=w(a,"text");w(a,"type")==="text"&&typeof s=="string"&&s.length>0&&t.push(s)}}return t},"collectUserTexts"),Ie=o(e=>{let t=-1;for(let r=e.length-1;r>=0;r-=1)if(w(e[r],"role")==="user"){t=r;break}return t<0?!1:e.slice(t+1).some(r=>w(r,"role")==="tool")},"hasToolMessageAfterLastUser"),xe=o(e=>{const t=w(e,"choices");if(!Array.isArray(t))return{texts:[],hasToolCalls:!1};const r=[];let n=!1;for(const a of t){const s=w(a,"message"),l=w(s,"content");typeof l=="string"&&l.length>0&&r.push(l);const _=w(s,"tool_calls"),h=w(s,"function_call");(Array.isArray(_)&&_.length>0||h!=null)&&(n=!0)}return{texts:r,hasToolCalls:n}},"collectReplyTexts"),te=o(e=>{const t={};for(const[r,n]of Object.entries(e))n!==void 0&&(Y.has(r.toLowerCase())||(t[r]=n));return t},"relayResponseHeaders"),Ue=o(()=>Math.random().toString(36).slice(2,10),"newRequestId"),Ne=o(async(e,t,r)=>{const{spec:n,logger:a}=r,s=Ue(),l=e.url??"/",_=e.method??"GET",h=me(l,n.upstream.basePath);if(!h.ok){a.debug(`llm-gateway[${s}]: refusing ${_} target (${h.reason})`);const i=h.reason==="not-v1"?404:400,f=h.reason==="not-v1"?d.NOT_FOUND:d.BAD_REQUEST;b(t,i,h.reason==="not-v1"?"Not Found":"Bad Request",p.INVALID_REQUEST,f);return}const m=Se(e.headers);if(m===void 0){b(t,401,"You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth.",p.INVALID_REQUEST,d.MISSING_API_KEY);return}const E=await r.expectedKey();if(E===void 0||E===""||m!==E){b(t,401,"Incorrect API key provided. You can check your API key in the proxy configuration.",p.INVALID_REQUEST,d.INVALID_API_KEY);return}let g;try{g=await ke(e,n.maxRequestBytes)}catch(i){a.warn(`llm-gateway[${s}]: cannot read the request body: ${i instanceof Error?i.message:"unknown error"}`),t.headersSent||b(t,400,"Failed to read request body",p.INVALID_REQUEST,d.BAD_REQUEST);return}const A=l.includes("/chat/completions");let y,v=!1;if(A&&g.length>0)try{y=JSON.parse(g.toString("utf-8")),v=w(y,"stream")===!0}catch{}const k=w(y,"model"),N=typeof k=="string"&&k!==""?k:Ee;let O=g;const I=typeof k=="string"?n.modelMap[k]:void 0;I!==void 0&&typeof y=="object"&&y!==null&&(O=Buffer.from(JSON.stringify({...y,model:I}),"utf-8"));const $=w(y,"messages");if(r.reviewInput!==void 0&&A&&Array.isArray($)){const i=await Oe($,r,s);if(i!==void 0){C(t,{isStream:v,httpStatus:400,message:i.fallbackMsg===""?_e:i.fallbackMsg,type:p.CONTENT_FILTER,code:d.CONTENT_REVIEW_FAILED_INPUT,extra:i.extra});return}}let T;try{T=await r.upstreamAuth()}catch(i){C(t,$e(i,v)),a.warn(`llm-gateway[${s}]: cannot obtain upstream credentials: ${i instanceof Error?i.name:"unknown error"}`);return}const x={authorization:T.authorization,bus:le};T.guid!==""&&(x.guid=T.guid),T.qimei36!==""&&(x.qimei36=T.qimei36),T.qua2!==""&&(x.qua2=T.qua2),O!==g&&(x["content-length"]=String(O.length));const R=we({target:n.upstream,method:_,path:h.path,headers:ge(e.headers,n.upstream,x),timeoutMs:n.timeoutMs}),u=r.track(R);R.on("response",i=>{const f=i.statusCode??502;if((i.headers["content-type"]??"").includes("text/event-stream")||v){t.writeHead(f,te(i.headers)),Re({res:t,upstream:i,model:N,thresholdChars:n.review.thresholdChars,maxPendingBytes:n.review.maxPendingBytes,reviewOutput:r.reviewOutput,logger:a,requestId:s});return}Pe({upstream:i,res:t,status:f,deps:r,requestId:s,modelLabel:N,isChatCompletions:A})}),R.on("timeout",()=>{a.warn(`llm-gateway[${s}]: upstream timed out after ${String(n.timeoutMs)}ms`),R.destroy(),C(t,{isStream:v,httpStatus:504,message:"Gateway Timeout",type:p.SERVER,code:d.GATEWAY_TIMEOUT})}),R.on("error",i=>{a.warn(`llm-gateway[${s}]: upstream request failed: ${i.message}`),C(t,{isStream:v,httpStatus:502,message:`Bad Gateway: ${i.message}`,type:p.SERVER,code:d.PROXY_ERROR})}),R.once("close",u),t.once("close",()=>{t.writableEnded||R.destroy()}),R.end(O)},"handleRequest"),Oe=o(async(e,t,r)=>{if(Ie(e)){t.logger.debug(`llm-gateway[${r}]: tool continuation; input already reviewed this turn`);return}const n=be(e).at(-1);if(n===void 0)return;const a=t.reviewInput;if(a!==void 0)try{return await a(n)}catch(s){t.logger.warn(`llm-gateway[${r}]: input review unavailable, forwarding anyway (${s instanceof Error?s.name:"unknown error"})`);return}},"reviewLastUserMessage"),$e=o((e,t)=>e instanceof de?{isStream:t,httpStatus:429,message:e.message,type:p.INSUFFICIENT_QUOTA,code:d.TOKEN_EXHAUSTED}:e instanceof ue?{isStream:t,httpStatus:401,message:`Auth token expired: ${e.message}`,type:p.AUTH,code:d.AUTH_EXPIRED}:{isStream:t,httpStatus:500,message:`Failed to obtain auth token: ${e instanceof Error?e.message:"unknown error"}`,type:p.SERVER,code:d.TOKEN_FETCH_ERROR},"classifyAuthFailure"),Pe=o(e=>{const{upstream:t,res:r,status:n,deps:a,requestId:s,modelLabel:l,isChatCompletions:_}=e,h=[];t.on("data",m=>{h.push(m)}),t.once("error",m=>{if(a.logger.warn(`llm-gateway[${s}]: reading the upstream reply failed: ${m.message}`),!r.headersSent){b(r,502,`Bad Gateway: ${m.message}`,p.SERVER,d.PROXY_ERROR);return}r.end()}),t.once("end",()=>{(async()=>{const m=Buffer.concat(h);let E;if(_)try{E=JSON.parse(m.toString("utf-8"))}catch{}if(z(E)){if(a.logger.warn(`llm-gateway[${s}]: upstream reported a dependency failure (reqid=${X(E)})`),!r.headersSent){b(r,503,B,p.UPSTREAM,d.UPSTREAM_UNAVAILABLE);return}r.end();return}if(E!==void 0){const g=xe(E);if(g.texts.length===0&&!g.hasToolCalls){if(a.logger.debug(`llm-gateway[${s}]: upstream produced no output; sending the standard notice`),!r.headersSent){ve(r,H,l);return}r.end();return}const A=a.reviewOutput;if(A!==void 0&&g.texts.length>0){const y=await Le(A,g.texts.join(""),a,s);if(y!==void 0){if(!r.headersSent){b(r,400,y.fallbackMsg,p.CONTENT_FILTER,d.CONTENT_REVIEW_FAILED_OUTPUT,y.extra);return}r.end();return}}}if(r.headersSent){r.end();return}r.writeHead(n,te(t.headers)),r.end(m)})()})},"relayBufferedResponse"),Le=o(async(e,t,r,n)=>{try{return await e(t)}catch(a){r.logger.warn(`llm-gateway[${n}]: output review unavailable, relaying the reply (${a instanceof Error?a.name:"unknown error"})`);return}},"reviewOutputText");var re=class extends Error{static{o(this,"GatewayListenError")}code="GATEWAY_LISTEN_FAILED";constructor(e){super(`llm-gateway: failed to listen: ${e.message}`,{cause:e}),this.name="GatewayListenError"}},ne=class extends Error{static{o(this,"GatewayKeyError")}code="GATEWAY_KEY_UNWRITABLE";constructor(e,t){super(`llm-gateway: cannot store the gateway key in "${e}": a read-only source${t===void 0?"":` (${t})`} already supplies it. Point keyRef at an unused reference, or set generateKey to false to authenticate against the value that source provides.`),this.name="GatewayKeyError"}};const Ce=o(e=>{if(e instanceof ce)return{fallbackMsg:e.fallbackMsg,extra:{phase_action:e.phaseAction,is_show:e.isShow}}},"toReviewDenial");var ae=class extends q{static{o(this,"LlmGateway")}static inject=["credentials","qbAuth","contentReview"];static Config=c.object({host:c.union([c.const("127.0.0.1"),c.const("0.0.0.0")]).default("127.0.0.1"),port:c.natural().max(65535).default(0),upstream:c.object({baseURL:c.string().required(),timeoutMs:c.natural().min(1e3).max(6e5).default(12e4)}),auth:c.object({kind:c.union([c.const("qb-encode-token"),c.const("credential")]).default("qb-encode-token"),ref:c.string().role("credential-ref").default("")}),review:c.object({input:c.boolean().default(!0),output:c.boolean().default(!0),thresholdChars:c.natural().min(1).default(100),maxPendingBytes:c.natural().min(1024).default(4*1024*1024)}),keyRef:c.string().role("credential-ref").default(G),maxRequestBytes:c.natural().min(1024).default(32*1024*1024),generateKey:c.boolean().default(!0),modelMap:c.dict(c.string()).default({})});spec;keyRef;inFlight=new Set;server;listenedPort;localKey;keyStored=!1;constructor(e,t){super(e,"llmGateway"),this.spec=V(t),this.keyRef=K(this.spec.keyRef)}get port(){return this.listenedPort}get host(){return this.spec.host}get baseURL(){return`http://${this.spec.host}:${String(this.listenedPort)}/v1`}inspect(){return{inFlight:this.inFlight.size,keyStored:this.keyStored}}async[q.init](){await this.establishKey();const e=this.buildDeps();this.server=se((t,r)=>{Ne(t,r,e).catch(n=>{if(this.ctx.logger.warn(`llm-gateway: request handling failed: ${n instanceof Error?n.message:String(n)}`),r.headersSent){r.destroy();return}b(r,500,"Internal gateway error",p.SERVER,d.PROXY_ERROR)})}),await new Promise((t,r)=>{const n=o(a=>{r(new re(a))},"rejectListen");this.server.once("error",n),this.server.listen(this.spec.port,this.spec.host,()=>{this.server.off("error",n),this.server.on("error",a=>{this.ctx.logger.error(a)}),this.listenedPort=this.server.address().port,t()})}),this.ctx.effect(()=>async()=>{for(const r of this.inFlight)r.destroy();this.inFlight.clear();const t=new Promise(r=>{this.server.close(()=>{r()})});this.server.closeAllConnections(),await t,await this.retractKey()},"llmGateway.listen")}async establishKey(){if(!this.spec.generateKey)return;const e=await this.ctx.credentials.describe(this.keyRef);if(!e.writable)throw new ne(this.spec.keyRef,e.source);const t=M(32).toString("base64url");await this.ctx.credentials.set(this.keyRef,t),this.localKey=t,this.keyStored=!0}async retractKey(){if(this.keyStored){this.keyStored=!1,this.localKey=void 0;try{await this.ctx.credentials.unset(this.keyRef)}catch(e){this.ctx.logger.warn(`llm-gateway: could not remove the gateway key from "${this.spec.keyRef}": ${e instanceof Error?e.message:String(e)}`)}}}buildDeps(){return{spec:this.spec,logger:{debug:o(e=>{this.ctx.logger.debug(e)},"debug"),warn:o(e=>{this.ctx.logger.warn(e)},"warn")},expectedKey:o(async()=>{const e=this.localKey;return e!==void 0?e:(await this.ctx.credentials.resolve(this.keyRef))?.value},"expectedKey"),upstreamAuth:o(async()=>this.resolveUpstreamAuth(),"upstreamAuth"),reviewInput:this.spec.review.input?e=>this.review(e,F.INPUT):void 0,reviewOutput:this.spec.review.output?e=>this.review(e,F.OUTPUT):void 0,track:o(e=>(this.inFlight.add(e),()=>{this.inFlight.delete(e)}),"track")}}async resolveUpstreamAuth(){const e=this.spec.auth;switch(e.kind){case"qb-encode-token":{const t=await this.ctx.qbAuth.llmToken(),r=await this.ctx.qbAuth.identity();return{authorization:`Bearer ${t}`,guid:r.guid,qimei36:r.qimei36,qua2:r.qua2}}case"credential":{const t=await this.ctx.credentials.resolve(K(e.ref));if(t===void 0)throw new Error(`llm-gateway: credential "${e.ref}" is not configured`);return{authorization:`Bearer ${t.value}`,guid:"",qimei36:"",qua2:""}}default:throw new Error(`llm-gateway: unhandled auth strategy ${JSON.stringify(e)}`)}}async review(e,t){try{await this.ctx.contentReview.review({text:e,type:t});return}catch(r){const n=Ce(r);if(n!==void 0)return n;throw r}}};export{G as DEFAULT_KEY_REF,d as ErrorCode,p as ErrorType,P as GatewayConfigError,ne as GatewayKeyError,re as GatewayListenError,ae as LlmGateway,ae as default,V as resolveSpec};
@@ -1 +1 @@
1
- {"name":"@deepseek-ai/dsh-llm-gateway-openai","version":"0.0.9","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-content-review":"^0.0.9","@deepseek-ai/dsh-invariants":"^0.0.9","@deepseek-ai/dsh-credentials":"^0.0.9","@deepseek-ai/dsh-qb-auth":"^0.0.9"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
1
+ {"name":"@deepseek-ai/dsh-llm-gateway-openai","version":"0.0.11","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":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-content-review":"^0.0.11","@deepseek-ai/dsh-invariants":"^0.0.11","@deepseek-ai/dsh-credentials":"^0.0.11","@deepseek-ai/dsh-qb-auth":"^0.0.11"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}