@dsh-cove/dsh-web-all 0.0.0-stage → 0.4.3

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 (912) hide show
  1. package/LICENSE +202 -0
  2. package/README.i18n.yaml +6 -0
  3. package/README.md +201 -2
  4. package/README.zh.md +202 -0
  5. package/cordis.patch.yml +59 -0
  6. package/lib/client.js +25413 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/index.js +20024 -0
  9. package/lib/invariant.js +6 -0
  10. package/lib/types/client/compat.d.ts +29 -0
  11. package/lib/types/client/compat.d.ts.map +1 -0
  12. package/lib/types/client/compat.js +69 -0
  13. package/lib/types/client/conversation/git-branch.d.ts +13 -0
  14. package/lib/types/client/conversation/git-branch.d.ts.map +1 -0
  15. package/lib/types/client/conversation/git-branch.js +121 -0
  16. package/lib/types/client/conversation/git-graph/api.d.ts +42 -0
  17. package/lib/types/client/conversation/git-graph/api.d.ts.map +1 -0
  18. package/lib/types/client/conversation/git-graph/api.js +72 -0
  19. package/lib/types/client/conversation/git-graph/branch-chip.d.ts +47 -0
  20. package/lib/types/client/conversation/git-graph/branch-chip.d.ts.map +1 -0
  21. package/lib/types/client/conversation/git-graph/branch-chip.js +268 -0
  22. package/lib/types/client/conversation/git-graph/branch-popover.d.ts +32 -0
  23. package/lib/types/client/conversation/git-graph/branch-popover.d.ts.map +1 -0
  24. package/lib/types/client/conversation/git-graph/branch-popover.js +108 -0
  25. package/lib/types/client/conversation/git-graph/chip.d.ts +24 -0
  26. package/lib/types/client/conversation/git-graph/chip.d.ts.map +1 -0
  27. package/lib/types/client/conversation/git-graph/chip.js +15 -0
  28. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts +30 -0
  29. package/lib/types/client/conversation/git-graph/create-branch-dialog.d.ts.map +1 -0
  30. package/lib/types/client/conversation/git-graph/create-branch-dialog.js +52 -0
  31. package/lib/types/client/conversation/git-graph/error-copy.d.ts +17 -0
  32. package/lib/types/client/conversation/git-graph/error-copy.d.ts.map +1 -0
  33. package/lib/types/client/conversation/git-graph/error-copy.js +44 -0
  34. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts +21 -0
  35. package/lib/types/client/conversation/git-graph/graph-dialog.d.ts.map +1 -0
  36. package/lib/types/client/conversation/git-graph/graph-dialog.js +112 -0
  37. package/lib/types/client/conversation/git-graph/hero-seat.d.ts +53 -0
  38. package/lib/types/client/conversation/git-graph/hero-seat.d.ts.map +1 -0
  39. package/lib/types/client/conversation/git-graph/hero-seat.js +54 -0
  40. package/lib/types/client/conversation/git-graph/locales.d.ts +88 -0
  41. package/lib/types/client/conversation/git-graph/locales.d.ts.map +1 -0
  42. package/lib/types/client/conversation/git-graph/locales.js +85 -0
  43. package/lib/types/client/conversation/git-graph/sse-leader.d.ts +37 -0
  44. package/lib/types/client/conversation/git-graph/sse-leader.d.ts.map +1 -0
  45. package/lib/types/client/conversation/git-graph/sse-leader.js +101 -0
  46. package/lib/types/client/conversation/index.d.ts +43 -0
  47. package/lib/types/client/conversation/index.d.ts.map +1 -0
  48. package/lib/types/client/conversation/index.js +39 -0
  49. package/lib/types/client/conversation/selector-context.d.ts +12 -0
  50. package/lib/types/client/conversation/selector-context.d.ts.map +1 -0
  51. package/lib/types/client/conversation/selector-context.js +11 -0
  52. package/lib/types/client/conversation/session-lane-chip.d.ts +72 -0
  53. package/lib/types/client/conversation/session-lane-chip.d.ts.map +1 -0
  54. package/lib/types/client/conversation/session-lane-chip.js +163 -0
  55. package/lib/types/client/conversation/session-lane-locales.d.ts +22 -0
  56. package/lib/types/client/conversation/session-lane-locales.d.ts.map +1 -0
  57. package/lib/types/client/conversation/session-lane-locales.js +29 -0
  58. package/lib/types/client/conversation/subagent-model-dom.d.ts +16 -0
  59. package/lib/types/client/conversation/subagent-model-dom.d.ts.map +1 -0
  60. package/lib/types/client/conversation/subagent-model-dom.js +138 -0
  61. package/lib/types/client/conversation/subagent-model.d.ts +17 -0
  62. package/lib/types/client/conversation/subagent-model.d.ts.map +1 -0
  63. package/lib/types/client/conversation/subagent-model.js +156 -0
  64. package/lib/types/client/conversation/worktree/api.d.ts +97 -0
  65. package/lib/types/client/conversation/worktree/api.d.ts.map +1 -0
  66. package/lib/types/client/conversation/worktree/api.js +239 -0
  67. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts +35 -0
  68. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.d.ts.map +1 -0
  69. package/lib/types/client/conversation/worktree/dialogs/DeleteWorktreeDialog.js +55 -0
  70. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts +27 -0
  71. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.d.ts.map +1 -0
  72. package/lib/types/client/conversation/worktree/dialogs/PrCreateDialog.js +49 -0
  73. package/lib/types/client/conversation/worktree/lane-binding.d.ts +46 -0
  74. package/lib/types/client/conversation/worktree/lane-binding.d.ts.map +1 -0
  75. package/lib/types/client/conversation/worktree/lane-binding.js +60 -0
  76. package/lib/types/client/conversation/worktree/lane-menu.d.ts +51 -0
  77. package/lib/types/client/conversation/worktree/lane-menu.d.ts.map +1 -0
  78. package/lib/types/client/conversation/worktree/lane-menu.js +140 -0
  79. package/lib/types/client/conversation/worktree/lane-open.d.ts +126 -0
  80. package/lib/types/client/conversation/worktree/lane-open.d.ts.map +1 -0
  81. package/lib/types/client/conversation/worktree/lane-open.js +140 -0
  82. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts +79 -0
  83. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.d.ts.map +1 -0
  84. package/lib/types/client/conversation/worktree/lane-workspace-sweeper.js +116 -0
  85. package/lib/types/client/conversation/worktree/lifecycle.d.ts +29 -0
  86. package/lib/types/client/conversation/worktree/lifecycle.d.ts.map +1 -0
  87. package/lib/types/client/conversation/worktree/lifecycle.js +67 -0
  88. package/lib/types/client/conversation/worktree/locales.d.ts +58 -0
  89. package/lib/types/client/conversation/worktree/locales.d.ts.map +1 -0
  90. package/lib/types/client/conversation/worktree/locales.js +86 -0
  91. package/lib/types/client/conversation/worktree/semantic.d.ts +11 -0
  92. package/lib/types/client/conversation/worktree/semantic.d.ts.map +1 -0
  93. package/lib/types/client/conversation/worktree/semantic.js +10 -0
  94. package/lib/types/client/index.d.ts +14 -0
  95. package/lib/types/client/index.d.ts.map +1 -0
  96. package/lib/types/client/index.js +45 -0
  97. package/lib/types/client/lark-inbox/i18n.d.ts +63 -0
  98. package/lib/types/client/lark-inbox/i18n.d.ts.map +1 -0
  99. package/lib/types/client/lark-inbox/i18n.js +119 -0
  100. package/lib/types/client/lark-inbox/wizard.d.ts +19 -0
  101. package/lib/types/client/lark-inbox/wizard.d.ts.map +1 -0
  102. package/lib/types/client/lark-inbox/wizard.js +158 -0
  103. package/lib/types/client/notify/i18n.d.ts +47 -0
  104. package/lib/types/client/notify/i18n.d.ts.map +1 -0
  105. package/lib/types/client/notify/i18n.js +87 -0
  106. package/lib/types/client/settings/family-scope.d.ts +23 -0
  107. package/lib/types/client/settings/family-scope.d.ts.map +1 -0
  108. package/lib/types/client/settings/family-scope.js +30 -0
  109. package/lib/types/client/settings/lark-inbox.d.ts +73 -0
  110. package/lib/types/client/settings/lark-inbox.d.ts.map +1 -0
  111. package/lib/types/client/settings/lark-inbox.js +144 -0
  112. package/lib/types/client/settings/notify.d.ts +66 -0
  113. package/lib/types/client/settings/notify.d.ts.map +1 -0
  114. package/lib/types/client/settings/notify.js +139 -0
  115. package/lib/types/client/settings/primitives-0.2.d.ts +137 -0
  116. package/lib/types/client/settings/primitives-0.2.d.ts.map +1 -0
  117. package/lib/types/client/settings/primitives-0.2.js +8 -0
  118. package/lib/types/client/sidebar/RenderBoundary.d.ts +17 -0
  119. package/lib/types/client/sidebar/RenderBoundary.d.ts.map +1 -0
  120. package/lib/types/client/sidebar/RenderBoundary.js +18 -0
  121. package/lib/types/client/sidebar/agent-browser.d.ts +9 -0
  122. package/lib/types/client/sidebar/agent-browser.d.ts.map +1 -0
  123. package/lib/types/client/sidebar/agent-browser.js +102 -0
  124. package/lib/types/client/sidebar/diff-view.d.ts +58 -0
  125. package/lib/types/client/sidebar/diff-view.d.ts.map +1 -0
  126. package/lib/types/client/sidebar/diff-view.js +223 -0
  127. package/lib/types/client/sidebar/git-workbench.d.ts +41 -0
  128. package/lib/types/client/sidebar/git-workbench.d.ts.map +1 -0
  129. package/lib/types/client/sidebar/git-workbench.js +480 -0
  130. package/lib/types/client/sidebar/icons.d.ts +9 -0
  131. package/lib/types/client/sidebar/icons.d.ts.map +1 -0
  132. package/lib/types/client/sidebar/icons.js +6 -0
  133. package/lib/types/client/sidebar/index.d.ts +19 -0
  134. package/lib/types/client/sidebar/index.d.ts.map +1 -0
  135. package/lib/types/client/sidebar/index.js +12 -0
  136. package/lib/types/client/sidebar/native-panels.d.ts +19 -0
  137. package/lib/types/client/sidebar/native-panels.d.ts.map +1 -0
  138. package/lib/types/client/sidebar/native-panels.js +103 -0
  139. package/lib/types/client/sidebar/page-shell.d.ts +52 -0
  140. package/lib/types/client/sidebar/page-shell.d.ts.map +1 -0
  141. package/lib/types/client/sidebar/page-shell.js +18 -0
  142. package/lib/types/client/sidebar/panels/memoir/api.d.ts +258 -0
  143. package/lib/types/client/sidebar/panels/memoir/api.d.ts.map +1 -0
  144. package/lib/types/client/sidebar/panels/memoir/api.js +135 -0
  145. package/lib/types/client/sidebar/panels/memoir/controller.d.ts +22 -0
  146. package/lib/types/client/sidebar/panels/memoir/controller.d.ts.map +1 -0
  147. package/lib/types/client/sidebar/panels/memoir/controller.js +38 -0
  148. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts +80 -0
  149. package/lib/types/client/sidebar/panels/memoir/cwd.d.ts.map +1 -0
  150. package/lib/types/client/sidebar/panels/memoir/cwd.js +96 -0
  151. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts +21 -0
  152. package/lib/types/client/sidebar/panels/memoir/i18n.d.ts.map +1 -0
  153. package/lib/types/client/sidebar/panels/memoir/i18n.js +288 -0
  154. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts +11 -0
  155. package/lib/types/client/sidebar/panels/memoir/panel-activation.d.ts.map +1 -0
  156. package/lib/types/client/sidebar/panels/memoir/panel-activation.js +37 -0
  157. package/lib/types/client/sidebar/panels/memoir/panel.d.ts +26 -0
  158. package/lib/types/client/sidebar/panels/memoir/panel.d.ts.map +1 -0
  159. package/lib/types/client/sidebar/panels/memoir/panel.js +423 -0
  160. package/lib/types/client/sidebar/panels/memoir/styles.d.ts +22 -0
  161. package/lib/types/client/sidebar/panels/memoir/styles.d.ts.map +1 -0
  162. package/lib/types/client/sidebar/panels/memoir/styles.js +774 -0
  163. package/lib/types/client/sidebar/panels/memoir/types.d.ts +7 -0
  164. package/lib/types/client/sidebar/panels/memoir/types.d.ts.map +1 -0
  165. package/lib/types/client/sidebar/panels/memoir/types.js +5 -0
  166. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts +8 -0
  167. package/lib/types/client/sidebar/panels/ssh/ClusterTab.d.ts.map +1 -0
  168. package/lib/types/client/sidebar/panels/ssh/ClusterTab.js +53 -0
  169. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts +13 -0
  170. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.d.ts.map +1 -0
  171. package/lib/types/client/sidebar/panels/ssh/HostFormDialog.js +110 -0
  172. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts +26 -0
  173. package/lib/types/client/sidebar/panels/ssh/HostsTab.d.ts.map +1 -0
  174. package/lib/types/client/sidebar/panels/ssh/HostsTab.js +175 -0
  175. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts +14 -0
  176. package/lib/types/client/sidebar/panels/ssh/SshPanel.d.ts.map +1 -0
  177. package/lib/types/client/sidebar/panels/ssh/SshPanel.js +34 -0
  178. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts +18 -0
  179. package/lib/types/client/sidebar/panels/ssh/TerminalTab.d.ts.map +1 -0
  180. package/lib/types/client/sidebar/panels/ssh/TerminalTab.js +207 -0
  181. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts +8 -0
  182. package/lib/types/client/sidebar/panels/ssh/TransferTab.d.ts.map +1 -0
  183. package/lib/types/client/sidebar/panels/ssh/TransferTab.js +168 -0
  184. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts +18 -0
  185. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.d.ts.map +1 -0
  186. package/lib/types/client/sidebar/panels/ssh/TunnelsTab.js +161 -0
  187. package/lib/types/client/sidebar/panels/ssh/api.d.ts +80 -0
  188. package/lib/types/client/sidebar/panels/ssh/api.d.ts.map +1 -0
  189. package/lib/types/client/sidebar/panels/ssh/api.js +333 -0
  190. package/lib/types/client/sidebar/panels/ssh/controller.d.ts +23 -0
  191. package/lib/types/client/sidebar/panels/ssh/controller.d.ts.map +1 -0
  192. package/lib/types/client/sidebar/panels/ssh/controller.js +41 -0
  193. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts +44 -0
  194. package/lib/types/client/sidebar/panels/ssh/helpers.d.ts.map +1 -0
  195. package/lib/types/client/sidebar/panels/ssh/helpers.js +53 -0
  196. package/lib/types/client/sidebar/panels/ssh/locales.d.ts +155 -0
  197. package/lib/types/client/sidebar/panels/ssh/locales.d.ts.map +1 -0
  198. package/lib/types/client/sidebar/panels/ssh/locales.js +312 -0
  199. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts +3 -0
  200. package/lib/types/client/sidebar/panels/ssh/xterm.css.d.ts.map +1 -0
  201. package/lib/types/client/sidebar/panels/ssh/xterm.css.js +2 -0
  202. package/lib/types/client/sidebar/right-pane-i18n.d.ts +121 -0
  203. package/lib/types/client/sidebar/right-pane-i18n.d.ts.map +1 -0
  204. package/lib/types/client/sidebar/right-pane-i18n.js +239 -0
  205. package/lib/types/client/sidebar/right-pane.d.ts +27 -0
  206. package/lib/types/client/sidebar/right-pane.d.ts.map +1 -0
  207. package/lib/types/client/sidebar/right-pane.js +112 -0
  208. package/lib/types/client/sidebar/scope.d.ts +17 -0
  209. package/lib/types/client/sidebar/scope.d.ts.map +1 -0
  210. package/lib/types/client/sidebar/scope.js +41 -0
  211. package/lib/types/client/trust.d.ts +78 -0
  212. package/lib/types/client/trust.d.ts.map +1 -0
  213. package/lib/types/client/trust.js +130 -0
  214. package/lib/types/client/ui-icons.d.ts +19 -0
  215. package/lib/types/client/ui-icons.d.ts.map +1 -0
  216. package/lib/types/client/ui-icons.js +33 -0
  217. package/lib/types/core/git-graph/commands.d.ts +36 -0
  218. package/lib/types/core/git-graph/commands.d.ts.map +1 -0
  219. package/lib/types/core/git-graph/commands.js +122 -0
  220. package/lib/types/core/git-graph/protocol.d.ts +104 -0
  221. package/lib/types/core/git-graph/protocol.d.ts.map +1 -0
  222. package/lib/types/core/git-graph/protocol.js +142 -0
  223. package/lib/types/core/index.d.ts +3 -0
  224. package/lib/types/core/index.d.ts.map +1 -0
  225. package/lib/types/core/index.js +2 -0
  226. package/lib/types/core/lark-inbox/gating.d.ts +21 -0
  227. package/lib/types/core/lark-inbox/gating.d.ts.map +1 -0
  228. package/lib/types/core/lark-inbox/gating.js +17 -0
  229. package/lib/types/core/lark-inbox/queue.d.ts +27 -0
  230. package/lib/types/core/lark-inbox/queue.d.ts.map +1 -0
  231. package/lib/types/core/lark-inbox/queue.js +78 -0
  232. package/lib/types/core/memoir/protocol.d.ts +42 -0
  233. package/lib/types/core/memoir/protocol.d.ts.map +1 -0
  234. package/lib/types/core/memoir/protocol.js +8 -0
  235. package/lib/types/core/no-browser-auth/contract.d.ts +22 -0
  236. package/lib/types/core/no-browser-auth/contract.d.ts.map +1 -0
  237. package/lib/types/core/no-browser-auth/contract.js +9 -0
  238. package/lib/types/core/notify/contract.d.ts +133 -0
  239. package/lib/types/core/notify/contract.d.ts.map +1 -0
  240. package/lib/types/core/notify/contract.js +186 -0
  241. package/lib/types/core/notify/feed.d.ts +116 -0
  242. package/lib/types/core/notify/feed.d.ts.map +1 -0
  243. package/lib/types/core/notify/feed.js +214 -0
  244. package/lib/types/core/playwright-sessions/contracts.d.ts +98 -0
  245. package/lib/types/core/playwright-sessions/contracts.d.ts.map +1 -0
  246. package/lib/types/core/playwright-sessions/contracts.js +68 -0
  247. package/lib/types/core/playwright-sessions/control.d.ts +19 -0
  248. package/lib/types/core/playwright-sessions/control.d.ts.map +1 -0
  249. package/lib/types/core/playwright-sessions/control.js +9 -0
  250. package/lib/types/core/playwright-sessions/index.d.ts +4 -0
  251. package/lib/types/core/playwright-sessions/index.d.ts.map +1 -0
  252. package/lib/types/core/playwright-sessions/index.js +3 -0
  253. package/lib/types/core/playwright-sessions/names.d.ts +4 -0
  254. package/lib/types/core/playwright-sessions/names.d.ts.map +1 -0
  255. package/lib/types/core/playwright-sessions/names.js +84 -0
  256. package/lib/types/core/playwright-sessions/schema.d.ts +4 -0
  257. package/lib/types/core/playwright-sessions/schema.d.ts.map +1 -0
  258. package/lib/types/core/playwright-sessions/schema.js +90 -0
  259. package/lib/types/core/playwright-sessions/wire.d.ts +78 -0
  260. package/lib/types/core/playwright-sessions/wire.d.ts.map +1 -0
  261. package/lib/types/core/playwright-sessions/wire.js +103 -0
  262. package/lib/types/core/remote-access/paths.d.ts +19 -0
  263. package/lib/types/core/remote-access/paths.d.ts.map +1 -0
  264. package/lib/types/core/remote-access/paths.js +18 -0
  265. package/lib/types/core/remote-web-ui/security.d.ts +35 -0
  266. package/lib/types/core/remote-web-ui/security.d.ts.map +1 -0
  267. package/lib/types/core/remote-web-ui/security.js +146 -0
  268. package/lib/types/core/right-pane/protocol.d.ts +25 -0
  269. package/lib/types/core/right-pane/protocol.d.ts.map +1 -0
  270. package/lib/types/core/right-pane/protocol.js +91 -0
  271. package/lib/types/core/schedule-mode/index.d.ts +7 -0
  272. package/lib/types/core/schedule-mode/index.d.ts.map +1 -0
  273. package/lib/types/core/schedule-mode/index.js +6 -0
  274. package/lib/types/core/schedule-mode/native.d.ts +35 -0
  275. package/lib/types/core/schedule-mode/native.d.ts.map +1 -0
  276. package/lib/types/core/schedule-mode/native.js +82 -0
  277. package/lib/types/core/schedule-mode/types.d.ts +177 -0
  278. package/lib/types/core/schedule-mode/types.d.ts.map +1 -0
  279. package/lib/types/core/schedule-mode/types.js +65 -0
  280. package/lib/types/core/schedule-mode/view.d.ts +62 -0
  281. package/lib/types/core/schedule-mode/view.d.ts.map +1 -0
  282. package/lib/types/core/schedule-mode/view.js +4 -0
  283. package/lib/types/core/ssh/protocol.d.ts +215 -0
  284. package/lib/types/core/ssh/protocol.d.ts.map +1 -0
  285. package/lib/types/core/ssh/protocol.js +23 -0
  286. package/lib/types/core/subagent-model/badges.d.ts +73 -0
  287. package/lib/types/core/subagent-model/badges.d.ts.map +1 -0
  288. package/lib/types/core/subagent-model/badges.js +105 -0
  289. package/lib/types/core/subagent-model/model-resolver.d.ts +25 -0
  290. package/lib/types/core/subagent-model/model-resolver.d.ts.map +1 -0
  291. package/lib/types/core/subagent-model/model-resolver.js +60 -0
  292. package/lib/types/core/worktree/invariant.d.ts +62 -0
  293. package/lib/types/core/worktree/invariant.d.ts.map +1 -0
  294. package/lib/types/core/worktree/invariant.js +72 -0
  295. package/lib/types/core/worktree/manifest.d.ts +71 -0
  296. package/lib/types/core/worktree/manifest.d.ts.map +1 -0
  297. package/lib/types/core/worktree/manifest.js +98 -0
  298. package/lib/types/core/worktree/paths.d.ts +60 -0
  299. package/lib/types/core/worktree/paths.d.ts.map +1 -0
  300. package/lib/types/core/worktree/paths.js +118 -0
  301. package/lib/types/core/worktree/pr-create.d.ts +67 -0
  302. package/lib/types/core/worktree/pr-create.d.ts.map +1 -0
  303. package/lib/types/core/worktree/pr-create.js +118 -0
  304. package/lib/types/core/worktree/protocol.d.ts +7 -0
  305. package/lib/types/core/worktree/protocol.d.ts.map +1 -0
  306. package/lib/types/core/worktree/protocol.js +6 -0
  307. package/lib/types/core/worktree/types.d.ts +292 -0
  308. package/lib/types/core/worktree/types.d.ts.map +1 -0
  309. package/lib/types/core/worktree/types.js +14 -0
  310. package/lib/types/core/worktree/workspace-model.d.ts +56 -0
  311. package/lib/types/core/worktree/workspace-model.d.ts.map +1 -0
  312. package/lib/types/core/worktree/workspace-model.js +14 -0
  313. package/lib/types/host/services/access-trust/index.d.ts +54 -0
  314. package/lib/types/host/services/access-trust/index.d.ts.map +1 -0
  315. package/lib/types/host/services/access-trust/index.js +82 -0
  316. package/lib/types/host/services/access-trust/trust.d.ts +70 -0
  317. package/lib/types/host/services/access-trust/trust.d.ts.map +1 -0
  318. package/lib/types/host/services/access-trust/trust.js +187 -0
  319. package/lib/types/host/services/codex-bridge/bridge.d.ts +106 -0
  320. package/lib/types/host/services/codex-bridge/bridge.d.ts.map +1 -0
  321. package/lib/types/host/services/codex-bridge/bridge.js +321 -0
  322. package/lib/types/host/services/codex-bridge/codex-auth.d.ts +108 -0
  323. package/lib/types/host/services/codex-bridge/codex-auth.d.ts.map +1 -0
  324. package/lib/types/host/services/codex-bridge/codex-auth.js +241 -0
  325. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts +58 -0
  326. package/lib/types/host/services/codex-bridge/dsh-integration.d.ts.map +1 -0
  327. package/lib/types/host/services/codex-bridge/dsh-integration.js +120 -0
  328. package/lib/types/host/services/codex-bridge/http.d.ts +43 -0
  329. package/lib/types/host/services/codex-bridge/http.d.ts.map +1 -0
  330. package/lib/types/host/services/codex-bridge/http.js +92 -0
  331. package/lib/types/host/services/codex-bridge/index.d.ts +63 -0
  332. package/lib/types/host/services/codex-bridge/index.d.ts.map +1 -0
  333. package/lib/types/host/services/codex-bridge/index.js +111 -0
  334. package/lib/types/host/services/codex-bridge/loopback.d.ts +25 -0
  335. package/lib/types/host/services/codex-bridge/loopback.d.ts.map +1 -0
  336. package/lib/types/host/services/codex-bridge/loopback.js +68 -0
  337. package/lib/types/host/services/codex-bridge/routes.d.ts +31 -0
  338. package/lib/types/host/services/codex-bridge/routes.d.ts.map +1 -0
  339. package/lib/types/host/services/codex-bridge/routes.js +126 -0
  340. package/lib/types/host/services/family-config.d.ts +71 -0
  341. package/lib/types/host/services/family-config.d.ts.map +1 -0
  342. package/lib/types/host/services/family-config.js +166 -0
  343. package/lib/types/host/services/family-namespaces.d.ts +24 -0
  344. package/lib/types/host/services/family-namespaces.d.ts.map +1 -0
  345. package/lib/types/host/services/family-namespaces.js +30 -0
  346. package/lib/types/host/services/git-graph/index.d.ts +6 -0
  347. package/lib/types/host/services/git-graph/index.d.ts.map +1 -0
  348. package/lib/types/host/services/git-graph/index.js +7 -0
  349. package/lib/types/host/services/git-graph/routes.d.ts +4 -0
  350. package/lib/types/host/services/git-graph/routes.d.ts.map +1 -0
  351. package/lib/types/host/services/git-graph/routes.js +241 -0
  352. package/lib/types/host/services/git-graph/service.d.ts +52 -0
  353. package/lib/types/host/services/git-graph/service.d.ts.map +1 -0
  354. package/lib/types/host/services/git-graph/service.js +301 -0
  355. package/lib/types/host/services/index.d.ts +23 -0
  356. package/lib/types/host/services/index.d.ts.map +1 -0
  357. package/lib/types/host/services/index.js +80 -0
  358. package/lib/types/host/services/lark-inbox/config.d.ts +24 -0
  359. package/lib/types/host/services/lark-inbox/config.d.ts.map +1 -0
  360. package/lib/types/host/services/lark-inbox/config.js +48 -0
  361. package/lib/types/host/services/lark-inbox/gateway.d.ts +53 -0
  362. package/lib/types/host/services/lark-inbox/gateway.d.ts.map +1 -0
  363. package/lib/types/host/services/lark-inbox/gateway.js +171 -0
  364. package/lib/types/host/services/lark-inbox/host-routes.d.ts +22 -0
  365. package/lib/types/host/services/lark-inbox/host-routes.d.ts.map +1 -0
  366. package/lib/types/host/services/lark-inbox/host-routes.js +146 -0
  367. package/lib/types/host/services/lark-inbox/inbox-store.d.ts +39 -0
  368. package/lib/types/host/services/lark-inbox/inbox-store.d.ts.map +1 -0
  369. package/lib/types/host/services/lark-inbox/inbox-store.js +124 -0
  370. package/lib/types/host/services/lark-inbox/index.d.ts +26 -0
  371. package/lib/types/host/services/lark-inbox/index.d.ts.map +1 -0
  372. package/lib/types/host/services/lark-inbox/index.js +135 -0
  373. package/lib/types/host/services/lark-inbox/tools.d.ts +7 -0
  374. package/lib/types/host/services/lark-inbox/tools.d.ts.map +1 -0
  375. package/lib/types/host/services/lark-inbox/tools.js +119 -0
  376. package/lib/types/host/services/lark-inbox/wizard.d.ts +62 -0
  377. package/lib/types/host/services/lark-inbox/wizard.d.ts.map +1 -0
  378. package/lib/types/host/services/lark-inbox/wizard.js +211 -0
  379. package/lib/types/host/services/lifecycle.d.ts +29 -0
  380. package/lib/types/host/services/lifecycle.d.ts.map +1 -0
  381. package/lib/types/host/services/lifecycle.js +93 -0
  382. package/lib/types/host/services/memoir/index.d.ts +40 -0
  383. package/lib/types/host/services/memoir/index.d.ts.map +1 -0
  384. package/lib/types/host/services/memoir/index.js +52 -0
  385. package/lib/types/host/services/memoir/routes.d.ts +30 -0
  386. package/lib/types/host/services/memoir/routes.d.ts.map +1 -0
  387. package/lib/types/host/services/memoir/routes.js +364 -0
  388. package/lib/types/host/services/memoir/settings.d.ts +27 -0
  389. package/lib/types/host/services/memoir/settings.d.ts.map +1 -0
  390. package/lib/types/host/services/memoir/settings.js +120 -0
  391. package/lib/types/host/services/memoir/store.d.ts +35 -0
  392. package/lib/types/host/services/memoir/store.d.ts.map +1 -0
  393. package/lib/types/host/services/memoir/store.js +124 -0
  394. package/lib/types/host/services/memoir/tools.d.ts +8 -0
  395. package/lib/types/host/services/memoir/tools.d.ts.map +1 -0
  396. package/lib/types/host/services/memoir/tools.js +154 -0
  397. package/lib/types/host/services/no-browser-auth/index.d.ts +25 -0
  398. package/lib/types/host/services/no-browser-auth/index.d.ts.map +1 -0
  399. package/lib/types/host/services/no-browser-auth/index.js +42 -0
  400. package/lib/types/host/services/notify/config.d.ts +105 -0
  401. package/lib/types/host/services/notify/config.d.ts.map +1 -0
  402. package/lib/types/host/services/notify/config.js +123 -0
  403. package/lib/types/host/services/notify/feishu-sender.d.ts +120 -0
  404. package/lib/types/host/services/notify/feishu-sender.d.ts.map +1 -0
  405. package/lib/types/host/services/notify/feishu-sender.js +186 -0
  406. package/lib/types/host/services/notify/host-routes.d.ts +69 -0
  407. package/lib/types/host/services/notify/host-routes.d.ts.map +1 -0
  408. package/lib/types/host/services/notify/host-routes.js +112 -0
  409. package/lib/types/host/services/notify/index.d.ts +80 -0
  410. package/lib/types/host/services/notify/index.d.ts.map +1 -0
  411. package/lib/types/host/services/notify/index.js +263 -0
  412. package/lib/types/host/services/playwright-sessions/child.d.ts +76 -0
  413. package/lib/types/host/services/playwright-sessions/child.d.ts.map +1 -0
  414. package/lib/types/host/services/playwright-sessions/child.js +197 -0
  415. package/lib/types/host/services/playwright-sessions/controller.d.ts +25 -0
  416. package/lib/types/host/services/playwright-sessions/controller.d.ts.map +1 -0
  417. package/lib/types/host/services/playwright-sessions/controller.js +104 -0
  418. package/lib/types/host/services/playwright-sessions/index.d.ts +6 -0
  419. package/lib/types/host/services/playwright-sessions/index.d.ts.map +1 -0
  420. package/lib/types/host/services/playwright-sessions/index.js +161 -0
  421. package/lib/types/host/services/playwright-sessions/live-view.d.ts +32 -0
  422. package/lib/types/host/services/playwright-sessions/live-view.d.ts.map +1 -0
  423. package/lib/types/host/services/playwright-sessions/live-view.js +188 -0
  424. package/lib/types/host/services/playwright-sessions/manager.d.ts +87 -0
  425. package/lib/types/host/services/playwright-sessions/manager.d.ts.map +1 -0
  426. package/lib/types/host/services/playwright-sessions/manager.js +203 -0
  427. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts +39 -0
  428. package/lib/types/host/services/playwright-sessions/profile-gc.d.ts.map +1 -0
  429. package/lib/types/host/services/playwright-sessions/profile-gc.js +72 -0
  430. package/lib/types/host/services/playwright-sessions/routes.d.ts +18 -0
  431. package/lib/types/host/services/playwright-sessions/routes.d.ts.map +1 -0
  432. package/lib/types/host/services/playwright-sessions/routes.js +87 -0
  433. package/lib/types/host/services/remote-access/boot-scripts.d.ts +55 -0
  434. package/lib/types/host/services/remote-access/boot-scripts.d.ts.map +1 -0
  435. package/lib/types/host/services/remote-access/boot-scripts.js +109 -0
  436. package/lib/types/host/services/remote-access/index.d.ts +28 -0
  437. package/lib/types/host/services/remote-access/index.d.ts.map +1 -0
  438. package/lib/types/host/services/remote-access/index.js +47 -0
  439. package/lib/types/host/services/remote-access/routes.d.ts +42 -0
  440. package/lib/types/host/services/remote-access/routes.d.ts.map +1 -0
  441. package/lib/types/host/services/remote-access/routes.js +119 -0
  442. package/lib/types/host/services/remote-web-ui/index.d.ts +21 -0
  443. package/lib/types/host/services/remote-web-ui/index.d.ts.map +1 -0
  444. package/lib/types/host/services/remote-web-ui/index.js +325 -0
  445. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts +115 -0
  446. package/lib/types/host/services/remote-web-ui/server-mode/accounts.d.ts.map +1 -0
  447. package/lib/types/host/services/remote-web-ui/server-mode/accounts.js +396 -0
  448. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts +28 -0
  449. package/lib/types/host/services/remote-web-ui/server-mode/cookie.d.ts.map +1 -0
  450. package/lib/types/host/services/remote-web-ui/server-mode/cookie.js +48 -0
  451. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts +17 -0
  452. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.d.ts.map +1 -0
  453. package/lib/types/host/services/remote-web-ui/server-mode/dsh-home.js +40 -0
  454. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts +73 -0
  455. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.d.ts.map +1 -0
  456. package/lib/types/host/services/remote-web-ui/server-mode/external-auth.js +242 -0
  457. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts +23 -0
  458. package/lib/types/host/services/remote-web-ui/server-mode/fence.d.ts.map +1 -0
  459. package/lib/types/host/services/remote-web-ui/server-mode/fence.js +24 -0
  460. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts +89 -0
  461. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.d.ts.map +1 -0
  462. package/lib/types/host/services/remote-web-ui/server-mode/gateway-routes.js +768 -0
  463. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts +99 -0
  464. package/lib/types/host/services/remote-web-ui/server-mode/gateway.d.ts.map +1 -0
  465. package/lib/types/host/services/remote-web-ui/server-mode/gateway.js +679 -0
  466. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts +43 -0
  467. package/lib/types/host/services/remote-web-ui/server-mode/http.d.ts.map +1 -0
  468. package/lib/types/host/services/remote-web-ui/server-mode/http.js +92 -0
  469. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts +42 -0
  470. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.d.ts.map +1 -0
  471. package/lib/types/host/services/remote-web-ui/server-mode/integrated-auth.js +73 -0
  472. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts +13 -0
  473. package/lib/types/host/services/remote-web-ui/server-mode/lan.d.ts.map +1 -0
  474. package/lib/types/host/services/remote-web-ui/server-mode/lan.js +17 -0
  475. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts +25 -0
  476. package/lib/types/host/services/remote-web-ui/server-mode/loopback.d.ts.map +1 -0
  477. package/lib/types/host/services/remote-web-ui/server-mode/loopback.js +68 -0
  478. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts +75 -0
  479. package/lib/types/host/services/remote-web-ui/server-mode/posture.d.ts.map +1 -0
  480. package/lib/types/host/services/remote-web-ui/server-mode/posture.js +116 -0
  481. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts +44 -0
  482. package/lib/types/host/services/remote-web-ui/server-mode/roles.d.ts.map +1 -0
  483. package/lib/types/host/services/remote-web-ui/server-mode/roles.js +47 -0
  484. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts +21 -0
  485. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.d.ts.map +1 -0
  486. package/lib/types/host/services/remote-web-ui/server-mode/server-boot.js +37 -0
  487. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts +111 -0
  488. package/lib/types/host/services/remote-web-ui/server-mode/sessions.d.ts.map +1 -0
  489. package/lib/types/host/services/remote-web-ui/server-mode/sessions.js +298 -0
  490. package/lib/types/host/services/remote-web-ui/server.d.ts +82 -0
  491. package/lib/types/host/services/remote-web-ui/server.d.ts.map +1 -0
  492. package/lib/types/host/services/remote-web-ui/server.js +492 -0
  493. package/lib/types/host/services/resources.d.ts +9 -0
  494. package/lib/types/host/services/resources.d.ts.map +1 -0
  495. package/lib/types/host/services/resources.js +98 -0
  496. package/lib/types/host/services/right-pane/browser.d.ts +42 -0
  497. package/lib/types/host/services/right-pane/browser.d.ts.map +1 -0
  498. package/lib/types/host/services/right-pane/browser.js +106 -0
  499. package/lib/types/host/services/right-pane/index.d.ts +22 -0
  500. package/lib/types/host/services/right-pane/index.d.ts.map +1 -0
  501. package/lib/types/host/services/right-pane/index.js +114 -0
  502. package/lib/types/host/services/right-pane/wire.d.ts +6 -0
  503. package/lib/types/host/services/right-pane/wire.d.ts.map +1 -0
  504. package/lib/types/host/services/right-pane/wire.js +9 -0
  505. package/lib/types/host/services/schedule-mode/config.d.ts +11 -0
  506. package/lib/types/host/services/schedule-mode/config.d.ts.map +1 -0
  507. package/lib/types/host/services/schedule-mode/config.js +15 -0
  508. package/lib/types/host/services/schedule-mode/engine.d.ts +150 -0
  509. package/lib/types/host/services/schedule-mode/engine.d.ts.map +1 -0
  510. package/lib/types/host/services/schedule-mode/engine.js +672 -0
  511. package/lib/types/host/services/schedule-mode/index.d.ts +33 -0
  512. package/lib/types/host/services/schedule-mode/index.d.ts.map +1 -0
  513. package/lib/types/host/services/schedule-mode/index.js +175 -0
  514. package/lib/types/host/services/schedule-mode/routes.d.ts +31 -0
  515. package/lib/types/host/services/schedule-mode/routes.d.ts.map +1 -0
  516. package/lib/types/host/services/schedule-mode/routes.js +109 -0
  517. package/lib/types/host/services/schedule-mode/session-create.d.ts +27 -0
  518. package/lib/types/host/services/schedule-mode/session-create.d.ts.map +1 -0
  519. package/lib/types/host/services/schedule-mode/session-create.js +21 -0
  520. package/lib/types/host/services/schedule-mode/store.d.ts +36 -0
  521. package/lib/types/host/services/schedule-mode/store.d.ts.map +1 -0
  522. package/lib/types/host/services/schedule-mode/store.js +309 -0
  523. package/lib/types/host/services/schedule-mode/tools.d.ts +13 -0
  524. package/lib/types/host/services/schedule-mode/tools.d.ts.map +1 -0
  525. package/lib/types/host/services/schedule-mode/tools.js +132 -0
  526. package/lib/types/host/services/ssh/engine.d.ts +162 -0
  527. package/lib/types/host/services/ssh/engine.d.ts.map +1 -0
  528. package/lib/types/host/services/ssh/engine.js +699 -0
  529. package/lib/types/host/services/ssh/host-keys.d.ts +10 -0
  530. package/lib/types/host/services/ssh/host-keys.d.ts.map +1 -0
  531. package/lib/types/host/services/ssh/host-keys.js +108 -0
  532. package/lib/types/host/services/ssh/index.d.ts +38 -0
  533. package/lib/types/host/services/ssh/index.d.ts.map +1 -0
  534. package/lib/types/host/services/ssh/index.js +47 -0
  535. package/lib/types/host/services/ssh/routes.d.ts +29 -0
  536. package/lib/types/host/services/ssh/routes.d.ts.map +1 -0
  537. package/lib/types/host/services/ssh/routes.js +465 -0
  538. package/lib/types/host/services/ssh/store.d.ts +40 -0
  539. package/lib/types/host/services/ssh/store.d.ts.map +1 -0
  540. package/lib/types/host/services/ssh/store.js +330 -0
  541. package/lib/types/host/services/ssh/terminal-ws.d.ts +9 -0
  542. package/lib/types/host/services/ssh/terminal-ws.d.ts.map +1 -0
  543. package/lib/types/host/services/ssh/terminal-ws.js +142 -0
  544. package/lib/types/host/services/ssh/tools.d.ts +11 -0
  545. package/lib/types/host/services/ssh/tools.d.ts.map +1 -0
  546. package/lib/types/host/services/ssh/tools.js +270 -0
  547. package/lib/types/host/services/web-render/contracts.d.ts +93 -0
  548. package/lib/types/host/services/web-render/contracts.d.ts.map +1 -0
  549. package/lib/types/host/services/web-render/contracts.js +60 -0
  550. package/lib/types/host/services/web-render/index.d.ts +58 -0
  551. package/lib/types/host/services/web-render/index.d.ts.map +1 -0
  552. package/lib/types/host/services/web-render/index.js +90 -0
  553. package/lib/types/host/services/web-render/provider.d.ts +37 -0
  554. package/lib/types/host/services/web-render/provider.d.ts.map +1 -0
  555. package/lib/types/host/services/web-render/provider.js +274 -0
  556. package/lib/types/host/services/web-search-anthropic/contracts.d.ts +117 -0
  557. package/lib/types/host/services/web-search-anthropic/contracts.d.ts.map +1 -0
  558. package/lib/types/host/services/web-search-anthropic/contracts.js +90 -0
  559. package/lib/types/host/services/web-search-anthropic/index.d.ts +53 -0
  560. package/lib/types/host/services/web-search-anthropic/index.d.ts.map +1 -0
  561. package/lib/types/host/services/web-search-anthropic/index.js +123 -0
  562. package/lib/types/host/services/web-search-anthropic/provider.d.ts +101 -0
  563. package/lib/types/host/services/web-search-anthropic/provider.d.ts.map +1 -0
  564. package/lib/types/host/services/web-search-anthropic/provider.js +237 -0
  565. package/lib/types/host/services/web-search-kaon/contracts.d.ts +114 -0
  566. package/lib/types/host/services/web-search-kaon/contracts.d.ts.map +1 -0
  567. package/lib/types/host/services/web-search-kaon/contracts.js +73 -0
  568. package/lib/types/host/services/web-search-kaon/index.d.ts +50 -0
  569. package/lib/types/host/services/web-search-kaon/index.d.ts.map +1 -0
  570. package/lib/types/host/services/web-search-kaon/index.js +114 -0
  571. package/lib/types/host/services/web-search-kaon/provider.d.ts +111 -0
  572. package/lib/types/host/services/web-search-kaon/provider.d.ts.map +1 -0
  573. package/lib/types/host/services/web-search-kaon/provider.js +244 -0
  574. package/lib/types/host/services/worktree/git-runner.d.ts +82 -0
  575. package/lib/types/host/services/worktree/git-runner.d.ts.map +1 -0
  576. package/lib/types/host/services/worktree/git-runner.js +81 -0
  577. package/lib/types/host/services/worktree/git.d.ts +94 -0
  578. package/lib/types/host/services/worktree/git.d.ts.map +1 -0
  579. package/lib/types/host/services/worktree/git.js +153 -0
  580. package/lib/types/host/services/worktree/http.d.ts +12 -0
  581. package/lib/types/host/services/worktree/http.d.ts.map +1 -0
  582. package/lib/types/host/services/worktree/http.js +34 -0
  583. package/lib/types/host/services/worktree/index.d.ts +38 -0
  584. package/lib/types/host/services/worktree/index.d.ts.map +1 -0
  585. package/lib/types/host/services/worktree/index.js +78 -0
  586. package/lib/types/host/services/worktree/lane-tool.d.ts +22 -0
  587. package/lib/types/host/services/worktree/lane-tool.d.ts.map +1 -0
  588. package/lib/types/host/services/worktree/lane-tool.js +92 -0
  589. package/lib/types/host/services/worktree/manager.d.ts +410 -0
  590. package/lib/types/host/services/worktree/manager.d.ts.map +1 -0
  591. package/lib/types/host/services/worktree/manager.js +1485 -0
  592. package/lib/types/host/services/worktree/model-override.d.ts +20 -0
  593. package/lib/types/host/services/worktree/model-override.d.ts.map +1 -0
  594. package/lib/types/host/services/worktree/model-override.js +35 -0
  595. package/lib/types/host/services/worktree/routes.d.ts +50 -0
  596. package/lib/types/host/services/worktree/routes.d.ts.map +1 -0
  597. package/lib/types/host/services/worktree/routes.js +695 -0
  598. package/lib/types/host/services/worktree/run-command.d.ts +26 -0
  599. package/lib/types/host/services/worktree/run-command.d.ts.map +1 -0
  600. package/lib/types/host/services/worktree/run-command.js +36 -0
  601. package/lib/types/host/services/worktree/session-lane/manager.d.ts +109 -0
  602. package/lib/types/host/services/worktree/session-lane/manager.d.ts.map +1 -0
  603. package/lib/types/host/services/worktree/session-lane/manager.js +172 -0
  604. package/lib/types/host/services/worktree/workspace-model-routes.d.ts +21 -0
  605. package/lib/types/host/services/worktree/workspace-model-routes.d.ts.map +1 -0
  606. package/lib/types/host/services/worktree/workspace-model-routes.js +198 -0
  607. package/lib/types/host/services/worktree/workspace-model.d.ts +48 -0
  608. package/lib/types/host/services/worktree/workspace-model.d.ts.map +1 -0
  609. package/lib/types/host/services/worktree/workspace-model.js +113 -0
  610. package/lib/types/index.d.ts +47 -0
  611. package/lib/types/index.d.ts.map +1 -0
  612. package/lib/types/index.js +52 -0
  613. package/lib/types/invariant.d.ts +4 -0
  614. package/lib/types/invariant.d.ts.map +1 -0
  615. package/lib/types/invariant.js +3 -0
  616. package/package.json +153 -3
  617. package/presets/code-vibe/THIRD_PARTY_NOTICES.md +55 -0
  618. package/presets/code-vibe/skills/UPSTREAM.md +104 -0
  619. package/presets/code-vibe/skills/agent-experience/SKILL.md +15 -0
  620. package/presets/code-vibe/skills/agent-operation/SKILL.md +43 -0
  621. package/presets/code-vibe/skills/code-review/SKILL.md +45 -0
  622. package/presets/code-vibe/skills/dsh-ci-test-reliability/SKILL.md +133 -0
  623. package/presets/code-vibe/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md +60 -0
  624. package/presets/code-vibe/skills/dsh-find-simplifications/SKILL.md +69 -0
  625. package/presets/code-vibe/skills/dsh-find-simplifications/references/historical-patterns.md +45 -0
  626. package/presets/code-vibe/skills/dsh-merging-stacked-prs/SKILL.md +129 -0
  627. package/presets/code-vibe/skills/dsh-prose-standard/SKILL.md +83 -0
  628. package/presets/code-vibe/skills/dsh-prose-standard/references/examples.md +169 -0
  629. package/presets/code-vibe/skills/dsh-speed-up-perf/SKILL.md +94 -0
  630. package/presets/code-vibe/skills/dsh-trim-cot-leakage/SKILL.md +47 -0
  631. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/examples.md +275 -0
  632. package/presets/code-vibe/skills/dsh-trim-cot-leakage/references/recall-batteries.md +52 -0
  633. package/presets/code-vibe/skills/frontend-design/SKILL.md +60 -0
  634. package/presets/code-vibe/skills/frontend-design/references/critique-format.md +35 -0
  635. package/presets/code-vibe/skills/frontend-design/references/design-standards/LOAD-MAP.md +81 -0
  636. package/presets/code-vibe/skills/frontend-design/references/design-standards/README.md +53 -0
  637. package/presets/code-vibe/skills/frontend-design/references/design-standards/anchor.md +51 -0
  638. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/ai-tells.md +59 -0
  639. package/presets/code-vibe/skills/frontend-design/references/design-standards/audit/web-interface.md +14 -0
  640. package/presets/code-vibe/skills/frontend-design/references/design-standards/change-control.md +62 -0
  641. package/presets/code-vibe/skills/frontend-design/references/design-standards/copy.md +65 -0
  642. package/presets/code-vibe/skills/frontend-design/references/design-standards/craft-knobs.md +61 -0
  643. package/presets/code-vibe/skills/frontend-design/references/design-standards/debug-playbook.md +37 -0
  644. package/presets/code-vibe/skills/frontend-design/references/design-standards/exemplars/README.md +64 -0
  645. package/presets/code-vibe/skills/frontend-design/references/design-standards/plan-architecture.checklist.json +13 -0
  646. package/presets/code-vibe/skills/frontend-design/references/design-standards/product-judgment.md +113 -0
  647. package/presets/code-vibe/skills/frontend-design/references/design-standards/system-architecture.md +108 -0
  648. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/README.md +26 -0
  649. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/color-roles.md +49 -0
  650. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/motion.md +51 -0
  651. package/presets/code-vibe/skills/frontend-design/references/design-standards/tokens/scale.md +89 -0
  652. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-page-gate.md +61 -0
  653. package/presets/code-vibe/skills/frontend-design/references/design-standards/ui-surface.checklist.json +49 -0
  654. package/presets/code-vibe/skills/frontend-design/references/design-standards/ux.md +76 -0
  655. package/presets/code-vibe/skills/frontend-design/references/design-standards/visual.md +52 -0
  656. package/presets/code-vibe/skills/frontend-design/references/perceptible-path.md +27 -0
  657. package/presets/code-vibe/skills/frontend-design/references/product-package.md +80 -0
  658. package/presets/code-vibe/skills/frontend-design/references/scheme-antipatterns.md +21 -0
  659. package/presets/code-vibe/skills/quality-review/SKILL.md +57 -0
  660. package/presets/code-vibe/skills/quality-review/references/bounded-verify.md +37 -0
  661. package/presets/code-vibe/skills/quality-review/references/browser-verify.md +81 -0
  662. package/presets/code-vibe/skills/quality-review/references/evidence-contract.md +194 -0
  663. package/presets/code-vibe/skills/quality-review/references/falsify-checklist.md +44 -0
  664. package/presets/code-vibe/skills/quality-review/references/human-acceptance-pack.md +68 -0
  665. package/presets/code-vibe/skills/quality-review/references/product-regression.md +51 -0
  666. package/presets/code-vibe/skills/quality-review/references/ux-standards.md +37 -0
  667. package/presets/code-vibe/skills/quality-review/references/ux-walkthrough.md +49 -0
  668. package/presets/code-vibe/skills/quality-review/references/validation-report.md +22 -0
  669. package/presets/code-vibe/skills/quality-review/references/verification-loop.md +95 -0
  670. package/presets/code-vibe/skills/quality-review/references/version-acceptance-matrix.md +131 -0
  671. package/presets/code-vibe/skills/record-browser-gif/SKILL.md +174 -0
  672. package/presets/code-vibe/skills/record-browser-gif/scripts/encode_gif.py +337 -0
  673. package/presets/code-vibe/skills/record-browser-gif/scripts/test_encode_gif.py +103 -0
  674. package/presets/code-vibe/skills/wish-programming/SKILL.md +150 -0
  675. package/presets/code-vibe/skills/wish-programming/references/roles/arch-reviewer.md +26 -0
  676. package/presets/code-vibe/skills/wish-programming/references/roles/design-reviewer.md +32 -0
  677. package/presets/code-vibe/skills/wish-programming/references/roles/pm-reviewer.md +26 -0
  678. package/presets/code-vibe/skills/wish-programming/references/roles/qa-reviewer.md +16 -0
  679. package/presets/code-vibe/skills/wish-programming/references/roles/security-reviewer.md +16 -0
  680. package/presets/code-vibe/skills/wish-programming/references/roles/sre-reviewer.md +16 -0
  681. package/presets/code-vibe/skills/wish-programming/references/roles/ux-adversary.md +16 -0
  682. package/presets/code-vibe/skills/wish-programming/references/templates/arch.md.tpl +51 -0
  683. package/presets/code-vibe/skills/wish-programming/references/templates/brief.md.tpl +36 -0
  684. package/presets/code-vibe/skills/wish-programming/references/templates/confirmation-pack.md +54 -0
  685. package/presets/code-vibe/skills/wish-programming/references/templates/design-spec.md.tpl +49 -0
  686. package/presets/code-vibe/skills/wish-programming/references/templates/module-readme.md +37 -0
  687. package/presets/code-vibe/skills/wish-programming/references/templates/product.md.tpl +74 -0
  688. package/presets/code-vibe/skills/wish-programming/references/templates/requirements.md.tpl +31 -0
  689. package/presets/code-vibe/skills/wish-programming/references/workflow-template.md +122 -0
  690. package/presets/code-vibe/skills/wish-programming/scripts/MANIFEST.sha256 +11 -0
  691. package/presets/code-vibe/skills/wish-programming/scripts/check_spec.py +416 -0
  692. package/presets/code-vibe/skills/wish-programming/scripts/check_whitelist.py +193 -0
  693. package/presets/code-vibe/skills/wish-programming/scripts/coverage_check.py +199 -0
  694. package/presets/code-vibe/skills/wish-programming/scripts/gate-lock.sh +46 -0
  695. package/presets/code-vibe/skills/wish-programming/scripts/journey.sh +281 -0
  696. package/presets/code-vibe/skills/wish-programming/scripts/project.sh +152 -0
  697. package/presets/code-vibe/skills/wish-programming/scripts/replay.sh +65 -0
  698. package/presets/code-vibe/skills/wish-programming/scripts/scan_drift.py +79 -0
  699. package/presets/code-vibe/skills/wish-programming/scripts/verify.sh +169 -0
  700. package/presets/code-vibe/skills/wish-programming/scripts/verify_preset_budgets.py +218 -0
  701. package/presets/code-vibe/skills/wish-programming/scripts/wish.sh +150 -0
  702. package/presets/code-vibe.patch.yml +325 -0
  703. package/presets/hiopen.patch.yml +109 -0
  704. package/src/client/compat.ts +86 -0
  705. package/src/client/conversation/conversation.module.css +264 -0
  706. package/src/client/conversation/git-branch.tsx +152 -0
  707. package/src/client/conversation/git-graph/LICENSE.git-graph +202 -0
  708. package/src/client/conversation/git-graph/api.ts +85 -0
  709. package/src/client/conversation/git-graph/branch-chip.tsx +354 -0
  710. package/src/client/conversation/git-graph/branch-popover.tsx +185 -0
  711. package/src/client/conversation/git-graph/chip.tsx +47 -0
  712. package/src/client/conversation/git-graph/create-branch-dialog.tsx +108 -0
  713. package/src/client/conversation/git-graph/error-copy.ts +50 -0
  714. package/src/client/conversation/git-graph/git-graph.module.css +792 -0
  715. package/src/client/conversation/git-graph/graph-dialog.tsx +196 -0
  716. package/src/client/conversation/git-graph/hero-seat.ts +76 -0
  717. package/src/client/conversation/git-graph/locales.ts +90 -0
  718. package/src/client/conversation/git-graph/sse-leader.ts +124 -0
  719. package/src/client/conversation/index.ts +82 -0
  720. package/src/client/conversation/selector-context.tsx +24 -0
  721. package/src/client/conversation/session-lane-chip.tsx +262 -0
  722. package/src/client/conversation/session-lane-locales.ts +34 -0
  723. package/src/client/conversation/subagent-model-dom.ts +157 -0
  724. package/src/client/conversation/subagent-model.ts +198 -0
  725. package/src/client/conversation/worktree/api.ts +283 -0
  726. package/src/client/conversation/worktree/dialogs/DeleteWorktreeDialog.tsx +111 -0
  727. package/src/client/conversation/worktree/dialogs/PrCreateDialog.tsx +114 -0
  728. package/src/client/conversation/worktree/lane-binding.ts +77 -0
  729. package/src/client/conversation/worktree/lane-menu.tsx +247 -0
  730. package/src/client/conversation/worktree/lane-open.ts +204 -0
  731. package/src/client/conversation/worktree/lane-workspace-sweeper.ts +136 -0
  732. package/src/client/conversation/worktree/lifecycle.ts +75 -0
  733. package/src/client/conversation/worktree/locales.ts +97 -0
  734. package/src/client/conversation/worktree/semantic.ts +10 -0
  735. package/src/client/conversation/worktree/worktree.module.css +70 -0
  736. package/src/client/css-modules.d.ts +8 -0
  737. package/src/client/index.ts +58 -0
  738. package/src/client/lark-inbox/i18n.ts +125 -0
  739. package/src/client/lark-inbox/lark-wizard.module.css +88 -0
  740. package/src/client/lark-inbox/wizard.tsx +211 -0
  741. package/src/client/notify/i18n.ts +93 -0
  742. package/src/client/settings/family-scope.ts +45 -0
  743. package/src/client/settings/lark-inbox.tsx +319 -0
  744. package/src/client/settings/notify.tsx +288 -0
  745. package/src/client/settings/primitives-0.2.ts +148 -0
  746. package/src/client/settings/settings-shell.module.css +56 -0
  747. package/src/client/sidebar/RenderBoundary.tsx +17 -0
  748. package/src/client/sidebar/agent-browser.tsx +114 -0
  749. package/src/client/sidebar/diff-view.tsx +314 -0
  750. package/src/client/sidebar/git-workbench.tsx +700 -0
  751. package/src/client/sidebar/icons.tsx +23 -0
  752. package/src/client/sidebar/index.ts +28 -0
  753. package/src/client/sidebar/native-panels.tsx +149 -0
  754. package/src/client/sidebar/page-shell.module.css +96 -0
  755. package/src/client/sidebar/page-shell.tsx +86 -0
  756. package/src/client/sidebar/panels/memoir/api.ts +300 -0
  757. package/src/client/sidebar/panels/memoir/controller.ts +47 -0
  758. package/src/client/sidebar/panels/memoir/cwd.ts +140 -0
  759. package/src/client/sidebar/panels/memoir/i18n.ts +300 -0
  760. package/src/client/sidebar/panels/memoir/panel-activation.ts +42 -0
  761. package/src/client/sidebar/panels/memoir/panel.tsx +869 -0
  762. package/src/client/sidebar/panels/memoir/styles.ts +776 -0
  763. package/src/client/sidebar/panels/memoir/types.ts +7 -0
  764. package/src/client/sidebar/panels/ssh/ClusterTab.tsx +123 -0
  765. package/src/client/sidebar/panels/ssh/HostFormDialog.tsx +243 -0
  766. package/src/client/sidebar/panels/ssh/HostsTab.tsx +290 -0
  767. package/src/client/sidebar/panels/ssh/SshPanel.tsx +76 -0
  768. package/src/client/sidebar/panels/ssh/TerminalTab.tsx +290 -0
  769. package/src/client/sidebar/panels/ssh/TransferTab.tsx +232 -0
  770. package/src/client/sidebar/panels/ssh/TunnelsTab.tsx +204 -0
  771. package/src/client/sidebar/panels/ssh/api.ts +388 -0
  772. package/src/client/sidebar/panels/ssh/controller.ts +48 -0
  773. package/src/client/sidebar/panels/ssh/helpers.ts +70 -0
  774. package/src/client/sidebar/panels/ssh/locales.ts +318 -0
  775. package/src/client/sidebar/panels/ssh/panel.module.css +801 -0
  776. package/src/client/sidebar/panels/ssh/xterm.css.ts +2 -0
  777. package/src/client/sidebar/right-pane-i18n.ts +243 -0
  778. package/src/client/sidebar/right-pane.tsx +156 -0
  779. package/src/client/sidebar/scope.ts +54 -0
  780. package/src/client/sidebar/sidebar-header.module.css +72 -0
  781. package/src/client/sidebar/sidebar.module.css +619 -0
  782. package/src/client/trust.ts +187 -0
  783. package/src/client/ui-icons.ts +35 -0
  784. package/src/core/git-graph/commands.ts +107 -0
  785. package/src/core/git-graph/protocol.ts +238 -0
  786. package/src/core/index.ts +2 -0
  787. package/src/core/lark-inbox/gating.ts +35 -0
  788. package/src/core/lark-inbox/queue.ts +100 -0
  789. package/src/core/memoir/protocol.ts +46 -0
  790. package/src/core/no-browser-auth/contract.ts +25 -0
  791. package/src/core/notify/contract.ts +236 -0
  792. package/src/core/notify/feed.ts +235 -0
  793. package/src/core/playwright-sessions/contracts.ts +143 -0
  794. package/src/core/playwright-sessions/control.ts +33 -0
  795. package/src/core/playwright-sessions/index.ts +3 -0
  796. package/src/core/playwright-sessions/names.ts +83 -0
  797. package/src/core/playwright-sessions/schema.ts +102 -0
  798. package/src/core/playwright-sessions/wire.ts +142 -0
  799. package/src/core/remote-access/paths.ts +23 -0
  800. package/src/core/remote-web-ui/security.ts +171 -0
  801. package/src/core/right-pane/protocol.ts +94 -0
  802. package/src/core/schedule-mode/index.ts +6 -0
  803. package/src/core/schedule-mode/native.ts +105 -0
  804. package/src/core/schedule-mode/types.ts +182 -0
  805. package/src/core/schedule-mode/view.ts +66 -0
  806. package/src/core/ssh/protocol.ts +212 -0
  807. package/src/core/subagent-model/badges.ts +161 -0
  808. package/src/core/worktree/invariant.ts +101 -0
  809. package/src/core/worktree/manifest.ts +135 -0
  810. package/src/core/worktree/paths.ts +123 -0
  811. package/src/core/worktree/pr-create.ts +157 -0
  812. package/src/core/worktree/protocol.ts +7 -0
  813. package/src/core/worktree/types.ts +317 -0
  814. package/src/core/worktree/workspace-model.ts +61 -0
  815. package/src/host/services/access-trust/index.ts +127 -0
  816. package/src/host/services/access-trust/trust.ts +189 -0
  817. package/src/host/services/codex-bridge/bridge.ts +392 -0
  818. package/src/host/services/codex-bridge/codex-auth.ts +352 -0
  819. package/src/host/services/codex-bridge/dsh-integration.ts +169 -0
  820. package/src/host/services/codex-bridge/http.ts +105 -0
  821. package/src/host/services/codex-bridge/index.ts +154 -0
  822. package/src/host/services/codex-bridge/loopback.ts +63 -0
  823. package/src/host/services/codex-bridge/routes.ts +143 -0
  824. package/src/host/services/family-config.ts +224 -0
  825. package/src/host/services/family-namespaces.ts +39 -0
  826. package/src/host/services/git-graph/index.ts +11 -0
  827. package/src/host/services/git-graph/routes.ts +212 -0
  828. package/src/host/services/git-graph/service.ts +305 -0
  829. package/src/host/services/index.ts +94 -0
  830. package/src/host/services/lark-inbox/config.ts +66 -0
  831. package/src/host/services/lark-inbox/gateway.ts +184 -0
  832. package/src/host/services/lark-inbox/host-routes.ts +113 -0
  833. package/src/host/services/lark-inbox/inbox-store.ts +160 -0
  834. package/src/host/services/lark-inbox/index.ts +141 -0
  835. package/src/host/services/lark-inbox/tools.ts +124 -0
  836. package/src/host/services/lark-inbox/wizard.ts +206 -0
  837. package/src/host/services/lifecycle.ts +107 -0
  838. package/src/host/services/memoir/index.ts +80 -0
  839. package/src/host/services/memoir/routes.ts +346 -0
  840. package/src/host/services/memoir/settings.ts +122 -0
  841. package/src/host/services/memoir/store.ts +132 -0
  842. package/src/host/services/memoir/tools.ts +158 -0
  843. package/src/host/services/no-browser-auth/index.ts +70 -0
  844. package/src/host/services/notify/config.ts +178 -0
  845. package/src/host/services/notify/feishu-sender.ts +220 -0
  846. package/src/host/services/notify/host-routes.ts +133 -0
  847. package/src/host/services/notify/index.ts +305 -0
  848. package/src/host/services/playwright-sessions/child.ts +251 -0
  849. package/src/host/services/playwright-sessions/controller.ts +102 -0
  850. package/src/host/services/playwright-sessions/index.ts +146 -0
  851. package/src/host/services/playwright-sessions/live-view.ts +225 -0
  852. package/src/host/services/playwright-sessions/manager.ts +239 -0
  853. package/src/host/services/playwright-sessions/profile-gc.ts +97 -0
  854. package/src/host/services/playwright-sessions/routes.ts +90 -0
  855. package/src/host/services/remote-access/boot-scripts.ts +118 -0
  856. package/src/host/services/remote-access/index.ts +62 -0
  857. package/src/host/services/remote-access/routes.ts +137 -0
  858. package/src/host/services/remote-web-ui/index.ts +344 -0
  859. package/src/host/services/remote-web-ui/server-mode/accounts.ts +423 -0
  860. package/src/host/services/remote-web-ui/server-mode/cookie.ts +57 -0
  861. package/src/host/services/remote-web-ui/server-mode/dsh-home.ts +42 -0
  862. package/src/host/services/remote-web-ui/server-mode/external-auth.ts +296 -0
  863. package/src/host/services/remote-web-ui/server-mode/fence.ts +27 -0
  864. package/src/host/services/remote-web-ui/server-mode/gateway-routes.ts +797 -0
  865. package/src/host/services/remote-web-ui/server-mode/gateway.ts +684 -0
  866. package/src/host/services/remote-web-ui/server-mode/http.ts +105 -0
  867. package/src/host/services/remote-web-ui/server-mode/integrated-auth.ts +118 -0
  868. package/src/host/services/remote-web-ui/server-mode/lan.ts +19 -0
  869. package/src/host/services/remote-web-ui/server-mode/loopback.ts +63 -0
  870. package/src/host/services/remote-web-ui/server-mode/posture.ts +154 -0
  871. package/src/host/services/remote-web-ui/server-mode/roles.ts +51 -0
  872. package/src/host/services/remote-web-ui/server-mode/server-boot.ts +38 -0
  873. package/src/host/services/remote-web-ui/server-mode/sessions.ts +347 -0
  874. package/src/host/services/remote-web-ui/server.ts +591 -0
  875. package/src/host/services/resources.ts +78 -0
  876. package/src/host/services/right-pane/browser.ts +106 -0
  877. package/src/host/services/right-pane/index.ts +117 -0
  878. package/src/host/services/right-pane/wire.ts +10 -0
  879. package/src/host/services/schedule-mode/config.ts +26 -0
  880. package/src/host/services/schedule-mode/engine.ts +689 -0
  881. package/src/host/services/schedule-mode/index.ts +214 -0
  882. package/src/host/services/schedule-mode/routes.ts +130 -0
  883. package/src/host/services/schedule-mode/session-create.ts +36 -0
  884. package/src/host/services/schedule-mode/store.ts +304 -0
  885. package/src/host/services/schedule-mode/tools.ts +154 -0
  886. package/src/host/services/ssh/engine.ts +675 -0
  887. package/src/host/services/ssh/host-keys.ts +99 -0
  888. package/src/host/services/ssh/index.ts +84 -0
  889. package/src/host/services/ssh/routes.ts +442 -0
  890. package/src/host/services/ssh/store.ts +310 -0
  891. package/src/host/services/ssh/terminal-ws.ts +157 -0
  892. package/src/host/services/ssh/tools.ts +279 -0
  893. package/src/host/services/web-render/contracts.ts +138 -0
  894. package/src/host/services/web-render/index.ts +112 -0
  895. package/src/host/services/web-render/provider.ts +282 -0
  896. package/src/host/services/web-search-anthropic/contracts.ts +163 -0
  897. package/src/host/services/web-search-anthropic/index.ts +152 -0
  898. package/src/host/services/web-search-anthropic/provider.ts +325 -0
  899. package/src/host/services/worktree/git-runner.ts +124 -0
  900. package/src/host/services/worktree/git.ts +183 -0
  901. package/src/host/services/worktree/http.ts +36 -0
  902. package/src/host/services/worktree/index.ts +92 -0
  903. package/src/host/services/worktree/lane-tool.ts +100 -0
  904. package/src/host/services/worktree/manager.ts +1553 -0
  905. package/src/host/services/worktree/model-override.ts +43 -0
  906. package/src/host/services/worktree/routes.ts +570 -0
  907. package/src/host/services/worktree/run-command.ts +66 -0
  908. package/src/host/services/worktree/session-lane/manager.ts +228 -0
  909. package/src/host/services/worktree/workspace-model-routes.ts +156 -0
  910. package/src/host/services/worktree/workspace-model.ts +132 -0
  911. package/src/index.ts +84 -0
  912. package/src/invariant.ts +4 -0
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Kaon Router 检索服务域 —— 向 `ctx.web` 注册 `kaon-router` search provider。
3
+ *
4
+ * ## 为什么注册是「只要 web 在就注册」
5
+ *
6
+ * profile patch 把 `@deepseek-ai/dsh-web` 的 `searchProvider` pin 成 `kaon-router`。
7
+ * seam 在指定了 id 时只用该 id:provider 缺席报
8
+ * `WEB_PROVIDER_CONFIGURED_MISSING`,注册了但 `available()` 为假报
9
+ * `WEB_PROVIDER_CONFIGURED_UNAVAILABLE`——两者都会让 `web_search` 整体不可用。
10
+ * 因此这里选择「只要 web 服务在就注册」:key 缺失属于运行期错误,由 provider
11
+ * 按次给出 `WEB_PROVIDER_CREDENTIAL_MISSING`,并点名该配的凭据引用。
12
+ *
13
+ * 要彻底关掉本域,必须**同时**把 `searchProvider` 改回 `deepseek-official`
14
+ * (见 cordis.patch.yml 的注释),只删这一段会留下一个指向不存在 provider 的 pin。
15
+ *
16
+ * ## 为什么用局部 inject
17
+ *
18
+ * 0.2 严格注入下,插件只能访问自己 inject 声明过的服务。这里用
19
+ * `ctx.inject(['web'], …)` / `ctx.inject(['credentials'], …)` 等待,而不是把
20
+ * 它们写进 web-all 的全局 inject:那会让整个全家桶在缺少这些服务的 profile 里挂掉。
21
+ *
22
+ * ## 配置读取
23
+ *
24
+ * `web-search-kaon` 是聚合 Config 里的一个 volatile 命名空间;provider 拿到的是
25
+ * **读取函数**而非快照,端点/模型/次数上限的热更新立即生效,无需重挂插件。
26
+ *
27
+ * @module web-all/host/services/web-search-kaon
28
+ */
29
+ import { familyNamespace } from "../family-config.js";
30
+ import { effectiveConfig, WEB_SEARCH_KAON_PROVIDER_ID, WEB_SEARCH_KAON_SETTINGS_NAMESPACE, } from "./contracts.js";
31
+ import { KaonSearchProvider } from "./provider.js";
32
+ /** 可选读取 credentials 缝隙:0.2 严格注入下访问未声明的服务会直接抛错。 */
33
+ function credentialSeamOf(ctx) {
34
+ try {
35
+ return ctx.credentials;
36
+ }
37
+ catch {
38
+ return undefined;
39
+ }
40
+ }
41
+ /**
42
+ * 注册 Anthropic 兼容检索 provider。
43
+ * @param ctx - host plugin context。
44
+ * @param options - 告警出口与显式配置(测试)。
45
+ * @returns 卸载回调:注销 provider。
46
+ */
47
+ export function register(ctx, options = {}) {
48
+ const warn = options.logger?.warn ?? ((message) => console.warn(message));
49
+ const readConfig = () => effectiveConfig(options.config ?? familyNamespace(WEB_SEARCH_KAON_SETTINGS_NAMESPACE));
50
+ const env = options.env ?? ((name) => process.env[name]);
51
+ // 凭据服务是可选依赖:没有它时 provider 仍注册,key 回落到环境变量或字面 apiKey。
52
+ let credentials;
53
+ try {
54
+ ctx.inject(['credentials'], (cctx) => { credentials = credentialSeamOf(cctx); });
55
+ }
56
+ catch {
57
+ // 该 profile 没有 credentials 服务:静默缺席,不影响注册。
58
+ }
59
+ const provider = new KaonSearchProvider(() => {
60
+ const config = readConfig();
61
+ return {
62
+ baseURL: config.baseURL,
63
+ model: config.model,
64
+ apiVersion: config.apiVersion,
65
+ maxTokens: config.maxTokens,
66
+ maxUses: config.maxUses,
67
+ includeAnswer: config.includeAnswer,
68
+ timeoutMs: config.timeoutMs,
69
+ apiKeyEnv: config.apiKeyEnv,
70
+ ...config.apiKey !== '' ? { apiKey: config.apiKey } : {},
71
+ resolveApiKey: async () => {
72
+ try {
73
+ const stored = await credentials?.resolve(config.apiKeyEnv);
74
+ if (stored !== undefined && stored.value.length > 0)
75
+ return stored.value;
76
+ }
77
+ catch {
78
+ // 凭据服务拒绝解析(引用不存在/语法非法)时退回环境变量。
79
+ }
80
+ const ambient = env(config.apiKeyEnv);
81
+ return ambient !== undefined && ambient.length > 0 ? ambient : undefined;
82
+ },
83
+ };
84
+ });
85
+ const initial = readConfig();
86
+ if (!URL.canParse(initial.baseURL)) {
87
+ warn(`[web-all:web-search-kaon] baseURL 不是合法 URL(${JSON.stringify(initial.baseURL)}):`
88
+ + `web_search 仍被 pin 到 ${WEB_SEARCH_KAON_PROVIDER_ID},调用会以 WEB_PROVIDER_CONFIGURED_UNAVAILABLE 失败;`
89
+ + `请在 ${WEB_SEARCH_KAON_SETTINGS_NAMESPACE} 命名空间里改回 Anthropic 兼容端点`);
90
+ }
91
+ let disposed = false;
92
+ let unregister;
93
+ try {
94
+ ctx.inject(['web'], (cctx) => {
95
+ if (disposed)
96
+ return;
97
+ const seam = cctx.web;
98
+ if (seam?.registerSearchProvider === undefined)
99
+ return;
100
+ unregister = seam.registerSearchProvider(provider);
101
+ });
102
+ }
103
+ catch (error) {
104
+ // 组合里没有 web 服务:本域静默缺席,绝不影响全家桶其余能力。
105
+ warn(`[web-all:web-search-kaon] 等待 web 服务失败,本域缺席:${error instanceof Error ? error.message : String(error)}`);
106
+ return () => undefined;
107
+ }
108
+ return () => {
109
+ disposed = true;
110
+ unregister?.();
111
+ };
112
+ }
113
+ export { effectiveConfig, WEB_SEARCH_KAON_DEFAULT_API_KEY_ENV, WEB_SEARCH_KAON_DEFAULT_BASE_URL, WEB_SEARCH_KAON_DEFAULT_MODEL, WEB_SEARCH_KAON_PROVIDER_ID, WEB_SEARCH_KAON_SETTINGS_NAMESPACE, } from "./contracts.js";
114
+ export { citationSnippets, KaonSearchProvider, mapSearchResponse } from "./provider.js";
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Kaon Router(Anthropic 兼容 Messages)搜索 provider。
3
+ *
4
+ * 一次搜索 = 一次 Messages 请求 + 原生 `web_search_20250305` 服务端工具:代价是
5
+ * 一个模型回合,回报是结构化结果块。与原生 deepseek provider 的唯一实质差别是
6
+ * **响应归一化**:本 provider 同时接受标准 Anthropic 形状(`web_search_tool_result`
7
+ * 条目 + citation 摘录)和 Kaon/Bedrock 形状(没有结果块,只有 citation),
8
+ * 并且在「模型只是申请调用客户端工具」时给出可操作的报错,而不是假装搜到了东西。
9
+ *
10
+ * 配置按**每次搜索**从注入的读取器取,因此 `web-search-kaon` 命名空间的热更新
11
+ * (端点/模型/次数上限)立即生效,无需重挂插件。
12
+ *
13
+ * `available()` 只做本地判断(key 解析器存在、URL 可解析、上限为正整数),
14
+ * 不发网络请求(seam 的硬要求)。
15
+ *
16
+ * @module web-all/host/services/web-search-kaon
17
+ */
18
+ import { type WebSearchProvider, type WebSearchRequest, type WebSearchResult, type WebSearchSource } from './contracts.ts';
19
+ /** 一次引用位置(Kaon 把命中信息全放在这里)。 */
20
+ export interface CitationLocation {
21
+ type?: string;
22
+ url?: string | null;
23
+ title?: string | null;
24
+ cited_text?: string | null;
25
+ }
26
+ /** 一个内容块;只消费下方注释里列出的几种。 */
27
+ export interface ContentBlock {
28
+ type?: string;
29
+ text?: string | null;
30
+ name?: string | null;
31
+ citations?: readonly CitationLocation[] | null;
32
+ /** `web_search_tool_result` 的载荷:条目数组,或一个错误对象。 */
33
+ content?: unknown;
34
+ }
35
+ /** `web_search_tool_result` 里的一个可引用条目。 */
36
+ export interface SearchResultItem {
37
+ type?: string;
38
+ url?: string | null;
39
+ title?: string | null;
40
+ page_age?: string | null;
41
+ }
42
+ /** Anthropic Messages 响应信封(best-effort;字段随上游而变)。 */
43
+ export interface AnthropicResponse {
44
+ content?: readonly ContentBlock[] | null;
45
+ stop_reason?: string | null;
46
+ usage?: {
47
+ server_tool_use?: {
48
+ web_search_requests?: number | null;
49
+ } | null;
50
+ } | null;
51
+ }
52
+ /** 归一化结果:来源、可选的模型摘要,以及用于诊断的检索事实。 */
53
+ export interface MappedSearchResponse {
54
+ sources: readonly WebSearchSource[];
55
+ /** 模型生成的摘要文本(取最长的一段非空 text 块)。 */
56
+ content?: string;
57
+ /** 端点侧实际执行的服务端搜索次数(0 表示没搜)。 */
58
+ searches: number;
59
+ /** 响应里有 `tool_use(web_search)`:模型申请调用客户端工具,端点没执行搜索。 */
60
+ clientToolUse: boolean;
61
+ /** `web_search_tool_result` 自带的错误码(有则整体失败)。 */
62
+ resultError?: string;
63
+ }
64
+ /** 一次搜索的运行期选项快照。 */
65
+ export interface KaonSearchProviderOptions {
66
+ /** 端点基址,不含 `/messages`。 */
67
+ baseURL: string;
68
+ model: string;
69
+ apiVersion: string;
70
+ maxTokens: number;
71
+ maxUses: number;
72
+ /** 是否把模型摘要并入 `content`。 */
73
+ includeAnswer: boolean;
74
+ timeoutMs: number;
75
+ /** 字面 key;存在时优先于 {@link resolveApiKey}。 */
76
+ apiKey?: string;
77
+ /** 每次搜索解析一次当前 key(凭据服务 / 环境变量)。 */
78
+ resolveApiKey?: () => Promise<string | undefined>;
79
+ /** 凭据引用名,只用于报错文案。 */
80
+ apiKeyEnv?: string;
81
+ /** 注入的 fetch,测试用。 */
82
+ fetchImpl?: typeof fetch;
83
+ }
84
+ /** 收集每个 URL 的 citation 摘录(首次出现优先);标准形状下它才是 snippet 来源。 */
85
+ export declare function citationSnippets(blocks: readonly ContentBlock[]): Map<string, string>;
86
+ /**
87
+ * 把两种 Anthropic 兼容响应形状统一成 seam 的 `sources[]`。
88
+ *
89
+ * 顺序:先走标准结果块(带 `page_age` 与条目级字段),拿不到任何条目时再回落到
90
+ * citation —— Kaon 的 Claude 路由永远走第二条分支;两条分支都用同一张 citation
91
+ * 摘录表补 `snippet`,按 URL 去重(`max_uses > 1` 时同一 URL 可能多次出现)。
92
+ *
93
+ * @param response - 解析后的 Messages 响应体。
94
+ * @returns 归一化结果;`searches`/`clientToolUse`/`resultError` 供诊断使用。
95
+ */
96
+ export declare function mapSearchResponse(response: AnthropicResponse): MappedSearchResponse;
97
+ /** 用 Anthropic 兼容 Messages 端点做检索的 provider。 */
98
+ export declare class KaonSearchProvider implements WebSearchProvider {
99
+ readonly id = "kaon-router";
100
+ private readonly resolveOptions;
101
+ /**
102
+ * @param resolveOptions - 下一次操作的选项;thunk 而非快照,命名空间热更新因此
103
+ * 每次搜索都生效,而不必重注册 provider(重注册会让 seam 的选择对用户可见地抖动)。
104
+ */
105
+ constructor(resolveOptions: () => KaonSearchProviderOptions);
106
+ available(): boolean;
107
+ search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult>;
108
+ /** 解析一次操作的 key:字面 key → 凭据服务 → 环境变量。 */
109
+ private apiKey;
110
+ }
111
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../../src/host/services/web-search-kaon/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAKvB,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAA;IAC9C,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE;YAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CACpF;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAA;IACnC,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAA;IACtB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,yBAAyB;IACxC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrF;AAWD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB,CAsDnF;AAmCD,+CAA+C;AAC/C,qBAAa,kBAAmB,YAAW,iBAAiB;IAC1D,QAAQ,CAAC,EAAE,iBAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiC;IAEhE;;;OAGG;gBACS,cAAc,EAAE,MAAM,yBAAyB;IAI3D,SAAS,IAAI,OAAO;IAQd,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IA2EvF,wCAAwC;YAC1B,MAAM;CAYrB"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Kaon Router(Anthropic 兼容 Messages)搜索 provider。
3
+ *
4
+ * 一次搜索 = 一次 Messages 请求 + 原生 `web_search_20250305` 服务端工具:代价是
5
+ * 一个模型回合,回报是结构化结果块。与原生 deepseek provider 的唯一实质差别是
6
+ * **响应归一化**:本 provider 同时接受标准 Anthropic 形状(`web_search_tool_result`
7
+ * 条目 + citation 摘录)和 Kaon/Bedrock 形状(没有结果块,只有 citation),
8
+ * 并且在「模型只是申请调用客户端工具」时给出可操作的报错,而不是假装搜到了东西。
9
+ *
10
+ * 配置按**每次搜索**从注入的读取器取,因此 `web-search-kaon` 命名空间的热更新
11
+ * (端点/模型/次数上限)立即生效,无需重挂插件。
12
+ *
13
+ * `available()` 只做本地判断(key 解析器存在、URL 可解析、上限为正整数),
14
+ * 不发网络请求(seam 的硬要求)。
15
+ *
16
+ * @module web-all/host/services/web-search-kaon
17
+ */
18
+ import { WebSearchError, WEB_SEARCH_KAON_PROVIDER_ID, } from "./contracts.js";
19
+ /** 归因头;与 provider 行为一起演进。 */
20
+ const USER_AGENT = 'dsh-web-all/web-search-kaon';
21
+ /** 收集每个 URL 的 citation 摘录(首次出现优先);标准形状下它才是 snippet 来源。 */
22
+ export function citationSnippets(blocks) {
23
+ const map = new Map();
24
+ for (const block of blocks) {
25
+ if (block.type !== 'text')
26
+ continue;
27
+ for (const cite of block.citations ?? []) {
28
+ const url = cite.url ?? '';
29
+ const text = cite.cited_text ?? '';
30
+ if (url !== '' && text !== '' && !map.has(url))
31
+ map.set(url, text);
32
+ }
33
+ }
34
+ return map;
35
+ }
36
+ /** 读出 `web_search_tool_result` 自带的错误(载荷是对象而非数组时)。 */
37
+ function resultErrorOf(block) {
38
+ const payload = block.content;
39
+ if (payload === null || typeof payload !== 'object' || Array.isArray(payload))
40
+ return undefined;
41
+ const record = payload;
42
+ if (record.error_code === undefined || record.error_code === null)
43
+ return undefined;
44
+ return `${String(record.type ?? 'web_search_tool_result_error')}: ${String(record.error_code)}`;
45
+ }
46
+ /**
47
+ * 把两种 Anthropic 兼容响应形状统一成 seam 的 `sources[]`。
48
+ *
49
+ * 顺序:先走标准结果块(带 `page_age` 与条目级字段),拿不到任何条目时再回落到
50
+ * citation —— Kaon 的 Claude 路由永远走第二条分支;两条分支都用同一张 citation
51
+ * 摘录表补 `snippet`,按 URL 去重(`max_uses > 1` 时同一 URL 可能多次出现)。
52
+ *
53
+ * @param response - 解析后的 Messages 响应体。
54
+ * @returns 归一化结果;`searches`/`clientToolUse`/`resultError` 供诊断使用。
55
+ */
56
+ export function mapSearchResponse(response) {
57
+ const blocks = response.content ?? [];
58
+ const searches = response.usage?.server_tool_use?.web_search_requests
59
+ ?? blocks.filter(block => block.type === 'server_tool_use' && block.name === 'web_search').length;
60
+ const clientToolUse = blocks.some(block => block.type === 'tool_use' && block.name === 'web_search');
61
+ const resultError = blocks.filter(block => block.type === 'web_search_tool_result')
62
+ .map(resultErrorOf)
63
+ .find(error => error !== undefined);
64
+ const snippets = citationSnippets(blocks);
65
+ const sources = [];
66
+ const seen = new Set();
67
+ const add = (url, title, snippet, publishedAt) => {
68
+ const value = url ?? '';
69
+ if (value === '' || seen.has(value))
70
+ return;
71
+ seen.add(value);
72
+ sources.push({
73
+ url: value,
74
+ ...title !== null && title !== undefined && title !== '' ? { title } : {},
75
+ ...snippet !== null && snippet !== undefined && snippet !== '' ? { snippet } : {},
76
+ ...publishedAt !== null && publishedAt !== undefined && publishedAt !== '' ? { publishedAt } : {},
77
+ });
78
+ };
79
+ for (const block of blocks) {
80
+ if (block.type !== 'web_search_tool_result' || !Array.isArray(block.content))
81
+ continue;
82
+ for (const item of block.content) {
83
+ if (item?.type !== 'web_search_result')
84
+ continue;
85
+ const url = item.url ?? '';
86
+ add(url, item.title, snippets.get(url), item.page_age);
87
+ }
88
+ }
89
+ if (sources.length === 0) {
90
+ for (const block of blocks) {
91
+ if (block.type !== 'text')
92
+ continue;
93
+ for (const cite of block.citations ?? [])
94
+ add(cite.url, cite.title, cite.cited_text);
95
+ }
96
+ }
97
+ let content;
98
+ for (const block of blocks) {
99
+ if (block.type !== 'text')
100
+ continue;
101
+ const text = block.text ?? '';
102
+ if (text.length > (content?.length ?? 0))
103
+ content = text;
104
+ }
105
+ return {
106
+ sources,
107
+ ...content !== undefined ? { content } : {},
108
+ searches,
109
+ clientToolUse,
110
+ ...resultError !== undefined ? { resultError } : {},
111
+ };
112
+ }
113
+ /** 去掉尾斜杠,避免 `baseURL` 以 `/` 结尾时拼出 `//messages`。 */
114
+ function trimTrailingSlash(value) {
115
+ return value.endsWith('/') ? value.replace(/\/+$/u, '') : value;
116
+ }
117
+ /** 端点与配置引导:把「这是配置问题、改哪里」写进错误里。 */
118
+ function endpointHint(endpoint) {
119
+ return `\n\nThe web search request used endpoint ${JSON.stringify(endpoint)}. Search endpoint configuration is separate from chat: guide the user to the web-search-kaon settings namespace (Settings > Plugins > Plugin configuration, the web-all entry) or to web-search-kaon.baseURL in the profile cordis.patch.yml. Only the user should change the endpoint.`;
120
+ }
121
+ /** 端点没执行搜索时的可操作报错:区分「模型申请客户端工具」与「搜了但没结果」。 */
122
+ function noResultError(mapped, options) {
123
+ if (mapped.clientToolUse) {
124
+ return new WebSearchError(`The endpoint returned a client-side tool_use(web_search) instead of executing the search itself, so model ${JSON.stringify(options.model)} `
125
+ + 'has no web search results. Native server-side web_search_20250305 is an Anthropic-model feature: on Kaon Router pick a kaon/claude-* model '
126
+ + '(kaon/deepseek-* and kaon/gemini-* reply with a client tool call). The provider was left pointed at this endpoint on purpose; only the user should change it.', 'WEB_PROVIDER_ERROR');
127
+ }
128
+ if (mapped.searches === 0) {
129
+ return new WebSearchError(`The endpoint executed no server-side web search for model ${JSON.stringify(options.model)} and returned no citeable sources; `
130
+ + 'the request may not have triggered native web search.', 'WEB_PROVIDER_ERROR');
131
+ }
132
+ return new WebSearchError(`The endpoint executed ${mapped.searches} server-side web search(es) but returned no citeable sources.`, 'WEB_PROVIDER_ERROR');
133
+ }
134
+ /** 用 Anthropic 兼容 Messages 端点做检索的 provider。 */
135
+ export class KaonSearchProvider {
136
+ id = WEB_SEARCH_KAON_PROVIDER_ID;
137
+ resolveOptions;
138
+ /**
139
+ * @param resolveOptions - 下一次操作的选项;thunk 而非快照,命名空间热更新因此
140
+ * 每次搜索都生效,而不必重注册 provider(重注册会让 seam 的选择对用户可见地抖动)。
141
+ */
142
+ constructor(resolveOptions) {
143
+ this.resolveOptions = resolveOptions;
144
+ }
145
+ available() {
146
+ const options = this.resolveOptions();
147
+ return ((options.apiKey?.length ?? 0) > 0 || options.resolveApiKey !== undefined)
148
+ && URL.canParse(options.baseURL)
149
+ && Number.isInteger(options.maxTokens) && options.maxTokens > 0
150
+ && Number.isInteger(options.maxUses) && options.maxUses > 0;
151
+ }
152
+ async search(request, signal) {
153
+ const options = this.resolveOptions();
154
+ // 读经函数而非直接比属性:TS 会把 `signal?.aborted === true` 早退后的属性
155
+ // 窄化成 false,后续再判同一属性就成了「无重叠比较」。
156
+ const isAborted = () => signal?.aborted === true;
157
+ const endpoint = `${trimTrailingSlash(options.baseURL)}/messages`;
158
+ const apiKey = await this.apiKey(options, signal);
159
+ if (isAborted())
160
+ throw abortedError();
161
+ const body = {
162
+ model: options.model,
163
+ max_tokens: options.maxTokens,
164
+ messages: [{
165
+ role: 'user',
166
+ content: [{ type: 'text', text: `Perform a web search for the query: ${request.query}` }],
167
+ }],
168
+ tools: [{ type: 'web_search_20250305', name: 'web_search', max_uses: options.maxUses }],
169
+ };
170
+ const timeout = AbortSignal.timeout(options.timeoutMs);
171
+ const composed = signal === undefined ? timeout : AbortSignal.any([signal, timeout]);
172
+ const doFetch = options.fetchImpl ?? fetch;
173
+ let response;
174
+ try {
175
+ response = await doFetch(endpoint, {
176
+ method: 'POST',
177
+ redirect: 'error',
178
+ headers: {
179
+ 'x-api-key': apiKey,
180
+ 'authorization': `Bearer ${apiKey}`,
181
+ 'anthropic-version': options.apiVersion,
182
+ 'content-type': 'application/json',
183
+ 'accept': 'application/json',
184
+ 'user-agent': USER_AGENT,
185
+ },
186
+ body: JSON.stringify(body),
187
+ signal: composed,
188
+ });
189
+ }
190
+ catch (error) {
191
+ if (isAborted())
192
+ throw abortedError();
193
+ if (timeout.aborted)
194
+ throw new WebSearchError(`Web search timed out after ${options.timeoutMs} ms at ${JSON.stringify(endpoint)}.`, 'WEB_PROVIDER_ERROR');
195
+ throw new WebSearchError(`Web search request failed: ${String(error)}.${endpointHint(endpoint)}`, 'WEB_PROVIDER_ERROR');
196
+ }
197
+ if (!response.ok) {
198
+ let detail = '';
199
+ try {
200
+ const parsed = await response.json();
201
+ detail = typeof parsed.error === 'string' ? parsed.error : parsed.error?.message ?? parsed.message ?? '';
202
+ }
203
+ catch {
204
+ // 非 JSON 错误体:状态码已经足够定位。
205
+ }
206
+ const message = `Web search endpoint error (HTTP ${response.status})${detail === '' ? '' : `: ${detail}`}`;
207
+ throw new WebSearchError(`${message}${endpointHint(endpoint)}`, 'WEB_PROVIDER_ERROR');
208
+ }
209
+ let mapped;
210
+ try {
211
+ mapped = mapSearchResponse(await response.json());
212
+ }
213
+ catch (error) {
214
+ throw new WebSearchError(`Web search returned an unprocessable response body: ${String(error)}`, 'WEB_PROVIDER_ERROR');
215
+ }
216
+ if (mapped.resultError !== undefined) {
217
+ throw new WebSearchError(`The endpoint's web search failed: ${mapped.resultError}.`, 'WEB_PROVIDER_ERROR');
218
+ }
219
+ if (mapped.sources.length === 0)
220
+ throw noResultError(mapped, options);
221
+ return {
222
+ ...options.includeAnswer && mapped.content !== undefined && mapped.content !== '' ? { content: mapped.content } : {},
223
+ sources: mapped.sources,
224
+ truncated: false,
225
+ };
226
+ }
227
+ /** 解析一次操作的 key:字面 key → 凭据服务 → 环境变量。 */
228
+ async apiKey(options, signal) {
229
+ if (signal?.aborted === true)
230
+ throw abortedError();
231
+ if (options.apiKey !== undefined && options.apiKey.length > 0)
232
+ return options.apiKey;
233
+ const resolved = options.resolveApiKey === undefined ? undefined : await options.resolveApiKey();
234
+ if (resolved !== undefined && resolved.length > 0)
235
+ return resolved;
236
+ const ref = options.apiKeyEnv ?? '';
237
+ throw new WebSearchError(`Web search has no API key for "${ref === '' ? 'the configured credential reference' : ref}"; store it through the credentials service, `
238
+ + 'export it in the launching environment, or set a literal "apiKey" in the web-search-kaon config.', 'WEB_PROVIDER_CREDENTIAL_MISSING');
239
+ }
240
+ }
241
+ /** 调用方取消:与原生 provider 的 `WEB_ABORTED` 对齐。 */
242
+ function abortedError() {
243
+ return new WebSearchError('Web search aborted', 'WEB_ABORTED');
244
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Shared host git subprocess plumbing: the run result shape, the runner seam,
3
+ * the collected-output cap, and the production runner over the subprocess
4
+ * service. Packages receive this file as a generated copy via
5
+ * scripts/sync-shared.mjs; edit the shared source and re-run the sync instead
6
+ * of editing a copy.
7
+ *
8
+ * The context shape is declared structurally so this module stays
9
+ * self-contained (shared/ has no cordis dependency): any context whose
10
+ * `subprocess` satisfies SubprocessServiceLike works, which the plugin
11
+ * contexts do.
12
+ * @module dsh-web-shared/host/git-runner
13
+ */
14
+ /** One finished git invocation. */
15
+ export interface GitRunResult {
16
+ exitCode: number | null;
17
+ stdout: string;
18
+ stderr: string;
19
+ }
20
+ /** The spawn seam the service runs git through (subprocess service in production). */
21
+ export interface GitRunner {
22
+ run(argv: readonly string[], cwd: string, signal?: AbortSignal): Promise<GitRunResult>;
23
+ }
24
+ /** Collected-output cap for one git command. */
25
+ export declare const OUTPUT_CAP_BYTES: number;
26
+ /** The subprocess service surface this runner consumes (structural). */
27
+ export interface SubprocessServiceLike {
28
+ spawn(spec: {
29
+ argv: readonly string[];
30
+ cwd: string;
31
+ stdio: {
32
+ stdin: 'ignore';
33
+ stdout: {
34
+ maxBytes: number;
35
+ };
36
+ stderr: {
37
+ maxBytes: number;
38
+ };
39
+ };
40
+ graceMs: number;
41
+ signal?: AbortSignal;
42
+ }): {
43
+ done: Promise<{
44
+ exitCode: number | null;
45
+ }>;
46
+ collected: {
47
+ stdout?: {
48
+ readFrom(offset: number): {
49
+ text: string;
50
+ };
51
+ };
52
+ stderr?: {
53
+ readFrom(offset: number): {
54
+ text: string;
55
+ };
56
+ };
57
+ };
58
+ };
59
+ }
60
+ /** Per-package knobs for the shared production runner. */
61
+ export interface GitRunnerOptions {
62
+ /** Build the full spawn argv from the git args (default ['git', ...argv]). */
63
+ spawnArgv?: (argv: readonly string[]) => readonly string[];
64
+ /** degrade turns spawn/run failures into exitCode 127 results instead of throwing. */
65
+ failureMode?: 'throw' | 'degrade';
66
+ /** console.error tag for degrade mode. */
67
+ errorTag?: string;
68
+ }
69
+ /**
70
+ * Production runner over the subprocess service: one managed child per
71
+ * command, bounded collect on both streams. A caller-owned AbortSignal reaches
72
+ * the subprocess tree and remains authoritative even in degrade mode. Degrade
73
+ * mode keeps the SCM tab showing the friendly "not a git repository" state
74
+ * instead of a bare 400 when git is missing or the subprocess service fails.
75
+ * @param ctx - context carrying the subprocess service.
76
+ * @param options - per-package behavior knobs.
77
+ * @returns the runner.
78
+ */
79
+ export declare function subprocessRunner(ctx: {
80
+ subprocess: SubprocessServiceLike;
81
+ }, options?: GitRunnerOptions): GitRunner;
82
+ //# sourceMappingURL=git-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-runner.d.ts","sourceRoot":"","sources":["../../../../../src/host/services/worktree/git-runner.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAEH,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACvF;AAED,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,QAAU,CAAA;AAEvC,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,IAAI,EAAE;QACV,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;QACvB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ,CAAA;YACf,MAAM,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAA;YAC5B,MAAM,EAAE;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAA;SAC7B,CAAA;QACD,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,WAAW,CAAA;KACrB,GAAG;QACF,IAAI,EAAE,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAA;QAC1C,SAAS,EAAE;YACT,MAAM,CAAC,EAAE;gBAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAA;aAAE,CAAA;YACvD,MAAM,CAAC,EAAE;gBAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAA;aAAE,CAAA;SACxD,CAAA;KACF,CAAA;CACF;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,EAAE,CAAA;IAC1D,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IAAE,UAAU,EAAE,qBAAqB,CAAA;CAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAoDtH"}
@@ -0,0 +1,81 @@
1
+ // Generated by scripts/sync-shared.mjs from shared/host/git-runner.ts. Do not edit this copy; edit the shared source and run "node scripts/sync-shared.mjs".
2
+ /**
3
+ * Shared host git subprocess plumbing: the run result shape, the runner seam,
4
+ * the collected-output cap, and the production runner over the subprocess
5
+ * service. Packages receive this file as a generated copy via
6
+ * scripts/sync-shared.mjs; edit the shared source and re-run the sync instead
7
+ * of editing a copy.
8
+ *
9
+ * The context shape is declared structurally so this module stays
10
+ * self-contained (shared/ has no cordis dependency): any context whose
11
+ * `subprocess` satisfies SubprocessServiceLike works, which the plugin
12
+ * contexts do.
13
+ * @module dsh-web-shared/host/git-runner
14
+ */
15
+ /** Collected-output cap for one git command. */
16
+ export const OUTPUT_CAP_BYTES = 1 << 20;
17
+ /**
18
+ * Production runner over the subprocess service: one managed child per
19
+ * command, bounded collect on both streams. A caller-owned AbortSignal reaches
20
+ * the subprocess tree and remains authoritative even in degrade mode. Degrade
21
+ * mode keeps the SCM tab showing the friendly "not a git repository" state
22
+ * instead of a bare 400 when git is missing or the subprocess service fails.
23
+ * @param ctx - context carrying the subprocess service.
24
+ * @param options - per-package behavior knobs.
25
+ * @returns the runner.
26
+ */
27
+ export function subprocessRunner(ctx, options = {}) {
28
+ const spawnArgv = options.spawnArgv ?? ((argv) => ['git', ...argv]);
29
+ const degrade = options.failureMode === 'degrade';
30
+ const errorTag = options.errorTag ?? 'git';
31
+ const failure = (prefix, error) => ({
32
+ exitCode: 127,
33
+ stdout: '',
34
+ stderr: prefix + (error instanceof Error ? error.message : String(error)),
35
+ });
36
+ return {
37
+ async run(argv, cwd, signal) {
38
+ signal?.throwIfAborted();
39
+ const spec = {
40
+ argv: spawnArgv(argv),
41
+ cwd,
42
+ stdio: {
43
+ stdin: 'ignore',
44
+ stdout: { maxBytes: OUTPUT_CAP_BYTES },
45
+ stderr: { maxBytes: OUTPUT_CAP_BYTES },
46
+ },
47
+ graceMs: 10_000,
48
+ signal,
49
+ };
50
+ if (degrade) {
51
+ let handle;
52
+ try {
53
+ handle = ctx.subprocess.spawn(spec);
54
+ }
55
+ catch (error) {
56
+ signal?.throwIfAborted();
57
+ console.error('[' + errorTag + '] git spawn failed:', error);
58
+ return failure('git: spawn failed: ', error);
59
+ }
60
+ try {
61
+ const outcome = await handle.done;
62
+ signal?.throwIfAborted();
63
+ const stdout = handle.collected.stdout?.readFrom(0).text ?? '';
64
+ const stderr = handle.collected.stderr?.readFrom(0).text ?? '';
65
+ return { exitCode: outcome.exitCode, stdout, stderr };
66
+ }
67
+ catch (error) {
68
+ signal?.throwIfAborted();
69
+ console.error('[' + errorTag + '] git run failed:', error);
70
+ return failure('git: run failed: ', error);
71
+ }
72
+ }
73
+ const handle = ctx.subprocess.spawn(spec);
74
+ const outcome = await handle.done;
75
+ signal?.throwIfAborted();
76
+ const stdout = handle.collected.stdout?.readFrom(0).text ?? '';
77
+ const stderr = handle.collected.stderr?.readFrom(0).text ?? '';
78
+ return { exitCode: outcome.exitCode, stdout, stderr };
79
+ },
80
+ };
81
+ }